18 #ifndef __itkGPUFiniteDifferenceImageFilter_h
19 #define __itkGPUFiniteDifferenceImageFilter_h
35 template<
typename TInputImage,
typename TOutputImage,
typename TParentImageFilter =
36 FiniteDifferenceImageFilter< TInputImage, TOutputImage > >
57 itkStaticConstMacro(
ImageDimension,
unsigned int, OutputImageType::ImageDimension);
74 typedef typename FiniteDifferenceFunctionType::TimeStepType
TimeStepType;
75 typedef typename FiniteDifferenceFunctionType::RadiusType
RadiusType;
94 itkSetMacro(UseImageSpacing,
bool);
95 itkBooleanMacro(UseImageSpacing);
96 itkGetConstReferenceMacro(UseImageSpacing,
bool);
101 itkSetMacro(MaximumRMSError,
double);
102 itkGetConstReferenceMacro(MaximumRMSError,
double);
107 itkSetMacro(RMSChange,
double);
108 itkGetConstReferenceMacro(RMSChange,
double);
124 #if !defined( CABLE_CONFIGURATION )
132 itkSetMacro(ManualReinitialization,
bool);
133 itkGetConstReferenceMacro(ManualReinitialization,
bool);
134 itkBooleanMacro(ManualReinitialization);
137 #ifdef ITK_USE_STRICT_CONCEPT_CHECKING
145 itkGetConstReferenceMacro(InitTime,
TimeProbe);
146 itkGetConstReferenceMacro(ComputeUpdateTime,
TimeProbe);
147 itkGetConstReferenceMacro(ApplyUpdateTime,
TimeProbe);
148 itkGetConstReferenceMacro(SmoothFieldTime,
TimeProbe);
244 const std::vector< bool >& valid)
const;
294 #ifndef ITK_MANUAL_INSTANTIATION
295 #include "itkGPUFiniteDifferenceImageFilter.hxx"
~GPUFiniteDifferenceImageFilter()
virtual TimeStepType ResolveTimeStep(const std::vector< TimeStepType > &timeStepList, const std::vector< bool > &valid) const
class to abstract the behaviour of the GPU filters.
void operator=(const Self &)
FiniteDifferenceFunctionType::RadiusType RadiusType
void PrintSelf(std::ostream &os, Indent indent) const
Light weight base class for most itk classes.
Computes the time passed between two points in code.
virtual void GPUGenerateData()
virtual void Initialize()
void InitializeFunctionCoefficients()
FiniteDifferenceFunctionType::TimeStepType TimeStepType
TimeProbe m_ComputeUpdateTime
NumericTraits< OutputPixelType >::ValueType OutputPixelValueType
SmartPointer< Self > Pointer
Base class for GPU Finite Difference Image Filters.
TOutputImage OutputImageType
SmartPointer< Self > Pointer
TInputImage InputImageType
TimeProbe m_SmoothFieldTime
bool m_ManualReinitialization
void SetStateToInitialized()
SizeValueType IdentifierType
void SetStateToUninitialized()
GPUFiniteDifferenceFunction< TOutputImage >::DifferenceFunctionType FiniteDifferenceFunctionType
virtual bool ThreadedHalt(void *)
OutputPixelType PixelType
virtual void SetState(FilterStateType _arg)
Base class for GPU filters that take an image as input and overwrite that image as the output...
virtual void InitializeIteration()
virtual void CopyInputToOutput()=0
SmartPointer< const Self > ConstPointer
GPUFiniteDifferenceImageFilter Self
virtual void AllocateUpdateBuffer()=0
virtual void GPUApplyUpdate(const TimeStepType &dt)=0
GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > GPUSuperclass
static const unsigned int ImageDimension
FiniteDifferenceFunctionType::NeighborhoodScalesType NeighborhoodScalesType
TParentImageFilter CPUSuperclass
TOutputImage::PixelType OutputPixelType
FiniteDifferenceFunctionType::Pointer m_DifferenceFunction
GPUFiniteDifferenceImageFilter()
Control indentation during Print() invocation.
NumericTraits< InputPixelType >::ValueType InputPixelValueType
TInputImage::PixelType InputPixelType
Define additional traits for native types such as int or float.
virtual TimeStepType GPUCalculateChange()=0
#define itkConceptMacro(name, concept)
virtual void PostProcessOutput()
TimeProbe m_ApplyUpdateTime
virtual void GenerateInputRequestedRegion()