Orfeo Toolbox  3.16
itkCurvatureFlowImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkCurvatureFlowImageFilter.h,v $
5  Language: C++
6  Date: $Date: 2009-04-23 03:53:34 $
7  Version: $Revision: 1.38 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkCurvatureFlowImageFilter_h
18 #define __itkCurvatureFlowImageFilter_h
19 
22 
23 namespace itk {
24 
87 template <class TInputImage, class TOutputImage>
89  : public DenseFiniteDifferenceImageFilter<TInputImage, TOutputImage>
90 {
91 public:
98 
100  itkNewMacro(Self);
101 
103  itkTypeMacro(CurvatureFlowImageFilter,
105 
108 
111  typedef typename OutputImageType::Pointer OutputImagePointer;
112 
116 
120 
123  itkStaticConstMacro(ImageDimension, unsigned int,Superclass::ImageDimension);
124 
128 
131 
133  itkSetMacro(TimeStep, TimeStepType);
134 
136  itkGetConstMacro(TimeStep, TimeStepType);
137 
138 #ifdef ITK_USE_CONCEPT_CHECKING
139 
140  itkConceptMacro(DoubleConvertibleToOutputCheck,
142  itkConceptMacro(OutputConvertibleToDoubleCheck,
144  itkConceptMacro(OutputDivisionOperatorsCheck,
146  itkConceptMacro(DoubleOutputMultiplyOperatorCheck,
148  itkConceptMacro(IntOutputMultiplyOperatorCheck,
150  itkConceptMacro(OutputLessThanDoubleCheck,
152  itkConceptMacro(OutputDoubleAdditiveOperatorsCheck,
155 #endif
156 
157 protected:
160  void PrintSelf(std::ostream& os, Indent indent) const;
161 
164  virtual bool Halt()
165  {
166  if (this->GetElapsedIterations() == this->GetNumberOfIterations())
167  {
168  return true;
169  }
170  else
171  {
172  return false;
173  }
174  }
175 
178  virtual void InitializeIteration();
179 
183  virtual void EnlargeOutputRequestedRegion(DataObject *);
184 
188  virtual void GenerateInputRequestedRegion();
189 
190 private:
191  CurvatureFlowImageFilter(const Self&); //purposely not implemented
192  void operator=(const Self&); //purposely not implemented
193 
195 };
196 
197 } // end namspace itk
198 
199 #ifndef ITK_MANUAL_INSTANTIATION
201 #endif
202 
203 #endif

Generated at Sat Feb 2 2013 23:34:11 for Orfeo Toolbox with doxygen 1.8.1.1