Filter Library Camera Interface Physics

CScanFilter Class Reference
[Scan Filter Base Class]

#include <ScanFilter.h>

Inheritance diagram for CScanFilter:

CCalculatorImageShift CScanFilterBGS_LbL CScanFilterBGS_MCN CScanFilterBGS_Planar CScanFilterBGS_Planar CScanFilterBgsDiff CScanFilterBgsDiff_LbL CScanFilterBinaryThreshold CScanFilterClad CScanFilterClip CScanFilterCrossCorrelate CScanFilterCrossCorrelate2 CScanFilterCustom CScanFilterDifferential CScanFilterDifferential_LbL CScanFilterDilation CScanFilterDZ CScanFilterErosion CScanFilterFFT CScanFilterFFTInverse CScanFilterFourierBase CScanFilterKuwahara CScanFilterLinearRegression CScanFilterMath CScanFilterNCCFFT CScanFilterNCCFFTOld CScanFilterNull CScanFilterRank CScanFilterShift CScanFilterSwapQuadrants CScanFilterTest CScanFilterThreshold List of all members.

Detailed Description

Class CScanFilter is the base clas for the filters of the Camera Filter Library.

Version:
3.2 IMPORTANT: order of members has changed; affects main application.

Definition at line 57 of file ScanFilter.h.

Prohibited

 CScanFilter (const Self &rhs)
 prevent copy-assignment; virtual destructor requires canonical form [Coplien].
Selfoperator= (const Self &rhs)
 prevent assignment; virtual destructor requires canonical form [Coplien].

Public Types

typedef short Self
 this type.
typedef CObject Super
 the class derived from.
typedef DWORD SizeType
 the filter's size type.

Public Member Functions

Predicates
virtual BOOL CanDoPartialData () const
 default is to not support partial data; override if filter does support it.
virtual BOOL CanDoDialogEntry () const
 default is to support a dialog; override if filter does not support it.
virtual DragSupportType SupportDragInput () const
 default is to not support dragging; override if filter does support it.
virtual BOOL NeedRectSelection () const
 default is to not require a rectangular) selection before applying filter; override if filter does require it.
Accessors
virtual LPCTSTR GetFilterName () const
 the name of this filter.
Mutators
virtual void SetDragInput (BOOL bL2R, CRect rcIn)
 set the rectangular drag area for given L2R or R2L part of frame; override for filters that support dragging.
Input Buffers
virtual SizeType GetNrOfInBuffers () const
 default is one input buffer; override of filter uses more.
virtual CScanBaseBufferGetInputBuffer (UINT nNr)
 provide the input buffer for the given index.
virtual void SetInputBuffer (UINT nNr, CScanBaseBuffer *lpsbIn)
 set the input buffer for the given index.
Output Buffers
virtual SizeType GetNrOfOutBuffers () const
 default is one output buffer; override of filter uses more.
virtual CScanBaseBufferGetOutputBuffer (UINT nNr)
 provide the output buffer for the given index.
virtual void SetOutputBuffer (UINT nNr, CScanBaseBuffer *lpsbOut)
 set the output buffer for the given index.
Filtering
virtual bool IsInteractive () const
 true if a dialog is present.
virtual void ReadFilterSettings ()
 configure filter with default setting or with settings as saved from the last invocation (e.g.
virtual void WriteFilterSettings () const
 save filter settings e.g.
virtual LPCTSTR GetParameters () const
 provode current filter parameter(s) for filter-scripting capture in the main application.
virtual BOOL SetParameters (LPCTSTR lpParameters)
 set parameters for filter-script execution of filter; may throw _T("message").
virtual BOOL EditModeless (CWnd *pParentWnd)
 start filter dialog, allow for user input but do not perform filter operations; default implementation: return FALSE.
virtual BOOL RunModeless (CWnd *pParentWnd, CDocument *pDoc)
 start filter dialog, allow for user input and perform filter operations; default implementation: return FALSE.
virtual BOOL Apply ()
 perform the filter operation without user interaction; also used to process series of buffers.

Protected Member Functions

virtual void Serialize (CArchive &ar)
 set parameters for filter-script execution of filter; may throw _T("message").

Protected Attributes

CDialog * m_pDlg
 the filter dialog.
CView * m_pView
 FIXME: the filter view.
CScanBaseBufferm_lpsbIn
 the (first) input buffer.
CScanBaseBufferm_lpsbOut
 the (first) output buffer.
LPCTSTR m_csFilterName
 the individual filtername.

Static Protected Attributes

static LPCTSTR m_lpcsFilterName
 the class filtername (orig.comment: saves memory (???mo) ).
static LPCTSTR m_lpcsShortFilterName
 the class short filtername.
static const CRect NonIntersectingRect
 a non-intersecting rectangle.

Friends

class CFilterDlg
 class CFilterDlg requires access to m_lpsbIn and m_lpsbOut; instead we also could use GetInputBuffer(0) and GetOutputBuffer(0);


Member Function Documentation

void CScanFilter::ReadFilterSettings (  )  [virtual]

from registry).

This method configures the filter with it's default values or, if available, with the settings as saved from the last invocation.

No filter configuration happens if the filter does not override this method.

ReadFilterSettings() is usually called from the constructor of the filter.

Version:
3.2

Reimplemented in CScanFilterBGS_Planar, CScanFilterBGS_MCN, CScanFilterBGS_Planar, CScanFilterBinaryThreshold, CScanFilterClad, CScanFilterCrossCorrelate, CScanFilterCrossCorrelate2, CScanFilterCustom, CScanFilterDifferential, CScanFilterDifferential_LbL, CScanFilterDZ, CScanFilterHighPass, CScanFilterLinearRegression, CScanFilterLowPass, CScanFilterMath, CScanFilterNCCFFT, CScanFilterNCCFFTOld, CScanFilterNull, CScanFilterRank, CScanFilterShift, CScanFilterTest, and CScanFilterThreshold.

Definition at line 188 of file ScanFilter.cpp.

void CScanFilter::WriteFilterSettings (  )  const [virtual]

for use with the filterlist window (e.g. via registry).

WriteFilterSettings() is called from the filter dialog's OnOK message handler.

Version:
3.2

Reimplemented in CScanFilterBGS_Planar, CScanFilterBGS_MCN, CScanFilterBGS_Planar, CScanFilterBinaryThreshold, CScanFilterClad, CScanFilterCrossCorrelate, CScanFilterCrossCorrelate2, CScanFilterCustom, CScanFilterDifferential, CScanFilterDifferential_LbL, CScanFilterDZ, CScanFilterHighPass, CScanFilterLinearRegression, CScanFilterLowPass, CScanFilterMath, CScanFilterNCCFFT, CScanFilterNCCFFTOld, CScanFilterNull, CScanFilterRank, CScanFilterShift, CScanFilterTest, and CScanFilterThreshold.

Definition at line 196 of file ScanFilter.cpp.

Referenced by CFilterDlg::OnOK(), and CFilterDlg::UpdateView().

LPCTSTR CScanFilter::GetParameters (  )  const [virtual]

Analogous to GetInitParameters(), this method returns filter parameters, in this case for the filter-scripting capture operation in the main application.

Returns:
C-string with parameter values, e.g. "1.23,4.56"
See also:
GetInitParameters().
Note:
caller is responsible for delete-ing returned string storage.

Reimplemented in CScanFilterAutoCorrelate, CScanFilterBGS_LbL, CScanFilterBGS_Planar, CScanFilterBGS_MCN, CScanFilterBGS_Planar, CScanFilterBinaryThreshold, CScanFilterClad, CScanFilterClip, CScanFilterCrossCorrelate, CScanFilterCrossCorrelate2, CScanFilterCrossCorrelateF, CScanFilterCustom, CScanFilterDifferential, CScanFilterDifferential_LbL, CScanFilterDilation, CScanFilterDZ, CScanFilterErosion, CScanFilterFFT, CScanFilterFFTInverse, CScanFilterHighPass, CScanFilterKuwahara, CScanFilterLinearRegression, CScanFilterLowPass, CScanFilterMath, CScanFilterNCCFFT, CScanFilterNCCFFTOld, CScanFilterNull, CScanFilterRank, CScanFilterShift, CScanFilterSwapQuadrants, CScanFilterTest, and CScanFilterThreshold.

Definition at line 205 of file ScanFilter.cpp.

References Q_ASSERT.

BOOL CScanFilter::SetParameters ( LPCTSTR  lpParameters  )  [virtual]

This method initializes the filter parameters for filter-script execution of the filter to the given parameters.

Parameters:
lpParameters a C-string specifying the filter parameter values, e.g. "1.23,4.56".
Returns:
TRUE (Success), FALSE (Failure)
Exceptions:
C-string if the filter does not support this operation, this method may throw _T("message");

Reimplemented in CScanFilterAutoCorrelate, CScanFilterBGS_LbL, CScanFilterBGS_Planar, CScanFilterBGS_MCN, CScanFilterBGS_Planar, CScanFilterBinaryThreshold, CScanFilterClad, CScanFilterClip, CScanFilterCrossCorrelate, CScanFilterCrossCorrelate2, CScanFilterCrossCorrelateF, CScanFilterCustom, CScanFilterDifferential, CScanFilterDifferential_LbL, CScanFilterDilation, CScanFilterDZ, CScanFilterErosion, CScanFilterFFT, CScanFilterFFTInverse, CScanFilterHighPass, CScanFilterKuwahara, CScanFilterLinearRegression, CScanFilterLowPass, CScanFilterMath, CScanFilterNCCFFT, CScanFilterNCCFFTOld, CScanFilterNull, CScanFilterRank, CScanFilterShift, CScanFilterSwapQuadrants, CScanFilterTest, and CScanFilterThreshold.

Definition at line 215 of file ScanFilter.cpp.

References Q_ASSERT.

void CScanFilter::Serialize ( CArchive &  ar  )  [protected, virtual]

This method initializes the filter parameters for filter-script execution of the filter toe the parameters specified.

Parameters:
lpParameters a C-string specifying the filter parameter values, e.g. "1.23,4.56".
Returns:
TRUE (Success), FALSE (Failure)
Exceptions:
C-string if the filter does not support this operation, this method may throw _T("message");

Reimplemented in CCalculatorImageShift, CScanFilterAutoCorrelate, CScanFilterBGS_LbL, CScanFilterBGS_Planar, CScanFilterBGS_MCN, CScanFilterBGS_Planar, CScanFilterBgsDiff, CScanFilterBgsDiff_LbL, CScanFilterBinaryThreshold, CScanFilterClad, CScanFilterClip, CScanFilterCrossCorrelate, CScanFilterCrossCorrelate2, CScanFilterCrossCorrelateF, CScanFilterCustom, CScanFilterDifferential, CScanFilterDifferential_LbL, CScanFilterDilation, CScanFilterDZ, CScanFilterErosion, CScanFilterFFT, CScanFilterFFTInverse, CScanFilterFourierBase, CScanFilterHighPass, CScanFilterKuwahara, CScanFilterLinearRegression, CScanFilterLowPass, CScanFilterMath, CScanFilterNCCFFT, CScanFilterNCCFFTOld, CScanFilterNull, CScanFilterRank, CScanFilterShift, CScanFilterSwapQuadrants, CScanFilterTest, and CScanFilterThreshold.

Definition at line 264 of file ScanFilter.cpp.

Referenced by CScanFilterThreshold::Serialize(), CScanFilterTest::Serialize(), CScanFilterSwapQuadrants::Serialize(), CScanFilterShift::Serialize(), CScanFilterRank::Serialize(), CScanFilterNull::Serialize(), CScanFilterNCCFFTOld::Serialize(), CScanFilterNCCFFT::Serialize(), CScanFilterMath::Serialize(), CScanFilterLinearRegression::Serialize(), CScanFilterKuwahara::Serialize(), CScanFilterFourierBase::Serialize(), CScanFilterFFTInverse::Serialize(), CScanFilterFFT::Serialize(), CScanFilterErosion::Serialize(), CScanFilterDZ::Serialize(), CScanFilterDilation::Serialize(), CScanFilterDifferential_LbL::Serialize(), CScanFilterDifferential::Serialize(), CScanFilterCustom::Serialize(), CScanFilterCrossCorrelateF::Serialize(), CScanFilterCrossCorrelate2::Serialize(), CScanFilterCrossCorrelate::Serialize(), CScanFilterClip::Serialize(), CScanFilterClad::Serialize(), CScanFilterBinaryThreshold::Serialize(), CScanFilterBgsDiff_LbL::Serialize(), CScanFilterBgsDiff::Serialize(), CScanFilterBGS_MCN::Serialize(), CScanFilterBGS_Planar::Serialize(), CScanFilterBGS_LbL::Serialize(), and CCalculatorImageShift::Serialize().


Friends And Related Function Documentation

friend class CFilterDlg [friend]

Todo:
remove friend class CFilterDlg requirement.

Definition at line 64 of file ScanFilter.h.


The documentation for this class was generated from the following files:
Camera Filter Library documentation © 2004-2007 by Leiden Probe Microscopy