ITK  5.2.0
Insight Toolkit
itkMultiphaseFiniteDifferenceImageFilter.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 itkMultiphaseFiniteDifferenceImageFilter_h
19 #define itkMultiphaseFiniteDifferenceImageFilter_h
20 
21 #include "itkInPlaceImageFilter.h"
23 #include "vnl/vnl_vector.h"
24 #include "itkImageRegionIterator.h"
25 
26 #include "itkListSample.h"
27 #include "itkKdTreeGenerator.h"
28 
29 namespace itk
30 {
160 template <typename TInputImage,
161  typename TFeatureImage,
162  typename TOutputImage,
163  typename TFiniteDifferenceFunction = FiniteDifferenceFunction<TOutputImage>,
164  typename TIdCell = unsigned int>
165 class ITK_TEMPLATE_EXPORT MultiphaseFiniteDifferenceImageFilter : public InPlaceImageFilter<TFeatureImage, TOutputImage>
166 {
167 public:
168  ITK_DISALLOW_COPY_AND_ASSIGN(MultiphaseFiniteDifferenceImageFilter);
169 
175 
178 
180  static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension;
181 
183  using InputImageType = TInputImage;
184  using InputImagePointer = typename InputImageType::Pointer;
186  using InputCoordRepType = typename InputPointType::CoordRepType;
192  using InputPixelType = typename InputImageType::PixelType;
193  using InputSpacingType = typename InputImageType::SpacingType;
195 
196  using FeatureImageType = TFeatureImage;
197  using FeatureImagePointer = typename FeatureImageType::Pointer;
200  using FeatureSpacingType = typename FeatureImageType::SpacingType;
202  using FeaturePixelType = typename FeatureImageType::PixelType;
203 
204  using OutputImageType = TOutputImage;
205  using OutputImagePointer = typename OutputImageType::Pointer;
206  using OutputPixelType = typename OutputImageType::PixelType;
212 
213  using IdCellType = TIdCell;
214  using VectorIdCellType = std::vector<IdCellType>;
215 
219  using FiniteDifferenceFunctionType = TFiniteDifferenceFunction;
220  using FiniteDifferenceFunctionPointer = typename FiniteDifferenceFunctionType::Pointer;
221  using TimeStepType = typename FiniteDifferenceFunctionType::TimeStepType;
222  using TimeStepVectorType = typename std::vector<TimeStepType>;
223  using RadiusType = typename FiniteDifferenceFunctionType::RadiusType;
224 
230  using KdTreePointer = typename KdTreeType::Pointer;
231 
236  virtual const FiniteDifferenceFunctionPointer
237  GetDifferenceFunction(const IdCellType & functionIndex) const
238  {
239  if (functionIndex < m_FunctionCount)
240  {
241  return (this->m_DifferenceFunctions[functionIndex]);
242  }
243  else
244  {
245  return nullptr;
246  }
247  }
249 
254  virtual void
256  {
257  if (functionIndex < m_FunctionCount)
258  {
259  this->m_DifferenceFunctions[functionIndex] = function;
260  }
261  }
263 
265  itkSetMacro(NumberOfIterations, unsigned int);
266  itkGetConstReferenceMacro(NumberOfIterations, unsigned int);
268 
271  itkSetMacro(UseImageSpacing, bool);
272  itkBooleanMacro(UseImageSpacing);
273  itkGetConstReferenceMacro(UseImageSpacing, bool);
275 
278  itkSetMacro(MaximumRMSError, double);
279  itkGetConstReferenceMacro(MaximumRMSError, double);
281 
284  itkSetMacro(RMSChange, double);
285  itkGetConstReferenceMacro(RMSChange, double);
287 
289  itkSetMacro(InitializedState, bool);
290  itkGetConstReferenceMacro(InitializedState, bool);
291  itkBooleanMacro(InitializedState);
293 
296  itkSetMacro(ManualReinitialization, bool);
297  itkGetConstReferenceMacro(ManualReinitialization, bool);
298  itkBooleanMacro(ManualReinitialization);
300 
302  itkSetMacro(ElapsedIterations, unsigned int);
303 
305  itkGetConstReferenceMacro(ElapsedIterations, unsigned int);
306 
307  void
308  SetLevelSet(const IdCellType & i, const InputImageType * levelSet)
309  {
310  m_LevelSet[i] = InputImageType::New();
311  m_LevelSet[i]->SetRequestedRegion(levelSet->GetRequestedRegion());
312  m_LevelSet[i]->SetBufferedRegion(levelSet->GetBufferedRegion());
313  m_LevelSet[i]->SetLargestPossibleRegion(levelSet->GetLargestPossibleRegion());
314  m_LevelSet[i]->Allocate();
315  m_LevelSet[i]->CopyInformation(levelSet);
316 
317  ImageRegionConstIterator<InputImageType> in(levelSet, levelSet->GetBufferedRegion());
318  ImageRegionIterator<InputImageType> cp(m_LevelSet[i], levelSet->GetBufferedRegion());
319 
320  in.GoToBegin();
321  cp.GoToBegin();
322 
323  while (!in.IsAtEnd())
324  {
325  cp.Set(in.Get());
326  ++in;
327  ++cp;
328  }
329  }
330 
331  InputImagePointer
333  {
334  if (i >= m_FunctionCount)
335  {
336  itkExceptionMacro("Request for level set #" << i << " but there are only " << m_FunctionCount);
337  }
338  else
339  {
340  return m_LevelSet[i];
341  }
342  }
343 
344  void
346  {
347  this->m_Lookup = lookup;
348  }
349 
350  void
352  {
353  this->m_KdTree = kdtree;
354  }
355 
356  void
358  {
359  m_FunctionCount = n;
360 
361  m_DifferenceFunctions.resize(m_FunctionCount, nullptr);
362 
363  RadiusType radius;
364  radius.Fill(1);
365 
366  for (unsigned int i = 0; i < this->m_FunctionCount; i++)
367  {
368  this->m_DifferenceFunctions[i] = FiniteDifferenceFunctionType::New();
369  this->m_DifferenceFunctions[i]->Initialize(radius);
370  }
371 
372  // Initialize the images
373  m_LevelSet.resize(m_FunctionCount, nullptr);
374 
375  // Initialize the lookup table
376  this->m_Lookup.resize(m_FunctionCount);
377 
378  IdCellType k = 1;
379 
380  {
381  auto it = this->m_Lookup.begin();
382  auto _end = this->m_Lookup.end();
383  while (it != _end)
384  {
385  *it = k;
386  ++it;
387  ++k;
388  }
389  }
390  }
391 
392 protected:
394  {
395  this->m_KdTree = nullptr;
396  this->m_ElapsedIterations = 0;
397  this->m_MaximumRMSError = itk::Math::eps;
398  this->m_RMSChange = NumericTraits<double>::max();
399  this->m_UseImageSpacing = true;
400  this->m_ManualReinitialization = false;
401  this->m_InitializedState = false;
402  this->m_NumberOfIterations = NumericTraits<unsigned int>::max();
403  this->m_FunctionCount = 0;
404  this->InPlaceOff();
405  }
406 
407  ~MultiphaseFiniteDifferenceImageFilter() override = default;
408 
410  std::vector<InputImagePointer> m_LevelSet;
413 
414  unsigned int m_ElapsedIterations;
416  double m_RMSChange;
417  unsigned int m_NumberOfIterations;
418 
420  std::vector<FiniteDifferenceFunctionPointer> m_DifferenceFunctions;
421 
425 
426  void
427  PrintSelf(std::ostream & os, Indent indent) const override;
428 
430  virtual void
431  AllocateUpdateBuffer() = 0;
432 
436  virtual void
437  ApplyUpdate(TimeStepType dt) = 0;
438 
444  virtual TimeStepType
445  CalculateChange() = 0;
446 
450  virtual void
451  CopyInputToOutput() = 0;
452 
456  void
457  GenerateData() override;
458 
470  void
471  GenerateInputRequestedRegion() override;
472 
475  virtual bool
476  Halt();
477 
487  virtual bool
488  ThreadedHalt(void * itkNotUsed(threadInfo))
489  {
490  return this->Halt();
491  }
492 
498  virtual void
500  {}
501 
508  virtual void
510  {
511  for (IdCellType i = 0; i < this->m_FunctionCount; i++)
512  {
513  this->m_DifferenceFunctions[i]->InitializeIteration();
514  }
515  }
517 
530  inline TimeStepType
531  ResolveTimeStep(const TimeStepVectorType & timeStepList, const std::vector<bool> & valid);
532 
535  virtual void
537  {}
538 
539 private:
543 
546 };
547 } // end namespace itk
548 
549 #ifndef ITK_MANUAL_INSTANTIATION
550 # include "itkMultiphaseFiniteDifferenceImageFilter.hxx"
551 #endif
552 
553 #endif
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::OutputIndexType
typename OutputImageType::IndexType OutputIndexType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:210
itk::MultiphaseFiniteDifferenceImageFilter::Initialize
virtual void Initialize()
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:499
itk::MultiphaseFiniteDifferenceImageFilter::SetFunctionCount
void SetFunctionCount(const IdCellType &n)
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:357
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::KdTreePointer
typename KdTreeType::Pointer KdTreePointer
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:230
itk::Statistics::KdTree
This class provides methods for k-nearest neighbor search and related data structures for a k-d tree.
Definition: itkKdTree.h:527
itk::ImageSource::OutputImagePointer
typename OutputImageType::Pointer OutputImagePointer
Definition: itkImageSource.h:91
itk::ImageRegionConstIterator::GoToBegin
void GoToBegin()
Definition: itkImageRegionConstIterator.h:194
itk::MultiphaseFiniteDifferenceImageFilter::m_ManualReinitialization
bool m_ManualReinitialization
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:542
itk::MultiphaseFiniteDifferenceImageFilter::m_KdTree
KdTreePointer m_KdTree
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:412
itk::MultiphaseFiniteDifferenceImageFilter::m_LevelSet
std::vector< InputImagePointer > m_LevelSet
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:410
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::OutputIndexValueType
typename OutputImageType::IndexValueType OutputIndexValueType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:211
itk::MultiphaseFiniteDifferenceImageFilter::m_Lookup
VectorIdCellType m_Lookup
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:411
itk::MultiphaseFiniteDifferenceImageFilter::SetLookup
void SetLookup(VectorIdCellType lookup)
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:345
itk::InPlaceImageFilter
Base class for filters that take an image as input and overwrite that image as the output.
Definition: itkInPlaceImageFilter.h:77
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::InputRegionType
typename InputImageType::RegionType InputRegionType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:191
itk::GTest::TypedefsAndConstructors::Dimension2::PointType
ImageBaseType::PointType PointType
Definition: itkGTestTypedefsAndConstructors.h:51
itk::Vector
A templated class holding a n-Dimensional vector.
Definition: itkVector.h:62
itk::MultiphaseFiniteDifferenceImageFilter::m_RMSChange
double m_RMSChange
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:416
itk::GTest::TypedefsAndConstructors::Dimension2::SizeType
ImageBaseType::SizeType SizeType
Definition: itkGTestTypedefsAndConstructors.h:49
itk::Statistics::ListSample
This class is the native implementation of the a Sample with an STL container.
Definition: itkListSample.h:51
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::InputPointType
typename InputImageType::PointType InputPointType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:185
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::FiniteDifferenceFunctionPointer
typename FiniteDifferenceFunctionType::Pointer FiniteDifferenceFunctionPointer
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:220
itk::MultiphaseFiniteDifferenceImageFilter::MultiphaseFiniteDifferenceImageFilter
MultiphaseFiniteDifferenceImageFilter()
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:393
itk::SmartPointer< Self >
itkImageRegionIterator.h
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::MultiphaseFiniteDifferenceImageFilter::m_InitializedState
bool m_InitializedState
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:545
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::FeatureSpacingType
typename FeatureImageType::SpacingType FeatureSpacingType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:200
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::InputIndexValueType
typename InputIndexType::IndexValueType InputIndexValueType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:188
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::FeatureSizeType
typename FeatureImageType::SizeType FeatureSizeType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:199
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::InputPixelType
typename InputImageType::PixelType InputPixelType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:192
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::FeatureImagePointer
typename FeatureImageType::Pointer FeatureImagePointer
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:197
itk::MultiphaseFiniteDifferenceImageFilter::SetDifferenceFunction
virtual void SetDifferenceFunction(const IdCellType &functionIndex, FiniteDifferenceFunctionPointer function)
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:255
itk::MultiphaseFiniteDifferenceImageFilter::PostProcessOutput
virtual void PostProcessOutput()
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:536
itk::ImageRegionIterator
A multi-dimensional iterator templated over image type that walks a region of pixels.
Definition: itkImageRegionIterator.h:78
itk::GTest::TypedefsAndConstructors::Dimension2::IndexType
ImageBaseType::IndexType IndexType
Definition: itkGTestTypedefsAndConstructors.h:50
itk::Math::eps
static constexpr double eps
Definition: itkMath.h:95
itkFiniteDifferenceFunction.h
itk::ImageSource
Base class for all process objects that output image data.
Definition: itkImageSource.h:67
itk::MultiphaseFiniteDifferenceImageFilter::m_ElapsedIterations
unsigned int m_ElapsedIterations
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:414
itk::MultiphaseFiniteDifferenceImageFilter::m_NumberOfIterations
unsigned int m_NumberOfIterations
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:417
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::OutputPixelType
typename OutputImageType::PixelType OutputPixelType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:206
itk::MultiphaseFiniteDifferenceImageFilter::SetLevelSet
void SetLevelSet(const IdCellType &i, const InputImageType *levelSet)
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:308
itk::MultiphaseFiniteDifferenceImageFilter::m_UseImageSpacing
bool m_UseImageSpacing
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:424
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::InputCoordRepType
typename InputPointType::CoordRepType InputCoordRepType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:186
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::FeaturePixelType
typename FeatureImageType::PixelType FeaturePixelType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:202
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::FeaturePointType
typename FeatureImageType::PointType FeaturePointType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:201
itk::ImageToImageFilter< TFeatureImage, TOutputImage >::InputImagePointer
typename InputImageType::Pointer InputImagePointer
Definition: itkImageToImageFilter.h:130
itk::MultiphaseFiniteDifferenceImageFilter::InitializeIteration
virtual void InitializeIteration()
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:509
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::InputIndexType
typename InputImageType::IndexType InputIndexType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:187
itk::GTest::TypedefsAndConstructors::Dimension2::RegionType
ImageBaseType::RegionType RegionType
Definition: itkGTestTypedefsAndConstructors.h:54
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::FiniteDifferenceFunctionType
TFunction FiniteDifferenceFunctionType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:219
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::TimeStepType
typename FiniteDifferenceFunctionType::TimeStepType TimeStepType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:221
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::KdTreeType
typename KdTreeGeneratorType::KdTreeType KdTreeType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:229
itk::ImageToImageFilter< TFeatureImage, TOutputImage >::InputImageType
TFeatureImage InputImageType
Definition: itkImageToImageFilter.h:129
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::KdTreeGeneratorPointer
typename KdTreeGeneratorType::Pointer KdTreeGeneratorPointer
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:228
itk::MultiphaseFiniteDifferenceImageFilter::m_MaximumRMSError
double m_MaximumRMSError
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:415
itkListSample.h
itk::MultiphaseFiniteDifferenceImageFilter::m_DifferenceFunctions
std::vector< FiniteDifferenceFunctionPointer > m_DifferenceFunctions
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:420
itk::MultiphaseFiniteDifferenceImageFilter
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:165
itk::NumericTraits::max
static constexpr T max(const T &)
Definition: itkNumericTraits.h:167
itk::MultiphaseFiniteDifferenceImageFilter::m_FunctionCount
IdCellType m_FunctionCount
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:409
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::InputSizeValueType
typename InputSizeType::SizeValueType InputSizeValueType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:190
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::TimeStepVectorType
typename std::vector< TimeStepType > TimeStepVectorType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:222
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::OutputSizeType
typename OutputImageType::SizeType OutputSizeType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:208
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::InputSizeType
typename InputImageType::SizeType InputSizeType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:189
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::FeatureImageType
TFeatureImage FeatureImageType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:196
itkInPlaceImageFilter.h
itk::OffsetValueType
signed long OffsetValueType
Definition: itkIntTypes.h:94
itk::ProcessObject
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Definition: itkProcessObject.h:138
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::InputSpacingType
typename InputImageType::SpacingType InputSpacingType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:193
itkKdTreeGenerator.h
itk::IndexValueType
signed long IndexValueType
Definition: itkIntTypes.h:90
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::OutputSizeValueType
typename OutputImageType::SizeValueType OutputSizeValueType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:209
itk::ImageRegionConstIterator
A multi-dimensional iterator templated over image type that walks a region of pixels.
Definition: itkImageRegionConstIterator.h:107
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::RadiusType
typename FiniteDifferenceFunctionType::RadiusType RadiusType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:223
itk::Statistics::KdTreeGenerator
This class generates a KdTree object without centroid information.
Definition: itkKdTreeGenerator.h:71
itk::MultiphaseFiniteDifferenceImageFilter::ThreadedHalt
virtual bool ThreadedHalt(void *)
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:488
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::VectorIdCellType
std::vector< IdCellType > VectorIdCellType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:214
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::IdCellType
unsigned int IdCellType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:213
itk::MultiphaseFiniteDifferenceImageFilter::GetLevelSet
InputImagePointer GetLevelSet(const IdCellType &i)
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:332
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::OutputRegionType
typename OutputImageType::RegionType OutputRegionType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:207
itk::MultiphaseFiniteDifferenceImageFilter::GetDifferenceFunction
virtual const FiniteDifferenceFunctionPointer GetDifferenceFunction(const IdCellType &functionIndex) const
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:237
itk::MultiphaseFiniteDifferenceImageFilter::SetKdTree
void SetKdTree(KdTreeType *kdtree)
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:351
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::FeatureRegionType
typename FeatureImageType::RegionType FeatureRegionType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:198
itk::SizeValueType
unsigned long SizeValueType
Definition: itkIntTypes.h:83
itk::ImageSource::OutputImageType
TOutputImage OutputImageType
Definition: itkImageSource.h:90
itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >::InputOffsetValueType
typename InputImageType::OffsetValueType InputOffsetValueType
Definition: itkMultiphaseFiniteDifferenceImageFilter.h:194