| [ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
6.3 Data resizing
- MGL command: new DAT [
nx=1 ny=1 nz=1] - Method on
mglData:voidCreate (intmx,intmy=1,intmz=1) - C function:
voidmgl_data_create (HMDTdat,intmx,intmy,intmz) 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:voidRearrange (intmx,intmy=0,intmz=0) - C function:
voidmgl_data_rearrange (HMDTdat,intmx,intmy,intmz) 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 will be 1.
- MGL command: transpose dat ['dim'='yxz']
- Method on
mglData:voidTranspose (const char *dim="yx") - C function:
voidmgl_data_transpose (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:voidExtend (intn1,intn2=0) - C function:
voidmgl_data_extend (HMDTdat,intn1,intn2) 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:voidSqueeze (intrx,intry=1,intrz=1,boolsmooth=false) - C function:
voidmgl_data_squeeze (HMDTdat,intrx,intry,intrz,intsmooth) 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:voidCrop (intn1,intn2,chardir='x') - C function:
voidmgl_data_crop (HMDTdat,intn1,intn2,chardir) 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:voidInsert (chardir,intpos=0,intnum=1) - C function:
voidmgl_data_insert (HMDTdat,chardir,intpos,charnum) 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:voidDelete (chardir,intpos=0,intnum=1) - C function:
voidmgl_data_delete (HMDTdat,chardir,intpos,charnum) Delete num slices along dir-direction at position pos.
- MGL command: sort dat
idx [idy=-1] - Method on
mglData:voidSort (londidx,longidy=-1) - C function:
voidmgl_data_sort (HMDTdat,londidx,longidy) 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!
| [ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on April 13, 2012 using texi2html 5.0.
