Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _MITKMANUALSEGMENTATIONTISURFACEFILTER_h__
00019 #define _MITKMANUALSEGMENTATIONTISURFACEFILTER_h__
00020
00021 #include <mitkImageToSurfaceFilter.h>
00022 #include "MitkExtExports.h"
00023
00024 #include <vtkImageGaussianSmooth.h>
00025 #include <vtkImageMedian3D.h>
00026 #include <vtkImageResample.h>
00027 #include <vtkImageThreshold.h>
00028
00029
00030 namespace mitk {
00044 class MitkExt_EXPORT ManualSegmentationToSurfaceFilter : public ImageToSurfaceFilter
00045 {
00046 public:
00047 mitkClassMacro(ManualSegmentationToSurfaceFilter,ImageToSurfaceFilter);
00048
00049 typedef double vtkDouble;
00050
00060 virtual void GenerateData();
00061 itkNewMacro(Self);
00062
00063
00067 itkSetMacro(MedianFilter3D,bool);
00068
00072 itkGetConstMacro(MedianFilter3D,bool);
00073
00077 itkBooleanMacro(MedianFilter3D);
00078
00082 itkSetMacro(Interpolation,bool);
00083
00087 itkGetConstMacro(Interpolation,bool);
00088
00093 itkBooleanMacro(Interpolation);
00094
00098 itkSetMacro(UseGaussianImageSmooth,bool);
00099
00103 itkGetConstMacro(UseGaussianImageSmooth,bool);
00104
00112 itkBooleanMacro(UseGaussianImageSmooth);
00113
00118 itkSetMacro(GaussianStandardDeviation, double);
00119
00124 itkGetConstMacro(GaussianStandardDeviation, double);
00125
00130 void SetMedianKernelSize(int x, int y, int z);
00131
00135 itkGetConstMacro(MedianKernelSizeX, int);
00136
00140 itkGetConstMacro(MedianKernelSizeY, int);
00141
00145 itkGetConstMacro(MedianKernelSizeZ, int);
00146
00150 void SetInterpolation(vtkDouble x, vtkDouble y, vtkDouble z);
00151
00152
00153 protected:
00154 ManualSegmentationToSurfaceFilter();
00155 virtual ~ManualSegmentationToSurfaceFilter();
00156
00157 bool m_MedianFilter3D;
00158 int m_MedianKernelSizeX, m_MedianKernelSizeY, m_MedianKernelSizeZ;
00159 bool m_UseGaussianImageSmooth;
00160 double m_GaussianStandardDeviation;
00161 bool m_Interpolation;
00162
00163 vtkDouble m_InterpolationX;
00164 vtkDouble m_InterpolationY;
00165 vtkDouble m_InterpolationZ;
00166
00167 };
00168
00169 }
00170 #endif //_MITKMANUALSEGMENTATIONTISURFACEFILTER_h__