19 #ifndef itkBinaryImageToLevelSetImageAdaptor_h
20 #define itkBinaryImageToLevelSetImageAdaptor_h
50 template <
typename TInputImage,
typename TLevelSet>
56 template <
typename TInputImage,
typename TLevelSetImage>
83 static constexpr
unsigned int ImageDimension = InputImageType::ImageDimension;
101 Initialize()
override;
122 template <
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;
189 template <
typename TInput,
typename TOutput>
190 class 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;
250 Initialize()
override;
270 FindPlusOneMinusOneLayer();
277 template <
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;
337 Initialize()
override;
357 template <
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;
417 Initialize()
override;
432 CreateMinimalInterface();
437 #ifndef ITK_MANUAL_INSTANTIATION
438 # include "itkBinaryImageToLevelSetImageAdaptor.hxx"
440 #endif // itkBinaryImageToLevelSetImageAdaptorBase_h