19#ifndef itkBinaryImageToLevelSetImageAdaptor_h
20#define itkBinaryImageToLevelSetImageAdaptor_h
50template <
typename TInputImage,
typename TLevelSet>
57template <
typename TInputImage,
typename TLevelSetImage>
84 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
123template <
typename TInput,
typename TOutput>
138 using typename Superclass::InputImageType;
139 using typename Superclass::InputImagePixelType;
140 using typename Superclass::InputImageIndexType;
141 using typename Superclass::InputImagePointer;
142 using typename Superclass::InputImageRegionType;
143 using typename Superclass::InputPixelRealType;
145 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
147 using typename Superclass::LevelSetType;
148 using typename Superclass::LevelSetPointer;
190template <
typename TInput,
typename TOutput>
191class ITK_TEMPLATE_EXPORT
194 WhitakerSparseLevelSetImage<TOutput, TInput::ImageDimension>>
213 using typename Superclass::InputImageType;
214 using typename Superclass::InputImagePixelType;
215 using typename Superclass::InputImageIndexType;
216 using typename Superclass::InputImagePointer;
217 using typename Superclass::InputImageRegionType;
218 using typename Superclass::InputPixelRealType;
220 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
222 using typename Superclass::LevelSetPointer;
224 using typename Superclass::LevelSetInputType;
225 using typename Superclass::LevelSetOutputType;
227 using typename Superclass::LevelSetLabelObjectType;
228 using typename Superclass::LayerIdType;
229 using typename Superclass::LevelSetLabelObjectPointer;
230 using typename Superclass::LevelSetLabelObjectLengthType;
231 using typename Superclass::LevelSetLabelObjectLineType;
233 using typename Superclass::LevelSetLabelMapType;
234 using typename Superclass::LevelSetLabelMapPointer;
236 using typename Superclass::LevelSetLayerType;
237 using typename Superclass::LevelSetLayerIterator;
238 using typename Superclass::LevelSetLayerConstIterator;
240 using typename Superclass::InternalImageType;
241 using typename Superclass::InternalImagePointer;
243 using typename Superclass::LayerPairType;
245 using typename Superclass::InputIteratorType;
246 using typename Superclass::InternalIteratorType;
248 using typename Superclass::NeighborhoodIteratorType;
278template <
typename TInput>
298 using typename Superclass::InputImageType;
300 using typename Superclass::InputImagePixelType;
301 using typename Superclass::InputImageIndexType;
302 using typename Superclass::InputImagePointer;
303 using typename Superclass::InputImageRegionType;
304 using typename Superclass::InputPixelRealType;
306 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
309 using typename Superclass::LevelSetPointer;
311 using typename Superclass::LevelSetInputType;
312 using typename Superclass::LevelSetOutputType;
314 using typename Superclass::LevelSetLabelObjectType;
315 using typename Superclass::LayerIdType;
316 using typename Superclass::LevelSetLabelObjectPointer;
317 using typename Superclass::LevelSetLabelObjectLengthType;
318 using typename Superclass::LevelSetLabelObjectLineType;
320 using typename Superclass::LevelSetLabelMapType;
321 using typename Superclass::LevelSetLabelMapPointer;
323 using typename Superclass::LevelSetLayerType;
324 using typename Superclass::LevelSetLayerIterator;
325 using typename Superclass::LevelSetLayerConstIterator;
327 using typename Superclass::InternalImageType;
328 using typename Superclass::InternalImagePointer;
330 using typename Superclass::LayerPairType;
332 using typename Superclass::InputIteratorType;
333 using typename Superclass::InternalIteratorType;
335 using typename Superclass::NeighborhoodIteratorType;
358template <
typename TInput>
379 using typename Superclass::InputImageType;
381 using typename Superclass::InputImagePixelType;
382 using typename Superclass::InputImageIndexType;
383 using typename Superclass::InputImagePointer;
384 using typename Superclass::InputImageRegionType;
385 using typename Superclass::InputPixelRealType;
387 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
390 using typename Superclass::LevelSetPointer;
391 using typename Superclass::LevelSetInputType;
392 using typename Superclass::LevelSetOutputType;
394 using typename Superclass::LevelSetLabelObjectType;
395 using typename Superclass::LayerIdType;
396 using typename Superclass::LevelSetLabelObjectPointer;
397 using typename Superclass::LevelSetLabelObjectLengthType;
398 using typename Superclass::LevelSetLabelObjectLineType;
400 using typename Superclass::LevelSetLabelMapType;
401 using typename Superclass::LevelSetLabelMapPointer;
403 using typename Superclass::LevelSetLayerType;
404 using typename Superclass::LevelSetLayerIterator;
405 using typename Superclass::LevelSetLayerConstIterator;
407 using typename Superclass::InternalImageType;
408 using typename Superclass::InternalImagePointer;
410 using typename Superclass::LayerPairType;
412 using typename Superclass::InputIteratorType;
413 using typename Superclass::InternalIteratorType;
415 using typename Superclass::NeighborhoodIteratorType;
438#ifndef ITK_MANUAL_INSTANTIATION
439# include "itkBinaryImageToLevelSetImageAdaptor.hxx"
Converts one binary image to the appropriate level-set type provided by the template argument TLevelS...
Abstract class for converting binary image to sparse level-set.
typename LevelSetType::InputType LevelSetInputType
typename LevelSetType::LabelMapType LevelSetLabelMapType
~BinaryImageToSparseLevelSetImageAdaptorBase() override=default
typename LevelSetType::LabelObjectLineType LevelSetLabelObjectLineType
typename LevelSetType::OutputType LevelSetOutputType
typename LevelSetType::LayerIterator LevelSetLayerIterator
typename LevelSetType::LabelObjectType LevelSetLabelObjectType
typename LevelSetType::LabelObjectPointer LevelSetLabelObjectPointer
typename InternalImageType::Pointer InternalImagePointer
typename LevelSetType::LabelObjectLengthType LevelSetLabelObjectLengthType
typename LevelSetType::LabelMapPointer LevelSetLabelMapPointer
typename LevelSetLabelObjectType::LabelType LayerIdType
typename LevelSetType::LayerType LevelSetLayerType
BinaryImageToSparseLevelSetImageAdaptorBase()
typename LevelSetType::LayerConstIterator LevelSetLayerConstIterator
std::pair< LevelSetInputType, LevelSetOutputType > LayerPairType
A multi-dimensional iterator templated over image type that walks pixels within a region and is speci...
Base class for filters that take an image as input and produce an image as output.
Templated n-dimensional image class.
Base class for the "dense" representation of a level-set function on one image.
Light weight base class for most itk classes.
Derived class for the Malcolm representation of level-set function.
Define additional traits for native types such as int or float.
A neighborhood iterator which can take on an arbitrary shape.
Derived class for the shi representation of level-set function.
Derived class for the sparse-field representation of level-set function.
SmartPointer< Self > Pointer
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....