ITK  5.2.0
Insight Toolkit
itkLevelSetEvolution.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 itkLevelSetEvolution_h
19 #define itkLevelSetEvolution_h
20 
22 #include "itkLevelSetDenseImage.h"
23 
26 
29 
32 
35 
36 namespace itk
37 {
47 template <typename TEquationContainer, typename TLevelSet>
48 class ITK_TEMPLATE_EXPORT LevelSetEvolution
49 {};
50 
51 template <typename TEquationContainer, typename TImage>
52 class ITK_TEMPLATE_EXPORT LevelSetEvolution<TEquationContainer, LevelSetDenseImage<TImage>>
53  : public LevelSetEvolutionBase<TEquationContainer, LevelSetDenseImage<TImage>>
54 {
55 public:
56  ITK_DISALLOW_COPY_AND_MOVE(LevelSetEvolution);
57 
59 
64 
66  itkNewMacro(Self);
67 
70 
71  using EquationContainerType = typename Superclass::EquationContainerType;
72  using EquationContainerPointer = typename Superclass::EquationContainerPointer;
73  using TermContainerType = typename Superclass::TermContainerType;
74  using TermContainerPointer = typename Superclass::TermContainerPointer;
75 
76  using TermType = typename Superclass::TermType;
77  using TermPointer = typename Superclass::TermPointer;
78 
79  using InputImageType = typename Superclass::InputImageType;
80  using InputImagePixelType = typename Superclass::InputImagePixelType;
81  using InputImageConstPointer = typename Superclass::InputImageConstPointer;
82  using InputImageRegionType = typename Superclass::InputImageRegionType;
83  using InputPixelRealType = typename Superclass::InputPixelRealType;
84 
85  static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
86 
87  using LevelSetContainerType = typename Superclass::LevelSetContainerType;
88 
89  using LevelSetIdentifierType = typename Superclass::LevelSetIdentifierType;
90 
92 
93  using LevelSetOutputType = typename Superclass::LevelSetOutputType;
94  using LevelSetOutputRealType = typename Superclass::LevelSetOutputRealType;
95  using LevelSetDataType = typename Superclass::LevelSetDataType;
96 
97  using IdListType = typename Superclass::IdListType;
98  using IdListIterator = typename Superclass::IdListIterator;
99  using IdListConstIterator = typename Superclass::IdListConstIterator;
100  using IdListImageType = typename Superclass::IdListImageType;
101  using CacheImageType = typename Superclass::CacheImageType;
102  using DomainMapImageFilterType = typename Superclass::DomainMapImageFilterType;
103 
104  using StoppingCriterionType = typename Superclass::StoppingCriterionType;
105  using StoppingCriterionPointer = typename Superclass::StoppingCriterionPointer;
106 
109 
112 
114 
116 
118 
120  void
121  SetNumberOfWorkUnits(const ThreadIdType threads);
122 
125  GetNumberOfWorkUnits() const;
126 
127  ~LevelSetEvolution() override = default;
128 
129 protected:
131 
134  void
135  AllocateUpdateBuffer() override;
136 
138  void
139  ComputeIteration() override;
140 
142  void
143  ComputeTimeStepForNextIteration() override;
144 
146  void
147  UpdateLevelSets() override;
148 
150  void
151  UpdateEquations() override;
152 
154  void
155  ReinitializeToSignedDistance();
156 
157  typename LevelSetContainerType::Pointer m_UpdateBuffer;
158 
160  ThreadedImageRegionPartitioner<TImage::ImageDimension>,
164  ThreadedImageRegionPartitioner<TImage::ImageDimension>,
165  Self>;
166  typename SplitLevelSetComputeIterationThreaderType::Pointer m_SplitLevelSetComputeIterationThreader;
167 
168  using DomainMapConstIteratorType = typename DomainMapImageFilterType::DomainMapType::const_iterator;
170  friend class LevelSetEvolutionComputeIterationThreader<LevelSetType, ThreadedDomainMapPartitionerType, Self>;
172  LevelSetEvolutionComputeIterationThreader<LevelSetType, ThreadedDomainMapPartitionerType, Self>;
173  typename SplitDomainMapComputeIterationThreaderType::Pointer m_SplitDomainMapComputeIterationThreader;
174 
175  friend class LevelSetEvolutionUpdateLevelSetsThreader<LevelSetType,
176  ThreadedImageRegionPartitioner<TImage::ImageDimension>,
177  Self>;
180  ThreadedImageRegionPartitioner<TImage::ImageDimension>,
181  Self>;
182  typename SplitLevelSetUpdateLevelSetsThreaderType::Pointer m_SplitLevelSetUpdateLevelSetsThreader;
183 
185  const IdListType * m_IdListToProcessWhenThreading;
186 };
187 
188 
189 template <typename TEquationContainer, typename TOutput, unsigned int VDimension>
190 class ITK_TEMPLATE_EXPORT LevelSetEvolution<TEquationContainer, WhitakerSparseLevelSetImage<TOutput, VDimension>>
191  : public LevelSetEvolutionBase<TEquationContainer, WhitakerSparseLevelSetImage<TOutput, VDimension>>
192 {
193 public:
194  ITK_DISALLOW_COPY_AND_MOVE(LevelSetEvolution);
195 
197 
202 
204  itkNewMacro(Self);
205 
208 
209  using EquationContainerType = typename Superclass::EquationContainerType;
210  using EquationContainerPointer = typename Superclass::EquationContainerPointer;
211  using TermContainerType = typename Superclass::TermContainerType;
212  using TermContainerPointer = typename Superclass::TermContainerPointer;
213 
214  using TermType = typename Superclass::TermType;
215  using TermPointer = typename Superclass::TermPointer;
216 
217  using InputImageType = typename Superclass::InputImageType;
218  using InputImagePixelType = typename Superclass::InputImagePixelType;
219  using InputImageConstPointer = typename Superclass::InputImageConstPointer;
220  using InputImageRegionType = typename Superclass::InputImageRegionType;
221  using InputPixelRealType = typename Superclass::InputPixelRealType;
222 
223  static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
224 
225  using LevelSetContainerType = typename Superclass::LevelSetContainerType;
226  using LevelSetIdentifierType = typename Superclass::LevelSetIdentifierType;
227 
228  using LevelSetInputType = typename Superclass::LevelSetInputType;
229  using LevelSetOutputType = typename Superclass::LevelSetOutputType;
230  using LevelSetOutputRealType = typename Superclass::LevelSetOutputRealType;
231  using LevelSetDataType = typename Superclass::LevelSetDataType;
232 
234 
237 
238 
239  using IdListType = typename Superclass::IdListType;
240  using IdListIterator = typename Superclass::IdListIterator;
241  using IdListImageType = typename Superclass::IdListImageType;
242  using CacheImageType = typename Superclass::CacheImageType;
243  using DomainMapImageFilterType = typename Superclass::DomainMapImageFilterType;
244 
245  using StoppingCriterionType = typename Superclass::StoppingCriterionType;
246  using StoppingCriterionPointer = typename Superclass::StoppingCriterionPointer;
247 
249 
253 
255  void
256  SetNumberOfWorkUnits(const ThreadIdType threads);
257 
260  GetNumberOfWorkUnits() const;
261 
262 protected:
264  ~LevelSetEvolution() override;
265 
266  using NodePairType = std::pair<LevelSetInputType, LevelSetOutputType>;
267 
268  // For sparse case, the update buffer needs to be the size of the active layer
269  std::map<IdentifierType, LevelSetLayerType *> m_UpdateBuffer;
270 
273  void
274  AllocateUpdateBuffer() override;
275 
277  void
278  ComputeIteration() override;
279 
281  void
282  ComputeTimeStepForNextIteration() override;
283 
285  void
286  UpdateLevelSets() override;
287 
289  void
290  UpdateEquations() override;
291 
296  typename SplitLevelSetComputeIterationThreaderType::Pointer m_SplitLevelSetComputeIterationThreader;
297 };
298 
299 
300 // Shi
301 template <typename TEquationContainer, unsigned int VDimension>
302 class ITK_TEMPLATE_EXPORT LevelSetEvolution<TEquationContainer, ShiSparseLevelSetImage<VDimension>>
303  : public LevelSetEvolutionBase<TEquationContainer, ShiSparseLevelSetImage<VDimension>>
304 {
305 public:
306  ITK_DISALLOW_COPY_AND_MOVE(LevelSetEvolution);
307 
309 
314 
316  itkNewMacro(Self);
317 
320 
321  using EquationContainerType = typename Superclass::EquationContainerType;
322  using EquationContainerPointer = typename Superclass::EquationContainerPointer;
323  using TermContainerType = typename Superclass::TermContainerType;
324  using TermContainerPointer = typename Superclass::TermContainerPointer;
325 
326  using TermType = typename Superclass::TermType;
327  using TermPointer = typename Superclass::TermPointer;
328 
329  using InputImageType = typename Superclass::InputImageType;
330  using InputImagePixelType = typename Superclass::InputImagePixelType;
331  using InputImageConstPointer = typename Superclass::InputImageConstPointer;
332  using InputImageRegionType = typename Superclass::InputImageRegionType;
333  using InputPixelRealType = typename Superclass::InputPixelRealType;
334 
335  static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
336 
337  using LevelSetContainerType = typename Superclass::LevelSetContainerType;
338  using LevelSetIdentifierType = typename Superclass::LevelSetIdentifierType;
339 
340  using LevelSetInputType = typename Superclass::LevelSetInputType;
341  using LevelSetOutputType = typename Superclass::LevelSetOutputType;
342  using LevelSetOutputRealType = typename Superclass::LevelSetOutputRealType;
343  using LevelSetDataType = typename Superclass::LevelSetDataType;
344 
346 
349 
350 
351  using IdListType = typename Superclass::IdListType;
352  using IdListIterator = typename Superclass::IdListIterator;
353  using IdListImageType = typename Superclass::IdListImageType;
354  using CacheImageType = typename Superclass::CacheImageType;
355  using DomainMapImageFilterType = typename Superclass::DomainMapImageFilterType;
356 
357  using StoppingCriterionType = typename Superclass::StoppingCriterionType;
358  using StoppingCriterionPointer = typename Superclass::StoppingCriterionPointer;
359 
361 
364 
365  LevelSetEvolution() = default;
366  ~LevelSetEvolution() override = default;
367 
368 protected:
370  void
371  UpdateLevelSets() override;
372 
374  void
375  UpdateEquations() override;
376 };
377 
378 // Malcolm
379 template <typename TEquationContainer, unsigned int VDimension>
380 class ITK_TEMPLATE_EXPORT LevelSetEvolution<TEquationContainer, MalcolmSparseLevelSetImage<VDimension>>
381  : public LevelSetEvolutionBase<TEquationContainer, MalcolmSparseLevelSetImage<VDimension>>
382 {
383 public:
384  ITK_DISALLOW_COPY_AND_MOVE(LevelSetEvolution);
385 
387 
392 
394  itkNewMacro(Self);
395 
398 
399  using EquationContainerType = typename Superclass::EquationContainerType;
400  using EquationContainerPointer = typename Superclass::EquationContainerPointer;
401  using TermContainerType = typename Superclass::TermContainerType;
402  using TermContainerPointer = typename Superclass::TermContainerPointer;
403 
404  using TermType = typename Superclass::TermType;
405  using TermPointer = typename Superclass::TermPointer;
406 
407  using InputImageType = typename Superclass::InputImageType;
408  using InputImagePixelType = typename Superclass::InputImagePixelType;
409  using InputImageConstPointer = typename Superclass::InputImageConstPointer;
410  using InputImageRegionType = typename Superclass::InputImageRegionType;
411  using InputPixelRealType = typename Superclass::InputPixelRealType;
412 
413  static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
414 
415  using LevelSetContainerType = typename Superclass::LevelSetContainerType;
416  using LevelSetIdentifierType = typename Superclass::LevelSetIdentifierType;
417 
418  using LevelSetInputType = typename Superclass::LevelSetInputType;
419  using LevelSetOutputType = typename Superclass::LevelSetOutputType;
420  using LevelSetOutputRealType = typename Superclass::LevelSetOutputRealType;
421  using LevelSetDataType = typename Superclass::LevelSetDataType;
422 
425 
428 
429 
430  using IdListType = typename Superclass::IdListType;
431  using IdListIterator = typename Superclass::IdListIterator;
432  using IdListImageType = typename Superclass::IdListImageType;
433  using CacheImageType = typename Superclass::CacheImageType;
434  using DomainMapImageFilterType = typename Superclass::DomainMapImageFilterType;
435 
436  using StoppingCriterionType = typename Superclass::StoppingCriterionType;
437  using StoppingCriterionPointer = typename Superclass::StoppingCriterionPointer;
438 
440 
443 
444  LevelSetEvolution() = default;
445  ~LevelSetEvolution() override = default;
446 
447 protected:
448  void
449  UpdateLevelSets() override;
450  void
451  UpdateEquations() override;
452 };
453 } // namespace itk
454 
455 #ifndef ITK_MANUAL_INSTANTIATION
456 # include "itkLevelSetEvolution.hxx"
457 #endif
458 
459 #endif // itkLevelSetEvolution_h
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::EquationContainerPointer
typename Superclass::EquationContainerPointer EquationContainerPointer
Definition: itkLevelSetEvolution.h:72
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::InputImagePixelType
typename Superclass::InputImagePixelType InputImagePixelType
Definition: itkLevelSetEvolution.h:408
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::LevelSetLayerType
typename LevelSetType::LayerType LevelSetLayerType
Definition: itkLevelSetEvolution.h:345
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::IdListImageType
typename Superclass::IdListImageType IdListImageType
Definition: itkLevelSetEvolution.h:432
itk::WhitakerSparseLevelSetImage
Derived class for the sparse-field representation of level-set function.
Definition: itkWhitakerSparseLevelSetImage.h:41
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::TermType
typename Superclass::TermType TermType
Definition: itkLevelSetEvolution.h:214
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::IdListImageType
typename Superclass::IdListImageType IdListImageType
Definition: itkLevelSetEvolution.h:100
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::CacheImageType
typename Superclass::CacheImageType CacheImageType
Definition: itkLevelSetEvolution.h:354
itk::MalcolmSparseLevelSetImage::LabelMapType
typename Superclass::LabelMapType LabelMapType
Definition: itkMalcolmSparseLevelSetImage.h:72
itkUpdateMalcolmSparseLevelSet.h
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::m_UpdateBuffer
std::map< IdentifierType, LevelSetLayerType * > m_UpdateBuffer
Definition: itkLevelSetEvolution.h:269
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::InputImageType
typename Superclass::InputImageType InputImageType
Definition: itkLevelSetEvolution.h:79
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::LevelSetContainerType
typename Superclass::LevelSetContainerType LevelSetContainerType
Definition: itkLevelSetEvolution.h:337
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::IdListImageType
typename Superclass::IdListImageType IdListImageType
Definition: itkLevelSetEvolution.h:241
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::InputImageRegionType
typename Superclass::InputImageRegionType InputImageRegionType
Definition: itkLevelSetEvolution.h:332
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::ThresholdFilterPointer
typename ThresholdFilterType::Pointer ThresholdFilterPointer
Definition: itkLevelSetEvolution.h:108
itk::ImageRegionConstIteratorWithIndex
A multi-dimensional iterator templated over image type that walks an image region and is specialized ...
Definition: itkImageRegionConstIteratorWithIndex.h:130
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::m_SplitLevelSetComputeIterationThreader
SplitLevelSetComputeIterationThreaderType::Pointer m_SplitLevelSetComputeIterationThreader
Definition: itkLevelSetEvolution.h:296
itk::LevelSetDenseImage
Base class for the "dense" representation of a level-set function on one image.
Definition: itkLevelSetDenseImage.h:41
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::DomainMapImageFilterType
typename Superclass::DomainMapImageFilterType DomainMapImageFilterType
Definition: itkLevelSetEvolution.h:434
itkLevelSetEvolutionUpdateLevelSetsThreader.h
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::DomainMapImageFilterType
typename Superclass::DomainMapImageFilterType DomainMapImageFilterType
Definition: itkLevelSetEvolution.h:102
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::InputImageConstPointer
typename Superclass::InputImageConstPointer InputImageConstPointer
Definition: itkLevelSetEvolution.h:409
itk::ThreadedImageRegionPartitioner
Class for partitioning of an ImageRegion.
Definition: itkThreadedImageRegionPartitioner.h:45
itk::LevelSetDenseImage::ImageType
TImage ImageType
Definition: itkLevelSetDenseImage.h:47
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetLayerType
typename LevelSetType::LayerType LevelSetLayerType
Definition: itkLevelSetEvolution.h:233
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::StoppingCriterionPointer
typename Superclass::StoppingCriterionPointer StoppingCriterionPointer
Definition: itkLevelSetEvolution.h:358
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::InputImageType
typename Superclass::InputImageType InputImageType
Definition: itkLevelSetEvolution.h:217
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::LevelSetOutputRealType
typename Superclass::LevelSetOutputRealType LevelSetOutputRealType
Definition: itkLevelSetEvolution.h:94
itk::BinaryThresholdImageFilter
Binarize an input image by thresholding.
Definition: itkBinaryThresholdImageFilter.h:139
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::EquationContainerType
typename Superclass::EquationContainerType EquationContainerType
Definition: itkLevelSetEvolution.h:399
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::LevelSetDataType
typename Superclass::LevelSetDataType LevelSetDataType
Definition: itkLevelSetEvolution.h:95
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::LevelSetImageType
typename LevelSetType::ImageType LevelSetImageType
Definition: itkLevelSetEvolution.h:91
itkWhitakerSparseLevelSetImage.h
itk::MalcolmSparseLevelSetImage::LayerIterator
typename Superclass::LayerIterator LayerIterator
Definition: itkMalcolmSparseLevelSetImage.h:77
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetLabelMapPointer
typename LevelSetType::LabelMapPointer LevelSetLabelMapPointer
Definition: itkLevelSetEvolution.h:236
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::LevelSetLabelMapPointer
typename LevelSetType::LabelMapPointer LevelSetLabelMapPointer
Definition: itkLevelSetEvolution.h:348
itk::ShiSparseLevelSetImage::LabelMapType
typename Superclass::LabelMapType LabelMapType
Definition: itkShiSparseLevelSetImage.h:68
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::LevelSetLayerType
typename LevelSetType::LayerType LevelSetLayerType
Definition: itkLevelSetEvolution.h:423
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::InputImageType
typename Superclass::InputImageType InputImageType
Definition: itkLevelSetEvolution.h:407
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::InputPixelRealType
typename Superclass::InputPixelRealType InputPixelRealType
Definition: itkLevelSetEvolution.h:221
itk::LevelSetEvolutionUpdateLevelSetsThreader
Threade the UpdateLevelSets method.
Definition: itkLevelSetEvolutionUpdateLevelSetsThreader.h:38
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::TermContainerPointer
typename Superclass::TermContainerPointer TermContainerPointer
Definition: itkLevelSetEvolution.h:212
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::IdListConstIterator
typename Superclass::IdListConstIterator IdListConstIterator
Definition: itkLevelSetEvolution.h:99
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::UpdateLevelSetFilterPointer
typename UpdateLevelSetFilterType::Pointer UpdateLevelSetFilterPointer
Definition: itkLevelSetEvolution.h:363
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::TermContainerPointer
typename Superclass::TermContainerPointer TermContainerPointer
Definition: itkLevelSetEvolution.h:402
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::CacheImageType
typename Superclass::CacheImageType CacheImageType
Definition: itkLevelSetEvolution.h:433
itk::LevelSetEvolutionBase
Class for iterating and evolving the dense level-set function.
Definition: itkLevelSetEvolutionBase.h:43
itkLevelSetEvolutionComputeIterationThreader.h
itk::SmartPointer< Self >
itk::WhitakerSparseLevelSetImage::LayerType
typename Superclass::LayerType LayerType
Definition: itkWhitakerSparseLevelSetImage.h:77
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::LevelSetOutputRealType
typename Superclass::LevelSetOutputRealType LevelSetOutputRealType
Definition: itkLevelSetEvolution.h:342
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::InputImageConstPointer
typename Superclass::InputImageConstPointer InputImageConstPointer
Definition: itkLevelSetEvolution.h:219
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::CacheImageType
typename Superclass::CacheImageType CacheImageType
Definition: itkLevelSetEvolution.h:101
itkMalcolmSparseLevelSetImage.h
itk::UpdateWhitakerSparseLevelSet
Base class for updating the level-set function.
Definition: itkUpdateWhitakerSparseLevelSet.h:43
itkLevelSetEvolutionBase.h
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::EquationContainerPointer
typename Superclass::EquationContainerPointer EquationContainerPointer
Definition: itkLevelSetEvolution.h:210
itk::UpdateMalcolmSparseLevelSet
Base class for updating the Malcolm representation of level-set function.
Definition: itkUpdateMalcolmSparseLevelSet.h:42
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetLabelMapType
typename LevelSetType::LabelMapType LevelSetLabelMapType
Definition: itkLevelSetEvolution.h:235
itk::ThreadIdType
unsigned int ThreadIdType
Definition: itkIntTypes.h:99
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::LevelSetLabelMapType
typename LevelSetType::LabelMapType LevelSetLabelMapType
Definition: itkLevelSetEvolution.h:426
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::StoppingCriterionType
typename Superclass::StoppingCriterionType StoppingCriterionType
Definition: itkLevelSetEvolution.h:104
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::InputImageConstPointer
typename Superclass::InputImageConstPointer InputImageConstPointer
Definition: itkLevelSetEvolution.h:81
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::StoppingCriterionPointer
typename Superclass::StoppingCriterionPointer StoppingCriterionPointer
Definition: itkLevelSetEvolution.h:105
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::CacheImageType
typename Superclass::CacheImageType CacheImageType
Definition: itkLevelSetEvolution.h:242
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::IdListType
typename Superclass::IdListType IdListType
Definition: itkLevelSetEvolution.h:97
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::TermType
typename Superclass::TermType TermType
Definition: itkLevelSetEvolution.h:76
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:59
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::TermContainerType
typename Superclass::TermContainerType TermContainerType
Definition: itkLevelSetEvolution.h:73
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::DomainMapImageFilterType
typename Superclass::DomainMapImageFilterType DomainMapImageFilterType
Definition: itkLevelSetEvolution.h:355
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetDataType
typename Superclass::LevelSetDataType LevelSetDataType
Definition: itkLevelSetEvolution.h:231
itk::MalcolmSparseLevelSetImage::LabelMapPointer
typename Superclass::LabelMapPointer LabelMapPointer
Definition: itkMalcolmSparseLevelSetImage.h:73
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::DomainMapImageFilterType
typename Superclass::DomainMapImageFilterType DomainMapImageFilterType
Definition: itkLevelSetEvolution.h:243
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::UpdateLevelSetFilterPointer
typename UpdateLevelSetFilterType::Pointer UpdateLevelSetFilterPointer
Definition: itkLevelSetEvolution.h:442
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::InputPixelRealType
typename Superclass::InputPixelRealType InputPixelRealType
Definition: itkLevelSetEvolution.h:411
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::InputPixelRealType
typename Superclass::InputPixelRealType InputPixelRealType
Definition: itkLevelSetEvolution.h:333
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::StoppingCriterionPointer
typename Superclass::StoppingCriterionPointer StoppingCriterionPointer
Definition: itkLevelSetEvolution.h:437
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::IdListIterator
typename Superclass::IdListIterator IdListIterator
Definition: itkLevelSetEvolution.h:240
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::TermContainerPointer
typename Superclass::TermContainerPointer TermContainerPointer
Definition: itkLevelSetEvolution.h:74
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::InputImageRegionType
typename Superclass::InputImageRegionType InputImageRegionType
Definition: itkLevelSetEvolution.h:410
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::TermPointer
typename Superclass::TermPointer TermPointer
Definition: itkLevelSetEvolution.h:405
itk::UpdateShiSparseLevelSet
Base class for updating the Shi representation of level-set function.
Definition: itkUpdateShiSparseLevelSet.h:42
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::InputImagePixelType
typename Superclass::InputImagePixelType InputImagePixelType
Definition: itkLevelSetEvolution.h:330
itk::ShiSparseLevelSetImage::LayerType
typename Superclass::LayerType LayerType
Definition: itkShiSparseLevelSetImage.h:72
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::LevelSetLabelMapType
typename LevelSetType::LabelMapType LevelSetLabelMapType
Definition: itkLevelSetEvolution.h:347
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::IdListType
typename Superclass::IdListType IdListType
Definition: itkLevelSetEvolution.h:430
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::InputImagePixelType
typename Superclass::InputImagePixelType InputImagePixelType
Definition: itkLevelSetEvolution.h:80
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::TermPointer
typename Superclass::TermPointer TermPointer
Definition: itkLevelSetEvolution.h:77
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::IdListIterator
typename Superclass::IdListIterator IdListIterator
Definition: itkLevelSetEvolution.h:98
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::TermPointer
typename Superclass::TermPointer TermPointer
Definition: itkLevelSetEvolution.h:327
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::InputImageRegionType
typename Superclass::InputImageRegionType InputImageRegionType
Definition: itkLevelSetEvolution.h:82
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::EquationContainerPointer
typename Superclass::EquationContainerPointer EquationContainerPointer
Definition: itkLevelSetEvolution.h:322
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::LevelSetLabelMapPointer
typename LevelSetType::LabelMapPointer LevelSetLabelMapPointer
Definition: itkLevelSetEvolution.h:427
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::TermContainerType
typename Superclass::TermContainerType TermContainerType
Definition: itkLevelSetEvolution.h:323
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::StoppingCriterionPointer
typename Superclass::StoppingCriterionPointer StoppingCriterionPointer
Definition: itkLevelSetEvolution.h:246
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::LevelSetOutputType
typename Superclass::LevelSetOutputType LevelSetOutputType
Definition: itkLevelSetEvolution.h:93
itk::WhitakerSparseLevelSetImage::LabelMapPointer
typename Superclass::LabelMapPointer LabelMapPointer
Definition: itkWhitakerSparseLevelSetImage.h:73
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::LevelSetDataType
typename Superclass::LevelSetDataType LevelSetDataType
Definition: itkLevelSetEvolution.h:421
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::LevelSetContainerType
typename Superclass::LevelSetContainerType LevelSetContainerType
Definition: itkLevelSetEvolution.h:415
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetContainerType
typename Superclass::LevelSetContainerType LevelSetContainerType
Definition: itkLevelSetEvolution.h:225
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::TermContainerType
typename Superclass::TermContainerType TermContainerType
Definition: itkLevelSetEvolution.h:401
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::m_UpdateBuffer
LevelSetContainerType::Pointer m_UpdateBuffer
Definition: itkLevelSetEvolution.h:157
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::LevelSetIdentifierType
typename Superclass::LevelSetIdentifierType LevelSetIdentifierType
Definition: itkLevelSetEvolution.h:89
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::LevelSetInputType
typename Superclass::LevelSetInputType LevelSetInputType
Definition: itkLevelSetEvolution.h:418
itk::ImageRegionIteratorWithIndex
A multi-dimensional iterator templated over image type that walks pixels within a region and is speci...
Definition: itkImageRegionIteratorWithIndex.h:73
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::InputImageConstPointer
typename Superclass::InputImageConstPointer InputImageConstPointer
Definition: itkLevelSetEvolution.h:331
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::LevelSetLayerIterator
typename LevelSetType::LayerIterator LevelSetLayerIterator
Definition: itkLevelSetEvolution.h:424
itkLevelSetDenseImage.h
itk::MalcolmSparseLevelSetImage::LayerType
typename Superclass::LayerType LayerType
Definition: itkMalcolmSparseLevelSetImage.h:76
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::InputPixelRealType
typename Superclass::InputPixelRealType InputPixelRealType
Definition: itkLevelSetEvolution.h:83
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetIdentifierType
typename Superclass::LevelSetIdentifierType LevelSetIdentifierType
Definition: itkLevelSetEvolution.h:226
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::EquationContainerType
typename Superclass::EquationContainerType EquationContainerType
Definition: itkLevelSetEvolution.h:71
itkShiSparseLevelSetImage.h
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::TermType
typename Superclass::TermType TermType
Definition: itkLevelSetEvolution.h:404
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::NodePairType
std::pair< LevelSetInputType, LevelSetOutputType > NodePairType
Definition: itkLevelSetEvolution.h:266
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::UpdateLevelSetFilterPointer
typename UpdateLevelSetFilterType::Pointer UpdateLevelSetFilterPointer
Definition: itkLevelSetEvolution.h:252
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::LevelSetInputType
typename Superclass::LevelSetInputType LevelSetInputType
Definition: itkLevelSetEvolution.h:340
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::StoppingCriterionType
typename Superclass::StoppingCriterionType StoppingCriterionType
Definition: itkLevelSetEvolution.h:245
itkUpdateShiSparseLevelSet.h
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::IdListIterator
typename Superclass::IdListIterator IdListIterator
Definition: itkLevelSetEvolution.h:352
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::TermContainerPointer
typename Superclass::TermContainerPointer TermContainerPointer
Definition: itkLevelSetEvolution.h:324
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::DomainMapConstIteratorType
typename DomainMapImageFilterType::DomainMapType::const_iterator DomainMapConstIteratorType
Definition: itkLevelSetEvolution.h:168
itk::ShiSparseLevelSetImage
Derived class for the shi representation of level-set function.
Definition: itkShiSparseLevelSetImage.h:37
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetInputType
typename Superclass::LevelSetInputType LevelSetInputType
Definition: itkLevelSetEvolution.h:228
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::LevelSetIdentifierType
typename Superclass::LevelSetIdentifierType LevelSetIdentifierType
Definition: itkLevelSetEvolution.h:416
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::InputImagePixelType
typename Superclass::InputImagePixelType InputImagePixelType
Definition: itkLevelSetEvolution.h:218
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::LevelSetOutputRealType
typename Superclass::LevelSetOutputRealType LevelSetOutputRealType
Definition: itkLevelSetEvolution.h:420
itk::WhitakerSparseLevelSetImage::LabelMapType
typename Superclass::LabelMapType LabelMapType
Definition: itkWhitakerSparseLevelSetImage.h:72
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::IdListImageType
typename Superclass::IdListImageType IdListImageType
Definition: itkLevelSetEvolution.h:353
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::TermContainerType
typename Superclass::TermContainerType TermContainerType
Definition: itkLevelSetEvolution.h:211
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::IdListType
typename Superclass::IdListType IdListType
Definition: itkLevelSetEvolution.h:239
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::StoppingCriterionType
typename Superclass::StoppingCriterionType StoppingCriterionType
Definition: itkLevelSetEvolution.h:436
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::LevelSetOutputType
typename Superclass::LevelSetOutputType LevelSetOutputType
Definition: itkLevelSetEvolution.h:419
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::IdListType
typename Superclass::IdListType IdListType
Definition: itkLevelSetEvolution.h:351
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::LevelSetIdentifierType
typename Superclass::LevelSetIdentifierType LevelSetIdentifierType
Definition: itkLevelSetEvolution.h:338
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::MaurerPointer
typename MaurerType::Pointer MaurerPointer
Definition: itkLevelSetEvolution.h:111
itkUpdateWhitakerSparseLevelSet.h
itk::LevelSetEvolution
Class for iterating and evolving the level-set function.
Definition: itkLevelSetEvolution.h:48
itk::LevelSetEvolution< TEquationContainer, LevelSetDenseImage< TImage > >::LevelSetContainerType
typename Superclass::LevelSetContainerType LevelSetContainerType
Definition: itkLevelSetEvolution.h:87
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::LevelSetOutputType
typename Superclass::LevelSetOutputType LevelSetOutputType
Definition: itkLevelSetEvolution.h:341
itk::ThreadedIteratorRangePartitioner
Partitions an iterator range for threading.
Definition: itkThreadedIteratorRangePartitioner.h:112
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::EquationContainerPointer
typename Superclass::EquationContainerPointer EquationContainerPointer
Definition: itkLevelSetEvolution.h:400
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::EquationContainerType
typename Superclass::EquationContainerType EquationContainerType
Definition: itkLevelSetEvolution.h:209
itk::MalcolmSparseLevelSetImage
Derived class for the Malcolm representation of level-set function.
Definition: itkMalcolmSparseLevelSetImage.h:41
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetOutputRealType
typename Superclass::LevelSetOutputRealType LevelSetOutputRealType
Definition: itkLevelSetEvolution.h:230
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::TermPointer
typename Superclass::TermPointer TermPointer
Definition: itkLevelSetEvolution.h:215
itk::SignedMaurerDistanceMapImageFilter
This filter calculates the Euclidean distance transform of a binary image in linear time for arbitrar...
Definition: itkSignedMaurerDistanceMapImageFilter.h:67
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::LevelSetOutputType
typename Superclass::LevelSetOutputType LevelSetOutputType
Definition: itkLevelSetEvolution.h:229
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::TermType
typename Superclass::TermType TermType
Definition: itkLevelSetEvolution.h:326
itk::LevelSetEvolution< TEquationContainer, MalcolmSparseLevelSetImage< VDimension > >::IdListIterator
typename Superclass::IdListIterator IdListIterator
Definition: itkLevelSetEvolution.h:431
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::InputImageType
typename Superclass::InputImageType InputImageType
Definition: itkLevelSetEvolution.h:329
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::StoppingCriterionType
typename Superclass::StoppingCriterionType StoppingCriterionType
Definition: itkLevelSetEvolution.h:357
itk::LevelSetEvolutionComputeIterationThreader
Thread the ComputeIteration method.
Definition: itkLevelSetEvolutionComputeIterationThreader.h:40
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::LevelSetDataType
typename Superclass::LevelSetDataType LevelSetDataType
Definition: itkLevelSetEvolution.h:343
itk::LevelSetEvolution< TEquationContainer, ShiSparseLevelSetImage< VDimension > >::EquationContainerType
typename Superclass::EquationContainerType EquationContainerType
Definition: itkLevelSetEvolution.h:321
itk::LevelSetEvolution< TEquationContainer, WhitakerSparseLevelSetImage< TOutput, VDimension > >::InputImageRegionType
typename Superclass::InputImageRegionType InputImageRegionType
Definition: itkLevelSetEvolution.h:220
itk::ShiSparseLevelSetImage::LabelMapPointer
typename Superclass::LabelMapPointer LabelMapPointer
Definition: itkShiSparseLevelSetImage.h:69