Computer Assisted Medical Intervention Tool Kit  version 5.1
GaussianFilter.h
Go to the documentation of this file.
1/*****************************************************************************
2 * $CAMITK_LICENCE_BEGIN$
3 *
4 * CamiTK - Computer Assisted Medical Intervention ToolKit
5 * (c) 2001-2023 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 DISCRETEGAUSSIANFILTER_H
26#define DISCRETEGAUSSIANFILTER_H
27
28#include <QObject>
29#include <Action.h>
30#include <ImageComponent.h>
31#include <ActionWidget.h>
32
33#include "ITKFilterAPI.h"
34
44 Q_OBJECT
45
46public:
48 enum GaussianType {STANDARD, RECURSIVE_IIR };
49 Q_ENUM(GaussianType)
50
51
53
55 virtual ~GaussianFilter();
56
57public slots:
64
70
71private:
73 virtual void process(camitk::ImageComponent*);
74
75 vtkSmartPointer<vtkImageData> implementProcess(vtkSmartPointer<vtkImageData> img);
76
77 template <class InputPixelType, class OutputPixelType, const int dim>
78 vtkSmartPointer<vtkImageData> itkProcess(vtkSmartPointer<vtkImageData> img);
79
80 template <class InputPixelType, class OutputPixelType, const int dim>
81 vtkSmartPointer<vtkImageData> itkProcessStandardGaussian(vtkSmartPointer<vtkImageData> img);
82 template <class InputPixelType, class OutputPixelType, const int dim>
83 vtkSmartPointer<vtkImageData> itkProcessIIRGaussian(vtkSmartPointer<vtkImageData> img);
84
85
86protected:
87 double variance;
88};
89
90#endif // DISCRETEGAUSSIANFILTER_H
#define ITKFILTER_API
Definition: ITKFilterAPI.h:8
Perform a gaussian filter on the ImageComponent.
Definition: GaussianFilter.h:43
GaussianType
Define the possible implementations of Gaussian filtering.
Definition: GaussianFilter.h:48
double variance
Definition: GaussianFilter.h:87
This class describes what is a generic Action extension.
Definition: ActionExtension.h:57
Action class is an abstract class that enables you to build a action (generally on a component).
Definition: Action.h:208
ApplyStatus
describes what happened during the application of an algorithm (i.e. results of the apply method)
Definition: Action.h:224
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 usin...
The manager of the Image Volume data.
Definition: ImageComponent.h:77