[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
6.3 Data resizing
- MGL command: new DAT [
nx=1 ny=1 nz=1
] - Method on
mglData
:void
Create (int
mx,int
my=1
,int
mz=1
) - Method on
mglDataC
:void
Create (int
mx,int
my=1
,int
mz=1
) - C function:
void
mgl_data_create (HMDT
dat,int
mx,int
my,int
mz) - C function:
void
mgl_datac_create (HADT
dat,int
mx,int
my,int
mz) Creates or recreates the array with specified size and fills it by zero. This function does nothing if one of parameters mx, my, mz is zero or negative.
- MGL command: rearrange dat
mx [my=0 mz=0]
- Method on
mglData
:void
Rearrange (int
mx,int
my=0
,int
mz=0
) - Method on
mglDataC
:void
Rearrange (int
mx,int
my=0
,int
mz=0
) - C function:
void
mgl_data_rearrange (HMDT
dat,int
mx,int
my,int
mz) - C function:
void
mgl_datac_rearrange (HADT
dat,int
mx,int
my,int
mz) Rearrange dimensions without changing data array so that resulting sizes should be mx*my*mz < nx*ny*nz. If some of parameter my or mz are zero then it will be selected to optimal fill of data array. For example, if my=0 then it will be change to my=nx*ny*nz/mx and mz=1.
- MGL command: transpose dat ['dim'='yxz']
- Method on
mglData
:void
Transpose (const char *
dim="yx"
) - Method on
mglDataC
:void
Transpose (const char *
dim="yx"
) - C function:
void
mgl_data_transpose (HMDT
dat,const char *
dim) - C function:
void
mgl_datac_transpose (HADT
dat,const char *
dim) Transposes (shift order of) dimensions of the data. New order of dimensions is specified in string dim. This function can be useful also after reading of one-dimensional data.
- MGL command: extend dat
n1 [n2=0]
- Method on
mglData
:void
Extend (int
n1,int
n2=0
) - Method on
mglDataC
:void
Extend (int
n1,int
n2=0
) - C function:
void
mgl_data_extend (HMDT
dat,int
n1,int
n2) - C function:
void
mgl_datac_extend (HADT
dat,int
n1,int
n2) Increase the dimensions of the data by inserting new (|n1|+1)-th slices after (for n1>0) or before (for n1<0) of existed one. It is possible to insert 2 dimensions simultaneously for 1d data by using parameter n2. Data to new slices is copy from existed one. For example, for n1>0 new array will be a_ij^new = a_i^old where j=0...n1. Correspondingly, for n1<0 new array will be a_ij^new = a_j^old where i=0...|n1|.
- MGL command: squeeze dat
rx [ry=1 rz=1 sm=off]
- Method on
mglData
:void
Squeeze (int
rx,int
ry=1
,int
rz=1
,bool
smooth=false
) - Method on
mglDataC
:void
Squeeze (int
rx,int
ry=1
,int
rz=1
,bool
smooth=false
) - C function:
void
mgl_data_squeeze (HMDT
dat,int
rx,int
ry,int
rz,int
smooth) - C function:
void
mgl_datac_squeeze (HADT
dat,int
rx,int
ry,int
rz,int
smooth) Reduces the data size by excluding data elements which indexes are not divisible by rx, ry, rz correspondingly. Parameter smooth set to use smoothing (i.e. out[i]=\sum_{j=i,i+r} a[j]/r) or not (i.e. out[i]=a[j*r]).
- MGL command: crop dat
n1 n2
'dir' - Method on
mglData
:void
Crop (int
n1,int
n2,char
dir='x'
) - Method on
mglDataC
:void
Crop (int
n1,int
n2,char
dir='x'
) - C function:
void
mgl_data_crop (HMDT
dat,int
n1,int
n2,char
dir) - C function:
void
mgl_datac_crop (HADT
dat,int
n1,int
n2,char
dir) Cuts off edges of the data i<n1 and i>n2 if n2>0 or i>
n[xyz]
-n2 if n2<=0 along direction dir.
- MGL command: insert dat 'dir'
[pos=off num=0]
- Method on
mglData
:void
Insert (char
dir,int
pos=0
,int
num=1
) - Method on
mglDataC
:void
Insert (char
dir,int
pos=0
,int
num=1
) - C function:
void
mgl_data_insert (HMDT
dat,char
dir,int
pos,char
num) - C function:
void
mgl_datac_insert (HADT
dat,char
dir,int
pos,char
num) Insert num slices along dir-direction at position pos and fill it by zeros.
- MGL command: delete dat 'dir'
[pos=off num=0]
- Method on
mglData
:void
Delete (char
dir,int
pos=0
,int
num=1
) - Method on
mglDataC
:void
Delete (char
dir,int
pos=0
,int
num=1
) - C function:
void
mgl_data_delete (HMDT
dat,char
dir,int
pos,char
num) - C function:
void
mgl_datac_delete (HADT
dat,char
dir,int
pos,char
num) Delete num slices along dir-direction at position pos.
- MGL command: sort dat
idx [idy=-1]
- Method on
mglData
:void
Sort (lond
idx,long
idy=-1
) - C function:
void
mgl_data_sort (HMDT
dat,lond
idx,long
idy) Sort data rows (or slices in 3D case) by values of specified column idx (or cell {idx,idy} for 3D case). Note, this function is not thread safe!
- MGL command: clean dat
idx
- Method on
mglData
:void
Clean (lond
idx) - C function:
void
mgl_data_clean (HMDT
dat,lond
idx) Delete rows which values are equal to next row for given column idx.
- MGL command: join dat vdat
- Method on
mglData
:void
Join (const mglDataA &
vdat) - Method on
mglDataC
:void
Join (const mglDataA &
vdat) - C function:
void
mgl_data_join (HMDT
dat,HCDT
vdat) - C function:
void
mgl_datac_join (HADT
dat,HCDT
vdat) Join data cells from vdat to dat. At this, function increase dat sizes according following: z-size for 3D data arrays arrays with equal x-,y-sizes; or y-size for 2D data arrays with equal x-sizes; or x-size otherwise.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on March 21, 2014 using texi2html 5.0.