18#ifndef itkFiniteDifferenceSparseImageFilter_h
19#define itkFiniteDifferenceSparseImageFilter_h
63template <
typename TInputImageType,
typename TSparseOutputImageType>
93 using IndexType =
typename SparseOutputImageType::IndexType;
94 using SizeType =
typename SparseOutputImageType::SizeType;
113 itkSetMacro(PrecomputeFlag,
bool);
114 itkGetConstMacro(PrecomputeFlag,
bool);
147 typename NodeListType::Iterator
first;
149 typename NodeListType::Iterator
last;
217#ifndef ITK_MANUAL_INSTANTIATION
218# include "itkFiniteDifferenceSparseImageFilter.hxx"
typename FiniteDifferenceFunctionType::TimeStepType TimeStepType
FiniteDifferenceImageFilter()
OutputPixelType PixelType
FiniteDifferenceFunction< TSparseOutputImageType > FiniteDifferenceFunctionType
TSparseOutputImageType OutputImageType
TInputImage InputImageType
static constexpr unsigned int ImageDimension
typename SparseOutputImageType::SizeType SizeType
FiniteDifferenceSparseImageFilter()
static constexpr unsigned int ImageDimension
typename OutputNodeType::NodeDataType NodeDataType
FiniteDifferenceSparseImageFunction< SparseOutputImageType > SparseFunctionType
FiniteDifferenceSparseImageFilter Self
virtual void ThreadedPrecalculateChange(const ThreadRegionType ®ionToProcess, ThreadIdType threadId)
virtual TimeStepType ThreadedCalculateChange(const ThreadRegionType ®ionToProcess, ThreadIdType threadId)
ThreadIdType GetSplitRegion(ThreadIdType i, ThreadIdType num, ThreadRegionType &splitRegion)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION PrecalculateChangeThreaderCallback(void *arg)
void ApplyUpdate(const TimeStepType &dt) override
typename SparseOutputImageType::NodeType OutputNodeType
virtual NodeDataType DataConstraint(const NodeDataType &data) const
virtual void PrecalculateChange()
typename Superclass::OutputImageType SparseOutputImageType
SmartPointer< const Self > ConstPointer
NodeListType::RegionListType m_RegionList
void SetSparseFunction(SparseFunctionType *sf)
~FiniteDifferenceSparseImageFilter() override=default
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ApplyUpdateThreaderCallback(void *arg)
void AllocateUpdateBuffer() override
SparseFunctionType * m_SparseFunction
void PrintSelf(std::ostream &os, Indent indent) const override
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION CalculateChangeThreaderCallback(void *arg)
typename OutputNodeType::NodeValueType NodeValueType
TimeStepType CalculateChange() override
typename SparseOutputImageType::NodeListType NodeListType
typename SparseOutputImageType::IndexType IndexType
virtual void ThreadedApplyUpdate(const TimeStepType &dt, const ThreadRegionType ®ionToProcess, ThreadIdType threadId)
void Initialize() override
FiniteDifferenceImageFilter< TInputImageType, TSparseOutputImageType > Superclass
SmartPointer< Self > Pointer
This is the base class for function classes that can be used with filters derived from FiniteDifferen...
Control indentation during Print() invocation.
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned int ThreadIdType
std::vector< Boolean > BooleanStdVectorType
itk::ITK_THREAD_RETURN_TYPE ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION
std::vector< TimeStepType > TimeStepList
FiniteDifferenceSparseImageFilter * Filter
BooleanStdVectorType ValidTimeStepList
NodeListType::Iterator first
NodeListType::Iterator last