18 #ifndef itkMultiphaseDenseFiniteDifferenceImageFilter_h
19 #define itkMultiphaseDenseFiniteDifferenceImageFilter_h
97 template <
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;
195 PrintSelf(std::ostream &,
Indent indent)
const override;
201 CopyInputToOutput()
override;
204 PostProcessOutput()
override;
210 ApplyUpdate(TimeStepType dt)
override;
212 unsigned int m_ReinitializeCounter{};
219 AllocateUpdateBuffer()
override;
225 CalculateChange()
override;
228 std::vector<InputImagePointer> m_UpdateBuffers{};
232 #ifndef ITK_MANUAL_INSTANTIATION
233 # include "itkMultiphaseDenseFiniteDifferenceImageFilter.hxx"