ILabPascal - Special Data Types [D..F]

In addition to the standard data types of ILabPascal the scripting engine provides several predefined data types which are specifically needed in some function calls.

Declaration Explanation & Details
TDataPoint = record
               XPos    : double;
               YPos    : double;
               ClassIx : integer;
Declares a data point as it is used in then class TIlabTrnDataSet.
TDateTime = double; Defines the date/time data type. The integral part is the number of days that have passed since December 30, 1899. The fractional part is the time of day. The maximal correct date supported is limited to December 31, 9999 23:59:59:999.
TDims = (dimX, dimY, dimL, dimT); Defines the four dimensions of the hypercube. dimX and dimY are the lateral dimensions, dimL corresponds to the spectral dimension and dimT represents the time axis.
TDirection = (dirUpward, dirDownward, dirLeftward, dirRightward); The type definition TDirection specifies the four principal directions on the screen.
TDistMode = (dmJaccard, dmManhattan, dmEuclid, dmEuclidSqr, dmDice, dmUserDef); The type declaration TDistMode defines the possible operating modes of the method DistanceOfObjects. Currently the following distances can be calculated:

dmJaccard similarity measure first defined by P. Jaccard (sometimes also referred to as Tanimoto coefficient)
dmManhattan Manhattan or city block distance
dmEuclid Euclidean distance
dmEuclidSqr squared Euclidean distance
dmDice the Dice coefficient

TDoubleArray = array of double; Declares an open array of double precision numbers (a "data vector").
TDouble2DArray = array of array of double; Declares a two-dimensional open array of double precision numbers (a "data matrix"). The first index corresponds to the columns of the matrix, the second index to the rows.
TDouble3DArray = array of array of array of double; Declares a three-dimensional open array of double precision numbers (a "data cuboid"). The first index corresponds to the columns of the matrix (dimX), the second index to the rows (dimY), the third index designates the layers of the cuboid (dimL).
TDouble4DArray = array of array of array of array of double; Declares a four-dimensional open array of double precision numbers (a "data hypercuboid"). The first index corresponds to the columns of the matrix (dimX), the second index to the rows (dimY), the third index designates the layers of the cuboid (dimL) and the fourth index addresses the time axis (dimT).
TDXXUnits = (xuInvCm, xuMicrons, xuNanom, xuSeconds, xuAmu, xuHz, xuUnknown); Declares the accepted units for the spectral axis:
xuInvCm - wave numbers (cm-1)
xuMicrons - micrometers (Ám)
xuNanom - nanometers (nm)
xuSeconds - seconds (s)
xuAmu - atomic mass units
xuHz - hertz (Hz)
xuUnknown - unknown unit
TDXYUnits = (yuTmitt, yuReflect, yuAbsorb, yuKubMunk, yuArbit, yuUnknown); Declares the accepted units for the intensity axis:
yuTmitt - transmittance (IT/I0)
yuReflect - refelectance (IR/I0)
yuAbsorb - absorbance lg(I0/I)
yuKubMunk - Kubelka-Munk ((I-R2)/(2R))
yuArbit - arbitrary units
yuUnknown - unknown unit
TEdgeOp = (eopMin, eopMax, eopSum, eopMean, eopStdDev); Declares the type of operation performed by the EdgeVector function:

eopMin - find the minimum
eopMax - find the maximum
eopSum - calculate the sum
eopMean - calculate the mean
eopStdDev - calculate the standard deviation
TEndian = (edWindows, edUnixMac); Declares the endianess.
TEnviDataType = (dt1Busi, dt2Bsi, dt4Bsi, dtSingle,
dtDouble, dtCSingle, dtCDouble, dt2Busi, dt4Busi,
dt8Bsi, dt8Busi, dtUnknown);
Declares the various supported data types of ENVI files.
TEnviHeader = record
                NumX        : integer;
                NumY        : integer;
                NumL        : integer;
                DataTp      : TEnviDataType;
                SenseTp     : TEnviSensorType;
                HdrOfs      : integer;
                ILeave      : TEnviInterLeave;
                ByteOrder   : TEndian;
                WLUnits     : string;
                WaveL       : TDoubleArray;
                Description : string;
                TimeStamp   : TDateTime;
                PixelSizeX  : double;
                PixelSizeY  : double;
                TilePosition: TPoint;
                FwHm        : TDoubleArray;
                LinkedFiles : array of string;
                FileType    : TIlabFileType;
                AcqTime     : TIntArray;
                SpecNames   : array of string;
Declares the ENVI header specification.
TEnviInterLeave = (ilBSQ, ilBIL, ilBIP); Declares the data order used in ENVI binary files (see also SaveENVI)
ilBSQ - Band Sequential (X[col,row,band])
ilBIL - Band Interleave by Line (X[col,band,row])
ilBIP - Band Interleave by Pixel (X[band,col,row])
TEnviSensorType = (estSpero, estUserDefined, estIRspec,
estMSPos, estMSPosRaw, estMSNeg, estMSNegRaw, estMSsim,
estLibsRaw, estLibsSl, estRaman, estUvVis, estRGBcolors,
estTHzSpec, estImpulse, estOESRaw, estOESsl, estEDX,
estSIMS, estIRdiscrete, estMagSpec, estPhaseSpec,
estPowerSpec, estUnknown);
Declares various sensor types for ENVI. Please note that this declaration is proprietary and not part of the ENVI specification
TFeatKind = (fkUndefined, fkInteger, fkDouble, fkString, fkTriState); Declares the type of features used in a feature matrix, see TFeatKind for details.
TFFTPadding = (ftpZero, ftpLevel, ftpMirror); Specifies the type of padding to be used for the Fourier transform if the data sample does not contain a number of data points which is a power of 2.
TFFTResult = (ftrReal, ftrImag, ftrMag,
ftrPhase, ftrPower);
Specifies the type of result produced by the function FFTofCubeData.
TFastFourierWgtWin = (fwRectangle,
fwTriangle, fwCos2, fwGauss,
fwHamming, fwBlackman, fwBlkmHarris,
fwBlkmNuttall, fwTukey, fwUserDef);
The type of windowing function used by the function FFT.
TFont = class(TGraphicsObject) TFont describes font characteristics used when displaying text.
TFrameStyle = (fsNone, fsSimple, fsLowered, fsRaised, fsEmbossed, fsEngraved); Defines the possible variations of the frame of a rectangular area.
TFTPParams = record
                Host     : string;
                UserName : string;
                Pwd      : string;
                TimeOut  : integer;
Declares the following FTP parameters:
Host the name of the server (e.g. "")
UserName the user name
Pwd the password
TimeOut the timeout in msec (default is 3000 msec)