18#ifndef itkMultiphaseDenseFiniteDifferenceImageFilter_h
19#define itkMultiphaseDenseFiniteDifferenceImageFilter_h
97template <
typename TInputImage,
98 typename TFeatureImage,
99 typename TOutputImage,
101 typename TIdCell =
unsigned int>
120 static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
123 using typename Superclass::InputImageType;
124 using typename Superclass::InputImagePointer;
125 using typename Superclass::InputRegionType;
126 using typename Superclass::InputSizeType;
127 using typename Superclass::InputSizeValueType;
128 using typename Superclass::InputIndexType;
129 using typename Superclass::InputIndexValueType;
130 using typename Superclass::InputPixelType;
131 using typename Superclass::InputPointType;
132 using typename Superclass::InputSpacingType;
135 using typename Superclass::FeatureImageType;
136 using typename Superclass::FeatureSizeType;
137 using typename Superclass::FeatureImagePointer;
138 using typename Superclass::FeatureRegionType;
139 using typename Superclass::FeatureSpacingType;
140 using typename Superclass::FeaturePointType;
141 using typename Superclass::FeaturePixelType;
143 using typename Superclass::OutputImageType;
144 using typename Superclass::OutputImagePointer;
145 using typename Superclass::OutputRegionType;
146 using typename Superclass::OutputSizeType;
148 using typename Superclass::OutputIndexType;
149 using typename Superclass::OutputIndexValueType;
152 using typename Superclass::IdCellType;
160 using typename Superclass::FiniteDifferenceFunctionType;
161 using typename Superclass::FiniteDifferenceFunctionPointer;
165 using typename Superclass::TimeStepType;
173#ifdef ITK_USE_CONCEPT_CHECKING
181 itkSetMacro(ReinitializeCounter,
unsigned int);
182 itkGetMacro(ReinitializeCounter,
unsigned int);
187 this->m_ReinitializeCounter = 1;
212 unsigned int m_ReinitializeCounter{};
228 std::vector<InputImagePointer> m_UpdateBuffers{};
232#ifndef ITK_MANUAL_INSTANTIATION
233# include "itkMultiphaseDenseFiniteDifferenceImageFilter.hxx"
Binarize an input image by thresholding.
Base class for all process objects that output image data.
Control indentation during Print() invocation.
void SetFunctionCount(const IdCellType &n)
void PrintSelf(std::ostream &, Indent indent) const override
~MultiphaseDenseFiniteDifferenceImageFilter() override=default
typename OutputImageType::PixelType OutputPixelType
void ApplyUpdate(TimeStepType dt) override
typename ThresholdFilterType::Pointer ThresholdFilterPointer
typename Superclass::OutputSizeValueType SizeValueType
void PostProcessOutput() override
typename MaurerType::Pointer MaurerPointer
typename InputImageType::ValueType ValueType
typename FaceCalculatorType::FaceListType FaceListType
typename FiniteDifferenceFunctionType::NeighborhoodType NeighborhoodIteratorType
TimeStepType CalculateChange() override
MultiphaseDenseFiniteDifferenceImageFilter()
void CopyInputToOutput() override
void AllocateUpdateBuffer() override
typename FiniteDifferenceFunctionType::TimeStepType TimeStepType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
This filter calculates the Euclidean distance transform of a binary image in linear time for arbitrar...
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Splits an image into a main region and several "face" regions which are used to handle computations o...
std::list< RegionType > FaceListType