18#ifndef itkGPUFiniteDifferenceImageFilter_h
19#define itkGPUFiniteDifferenceImageFilter_h
37template <
typename TInputImage,
38 typename TOutputImage,
61 static constexpr unsigned int ImageDimension = OutputImageType::ImageDimension;
76 using TimeStepType =
typename FiniteDifferenceFunctionType::TimeStepType;
77 using RadiusType =
typename FiniteDifferenceFunctionType::RadiusType;
83 const typename FiniteDifferenceFunctionType::Pointer &
94 itkDebugMacro(
"setting m_DifferenceFunction to " << differenceFunction);
103#if !defined(ITK_LEGACY_REMOVE)
126#if !defined(ITK_WRAPPING_PARSER)
136 itkGetConstReferenceMacro(ComputeUpdateTime,
TimeProbe);
277#ifndef ITK_MANUAL_INSTANTIATION
278# include "itkGPUFiniteDifferenceImageFilter.hxx"
Superclass DifferenceFunctionType
typename GPUFiniteDifferenceFunction< TOutputImage >::DifferenceFunctionType FiniteDifferenceFunctionType
SmartPointer< const Self > ConstPointer
static constexpr unsigned int ImageDimension
void PostProcessOutput() override
TInputImage InputImageType
virtual void SetState(GPUFiniteDifferenceFilterEnum _arg)
typename FiniteDifferenceFunctionType::NeighborhoodScalesType NeighborhoodScalesType
TimeProbe m_SmoothFieldTime
void CopyInputToOutput() override=0
~GPUFiniteDifferenceImageFilter() override
void SetDifferenceFunction(FiniteDifferenceFunctionType *differenceFunction) override
typename TInputImage::PixelType InputPixelType
void InitializeIteration() override
virtual TimeStepType GPUCalculateChange()=0
typename FiniteDifferenceFunctionType::TimeStepType TimeStepType
void SetStateToInitialized()
void Initialize() override
GPUInPlaceImageFilter< TInputImage, TOutputImage, TParentImageFilter > GPUSuperclass
void GPUGenerateData() override
const FiniteDifferenceFunctionType::Pointer & GetDifferenceFunction() const override
void GenerateInputRequestedRegion() override
typename TOutputImage::PixelType OutputPixelType
TimeProbe m_ComputeUpdateTime
TParentImageFilter CPUSuperclass
typename NumericTraits< OutputPixelType >::ValueType OutputPixelValueType
bool ThreadedHalt(void *threadInfo) override
typename FiniteDifferenceFunctionType::RadiusType RadiusType
GPUFiniteDifferenceImageFilter Self
FiniteDifferenceFunctionType::Pointer m_DifferenceFunction
TOutputImage OutputImageType
GPUFiniteDifferenceFilterEnum m_State
TimeProbe m_ApplyUpdateTime
void InitializeFunctionCoefficients()
typename NumericTraits< InputPixelType >::ValueType InputPixelValueType
TimeStepType ResolveTimeStep(const std::vector< TimeStepType > &timeStepList, const BooleanStdVectorType &valid) const override
SmartPointer< Self > Pointer
GPUFiniteDifferenceImageFilter()
void PrintSelf(std::ostream &os, Indent indent) const override
void SetStateToUninitialized()
OutputPixelType PixelType
void AllocateUpdateBuffer() override=0
virtual void GPUApplyUpdate(const TimeStepType &dt)=0
Control indentation during Print() invocation.
Implements transparent reference counting.
Computes the time passed between two points in code.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
std::vector< Boolean > BooleanStdVectorType
GPUFiniteDifferenceFilterEnum