Filter Library | Camera | Interface Physics |
#include <ScanFilterBGS_MCN.h>
Inheritance diagram for CScanFilterBGS_MCN:
Definition at line 71 of file ScanFilterBGS_MCN.h.
Camera--Filter Interface | |
enum | { NumHist = 4 } |
the number of histograms to store. More... | |
virtual void | ReadFilterSettings () |
configure filter with settings as provided by the application on the filterlist window (e.g. | |
virtual void | WriteFilterSettings () const |
save filter settings e.g. | |
virtual LPCTSTR | GetParameters () const |
provide current filter parameter(s) for filter-scripting capture in the main application; see also CScanFilterNull::GetParameters(). | |
virtual BOOL | SetParameters (LPCTSTR lpParameters) |
set parameters for filter-script execution of filter; see also CScanFilterNull::SetParameters(). | |
virtual BOOL | EditModeless (CWnd *pParentWnd) |
start filter dialog to edit parameters; no filter operations; see also CScanFilterNull::EditModeless(). | |
virtual BOOL | RunModeless (CWnd *pParentWnd, CDocument *pDoc) |
create filter dialog and pre Apply() filter to view result; see also CScanFilterNull::RunModeless(). | |
virtual BOOL | Apply () |
check parameters, take care of a properly sized output buffer, set its name and copy filter parameters and process; see also CScanFilterNull::Apply(). | |
void | ComputeGradients () |
compute the gradients for both parts or for the selected area. | |
Public Types | |
enum | eFilterPolicy { fpHistogram, fpGaussianFit, fpGaussianTopFit } |
plane filter policy More... | |
enum | eSubtractPolicy { spSeparate, spLeftToRight, spRightToLeft } |
plane subtract policy More... | |
enum | eHistogramPolicy { hpLRX, hpLRY, hpRLX, hpRLY } |
histogram policy More... | |
typedef double | RealType |
the real type. | |
typedef cil::Diff2D | LengthType |
the differentiator length type. | |
typedef cil::GradientPair | GradientPair |
the gradient pair type. | |
typedef cil::BinPair | BinPair |
the bin pair type. | |
typedef cil::ImageHistogramCalculator< RealType > | HistogramType |
the histogram type (double!!). | |
Public Member Functions | |
Predicates | |
bool | IsAutoBinning () const |
the filter policy. | |
Accessors | |
eFilterPolicy | GetFilterPolicy () const |
the filter policy. | |
eSubtractPolicy | GetSubtractPolicy () const |
the subtract policy. | |
eHistogramPolicy | GetHistogramPolicy () const |
the histogram index. | |
LengthType | GetLength () const |
the differentiator length. | |
int | GetBins () const |
the number of bins. | |
int | GetGaussianTopPercentage () const |
the top percentage. | |
HistogramType const & | GetHistogram (const int i) const |
the requested histogram. | |
BinPair | GetBinPair (const int i) const |
the requested bin pair. | |
int | GetLeftBin (const int i) const |
the left bin. | |
int | GetRightBin (const int i) const |
the right bin. | |
GradientPair | GetL2rGradients () const |
the L2R most common x- and y-gradients. | |
GradientPair | GetR2lGradients () const |
the R2L most common x- and y-gradients. | |
Modifiers | |
void | SetFilterPolicy (eFilterPolicy p) |
set the filter policy. | |
void | SetSubtractPolicy (eSubtractPolicy p) |
set the subtract policy. | |
void | SetHistogramPolicy (eHistogramPolicy p) |
the histogram policy. | |
void | SetLength (LengthType length) |
set the differentiator length. | |
void | SetAutoBin (bool autobin) |
set the number of bins. | |
void | SetBins (int bins) |
set the number of bins. | |
void | SetBinPair (const int i, const BinPair &bin_pair) |
set given bin pair. | |
void | SetHistogram (const int i, HistogramType const &histogram) |
set given histogram. | |
void | SetGaussianTopPercentage (int percentage) |
the top percentage. | |
void | SetL2rGradients (const GradientPair &gradients) |
set the L2R most common x- and y-gradients. | |
void | SetR2lGradients (const GradientPair &gradients) |
set the R2R most common x- and y-gradients. | |
Static Public Attributes | |
static LPCTSTR | m_lpcsFilterName |
the filter name. | |
static LPCTSTR | m_lpcsShortFilterName |
the class short filtername. | |
static const int | def_nLengthX |
the default x-length. | |
static const int | def_nLengthY |
the default y-length. | |
static const int | def_nBins |
the default number of bins. | |
Protected Member Functions | |
virtual void | Serialize (CArchive &ar) |
store or retrieve the object's settings; see also CScanFilterNull::Serialize(). | |
Private Attributes | |
eFilterPolicy | m_filterPolicy |
filter policy. | |
eSubtractPolicy | m_subtractPolicy |
subtract policy. | |
eHistogramPolicy | m_histogramPolicy |
histogram policy. | |
LengthType | m_differentiatorLength |
the differentiator filter length. | |
int | m_bins |
the number of bins. | |
bool | m_autobin |
auto binning requested. | |
int | m_GaussianTopPercentage |
the percentage. | |
CRect | m_rcSourceRect |
the user specified area to work on. | |
CRect | m_rcSourceArea |
the effectively used selected area to work on. | |
GradientPair | m_l2r_gradients |
the L2R most common x- and y-gradients. | |
GradientPair | m_r2l_gradients |
the R2L most common x- and y-gradients. | |
BinPair | m_bin_pair [NumHist] |
the L2R, R2L, left- and right bin numbers. | |
HistogramType | m_histogram [NumHist] |
the L2R, R2L, x- and y-gradient histograms. |
fpHistogram | only use histogram |
fpGaussianFit | also fit gaussian |
fpGaussianTopFit | also fit gaussian top |
Definition at line 102 of file ScanFilterBGS_MCN.h.
spSeparate | use a separate plane for each image part |
spLeftToRight | use the L2R plane for both parts |
spRightToLeft | use the R2L plane for both parts |
Definition at line 112 of file ScanFilterBGS_MCN.h.
hpLRX | left-right x derivative |
hpLRY | left-right y derivative |
hpRLX | right-left x derivative |
hpRLY | right-left y derivative |
Definition at line 122 of file ScanFilterBGS_MCN.h.
anonymous enum |
Definition at line 221 of file ScanFilterBGS_MCN.h.
void CScanFilterBGS_MCN::ReadFilterSettings | ( | ) | [virtual] |
via registry); see also CScanFilterNull::ReadFilterSettings().
Reimplemented from CScanFilter.
Definition at line 130 of file ScanFilterBGS_MCN.cpp.
References gCflRegistrySubkey, CScanFilter::GetFilterName(), Q_INVALID, and SetParameters().
void CScanFilterBGS_MCN::WriteFilterSettings | ( | ) | const [virtual] |
for use with the filterlist window (e.g. via registry); see also ReadFilterSettings().
Reimplemented from CScanFilter.
Definition at line 150 of file ScanFilterBGS_MCN.cpp.
References gCflRegistrySubkey, CScanFilter::GetFilterName(), GetParameters(), and Q_INVALID.
void CScanFilterBGS_MCN::ComputeGradients | ( | ) |
Definition at line 405 of file ScanFilterBGS_MCN.cpp.
References CScanBaseBuffer::Columns(), fpGaussianFit, fpGaussianTopFit, fpHistogram, GetBins(), GetFilterPolicy(), GetGaussianTopPercentage(), GetL2rGradients(), GetLength(), GetR2lGradients(), GetSubtractPolicy(), IsAutoBinning(), CScanBaseBuffer::IsBidirectionalScan(), CScanFilter::m_lpsbIn, m_rcSourceArea, m_rcSourceRect, CScanBaseBuffer::Rows(), SetBins(), SetL2rGradients(), SetLength(), SetR2lGradients(), spRightToLeft, and spSeparate.
Referenced by Apply().