MikroCAD SDK Library
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MC3DFilterExport.h File Reference

Description

Function prototypes for filter functions.

Author
LMI Technologies

Go to the source code of this file.

Functions

MC3D_EXPORT bool __cdecl MC3D_Alignment (short *pnData, bool *pbValid, bool *pbMask, short nSizeX, short nSizeY, float fScaleX, float fScaleY, float fScaleZ)
 Align with valid array. More...
 
MC3D_EXPORT bool __cdecl MC3D_AverageFilter (short *pnOut, short *pnIn, bool *pbValid, short nSizeX, short nSizeY, short nFilterSizeX, short nFilterSizeY, eMC3DFilterDirection Direction)
 Average filter. More...
 
MC3D_EXPORT bool __cdecl MC3D_FourierFilter2D (short *pnOut, short *pnIn, bool *pbValid, TROIShort *pROI, short nSizeX, short nSizeY, int nCuttOffWaveLength, eFourierFilterType InnerFilterType, short nRepeat, eFourierFilterReturnData ReturnData)
 Fourier filter in the plane. More...
 
MC3D_EXPORT bool __cdecl MC3D_FourierLorenzFilter2D (float *pfValue, short nNumValues, short nCutOffWaveLength)
 Fourier-Lorenzfilter in the plane. More...
 
MC3D_EXPORT bool __cdecl MC3D_GaussianFilter (short *pnOut, short *pnIn, bool *pbValid, short nSizeX, short nSizeY, short nFilterSizeX, short nFilterSizeY, eMC3DFilterDirection Direction)
 Gauss filter, line based. More...
 
MC3D_EXPORT bool __cdecl MC3D_GetAlignmentTransformationMatrix (short *pnData, bool *pbValid, bool *pbMask, short nSizeX, short nSizeY, float fScaleX, float fScaleY, float fScaleZ, TCoordTransformation3DFloat *pTrafo)
 Alignment - get transformation matrix. More...
 
MC3D_EXPORT bool __cdecl MC3D_HighpassFilter (short *pnOut, short *pnIn, bool *pbValid, short nSizeX, short nSizeY, short nFilterSize, short nRepeat)
 Highpass filter. More...
 
MC3D_EXPORT bool __cdecl MC3D_LowpassFilter (short *pnOut, short *pnIn, bool *pbValid, short nSizeX, short nSizeY, short nFilterSize, short nRepeat)
 Lowpass filter. More...
 
MC3D_EXPORT bool __cdecl MC3D_MedianFilter (short *pnOut, short *pnIn, bool *pbValid, short nSizeX, short nSizeY, short nFilterSizeX, short nFilterSizeY, eMC3DFilterDirection Direction)
 Median filter, old version. More...
 
MC3D_EXPORT bool __cdecl MC3D_MedianFilterLine (short *pnOut, short *pnIn, short nSizeX, short nSizeY, RECT &AOI, short nFilterSizeX, short nFilterSizeY, eMC3DFilterDirection Direction)
 Median filter, line based. More...
 
MC3D_EXPORT bool __cdecl MC3D_MedianFilterRobust (short *pnOut, short *pnIn, bool *pbValid, bool *pbMarkingValid, short nSizeX, short nSizeY, short nFilterSizeX, short nFilterSizeY, eMC3DFilterDirection Direction)
 Median filter, new more robust version. More...
 
MC3D_EXPORT bool __cdecl MC3D_Polynom2D (float *pfValue, float *pfPolynomParam, int nSizeX, short nPolynomialOrder, bool bDifference)
 Polynomial estimation in the plane or its difference from the input data. More...
 
MC3D_EXPORT bool __cdecl MC3D_PolynomialFilter (short *pnOut, short *pnIn, bool *pbValid, bool *pbMask, short nSizeX, short nSizeY, short nPolynomialOrder, ePolynomialFilterReturnData ReturnData=PolynomialFilterReturnData_Difference, float *pfPolynomialParameter=NULL)
 Polynomial filter. More...
 
MC3D_EXPORT bool __cdecl MC3D_RemoveInvalid (short *pnOut, short *pnIn, bool *pbValid, bool *pbMask, short nSizeX, short nSizeY, short nFilterSizeX, short nFilterSizeY, eMC3DFilterDirection Direction, long lMaximalRadius, bool bUseEdges, long lEnlargeInvalid)
 Remove invalid filter. More...
 
MC3D_EXPORT bool __cdecl MC3D_RemovePeaks (short *pnOut, short *pnIn, bool *pbValid, short nSizeX, short nSizeY, short nFilterSize, float fWeight=3.2)
 Remove peaks filter. More...
 
MC3D_EXPORT bool __cdecl MC3D_Transformation (short *pnOut, short *pnIn, bool *pbValid, short nSizeX, short nSizeY, float fScaleX, float fScaleY, float fScaleZ, TCoordTransformation3DFloat *pTrafo)
 Align with a given transformation matrix. More...
 

Function Documentation

MC3D_EXPORT bool __cdecl MC3D_Alignment ( short *  pnData,
bool *  pbValid,
bool *  pbMask,
short  nSizeX,
short  nSizeY,
float  fScaleX,
float  fScaleY,
float  fScaleZ 
)

Align with valid array.

Parameters
pnDataIn- and output data array
pbValidIn- and output valid array
pbMaskMask array
nSizeXSize in X
nSizeYSize in Y
fScaleXScaling factor in X
fScaleYScaling factor in Y
fScaleZScaling factor in Z
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_AverageFilter ( short *  pnOut,
short *  pnIn,
bool *  pbValid,
short  nSizeX,
short  nSizeY,
short  nFilterSizeX,
short  nFilterSizeY,
eMC3DFilterDirection  Direction 
)

Average filter.

Parameters
pnOutOutput data array
pnInInput data array
pbValidInput valid array
nSizeXSize in X
nSizeYSize in Y
nFilterSizeXFilter size in X
nFilterSizeYFilter size in Y
DirectionFilter direction
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_FourierFilter2D ( short *  pnOut,
short *  pnIn,
bool *  pbValid,
TROIShort pROI,
short  nSizeX,
short  nSizeY,
int  nCuttOffWaveLength,
eFourierFilterType  InnerFilterType,
short  nRepeat,
eFourierFilterReturnData  ReturnData 
)

Fourier filter in the plane.

Parameters
pnOutOutput data array
pnInInput data array
pbValidValid array
pROIRegion of interest
nSizeXSize in X
nSizeYSize in Y
nCuttOffWaveLengthThreshold wavelength (pixel)
InnerFilterTypeInner filter type
nRepeatNumber of repetitions
ReturnDataReturn type
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_FourierLorenzFilter2D ( float *  pfValue,
short  nNumValues,
short  nCutOffWaveLength 
)

Fourier-Lorenzfilter in the plane.

Parameters
pfValueData array
nNumValuesNumber of values
nCutOffWaveLengthThreshold wavelength (pixel)
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_GaussianFilter ( short *  pnOut,
short *  pnIn,
bool *  pbValid,
short  nSizeX,
short  nSizeY,
short  nFilterSizeX,
short  nFilterSizeY,
eMC3DFilterDirection  Direction 
)

Gauss filter, line based.

Parameters
pnOutOutput data array
pnInInput data array
pbValidValid array
nSizeXSize in X
nSizeYSize in Y
nFilterSizeXFilter size in X
nFilterSizeYFilter size in Y
DirectionFilter direction
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_GetAlignmentTransformationMatrix ( short *  pnData,
bool *  pbValid,
bool *  pbMask,
short  nSizeX,
short  nSizeY,
float  fScaleX,
float  fScaleY,
float  fScaleZ,
TCoordTransformation3DFloat pTrafo 
)

Alignment - get transformation matrix.

Parameters
pnDataData array
pbValidValid array
pbMaskMask array
nSizeXSize in X
nSizeYSize in Y
fScaleXScaling factor in X
fScaleYScaling factor in Y
fScaleZScaling factor in Z
pTrafo(Output) Transformation matrix
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_HighpassFilter ( short *  pnOut,
short *  pnIn,
bool *  pbValid,
short  nSizeX,
short  nSizeY,
short  nFilterSize,
short  nRepeat 
)

Highpass filter.

Parameters
pnOutOutput data array
pnInInput data array
pbValidInput valid array
nSizeXSize in X
nSizeYSize in Y
nFilterSizeFilter size
nRepeatNumber of repetitions
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_LowpassFilter ( short *  pnOut,
short *  pnIn,
bool *  pbValid,
short  nSizeX,
short  nSizeY,
short  nFilterSize,
short  nRepeat 
)

Lowpass filter.

Parameters
pnOutOutput data array
pnInInput data array
pbValidInput valid array
nSizeXSize in X
nSizeYSize in Y
nFilterSizeFilter size
nRepeatNumber of repetitions
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_MedianFilter ( short *  pnOut,
short *  pnIn,
bool *  pbValid,
short  nSizeX,
short  nSizeY,
short  nFilterSizeX,
short  nFilterSizeY,
eMC3DFilterDirection  Direction 
)

Median filter, old version.

Parameters
pnOutOutput data array
pnInInput data array
pbValidInput valid array
nSizeXSize in X
nSizeYSize in Y
nFilterSizeXFilter size in X
nFilterSizeYFilter size in Y
DirectionFilter direction
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_MedianFilterLine ( short *  pnOut,
short *  pnIn,
short  nSizeX,
short  nSizeY,
RECT &  AOI,
short  nFilterSizeX,
short  nFilterSizeY,
eMC3DFilterDirection  Direction 
)

Median filter, line based.

Parameters
pnOutOutput data array
pnInInput data array
nSizeXSize in X
nSizeYSize in Y
AOIArea of interest
nFilterSizeXFilter size in X
nFilterSizeYFilter size in Y
DirectionFilter direction
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_MedianFilterRobust ( short *  pnOut,
short *  pnIn,
bool *  pbValid,
bool *  pbMarkingValid,
short  nSizeX,
short  nSizeY,
short  nFilterSizeX,
short  nFilterSizeY,
eMC3DFilterDirection  Direction 
)

Median filter, new more robust version.

Parameters
pnOutOutput data array
pnInInput data array
pbValidInput valid array
pbMarkingValidInput mask array, can be NULL
nSizeXSize in X
nSizeYSize in Y
nFilterSizeXFilter size in X
nFilterSizeYFilter size in Y
DirectionFilter direction
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_Polynom2D ( float *  pfValue,
float *  pfPolynomParam,
int  nSizeX,
short  nPolynomialOrder,
bool  bDifference 
)

Polynomial estimation in the plane or its difference from the input data.

Parameters
pfValueData array
pfPolynomParamPolynomial parameter
nSizeXSize in X
nPolynomialOrderPolynomial order
bDifferenceDifference as output
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_PolynomialFilter ( short *  pnOut,
short *  pnIn,
bool *  pbValid,
bool *  pbMask,
short  nSizeX,
short  nSizeY,
short  nPolynomialOrder,
ePolynomialFilterReturnData  ReturnData = PolynomialFilterReturnData_Difference,
float *  pfPolynomialParameter = NULL 
)

Polynomial filter.

Parameters
pnOutOutput data array
pnInInput data array
pbValidInput valid array
pbMaskInput mask array
nSizeXSize in X
nSizeYSize in Y
nPolynomialOrderPolynomial degree (0...8)
ReturnDataReturn data type
pfPolynomialParameter(Output) polynomial parameter
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_RemoveInvalid ( short *  pnOut,
short *  pnIn,
bool *  pbValid,
bool *  pbMask,
short  nSizeX,
short  nSizeY,
short  nFilterSizeX,
short  nFilterSizeY,
eMC3DFilterDirection  Direction,
long  lMaximalRadius,
bool  bUseEdges,
long  lEnlargeInvalid 
)

Remove invalid filter.

Parameters
pnOutOutput data array
pnInInput data array
pbValidInput valid array
pbMaskInput mask array
nSizeXSize in X
nSizeYSize in Y
nFilterSizeXFilter size in X
nFilterSizeYFilter size in Y
DirectionFilter direction
lMaximalRadiusMaximum radius of invalid area
bUseEdgesInclude edges/border
lEnlargeInvalidEnlarge invalid area
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_RemovePeaks ( short *  pnOut,
short *  pnIn,
bool *  pbValid,
short  nSizeX,
short  nSizeY,
short  nFilterSize,
float  fWeight = 3.2 
)

Remove peaks filter.

Parameters
pnOutOutput data array
pnInInput data array
pbValidInput valid array
nSizeXSize in X
nSizeYSize in Y
nFilterSizeFilter size
fWeightWeighting factor
Returns
Success (true) or failure
MC3D_EXPORT bool __cdecl MC3D_Transformation ( short *  pnOut,
short *  pnIn,
bool *  pbValid,
short  nSizeX,
short  nSizeY,
float  fScaleX,
float  fScaleY,
float  fScaleZ,
TCoordTransformation3DFloat pTrafo 
)

Align with a given transformation matrix.

Parameters
pnOutOutput data array
pnInInput data array
pbValidIn- and output valid array
nSizeXSize in X
nSizeYSize in Y
fScaleXScaling factor in X
fScaleYScaling factor in Y
fScaleZScaling factor in Z
pTrafo(Output) Transformation matrix
Returns
Success (true) or failure