Imaging/vtkImageEuclideanDistance.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00063 #ifndef __vtkImageEuclideanDistance_h
00064 #define __vtkImageEuclideanDistance_h
00065
00066 #include "vtkImageDecomposeFilter.h"
00067
00068 #define VTK_EDT_SAITO_CACHED 0
00069 #define VTK_EDT_SAITO 1
00070
00071 class VTK_IMAGING_EXPORT vtkImageEuclideanDistance : public vtkImageDecomposeFilter
00072 {
00073 public:
00074 static vtkImageEuclideanDistance *New();
00075 vtkTypeRevisionMacro(vtkImageEuclideanDistance,vtkImageDecomposeFilter);
00076 void PrintSelf(ostream& os, vtkIndent indent);
00077
00079
00085 int SplitExtent(int splitExt[6], int startExt[6],
00086 int num, int total);
00088
00090
00094 vtkSetMacro(Initialize, int);
00095 vtkGetMacro(Initialize, int);
00096 vtkBooleanMacro(Initialize, int);
00098
00100
00102 vtkSetMacro(ConsiderAnisotropy, int);
00103 vtkGetMacro(ConsiderAnisotropy, int);
00104 vtkBooleanMacro(ConsiderAnisotropy, int);
00106
00108
00110 vtkSetMacro(MaximumDistance, float);
00111 vtkGetMacro(MaximumDistance, float);
00113
00115
00117 vtkSetMacro(Algorithm, int);
00118 vtkGetMacro(Algorithm, int);
00119 void SetAlgorithmToSaito ()
00120 { this->SetAlgorithm(VTK_EDT_SAITO); }
00121 void SetAlgorithmToSaitoCached ()
00122 { this->SetAlgorithm(VTK_EDT_SAITO_CACHED); }
00124
00125 void IterativeExecuteData(vtkImageData *in, vtkImageData *out);
00126
00127 protected:
00128 vtkImageEuclideanDistance();
00129 ~vtkImageEuclideanDistance() {}
00130
00131 float MaximumDistance;
00132 int Initialize;
00133 int ConsiderAnisotropy;
00134 int Algorithm;
00135
00136
00137 virtual void AllocateOutputScalars(vtkImageData *outData);
00138
00139 void ExecuteInformation(vtkImageData *input, vtkImageData *output);
00140 void ExecuteInformation()
00141 {this->vtkImageIterateFilter::ExecuteInformation();}
00142 void ComputeInputUpdateExtent(int inExt[6], int outExt[6]);
00143 private:
00144 vtkImageEuclideanDistance(const vtkImageEuclideanDistance&);
00145 void operator=(const vtkImageEuclideanDistance&);
00146 };
00147
00148 #endif
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158