18 #ifndef __itkFiniteDifferenceImageFilter_h
19 #define __itkFiniteDifferenceImageFilter_h
131 template<
class TInputImage,
class TOutputImage >
151 itkStaticConstMacro(ImageDimension,
unsigned int, OutputImageType::ImageDimension);
177 itkGetConstReferenceObjectMacro(DifferenceFunction,
192 itkSetMacro(UseImageSpacing,
bool);
193 itkBooleanMacro(UseImageSpacing);
194 itkGetConstReferenceMacro(UseImageSpacing,
bool);
199 itkSetMacro(MaximumRMSError,
double);
200 itkGetConstReferenceMacro(MaximumRMSError,
double);
205 itkSetMacro(RMSChange,
double);
206 itkGetConstReferenceMacro(RMSChange,
double);
211 itkSetMacro(ManualReinitialization,
bool);
212 itkGetConstReferenceMacro(ManualReinitialization,
bool);
213 itkBooleanMacro(ManualReinitialization);
216 itkSetMacro( IsInitialized,
bool );
217 itkGetMacro( IsInitialized,
bool );
222 #ifdef ITK_USE_STRICT_CONCEPT_CHECKING
238 void PrintSelf(std::ostream & os,
Indent indent)
const;
241 virtual void AllocateUpdateBuffer() = 0;
258 virtual void CopyInputToOutput() = 0;
263 virtual void GenerateData();
276 virtual void GenerateInputRequestedRegion();
291 virtual bool ThreadedHalt(
void *itkNotUsed(threadInfo) ) {
return this->Halt(); }
306 virtual void InitializeIteration()
307 { m_DifferenceFunction->InitializeIteration(); }
321 virtual TimeStepType ResolveTimeStep(
const std::vector< TimeStepType >& timeStepList,
322 const std::vector< bool >& valid )
const;
347 void operator=(
const Self &);
352 void InitializeFunctionCoefficients();
364 #define ITK_TEMPLATE_FiniteDifferenceImageFilter(_, EXPORT, TypeX, TypeY) \
367 _( 2 ( class EXPORT FiniteDifferenceImageFilter< ITK_TEMPLATE_2 TypeX > ) ) \
368 namespace Templates \
370 typedef FiniteDifferenceImageFilter< ITK_TEMPLATE_2 TypeX > \
371 FiniteDifferenceImageFilter##TypeY; \
375 #if ITK_TEMPLATE_EXPLICIT
376 #include "Templates/itkFiniteDifferenceImageFilter+-.h"
380 #include "itkFiniteDifferenceImageFilter.hxx"