00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkLazyEdgeDetectionImageFilter3D_h
00018 #define __itkLazyEdgeDetectionImageFilter3D_h
00019
00020 #include "itkImageToImageFilter.h"
00021
00022 namespace itk
00023 {
00024
00033 template <class TInputImage, class TOutputImage>
00034 class ITK_EXPORT LazyEdgeDetectionImageFilter3D : public ImageToImageFilter<TInputImage,TOutputImage>
00035 {
00036 public:
00038 typedef LazyEdgeDetectionImageFilter3D Self;
00039 typedef ImageToImageFilter<TInputImage,TOutputImage> Superclass;
00040 typedef SmartPointer<Self> Pointer;
00041 typedef SmartPointer<const Self> ConstPointer;
00042
00044 itkNewMacro(Self);
00045
00047 itkTypeMacro(LazyEdgeDetectionImageFilter3D, ImageToImageFilter);
00048
00050 typedef TInputImage InputImageType;
00051 typedef typename InputImageType::Pointer InputImagePointer;
00052 typedef typename InputImageType::RegionType InputImageRegionType;
00053 typedef typename InputImageType::PixelType InputImagePixelType;
00054 typedef TOutputImage OutputImageType;
00055 typedef typename OutputImageType::Pointer OutputImagePointer;
00056 typedef typename OutputImageType::RegionType OutputImageRegionType;
00057 typedef typename OutputImageType::PixelType OutputImagePixelType;
00058
00060 itkGetMacro( Direction, unsigned int );
00061 itkSetMacro( Direction, unsigned int );
00062 void SetEdgeDetectorThreshold(double d){edgeDetectorThreshold=d;};
00063 void SetEdgeDetectorOutsideValue(double d){edgeDetectorOutsideValue=d;};
00064 void SetEdgeDetectorVariance(double d){edgeDetectorVariance=d;};
00065 void SetEdgeDetectorMaximumError(double d){edgeDetectorMaximumError=d;};
00066 protected:
00067 LazyEdgeDetectionImageFilter3D();
00068 virtual ~LazyEdgeDetectionImageFilter3D() {};
00069 void PrintSelf(std::ostream& os, Indent indent) const;
00074 void GenerateData(void);
00075
00076 private:
00077 LazyEdgeDetectionImageFilter3D(const Self&);
00078 void operator=(const Self&);
00079
00080 double edgeDetectorThreshold;
00081 double edgeDetectorOutsideValue;
00082 double edgeDetectorVariance;
00083 double edgeDetectorMaximumError;
00084 unsigned int m_Direction;
00085
00086 };
00087
00088 }
00089
00090 #ifndef ITK_MANUAL_INSTANTIATION
00091 #include "itkLazyEdgeDetectionImageFilter3D.txx"
00092 #endif
00093
00094 #endif