CustusX  16.5
An IGT application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cx::FilterImpl Class Referenceabstract

#include <cxFilterImpl.h>

Inheritance diagram for cx::FilterImpl:
cx::Filter cx::AirwaysFilter cx::BinaryThinningImageFilter3DFilter cx::BinaryThresholdImageFilter cx::ContourFilter cx::DilationFilter cx::DummyFilter cx::LevelSetFilter cx::ResampleImageFilter cx::RouteToTargetFilter cx::SmoothingImageFilter cx::TubeSegmentationFilter

Public Slots

virtual void requestSetPresetSlot (QString name)
 
- Public Slots inherited from cx::Filter
virtual void requestSetPresetSlot (QString name)=0
 

Public Member Functions

virtual ~FilterImpl ()
 
virtual QString getUid () const
 
virtual void initialize (QDomElement root, QString uid="")
 
virtual std::vector< PropertyPtrgetOptions ()
 
virtual std::vector
< SelectDataStringPropertyBasePtr
getInputTypes ()
 
virtual std::vector
< SelectDataStringPropertyBasePtr
getOutputTypes ()
 
virtual bool hasPresets ()
 
virtual PresetsPtr getPresets ()
 
virtual QDomElement generatePresetFromCurrentlySetOptions (QString name)
 
virtual void setActive (bool on)
 
virtual bool preProcess ()
 
- Public Member Functions inherited from cx::Filter
 Filter ()
 
virtual ~Filter ()
 
virtual QString getType () const =0
 
virtual QString getName () const =0
 
virtual QString getHelp () const =0
 
virtual bool execute ()=0
 
virtual bool postProcess ()=0
 

Protected Member Functions

 FilterImpl (VisServicesPtr services)
 
ImagePtr getCopiedInputImage (int index=0)
 
void updateThresholdFromImageChange (QString uid, DoublePropertyPtr threshold)
 
void updateThresholdPairFromImageChange (QString uid, DoublePairPropertyPtr threshold)
 
virtual void createOptions ()=0
 
virtual void createInputTypes ()=0
 
virtual void createOutputTypes ()=0
 
PatientModelServicePtr patientService ()
 

Protected Attributes

std::vector
< SelectDataStringPropertyBasePtr
mInputTypes
 
std::vector
< SelectDataStringPropertyBasePtr
mOutputTypes
 
std::vector< PropertyPtrmOptionsAdapters
 
QDomElement mOptions
 
std::vector< DataPtrmCopiedInput
 
QDomElement mCopiedOptions
 
bool mActive
 
VisServicesPtr mServices
 

Additional Inherited Members

- Signals inherited from cx::Filter
void changed ()
 

Detailed Description

Helper implementation for Filter.

Inherit from this class to get access to useful functionality common to Filter descendants.

Date
Nov 21, 2012
Author
Christian Askeland, SINTEF

Definition at line 57 of file cxFilterImpl.h.

Constructor & Destructor Documentation

virtual cx::FilterImpl::~FilterImpl ( )
inlinevirtual

Definition at line 62 of file cxFilterImpl.h.

cx::FilterImpl::FilterImpl ( VisServicesPtr  services)
explicitprotected

Definition at line 46 of file cxFilterImpl.cpp.

Member Function Documentation

virtual QDomElement cx::FilterImpl::generatePresetFromCurrentlySetOptions ( QString  name)
inlinevirtual

Generates a preset from the filters currently set options.

Implements cx::Filter.

Reimplemented in cx::TubeSegmentationFilter.

Definition at line 71 of file cxFilterImpl.h.

ImagePtr cx::FilterImpl::getCopiedInputImage ( int  index = 0)
protected

Helper: Return the index'th input type as an image. Return zero if not available (as image).

Definition at line 125 of file cxFilterImpl.cpp.

std::vector< SelectDataStringPropertyBasePtr > cx::FilterImpl::getInputTypes ( )
virtual

List of input arguments.

Implements cx::Filter.

Definition at line 80 of file cxFilterImpl.cpp.

std::vector< PropertyPtr > cx::FilterImpl::getOptions ( )
virtual

Fill options for this algorithm. The options use the input xml noe from init to fill.

Implements cx::Filter.

Definition at line 71 of file cxFilterImpl.cpp.

std::vector< SelectDataStringPropertyBasePtr > cx::FilterImpl::getOutputTypes ( )
virtual

Return a help text describing algorithm usage.

Implements cx::Filter.

Definition at line 90 of file cxFilterImpl.cpp.

virtual PresetsPtr cx::FilterImpl::getPresets ( )
inlinevirtual

Returns the filters presets.

Implements cx::Filter.

Reimplemented in cx::TubeSegmentationFilter.

Definition at line 70 of file cxFilterImpl.h.

QString cx::FilterImpl::getUid ( ) const
virtual

Return a unique string for this algorithm.

Implements cx::Filter.

Definition at line 56 of file cxFilterImpl.cpp.

virtual bool cx::FilterImpl::hasPresets ( )
inlinevirtual

Checks wheter the filter has defined a set of presets.

Implements cx::Filter.

Reimplemented in cx::TubeSegmentationFilter.

Definition at line 69 of file cxFilterImpl.h.

void cx::FilterImpl::initialize ( QDomElement  root,
QString  uid = "" 
)
virtual

Initialize algorithm Fill options for this algorithm. Input is the root node for this algo, filled with stored settings (if any).

Set uid - if no uid is given, a default based on class name is used.

Implements cx::Filter.

Definition at line 63 of file cxFilterImpl.cpp.

PatientModelServicePtr cx::FilterImpl::patientService ( )
protected

Definition at line 51 of file cxFilterImpl.cpp.

bool cx::FilterImpl::preProcess ( )
virtual

Perform main thread preprocessing. Copies input data from options and the input adapters into thread-safe storage. Assumes getOptions(), getInputTypes(), getOutputTypes() has been called (this initializes options)

Returns
success.

Implements cx::Filter.

Reimplemented in cx::BinaryThresholdImageFilter, cx::ContourFilter, cx::LevelSetFilter, cx::BinaryThinningImageFilter3DFilter, and cx::DilationFilter.

Definition at line 106 of file cxFilterImpl.cpp.

virtual void cx::FilterImpl::requestSetPresetSlot ( QString  name)
inlinevirtualslot

Reimplemented in cx::TubeSegmentationFilter.

Definition at line 76 of file cxFilterImpl.h.

void cx::FilterImpl::setActive ( bool  on)
virtual

Set Active state. Active filters are used by the ui (or similar) and can interact with the system, for example by showing a preview.

Inactive filters should no interact with the system.

Implements cx::Filter.

Reimplemented in cx::BinaryThresholdImageFilter, cx::ContourFilter, and cx::LevelSetFilter.

Definition at line 100 of file cxFilterImpl.cpp.

void cx::FilterImpl::updateThresholdFromImageChange ( QString  uid,
DoublePropertyPtr  threshold 
)
protected

Helper: Call if you have an image threshold Property that need update from an image change.

Definition at line 132 of file cxFilterImpl.cpp.

void cx::FilterImpl::updateThresholdPairFromImageChange ( QString  uid,
DoublePairPropertyPtr  threshold 
)
protected

Definition at line 150 of file cxFilterImpl.cpp.

Member Data Documentation

bool cx::FilterImpl::mActive
protected

Definition at line 102 of file cxFilterImpl.h.

std::vector<DataPtr> cx::FilterImpl::mCopiedInput
protected

Definition at line 100 of file cxFilterImpl.h.

QDomElement cx::FilterImpl::mCopiedOptions
protected

Definition at line 101 of file cxFilterImpl.h.

std::vector<SelectDataStringPropertyBasePtr> cx::FilterImpl::mInputTypes
protected

Definition at line 94 of file cxFilterImpl.h.

QDomElement cx::FilterImpl::mOptions
protected

Definition at line 97 of file cxFilterImpl.h.

std::vector<PropertyPtr> cx::FilterImpl::mOptionsAdapters
protected

Definition at line 96 of file cxFilterImpl.h.

std::vector<SelectDataStringPropertyBasePtr> cx::FilterImpl::mOutputTypes
protected

Definition at line 95 of file cxFilterImpl.h.

VisServicesPtr cx::FilterImpl::mServices
protected

Definition at line 103 of file cxFilterImpl.h.


The documentation for this class was generated from the following files: