1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Common__SliceBySliceRandomWalker__h__
6 #define __fpa__Common__SliceBySliceRandomWalker__h__
8 #include <fpa/Config.h>
9 #include <itkImageToImageFilter.h>
17 template< class _TImage, class _TLabels, class _TScalarImage >
18 class SliceBySliceRandomWalker
19 : public itk::ImageToImageFilter< _TImage, _TLabels >
22 typedef _TImage TImage;
23 typedef _TLabels TLabels;
24 typedef _TScalarImage TScalarImage;
26 typedef SliceBySliceRandomWalker Self;
27 typedef itk::ImageToImageFilter< TImage, TLabels > Superclass;
28 typedef itk::SmartPointer< Self > Pointer;
29 typedef itk::SmartPointer< const Self > ConstPointer;
31 typedef typename TImage::PixelType TPixel;
32 typedef typename TLabels::PixelType TLabel;
33 typedef typename TScalarImage::PixelType TScalar;
38 fpa::Common::SliceBySliceRandomWalker, itk::ImageToImageFilter
41 ivqITKInputMacro( InputLabels, TLabels );
42 ivqITKInputMacro( InputVesselness, TScalarImage );
45 SliceBySliceRandomWalker( );
46 virtual ~SliceBySliceRandomWalker( );
48 virtual void GenerateData( ) override;
51 typename TScalarImage::Pointer& composite,
52 const TLabels* labels,
53 const TScalarImage* vesselness
56 template< class _TSlicePtr, class _TInput >
60 typename _TInput::RegionType region
63 template< class _TBinaryTree, class _TData3D, class _TFusion >
65 _TBinaryTree& binaryTree,
66 const _TData3D& data3D,
67 const _TFusion& fusion,
71 template< class _TBinaryTree, class _TData3D, class _TFusion >
73 _TBinaryTree& binaryTree,
74 const _TData3D& data3D,
75 const _TFusion& fusion,
80 // Purposely not implemented
81 SliceBySliceRandomWalker( const Self& other );
82 Self& operator=( const Self& other );
89 #ifndef ITK_MANUAL_INSTANTIATION
90 # include <fpa/Common/SliceBySliceRandomWalker.hxx>
91 #endif // ITK_MANUAL_INSTANTIATION
92 #endif // __fpa__Common__SliceBySliceRandomWalker__h__