Computer Assited Medical Intervention Tool Kit  version 5.0
RegionGrowing Class Reference

Segment using a region growing algorithm the ImageComponent. More...

#include <RegionGrowing.h>

+ Inheritance diagram for RegionGrowing:
+ Collaboration diagram for RegionGrowing:

Public Slots

virtual camitk::Action::ApplyStatus apply ()
 this method is automatically called when the action is triggered. More...
 
virtual camitk::Action::ApplyStatus apply (int lowThreshold, int highThreshold, QList< QVector3D > *seedPoints, bool filterBefore=false, int nbIterations=5, double timeStep=0.120)
 Same method to be called manually with the parameters. More...
 
- Public Slots inherited from camitk::Action
virtual camitk::Action::ApplyStatus apply ()=0
 This method is called when the action has to be applied on the target list (get the target lists using getTargets()) It calls the algorithm of your action on the target list of components. More...
 
camitk::Action::ApplyStatus applyAndRegister ()
 This method is called whenever the action has to be applied on the target list (like the apply()) method AND registered within the application history of actions. More...
 
camitk::Action::ApplyStatus trigger (QWidget *parent=nullptr)
 This method triggers the action. More...
 

Public Member Functions

virtual QWidget * getWidget ()
 Returns the widget that allows one to modify the action parameters. More...
 
 RegionGrowing (camitk::ActionExtension *)
 Default Constructor. More...
 
virtual ~RegionGrowing ()
 Default Destructor. More...
 
- Public Member Functions inherited from camitk::Action
 Action (ActionExtension *)
 Default Constructor: the ActionExtension is needed. More...
 
 ~Action () override
 Destructor. More...
 
virtual QAction * getQAction (Component *target=nullptr)
 Get the corresponding QAction. More...
 
QString getName () const
 get the name of the action More...
 
QString getDescription () const
 the description of the action More...
 
QString getComponent () const
 the name of the component class that can be used by this action More...
 
QString getFamily () const
 the name of the family in which this action is associated More...
 
QString getExtensionName () const
 the name of the extension in the family in which this action is associated More...
 
QStringList getTag () const
 the name of the tag called this action More...
 
bool getEmbedded () const
 argument use to know if the widget is embedded or not More...
 
virtual QPixmap getIcon ()
 the icon to personalize the action (no icon by default) More...
 
const ComponentList getTargets () const
 the currently selected and valid (regarding the component property) components, for which this action is called More...
 
void updateTargets ()
 update the target list using the currently selected components More...
 
bool getAutoUpdateProperties () const
 
void setAutoUpdateProperties (bool)
 are the properties to be udpated every time the user makes a change in the widget (default is false)? More...
 
virtual Q_INVOKABLE camitk::PropertygetProperty (QString name)
 Get a Property given its name. More...
 
virtual bool addParameter (Property *)
 Add a new parameter to the action, using the CamiTK property class. More...
 
void applyTargetPosition (Component *input, Component *target)
 Change the target frame according to the default frame policy regarding the input's one. More...
 
void applyTargetPosition (Component *input, Component *target, Application::TargetPositionningPolicy policy)
 Change the target frame according to a given frame policy regarding the input's one. More...
 
ApplyStatus applyInPipeline ()
 This method encapsulates the apply() method. More...
 
void setInputComponents (ComponentList inputs)
 Specify the input Component(s) Only applyInPipeline() should be called with this method (maybe apply), but not trigger() as its first intruction is to clear the target components list !!! More...
 
void setInputComponent (Component *input)
 Specify the input Components in case of only one Component. More...
 
ComponentList getOutputComponents ()
 Returns the output Component(s) More...
 
ComponentgetOutputComponent ()
 Returns the output Components in case of only one Component. More...
 

Protected Attributes

QWidget * theWidget
 The widget will be filled with parameters. More...
 
bool filterBefore
 Parameters. More...
 
int nbIterations
 number of iterations of this smoothing filter More...
 
double timeStep
 time step of this smoothing filter More...
 
int lowThreshold
 low threshold for region growing More...
 
int highThreshold
 high threshold for region growing More...
 
QList< QVector3D > * seedPoints
 list of seed points More...
 
- Protected Attributes inherited from camitk::Action
QWidget * actionWidget
 the action widget More...
 

Private Member Functions

vtkSmartPointer< vtkImageData > implementProcess (vtkSmartPointer< vtkImageData > img)
 
template<class InputPixelType , class OutputPixelType , const int dim>
vtkSmartPointer< vtkImageData > itkProcess (vtkSmartPointer< vtkImageData > img)
 
virtual void process (camitk::ImageComponent *comp)
 helper method to simplify the target component processing More...
 

Additional Inherited Members

- Public Types inherited from camitk::Action
enum  ApplyStatus {
  SUCCESS, ERROR, WARNING, ABORTED,
  TRIGGERED
}
 
- Static Public Member Functions inherited from camitk::Action
static QString getStatusAsString (ApplyStatus)
 
- Protected Member Functions inherited from camitk::Action
void setName (QString name)
 
void setDescription (QString description)
 the description of the action More...
 
void setComponent (QString component)
 the name of the component class that can be used by this action More...
 
void setFamily (QString family)
 the name of the family in which this action is associated More...
 
void addTag (QString tag)
 add a tag to the tags list of this action More...
 
void setEmbedded (bool isEmbedded)
 set the embedded property (an action is embedded by default, unless specified otherwise by explicitly calling this method with false) More...
 
void setIcon (QPixmap)
 set the Pixmap More...
 

Detailed Description

Segment using a region growing algorithm the ImageComponent.

Constructor & Destructor Documentation

◆ RegionGrowing()

RegionGrowing::RegionGrowing ( camitk::ActionExtension extension)

Default Constructor.

References camitk::Action::addTag(), camitk::Action::setComponent(), camitk::Action::setDescription(), camitk::Action::setEmbedded(), camitk::Action::setFamily(), camitk::Action::setName(), and theWidget.

+ Here is the call graph for this function:

◆ ~RegionGrowing()

RegionGrowing::~RegionGrowing ( )
virtual

Default Destructor.

Member Function Documentation

◆ apply [1/2]

Action::ApplyStatus RegionGrowing::apply ( )
virtualslot

this method is automatically called when the action is triggered.

!!! This method works only if theWidget has been instantiated (i.e. if getWidget has been called at least once, this is the case when there is a GUI) if not, please use the apply method with the parameters...

References camitk::Action::ABORTED, CAMITK_WARNING, filterBefore, RegionGrowingWidget::getHighThreshold(), RegionGrowingWidget::getLowThreshold(), RegionGrowingWidget::getNumberOfIterations(), RegionGrowingWidget::getSeedPoints(), camitk::Action::getTargets(), RegionGrowingWidget::getTimeStep(), highThreshold, RegionGrowingWidget::isSmoothingChecked(), lowThreshold, nbIterations, process(), seedPoints, camitk::Action::SUCCESS, theWidget, and timeStep.

+ Here is the call graph for this function:

◆ apply [2/2]

Action::ApplyStatus RegionGrowing::apply ( int  lowThreshold,
int  highThreshold,
QList< QVector3D > *  seedPoints,
bool  filterBefore = false,
int  nbIterations = 5,
double  timeStep = 0.120 
)
virtualslot

Same method to be called manually with the parameters.

References filterBefore, camitk::Action::getTargets(), highThreshold, lowThreshold, nbIterations, process(), seedPoints, camitk::Action::SUCCESS, and timeStep.

+ Here is the call graph for this function:

◆ getWidget()

QWidget * RegionGrowing::getWidget ( )
virtual

Returns the widget that allows one to modify the action parameters.

Reimplemented from camitk::Action.

References camitk::Action::getTargets(), theWidget, and RegionGrowingWidget::updateComponent().

+ Here is the call graph for this function:

◆ implementProcess()

vtkSmartPointer<vtkImageData> RegionGrowing::implementProcess ( vtkSmartPointer< vtkImageData >  img)
private

Referenced by process().

+ Here is the caller graph for this function:

◆ itkProcess()

template<class InputPixelType , class OutputPixelType , const int dim>
vtkSmartPointer< vtkImageData > RegionGrowing::itkProcess ( vtkSmartPointer< vtkImageData >  img)
private

◆ process()

void RegionGrowing::process ( camitk::ImageComponent comp)
privatevirtual

helper method to simplify the target component processing

References camitk::ImageComponent::getImageData(), camitk::Component::getName(), implementProcess(), and camitk::refresh().

Referenced by apply().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ filterBefore

bool RegionGrowing::filterBefore
protected

Parameters.

Should a smoothing filter be applied before region growing ?

Referenced by apply(), and itkProcess().

◆ highThreshold

int RegionGrowing::highThreshold
protected

high threshold for region growing

Referenced by apply(), and itkProcess().

◆ lowThreshold

int RegionGrowing::lowThreshold
protected

low threshold for region growing

Referenced by apply(), and itkProcess().

◆ nbIterations

int RegionGrowing::nbIterations
protected

number of iterations of this smoothing filter

Referenced by apply(), and itkProcess().

◆ seedPoints

QList<QVector3D>* RegionGrowing::seedPoints
protected

list of seed points

Referenced by apply(), and itkProcess().

◆ theWidget

QWidget* RegionGrowing::theWidget
protected

The widget will be filled with parameters.

Referenced by apply(), getWidget(), and RegionGrowing().

◆ timeStep

double RegionGrowing::timeStep
protected

time step of this smoothing filter

Referenced by apply(), and itkProcess().


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