19 #ifndef itkBinaryImageToLevelSetImageAdaptor_h
20 #define itkBinaryImageToLevelSetImageAdaptor_h
50 template <
typename TInputImage,
typename TLevelSet>
57 template <
typename TInputImage,
typename TLevelSetImage>
84 static constexpr
unsigned int ImageDimension = InputImageType::ImageDimension;
102 Initialize()
override;
123 template <
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;
190 template <
typename TInput,
typename TOutput>
191 class 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;
251 Initialize()
override;
271 FindPlusOneMinusOneLayer();
278 template <
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;
338 Initialize()
override;
358 template <
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;
418 Initialize()
override;
433 CreateMinimalInterface();
438 #ifndef ITK_MANUAL_INSTANTIATION
439 # include "itkBinaryImageToLevelSetImageAdaptor.hxx"
441 #endif // itkBinaryImageToLevelSetImageAdaptorBase_h