+++ /dev/null
-// =========================================================================
-// @author Leonardo Florez Valencia
-// @email florez-l@javeriana.edu.co
-// =========================================================================
-#ifndef __fpa__Filters__Image__ExtractAxis__h__
-#define __fpa__Filters__Image__ExtractAxis__h__
-
-#include <itkProcessObject.h>
-#include <itkImageToImageFilter.h>
-#include <fpa/DataStructures/Image/PolyLineParametricPath.h>
-#include <fpa/Filters/Image/Dijkstra.h>
-
-namespace fpa
-{
- namespace Filters
- {
- namespace Image
- {
- /**
- */
- template< class _TInputImage, class _TScalar >
- class ExtractAxis
- : public itk::ProcessObject
- {
- public:
- typedef ExtractAxis Self;
- typedef itk::ProcessObject Superclass;
- typedef itk::SmartPointer< Self > Pointer;
- typedef itk::SmartPointer< const Self > ConstPointer;
-
- typedef _TInputImage TInputImage;
- typedef _TScalar TScalar;
- typedef typename TInputImage::IndexType TIndex;
- typedef typename TInputImage::PointType TPoint;
-
- itkStaticConstMacro(
- Dimension,
- unsigned int,
- TInputImage::ImageDimension
- );
-
- typedef itk::Image< TScalar, Self::Dimension > TScalarImage;
- typedef itk::ImageToImageFilter< TInputImage, TScalarImage > TCenterness;
-
- typedef fpa::DataStructures::Image::PolyLineParametricPath< Self::Dimension > TPath;
- typedef fpa::Filters::Image::Dijkstra< TScalarImage, TScalarImage > TDijkstra;
-
- public:
- itkNewMacro( Self );
- itkTypeMacro( fpa::Image::ExtractAxis, itk::ProcessObject );
-
- itkGetConstObjectMacro( Centerness, TCenterness );
- itkGetObjectMacro( Centerness, TCenterness );
- itkSetObjectMacro( Centerness, TCenterness );
-
- itkGetConstMacro( StartIndex, TIndex );
- itkSetMacro( StartIndex, TIndex );
-
- itkGetConstMacro( EndIndex, TIndex );
- itkSetMacro( EndIndex, TIndex );
-
- public:
- virtual itk::ModifiedTimeType GetMTime( ) const override;
-
- virtual void AddSeed( const TIndex& seed );
- virtual void AddSeed( const TPoint& seed );
- virtual void ClearSeeds( );
-
- void SetInput( TInputImage* input );
- TInputImage* GetInput( );
- const TInputImage* GetInput( ) const;
-
- TPath* GetOutput( );
- const TPath* GetOutput( ) const;
-
- protected:
- ExtractAxis( );
- virtual ~ExtractAxis( );
-
- virtual void GenerateData( ) override;
-
- private:
- // Purposely not implemented.
- ExtractAxis( const Self& other );
- Self& operator=( const Self& other );
-
- protected:
- typename TCenterness::Pointer m_Centerness;
- typename TDijkstra::Pointer m_Dijkstra;
-
- TIndex m_StartIndex;
- TIndex m_EndIndex;
- };
-
- } // ecapseman
-
- } // ecapseman
-
-} // ecapseman
-
-#ifndef ITK_MANUAL_INSTANTIATION
-# include <fpa/Filters/Image/ExtractAxis.hxx>
-#endif // ITK_MANUAL_INSTANTIATION
-#endif // __fpa__Filters__Image__ExtractAxis__h__
-
-// eof - $RCSfile$