19#ifndef itkBinaryImageToLevelSetImageAdaptor_h
20#define itkBinaryImageToLevelSetImageAdaptor_h
50template <
typename TInputImage,
typename TLevelSet>
56template <
typename TInputImage,
typename TLevelSetImage>
83 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
122template <
typename TInput,
typename TOutput>
137 using typename Superclass::InputImageType;
138 using typename Superclass::InputImagePixelType;
139 using typename Superclass::InputImageIndexType;
140 using typename Superclass::InputImagePointer;
141 using typename Superclass::InputImageRegionType;
142 using typename Superclass::InputPixelRealType;
144 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
146 using typename Superclass::LevelSetType;
147 using typename Superclass::LevelSetPointer;
189template <
typename TInput,
typename TOutput>
190class ITK_TEMPLATE_EXPORT
193 WhitakerSparseLevelSetImage<TOutput, TInput::ImageDimension>>
212 using typename Superclass::InputImageType;
213 using typename Superclass::InputImagePixelType;
214 using typename Superclass::InputImageIndexType;
215 using typename Superclass::InputImagePointer;
216 using typename Superclass::InputImageRegionType;
217 using typename Superclass::InputPixelRealType;
219 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
221 using typename Superclass::LevelSetPointer;
223 using typename Superclass::LevelSetInputType;
224 using typename Superclass::LevelSetOutputType;
226 using typename Superclass::LevelSetLabelObjectType;
227 using typename Superclass::LayerIdType;
228 using typename Superclass::LevelSetLabelObjectPointer;
229 using typename Superclass::LevelSetLabelObjectLengthType;
230 using typename Superclass::LevelSetLabelObjectLineType;
232 using typename Superclass::LevelSetLabelMapType;
233 using typename Superclass::LevelSetLabelMapPointer;
235 using typename Superclass::LevelSetLayerType;
236 using typename Superclass::LevelSetLayerIterator;
237 using typename Superclass::LevelSetLayerConstIterator;
239 using typename Superclass::InternalImageType;
240 using typename Superclass::InternalImagePointer;
242 using typename Superclass::LayerPairType;
244 using typename Superclass::InputIteratorType;
245 using typename Superclass::InternalIteratorType;
247 using typename Superclass::NeighborhoodIteratorType;
277template <
typename TInput>
297 using typename Superclass::InputImageType;
299 using typename Superclass::InputImagePixelType;
300 using typename Superclass::InputImageIndexType;
301 using typename Superclass::InputImagePointer;
302 using typename Superclass::InputImageRegionType;
303 using typename Superclass::InputPixelRealType;
305 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
308 using typename Superclass::LevelSetPointer;
310 using typename Superclass::LevelSetInputType;
311 using typename Superclass::LevelSetOutputType;
313 using typename Superclass::LevelSetLabelObjectType;
314 using typename Superclass::LayerIdType;
315 using typename Superclass::LevelSetLabelObjectPointer;
316 using typename Superclass::LevelSetLabelObjectLengthType;
317 using typename Superclass::LevelSetLabelObjectLineType;
319 using typename Superclass::LevelSetLabelMapType;
320 using typename Superclass::LevelSetLabelMapPointer;
322 using typename Superclass::LevelSetLayerType;
323 using typename Superclass::LevelSetLayerIterator;
324 using typename Superclass::LevelSetLayerConstIterator;
326 using typename Superclass::InternalImageType;
327 using typename Superclass::InternalImagePointer;
329 using typename Superclass::LayerPairType;
331 using typename Superclass::InputIteratorType;
332 using typename Superclass::InternalIteratorType;
334 using typename Superclass::NeighborhoodIteratorType;
357template <
typename TInput>
378 using typename Superclass::InputImageType;
380 using typename Superclass::InputImagePixelType;
381 using typename Superclass::InputImageIndexType;
382 using typename Superclass::InputImagePointer;
383 using typename Superclass::InputImageRegionType;
384 using typename Superclass::InputPixelRealType;
386 static constexpr unsigned int ImageDimension = InputImageType::ImageDimension;
389 using typename Superclass::LevelSetPointer;
390 using typename Superclass::LevelSetInputType;
391 using typename Superclass::LevelSetOutputType;
393 using typename Superclass::LevelSetLabelObjectType;
394 using typename Superclass::LayerIdType;
395 using typename Superclass::LevelSetLabelObjectPointer;
396 using typename Superclass::LevelSetLabelObjectLengthType;
397 using typename Superclass::LevelSetLabelObjectLineType;
399 using typename Superclass::LevelSetLabelMapType;
400 using typename Superclass::LevelSetLabelMapPointer;
402 using typename Superclass::LevelSetLayerType;
403 using typename Superclass::LevelSetLayerIterator;
404 using typename Superclass::LevelSetLayerConstIterator;
406 using typename Superclass::InternalImageType;
407 using typename Superclass::InternalImagePointer;
409 using typename Superclass::LayerPairType;
411 using typename Superclass::InputIteratorType;
412 using typename Superclass::InternalIteratorType;
414 using typename Superclass::NeighborhoodIteratorType;
437#ifndef ITK_MANUAL_INSTANTIATION
438# 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....