Computer Assited Medical Intervention Tool Kit  version 5.0
RegionGrowing.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * $CAMITK_LICENCE_BEGIN$
3  *
4  * CamiTK - Computer Assisted Medical Intervention ToolKit
5  * (c) 2001-2021 Univ. Grenoble Alpes, CNRS, Grenoble INP, TIMC, 38000 Grenoble, France
6  *
7  * Visit http://camitk.imag.fr for more information
8  *
9  * This file is part of CamiTK.
10  *
11  * CamiTK is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * CamiTK is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License version 3 for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22  *
23  * $CAMITK_LICENCE_END$
24  ****************************************************************************/
25 #ifndef REGIONGROWING_H
26 #define REGIONGROWING_H
27 
28 #include <Action.h>
29 #include <ImageComponent.h>
30 
39 class RegionGrowing : public camitk::Action {
40 
41 public:
44 
46  virtual ~RegionGrowing();
47 
49  virtual QWidget* getWidget();
50 
51 public slots:
58 
60  virtual camitk::Action::ApplyStatus apply(int lowThreshold, int highThreshold, QList<QVector3D>* seedPoints, bool filterBefore = false, int nbIterations = 5, double timeStep = 0.120);
61 
62 
63 private:
65  virtual void process(camitk::ImageComponent* comp);
66 
67  vtkSmartPointer<vtkImageData> implementProcess(vtkSmartPointer<vtkImageData> img);
68 
69  template <class InputPixelType, class OutputPixelType, const int dim>
70  vtkSmartPointer<vtkImageData> itkProcess(vtkSmartPointer<vtkImageData> img);
71 
72 
73 protected:
75  QWidget* theWidget;
76 
78  bool filterBefore;
81  int nbIterations;
83  double timeStep;
85  int lowThreshold;
87  int highThreshold;
89  QList<QVector3D>* seedPoints;
91 };
92 #endif // REGIONGROWING_H
camitk::Action::setFamily
void setFamily(QString family)
the name of the family in which this action is associated
Definition: Action.cpp:136
CAMITK_WARNING
#define CAMITK_WARNING(MSG)
Log for warning verbosity (the most common one) Will appear by default.
Definition: Log.h:266
RegionGrowingWidget
RegionGrowing action widget.
Definition: RegionGrowingWidget.h:44
camitk::Action::SUCCESS
@ SUCCESS
everything went according to plan
Definition: Action.h:248
camitk::Action::ABORTED
@ ABORTED
the action was aborted before completion
Definition: Action.h:251
camitk::Action::ApplyStatus
ApplyStatus
Definition: Action.h:247
camitk::Action::setName
void setName(QString name)
Definition: Action.cpp:120
RegionGrowing.h
camitk::Action::setComponent
void setComponent(QString component)
the name of the component class that can be used by this action
Definition: Action.cpp:131
camitk::ItkProgressObserver::Pointer
itk::SmartPointer< Self > Pointer
Definition: ItkProgressObserver.h:96
camitk::ImageComponent
The manager of the Image Volume data. An image volume data has no concrete 3D representation,...
Definition: ImageComponent.h:77
camitk::Action::getTargets
const ComponentList getTargets() const
the currently selected and valid (regarding the component property) components, for which this action...
Definition: Action.cpp:166
RegionGrowing::highThreshold
int highThreshold
high threshold for region growing
Definition: RegionGrowing.h:110
Action.h
RegionGrowing::nbIterations
int nbIterations
number of iterations of this smoothing filter
Definition: RegionGrowing.h:104
RegionGrowing::lowThreshold
int lowThreshold
low threshold for region growing
Definition: RegionGrowing.h:108
camitk::Action::setEmbedded
void setEmbedded(bool isEmbedded)
set the embedded property (an action is embedded by default, unless specified otherwise by explicitly...
Definition: Action.cpp:146
RegionGrowing::filterBefore
bool filterBefore
Parameters.
Definition: RegionGrowing.h:102
itkImageToVTKImageFilter.h
RegionGrowingWidget.h
camitk::Action::addTag
void addTag(QString tag)
add a tag to the tags list of this action
Definition: Action.cpp:141
Log.h
RegionGrowing::seedPoints
QList< QVector3D > * seedPoints
list of seed points
Definition: RegionGrowing.h:112
camitk::Action
Action class is an abstract class that enables you to build a action (generally on a component)....
Definition: Action.h:231
RegionGrowing
Segment using a region growing algorithm the ImageComponent.
Definition: RegionGrowing.h:39
RegionGrowing::apply
virtual camitk::Action::ApplyStatus apply()
this method is automatically called when the action is triggered.
Definition: RegionGrowing.cpp:92
RegionGrowing::process
virtual void process(camitk::ImageComponent *comp)
helper method to simplify the target component processing
Definition: RegionGrowing.cpp:135
RegionGrowingWidget::getLowThreshold
int getLowThreshold()
low threshold for region growing
Definition: RegionGrowingWidget.cpp:57
RegionGrowingWidget::getHighThreshold
int getHighThreshold()
high threshold for region growing
Definition: RegionGrowingWidget.cpp:61
camitk::Action::setDescription
void setDescription(QString description)
the description of the action
Definition: Action.cpp:126
camitk::Component::getName
QString getName() const override
get the name to be displayed
Definition: sdk/libraries/core/component/Component.h:907
itk::ImageToVTKImageFilter
Converts an ITK image into a VTK image and plugs a itk data pipeline to a VTK datapipeline.
Definition: itkImageToVTKImageFilter.h:81
RegionGrowing::getWidget
virtual QWidget * getWidget()
Returns the widget that allows one to modify the action parameters.
Definition: RegionGrowing.cpp:74
RegionGrowing::~RegionGrowing
virtual ~RegionGrowing()
Default Destructor.
Definition: RegionGrowing.cpp:69
RegionGrowing::itkProcess
vtkSmartPointer< vtkImageData > itkProcess(vtkSmartPointer< vtkImageData > img)
Definition: RegionGrowing.cpp:153
camitk::ActionExtension
This class describes what is a generic Action extension. To add a ActionExtension to CamiTK core,...
Definition: ActionExtension.h:80
RegionGrowing::implementProcess
vtkSmartPointer< vtkImageData > implementProcess(vtkSmartPointer< vtkImageData > img)
camitk::ImageComponent::getImageData
vtkSmartPointer< vtkImageData > getImageData() const override
get the image volume managed by this Component
Definition: ImageComponent.h:123
RegionGrowingWidget::updateComponent
void updateComponent(camitk::ImageComponent *image)
Update the widget with the correct PickedPixelMap (ImageComponent + Qlist of the selected points)
Definition: RegionGrowingWidget.cpp:70
RegionGrowingWidget::getTimeStep
double getTimeStep()
time step for smoothing
Definition: RegionGrowingWidget.cpp:53
RegionGrowingWidget::getSeedPoints
QList< QVector3D > * getSeedPoints(camitk::ImageComponent *image)
List of seed points.
Definition: RegionGrowingWidget.cpp:65
RegionGrowingWidget::isSmoothingChecked
bool isSmoothingChecked()
Accessors to all parameters.
Definition: RegionGrowingWidget.cpp:45
itkVTKImageToImageFilter.h
camitk::refresh
void refresh()
refresh the display
RegionGrowingWidget::getNumberOfIterations
int getNumberOfIterations()
number of iterations for smoothing
Definition: RegionGrowingWidget.cpp:49
RegionGrowing::RegionGrowing
RegionGrowing(camitk::ActionExtension *)
Default Constructor.
Definition: RegionGrowing.cpp:46
itk::VTKImageToImageFilter
Converts a VTK image into an ITK image and plugs a vtk data pipeline to an ITK datapipeline.
Definition: itkVTKImageToImageFilter.h:58
ItkProgressObserver.h
ImageComponent.h
RegionGrowing::theWidget
QWidget * theWidget
The widget will be filled with parameters.
Definition: RegionGrowing.h:98
Application.h
camitk
Definition: Action.cpp:35
RegionGrowing::timeStep
double timeStep
time step of this smoothing filter
Definition: RegionGrowing.h:106