00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkKappaSigmaThresholdImageCalculator_h
00018 #define __itkKappaSigmaThresholdImageCalculator_h
00019
00020 #include "itkMacro.h"
00021 #include "itkImage.h"
00022
00023 namespace itk
00024 {
00025
00038 template < class TInputImage, class TMaskImage >
00039 class ITK_EXPORT KappaSigmaThresholdImageCalculator : public Object
00040 {
00041 public:
00043 typedef KappaSigmaThresholdImageCalculator Self;
00044 typedef Object Superclass;
00045 typedef SmartPointer<Self> Pointer;
00046 typedef SmartPointer<const Self> ConstPointer;
00047
00049 itkNewMacro(Self);
00050
00052 itkTypeMacro(KappaSigmaThresholdImageCalculator, Object);
00053
00055 itkStaticConstMacro(ImageDimension, unsigned int,
00056 TInputImage::ImageDimension);
00057
00059 typedef TInputImage InputImageType;
00060 typedef TMaskImage MaskImageType;
00061
00063 typedef typename InputImageType::Pointer InputImagePointer;
00064 typedef typename InputImageType::ConstPointer InputImageConstPointer;
00065 typedef typename MaskImageType::Pointer MaskImagePointer;
00066 typedef typename MaskImageType::ConstPointer MaskImageConstPointer;
00067
00068 typedef typename InputImageType::PixelType InputPixelType;
00069 typedef typename MaskImageType::PixelType MaskPixelType;
00070
00072 itkSetConstObjectMacro( Image, InputImageType );
00073
00075 itkSetConstObjectMacro( Mask, MaskImageType );
00076
00077 itkSetMacro(MaskValue, MaskPixelType);
00078 itkGetConstMacro(MaskValue, MaskPixelType);
00079
00080 itkSetMacro(SigmaFactor, double);
00081 itkGetConstMacro(SigmaFactor, double);
00082
00083 itkSetMacro(NumberOfIterations, unsigned int);
00084 itkGetConstMacro(NumberOfIterations, unsigned int);
00085
00091 void Compute( void );
00092
00093 const InputPixelType & GetOutput() const;
00094
00095 protected:
00096 KappaSigmaThresholdImageCalculator();
00097 virtual ~KappaSigmaThresholdImageCalculator() {};
00098 void PrintSelf(std::ostream& os, Indent indent) const;
00099
00100 private:
00101 KappaSigmaThresholdImageCalculator(const Self&);
00102 void operator=(const Self&);
00103
00104 bool m_Valid;
00105 MaskPixelType m_MaskValue;
00106 double m_SigmaFactor;
00107 unsigned int m_NumberOfIterations;
00108 InputPixelType m_Output;
00109
00110 InputImageConstPointer m_Image;
00111 MaskImageConstPointer m_Mask;
00112
00113 };
00114
00115 }
00116
00117
00118 #ifndef ITK_MANUAL_INSTANTIATION
00119 #include "itkKappaSigmaThresholdImageCalculator.txx"
00120 #endif
00121
00122 #endif
00123