| MikroCAD SDK Library

- Home
- All Types
- Files

All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
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

  pnData | In- and output data array
  pbValid | In- and output valid array
  pbMask | Mask array
  nSizeX | Size in X
  nSizeY | Size in Y
  fScaleX | Scaling factor in X
  fScaleY | Scaling factor in Y
  fScaleZ | Scaling 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

  pnOut | Output data array
  pnIn | Input data array
  pbValid | Input valid array
  nSizeX | Size in X
  nSizeY | Size in Y
  nFilterSizeX | Filter size in X
  nFilterSizeY | Filter size in Y
  Direction | Filter 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

  pnOut | Output data array
  pnIn | Input data array
  pbValid | Valid array
  pROI | Region of interest
  nSizeX | Size in X
  nSizeY | Size in Y
  nCuttOffWaveLength | Threshold wavelength (pixel)
  InnerFilterType | Inner filter type
  nRepeat | Number of repetitions
  ReturnData | Return type

Returns
  Success (true) or failure

MC3D_EXPORT bool __cdecl MC3D_FourierLorenzFilter2D | ( | float * | pfValue,
|  | short | nNumValues,
|  | short | nCutOffWaveLength
| ) |  |

Fourier-Lorenzfilter in the plane.

Parameters

  pfValue | Data array
  nNumValues | Number of values
  nCutOffWaveLength | Threshold 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

  pnOut | Output data array
  pnIn | Input data array
  pbValid | Valid array
  nSizeX | Size in X
  nSizeY | Size in Y
  nFilterSizeX | Filter size in X
  nFilterSizeY | Filter size in Y
  Direction | Filter 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

  pnData | Data array
  pbValid | Valid array
  pbMask | Mask array
  nSizeX | Size in X
  nSizeY | Size in Y
  fScaleX | Scaling factor in X
  fScaleY | Scaling factor in Y
  fScaleZ | Scaling 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

  pnOut | Output data array
  pnIn | Input data array
  pbValid | Input valid array
  nSizeX | Size in X
  nSizeY | Size in Y
  nFilterSize | Filter size
  nRepeat | Number 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

  pnOut | Output data array
  pnIn | Input data array
  pbValid | Input valid array
  nSizeX | Size in X
  nSizeY | Size in Y
  nFilterSize | Filter size
  nRepeat | Number 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

  pnOut | Output data array
  pnIn | Input data array
  pbValid | Input valid array
  nSizeX | Size in X
  nSizeY | Size in Y
  nFilterSizeX | Filter size in X
  nFilterSizeY | Filter size in Y
  Direction | Filter 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

  pnOut | Output data array
  pnIn | Input data array
  nSizeX | Size in X
  nSizeY | Size in Y
  AOI | Area of interest
  nFilterSizeX | Filter size in X
  nFilterSizeY | Filter size in Y
  Direction | Filter 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

  pnOut | Output data array
  pnIn | Input data array
  pbValid | Input valid array
  pbMarkingValid | Input mask array, can be NULL
  nSizeX | Size in X
  nSizeY | Size in Y
  nFilterSizeX | Filter size in X
  nFilterSizeY | Filter size in Y
  Direction | Filter 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

  pfValue | Data array
  pfPolynomParam | Polynomial parameter
  nSizeX | Size in X
  nPolynomialOrder | Polynomial order
  bDifference | Difference 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

  pnOut | Output data array
  pnIn | Input data array
  pbValid | Input valid array
  pbMask | Input mask array
  nSizeX | Size in X
  nSizeY | Size in Y
  nPolynomialOrder | Polynomial degree (0...8)
  ReturnData | Return 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

  pnOut | Output data array
  pnIn | Input data array
  pbValid | Input valid array
  pbMask | Input mask array
  nSizeX | Size in X
  nSizeY | Size in Y
  nFilterSizeX | Filter size in X
  nFilterSizeY | Filter size in Y
  Direction | Filter direction
  lMaximalRadius | Maximum radius of invalid area
  bUseEdges | Include edges/border
  lEnlargeInvalid | Enlarge 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

  pnOut | Output data array
  pnIn | Input data array
  pbValid | Input valid array
  nSizeX | Size in X
  nSizeY | Size in Y
  nFilterSize | Filter size
  fWeight | Weighting 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

  pnOut | Output data array
  pnIn | Input data array
  pbValid | In- and output valid array
  nSizeX | Size in X
  nSizeY | Size in Y
  fScaleX | Scaling factor in X
  fScaleY | Scaling factor in Y
  fScaleZ | Scaling factor in Z
  pTrafo | (Output) Transformation matrix

Returns
  Success (true) or failure