ITK  5.2.0
Insight Toolkit
itkMultiphaseSparseFiniteDifferenceImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright NumFOCUS
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef itkMultiphaseSparseFiniteDifferenceImageFilter_h
19 #define itkMultiphaseSparseFiniteDifferenceImageFilter_h
20 
27 
28 #include <vector>
29 
30 namespace itk
31 {
176 template <typename TInputImage,
177  typename TFeatureImage,
178  typename TOutputImage,
179  typename TFunction,
180  typename TIdCell = unsigned int>
182  : public MultiphaseFiniteDifferenceImageFilter<TInputImage, TFeatureImage, TOutputImage, TFunction, TIdCell>
183 {
184 public:
185  ITK_DISALLOW_COPY_AND_MOVE(MultiphaseSparseFiniteDifferenceImageFilter);
187 
190  using Superclass =
194 
196  itkNewMacro(Self);
197 
200 
201  static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
202 
204  using TimeStepType = typename Superclass::TimeStepType;
205 
207  using InputImageType = typename Superclass::InputImageType;
208  using InputImagePointer = typename Superclass::InputImagePointer;
209  using InputRegionType = typename Superclass::InputRegionType;
210  using InputSizeType = typename Superclass::InputSizeType;
211  using InputSizeValueType = typename Superclass::InputSizeValueType;
212  using InputIndexType = typename Superclass::InputIndexType;
213  using InputIndexValueType = typename Superclass::InputIndexValueType;
214  using InputPixelType = typename Superclass::InputPixelType;
215  using InputPointType = typename Superclass::InputPointType;
216  using InputSpacingType = typename Superclass::InputSpacingType;
217  using InputOffsetValueType = typename Superclass::InputOffsetValueType;
218 
219  using FeatureImageType = typename Superclass::FeatureImageType;
220  using FeatureSizeType = typename Superclass::FeatureSizeType;
221  using FeatureImagePointer = typename Superclass::FeatureImagePointer;
222  using FeatureRegionType = typename Superclass::FeatureRegionType;
223  using FeatureSpacingType = typename Superclass::FeatureSpacingType;
224  using FeaturePointType = typename Superclass::FeaturePointType;
225 
226  using OutputImageType = typename Superclass::OutputImageType;
227  using OutputImagePointer = typename Superclass::OutputImagePointer;
228  using OutputRegionType = typename Superclass::OutputRegionType;
229  using OutputSizeType = typename Superclass::OutputSizeType;
230  using OutputIndexType = typename Superclass::OutputIndexType;
231  using OutputIndexValueType = typename Superclass::OutputIndexValueType;
232  using OutputPixelType = typename Superclass::OutputPixelType;
233 
234  using ValueType = typename InputImageType::ValueType;
235  using IdCellType = typename Superclass::IdCellType;
236 
237  using FiniteDifferenceFunctionType = typename Superclass::FiniteDifferenceFunctionType;
238  using FiniteDifferenceFunctionPointer = typename Superclass::FiniteDifferenceFunctionPointer;
239  using FiniteDifferenceFunctionFloatOffsetType = typename FiniteDifferenceFunctionType::FloatOffsetType;
240 
243 
249 
251  using LayerListType = std::vector<LayerPointerType>;
252  using LayerListIterator = typename LayerListType::iterator;
253  using LayerListConstIterator = typename LayerListType::const_iterator;
254 
256  using StatusType = signed char;
257 
262 
265 
267 
272 
274  using UpdateBufferType = std::vector<ValueType>;
275  using UpdateBufferConstIterator = typename UpdateBufferType::const_iterator;
276 
279 
283  itkSetMacro(NumberOfLayers, unsigned int);
284  itkGetConstMacro(NumberOfLayers, unsigned int);
286 
288  itkSetMacro(IsoSurfaceValue, ValueType);
289  itkGetConstMacro(IsoSurfaceValue, ValueType);
291 
296  itkSetMacro(InterpolateSurfaceLocation, bool);
297  itkGetConstMacro(InterpolateSurfaceLocation, bool);
298  itkBooleanMacro(InterpolateSurfaceLocation);
300 
301  void
303  {
304  this->Superclass::SetFunctionCount(n);
305 
306  m_SparseData.resize(this->m_FunctionCount, nullptr);
307 
308  for (IdCellType i = 0; i < this->m_FunctionCount; i++)
309  {
310  m_SparseData[i] = new SparseDataStruct(i);
311  }
312  }
313 
314 #ifdef ITK_USE_CONCEPT_CHECKING
315  // Begin concept checking
319  // End concept checking
320 #endif
321 
322 protected:
325  {
326  while (!m_SparseData.empty())
327  {
328  delete m_SparseData.back();
329  m_SparseData.pop_back();
330  }
331  }
332 
333  void
334  PrintSelf(std::ostream & os, Indent indent) const override;
335 
336  // This data structure is created for each phase
338  {
340  {
341  m_LayerNodeStore = LayerNodeStorageType::New();
342  m_LayerNodeStore->SetGrowthStrategyToExponential();
343  m_Index = index;
344  }
345 
351 
354 
357 
361 
363  };
364 
367 
369  std::vector<ValueType> m_PixelDistance;
370 
375  inline virtual ValueType
376  CalculateUpdateValue(const OutputIndexType & itkNotUsed(idx),
377  const TimeStepType & dt,
378  const ValueType & value,
379  const ValueType & change)
380  {
381  return (value + dt * change);
382  }
383 
387  void
388  PostProcessOutput() override;
389 
394  virtual void
395  InitializeBackgroundPixels();
396 
398  void
399  Initialize() override;
400 
405  void
406  CopyInputToOutput() override;
407 
409  void
411  {}
412 
415  void
416  ApplyUpdate(TimeStepType dt) override;
417 
420  TimeStepType
421  CalculateChange() override;
422 
426  void
427  ConstructLayer(SparseDataStruct * sparsePtr, StatusType from, StatusType to);
428 
433  void
434  ConstructActiveLayer();
435 
437  void
438  InitializeActiveLayerValues();
439 
442  void
443  InitializeBackgroundConstants();
444 
452  void
453  PropagateLayerValues(SparseDataStruct * sparsePtr, StatusType from, StatusType to, StatusType promote, int InOrOut);
454 
459  void
460  PropagateAllLayerValues();
461 
462  void
463  PropagateFunctionLayerValues(unsigned int functionIndex);
464 
468  void
469  UpdateActiveLayerValues(TimeStepType dt, LayerType * StatusUpList, LayerType * StatusDownList);
470 
472  void
473  ProcessStatusList(LayerType * InputList,
474  LayerType * OutputList,
475  StatusType ChangeToStatus,
476  StatusType SearchForStatus);
477 
479  void
480  ProcessOutsideList(LayerType * OutsideList, StatusType ChangeToStatus);
481 
482  void
483  InitializeIteration() override;
484 
485  virtual void
486  UpdatePixel(unsigned int itkNotUsed(functionIndex),
487  unsigned int itkNotUsed(idx),
488  NeighborhoodIterator<InputImageType> & itkNotUsed(iterator),
489  ValueType & itkNotUsed(newValue),
490  bool & itkNotUsed(status))
491  {}
492 
493  itkGetConstMacro(ValueZero, ValueType);
494  itkGetConstMacro(ValueOne, ValueType);
495 
498  static double m_ConstantGradientValue;
499 
501  static const ValueType m_ValueOne;
502 
504  static const ValueType m_ValueZero;
505 
509 
513 
517 
521 
524  static const StatusType m_StatusNull;
525 
526  std::vector<SparseDataStruct *> m_SparseData;
527 
531  unsigned int m_NumberOfLayers;
532 
535 
538 
544 
545 private:
547 
548  double m_RMSSum{ 0. };
549  unsigned int m_RMSCounter{ 0 };
550 
554 };
555 } // end namespace itk
556 
557 #ifndef ITK_MANUAL_INSTANTIATION
558 # include "itkMultiphaseSparseFiniteDifferenceImageFilter.hxx"
559 #endif
560 
561 #endif
itk::NeighborhoodAlgorithm::ImageBoundaryFacesCalculator
Splits an image into a main region and several "face" regions which are used to handle computations o...
Definition: itkNeighborhoodAlgorithm.h:63
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_SparseData
std::vector< SparseDataStruct * > m_SparseData
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:526
itkMultiphaseFiniteDifferenceImageFilter.h
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_StatusActiveChangingDown
static const StatusType m_StatusActiveChangingDown
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:516
itk::Concept::OStreamWritable
Definition: itkConceptChecking.h:636
itk::MultiphaseSparseFiniteDifferenceImageFilter::InputPixelType
typename Superclass::InputPixelType InputPixelType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:214
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_NeighborList
NeighborListType m_NeighborList
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:366
itk::ZeroCrossingImageFilter
This filter finds the closest pixel to the zero-crossings (sign changes) in a signed itk::Image.
Definition: itkZeroCrossingImageFilter.h:64
itk::MultiphaseSparseFiniteDifferenceImageFilter::InputImageType
typename Superclass::InputImageType InputImageType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:207
itk::MultiphaseSparseFiniteDifferenceImageFilter::FeatureRegionType
typename Superclass::FeatureRegionType FeatureRegionType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:222
itk::ImageSource::OutputImagePointer
typename OutputImageType::Pointer OutputImagePointer
Definition: itkImageSource.h:91
itkNeighborhoodAlgorithm.h
itk::MultiphaseSparseFiniteDifferenceImageFilter::~MultiphaseSparseFiniteDifferenceImageFilter
~MultiphaseSparseFiniteDifferenceImageFilter() override
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:324
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_ConstantGradientValue
static double m_ConstantGradientValue
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:494
itk::MultiphaseSparseFiniteDifferenceImageFilter::SparseDataStruct::m_StatusImage
StatusImagePointer m_StatusImage
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:353
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_InterpolateSurfaceLocation
bool m_InterpolateSurfaceLocation
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:543
itk::MultiphaseSparseFiniteDifferenceImageFilter::LayerListConstIterator
typename LayerListType::const_iterator LayerListConstIterator
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:253
itk::MultiphaseSparseFiniteDifferenceImageFilter::OutputRegionType
typename Superclass::OutputRegionType OutputRegionType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:228
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_ValueZero
static const ValueType m_ValueZero
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:504
itk::MultiphaseSparseFiniteDifferenceImageFilter::SetFunctionCount
void SetFunctionCount(const IdCellType &n)
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:302
itk::MultiphaseSparseFiniteDifferenceImageFilter::LayerConstIterator
typename LayerType::ConstIterator LayerConstIterator
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:248
itk::MultiphaseSparseFiniteDifferenceImageFilter::LayerListType
std::vector< LayerPointerType > LayerListType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:251
itk::MultiphaseSparseFiniteDifferenceImageFilter::AllocateUpdateBuffer
void AllocateUpdateBuffer() override
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:410
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_ValueOne
static const ValueType m_ValueOne
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:501
itk::MultiphaseSparseFiniteDifferenceImageFilter::FeaturePointType
typename Superclass::FeaturePointType FeaturePointType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:224
itk::MultiphaseSparseFiniteDifferenceImageFilter::InputSizeValueType
typename Superclass::InputSizeValueType InputSizeValueType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:211
itk::SmartPointer< Self >
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::ConstSparseFieldLayerIterator< NodeType >
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_BoundsCheckingActive
bool m_BoundsCheckingActive
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:553
itk::MultiphaseSparseFiniteDifferenceImageFilter::UpdateBufferType
std::vector< ValueType > UpdateBufferType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:274
itk::SparseFieldCityBlockNeighborList< NeighborhoodIterator< OutputImageType > >::OffsetType
typename NeighborhoodType::OffsetType OffsetType
Definition: itkSparseFieldLevelSetImageFilter.h:77
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_NumberOfLayers
unsigned int m_NumberOfLayers
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:531
itkImageRegionConstIterator.h
itk::SparseFieldLevelSetNode
Definition: itkSparseFieldLevelSetImageFilter.h:36
itkShiftScaleImageFilter.h
itk::MultiphaseSparseFiniteDifferenceImageFilter::FeatureSpacingType
typename Superclass::FeatureSpacingType FeatureSpacingType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:223
itk::MultiphaseSparseFiniteDifferenceImageFilter::SparseDataStruct::m_Layers
LayerListType m_Layers
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:350
itk::SparseFieldLayer
A very simple linked list that is used to manage nodes in a layer of a sparse field level-set solver.
Definition: itkSparseFieldLayer.h:172
itk::MultiphaseSparseFiniteDifferenceImageFilter::InputImagePointer
typename Superclass::InputImagePointer InputImagePointer
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:208
itk::ImageSource
Base class for all process objects that output image data.
Definition: itkImageSource.h:67
itk::SparseFieldCityBlockNeighborList< NeighborhoodIterator< OutputImageType > >
itk::ObjectStore
A specialized memory management object for allocating and destroying contiguous blocks of objects.
Definition: itkObjectStore.h:84
itk::MultiphaseSparseFiniteDifferenceImageFilter::ZeroCrossingFilterPointer
typename ZeroCrossingFilterType::Pointer ZeroCrossingFilterPointer
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:264
itk::MultiphaseSparseFiniteDifferenceImageFilter
This class implements a finite difference partial differential equation solver for evolving surfaces ...
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:181
itk::MultiphaseSparseFiniteDifferenceImageFilter::CalculateUpdateValue
virtual ValueType CalculateUpdateValue(const OutputIndexType &, const TimeStepType &dt, const ValueType &value, const ValueType &change)
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:376
itk::MultiphaseSparseFiniteDifferenceImageFilter::OutputSizeType
typename Superclass::OutputSizeType OutputSizeType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:229
itk::MultiphaseSparseFiniteDifferenceImageFilter::FeatureImagePointer
typename Superclass::FeatureImagePointer FeatureImagePointer
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:221
itk::MultiphaseSparseFiniteDifferenceImageFilter::LayerListIterator
typename LayerListType::iterator LayerListIterator
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:252
itk::MultiphaseSparseFiniteDifferenceImageFilter::OutputIndexValueType
typename Superclass::OutputIndexValueType OutputIndexValueType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:231
itk::SparseFieldLayerIterator
The non-const version of the ConstSparseFieldLayerIterator.
Definition: itkSparseFieldLayer.h:104
itk::MultiphaseSparseFiniteDifferenceImageFilter::SparseDataStruct::SparseDataStruct
SparseDataStruct(const IdCellType &index)
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:339
itk::MultiphaseSparseFiniteDifferenceImageFilter::InputIndexType
typename Superclass::InputIndexType InputIndexType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:212
itk::MultiphaseSparseFiniteDifferenceImageFilter::OffsetType
typename NeighborListType::OffsetType OffsetType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:278
itk::MultiphaseSparseFiniteDifferenceImageFilter::LayerIterator
typename LayerType::Iterator LayerIterator
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:247
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_StatusBoundaryPixel
static const StatusType m_StatusBoundaryPixel
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:520
itk::MultiphaseSparseFiniteDifferenceImageFilter::InputOffsetValueType
typename Superclass::InputOffsetValueType InputOffsetValueType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:217
itk::MultiphaseSparseFiniteDifferenceImageFilter::InputSizeType
typename Superclass::InputSizeType InputSizeType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:210
itk::MultiphaseFiniteDifferenceImageFilter
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:165
itk::MultiphaseSparseFiniteDifferenceImageFilter::SparseDataStruct
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:337
itk::MultiphaseSparseFiniteDifferenceImageFilter::FeatureSizeType
typename Superclass::FeatureSizeType FeatureSizeType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:220
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_PixelDistance
std::vector< ValueType > m_PixelDistance
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:369
itk::MultiphaseSparseFiniteDifferenceImageFilter::OutputPixelType
typename Superclass::OutputPixelType OutputPixelType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:232
itk::MultiphaseSparseFiniteDifferenceImageFilter::SparseDataStruct::m_LayerNodeStore
LayerNodeStoragePointer m_LayerNodeStore
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:356
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_BackgroundValue
ValueType m_BackgroundValue
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:537
itk::MultiphaseSparseFiniteDifferenceImageFilter::InputPointType
typename Superclass::InputPointType InputPointType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:215
itk::MultiphaseSparseFiniteDifferenceImageFilter::StatusImagePointer
typename StatusImageType::Pointer StatusImagePointer
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:261
itk::NeighborhoodIterator
Defines iteration of a local N-dimensional neighborhood of pixels across an itk::Image.
Definition: itkNeighborhoodIterator.h:212
itk::MultiphaseSparseFiniteDifferenceImageFilter::LayerPointerType
typename LayerType::Pointer LayerPointerType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:246
itk::MultiphaseSparseFiniteDifferenceImageFilter::OutputIndexType
typename Superclass::OutputIndexType OutputIndexType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:230
itk::MultiphaseSparseFiniteDifferenceImageFilter::FeatureImageType
typename Superclass::FeatureImageType FeatureImageType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:219
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_StatusNull
static const StatusType m_StatusNull
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:524
itkConceptMacro
#define itkConceptMacro(name, concept)
Definition: itkConceptChecking.h:65
itk::MultiphaseSparseFiniteDifferenceImageFilter::IdCellType
typename Superclass::IdCellType IdCellType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:235
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::MultiphaseSparseFiniteDifferenceImageFilter::StatusType
signed char StatusType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:256
itk::MultiphaseSparseFiniteDifferenceImageFilter::SparseDataStruct::m_UpdateBuffer
UpdateBufferType m_UpdateBuffer
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:360
itk::MultiphaseSparseFiniteDifferenceImageFilter::SparseDataStruct::m_Index
IdCellType m_Index
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:362
itk::ProcessObject
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Definition: itkProcessObject.h:138
itkZeroCrossingImageFilter.h
itk::MultiphaseSparseFiniteDifferenceImageFilter::TimeStepType
typename Superclass::TimeStepType TimeStepType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:204
itk::Concept::Convertible
Definition: itkConceptChecking.h:216
itk::MultiphaseSparseFiniteDifferenceImageFilter::LayerNodeStoragePointer
typename LayerNodeStorageType::Pointer LayerNodeStoragePointer
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:271
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_IsoSurfaceValue
ValueType m_IsoSurfaceValue
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:534
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_CurrentFunctionIndex
unsigned int m_CurrentFunctionIndex
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:546
itk::MultiphaseSparseFiniteDifferenceImageFilter::InputRegionType
typename Superclass::InputRegionType InputRegionType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:209
itk::MultiphaseSparseFiniteDifferenceImageFilter::InputIndexValueType
typename Superclass::InputIndexValueType InputIndexValueType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:213
itk::Image
Templated n-dimensional image class.
Definition: itkImage.h:86
itk::MultiphaseSparseFiniteDifferenceImageFilter::UpdatePixel
virtual void UpdatePixel(unsigned int, unsigned int, NeighborhoodIterator< InputImageType > &, ValueType &, bool &)
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:486
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_StatusActiveChangingUp
static const StatusType m_StatusActiveChangingUp
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:512
itk::MultiphaseSparseFiniteDifferenceImageFilter::FiniteDifferenceFunctionFloatOffsetType
typename FiniteDifferenceFunctionType::FloatOffsetType FiniteDifferenceFunctionFloatOffsetType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:239
itk::MultiphaseSparseFiniteDifferenceImageFilter::m_StatusChanging
static const StatusType m_StatusChanging
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:508
itkSparseFieldLevelSetImageFilter.h
itk::MultiphaseSparseFiniteDifferenceImageFilter::InputSpacingType
typename Superclass::InputSpacingType InputSpacingType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:216
itk::Concept::EqualityComparable
Definition: itkConceptChecking.h:306
itk::MultiphaseSparseFiniteDifferenceImageFilter::FiniteDifferenceFunctionType
typename Superclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:237
itk::MultiphaseSparseFiniteDifferenceImageFilter::ValueType
typename InputImageType::ValueType ValueType
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:234
itk::ImageSource::OutputImageType
TOutputImage OutputImageType
Definition: itkImageSource.h:90
itk::MultiphaseSparseFiniteDifferenceImageFilter::UpdateBufferConstIterator
typename UpdateBufferType::const_iterator UpdateBufferConstIterator
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:275
itk::MultiphaseSparseFiniteDifferenceImageFilter::FiniteDifferenceFunctionPointer
typename Superclass::FiniteDifferenceFunctionPointer FiniteDifferenceFunctionPointer
Definition: itkMultiphaseSparseFiniteDifferenceImageFilter.h:238