The Sigma filter assumes that for a particular average image brightness, the variation in brightness due to speckle noise has a Gaussian (normal) distribution. More...
#include <spatmod/imagefilterfocal.h>

Public Member Functions | |
| FILTER_FOCAL_SIGMA (STAGE *pSourceImage, bool TakeOwnershipSource, STAGE *pMaskImage, bool TakeOwnershipMask, STATSVALIDITY StatsValidity, double SigmaParam, int KThreshold, UINT32 NumFocalRows, UINT32 NumFocalColumns, double AmountFilterPct=100.0) | |
| FILTER_FOCAL_SIGMA (STAGE *pSourceImage, bool TakeOwnershipSource, STATSVALIDITY StatsValidity, double SigmaParam, int KThreshold, UINT32 NumFocalRows, UINT32 NumFocalColumns, double AmountFilterPct=100.0) | |
| virtual | ~FILTER_FOCAL_SIGMA () |
The Sigma filter assumes that for a particular average image brightness, the variation in brightness due to speckle noise has a Gaussian (normal) distribution.
For each filter window, the filter output is the average of the cells whose values fall within a prescribed range above and below that of the center cell value. The limits of this range are set as a user-defined multiple of the noise standard deviation. Variation within these limits is assumed to be the result of speckle noise in a uniform area, whereas cells with values outside these limits probably represent different surface materials, and thus should not contribute to the averaging process.
| SPATMOD::IMAGE::FILTER_FOCAL_SIGMA::FILTER_FOCAL_SIGMA | ( | STAGE * | pSourceImage, | |
| bool | TakeOwnershipSource, | |||
| STATSVALIDITY | StatsValidity, | |||
| double | SigmaParam, | |||
| int | KThreshold, | |||
| UINT32 | NumFocalRows, | |||
| UINT32 | NumFocalColumns, | |||
| double | AmountFilterPct = 100.0 | |||
| ) |
Constructor.
| pSourceImage | Source image stage | |
| TakeOwnershipSource | Filter takes ownership of source image | |
| StatsValidity | How to compute image statisitcs used in filter (fastest should be used for display, exact for processing) | |
| SigmaParam | User-controlled weight applied to sigma | |
| KThreshold | If the number of cells within the standard deviation limits is less than threshold, center value is replaced by a simple average of the surrounding cells | |
| NumFocalRows | Number of rows in processing window | |
| NumFocalColumns | Number of columns in processing window | |
| AmountFilterPct | Amount of filter to apply (percentage, 0-100) |
| SPATMOD::IMAGE::FILTER_FOCAL_SIGMA::FILTER_FOCAL_SIGMA | ( | STAGE * | pSourceImage, | |
| bool | TakeOwnershipSource, | |||
| STAGE * | pMaskImage, | |||
| bool | TakeOwnershipMask, | |||
| STATSVALIDITY | StatsValidity, | |||
| double | SigmaParam, | |||
| int | KThreshold, | |||
| UINT32 | NumFocalRows, | |||
| UINT32 | NumFocalColumns, | |||
| double | AmountFilterPct = 100.0 | |||
| ) |
Constructor with mask to determine areas to filter.
| pSourceImage | Source image stage | |
| TakeOwnershipSource | Filter takes ownership of source image | |
| pMaskImage | Mask, must have single component sample | |
| TakeOwnershipMask | Filter takes ownership of mask stage and will delete when needed | |
| StatsValidity | How to compute image statisitcs used in filter (fastest should be used for display, exact for processing) | |
| SigmaParam | User-controlled weight applied to sigma | |
| KThreshold | If the number of cells within the standard deviation limits is less than threshold, center value is replaced by a simple average of the surrounding cells | |
| NumFocalRows | Number of rows in processing window | |
| NumFocalColumns | Number of columns in processing window | |
| AmountFilterPct | Amount of filter to apply (percentage, 0-100) |
| virtual SPATMOD::IMAGE::FILTER_FOCAL_SIGMA::~FILTER_FOCAL_SIGMA | ( | ) | [virtual] |
Destructor.
1.6.1