]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Image/ExtractAxisFilter.hxx
...
[FrontAlgorithms.git] / lib / fpa / Image / ExtractAxisFilter.hxx
index 809306aecd88e53de2cbce14e4cd07cee54a8547..5c3c4e6f0257bb42ed998e69effe9101315c160a 100644 (file)
@@ -6,12 +6,13 @@
 #ifndef __fpa__Image__ExtractAxisFilter__hxx__
 #define __fpa__Image__ExtractAxisFilter__hxx__
 
+#include <itkSignedMaurerDistanceMapImageFilter.h>
 #include <fpa/Image/Functors/Dijkstra/Invert.h>
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-itk::ModifiedTimeType 
-fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+itk::ModifiedTimeType
+fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 GetMTime( ) const
 {
   itk::ModifiedTimeType a = this->Superclass::GetMTime( );
@@ -22,54 +23,50 @@ GetMTime( ) const
 }
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-void fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+void fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 AddSeed( const TIndex& seed )
 {
   this->m_Dijkstra->AddSeed( seed );
 }
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-void fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+void fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 AddSeed( const TPoint& seed )
 {
   this->m_Dijkstra->AddSeed( seed );
 }
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-void fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+void fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 ClearSeeds( )
 {
   this->m_Dijkstra->ClearSeeds( );
 }
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-void fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+void fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 SetInput( TInputImage* input )
 {
   this->Superclass::SetNthInput( 0, input );
 }
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-typename
-fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
-TInputImage*
-fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+typename fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
+TInputImage* fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 GetInput( )
 {
   return( dynamic_cast< TInputImage* >( this->Superclass::GetInput( 0 ) ) );
 }
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-const typename
-fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
-TInputImage*
-fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+const typename fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
+TInputImage* fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 GetInput( ) const
 {
   return(
@@ -78,30 +75,26 @@ GetInput( ) const
 }
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-typename
-fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
-TPath*
-fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+typename fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
+TPath* fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 GetOutput( )
 {
   return( dynamic_cast< TPath* >( this->Superclass::GetOutput( 0 ) ) );
 }
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-const typename
-fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
-TPath* 
-fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+const typename fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
+TPath* fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 GetOutput( ) const
 {
   return( dynamic_cast< const TPath* >( this->Superclass::GetOutput( 0 ) ) );
 }
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 ExtractAxisFilter( )
   : Superclass( )
 {
@@ -117,22 +110,28 @@ ExtractAxisFilter( )
   weight->SetBeta( 1 );
 
   // Filters
-  this->m_Centerness = TCenterness::New( );
+  typedef itk::SignedMaurerDistanceMapImageFilter< TInputImage, TScalarImage > _TDefaultCenterness;
+  this->m_Centerness = _TDefaultCenterness::New( );
+  this->m_Centerness->InsideIsPositiveOn( );
+  this->m_Centerness->SquaredDistanceOn( );
+  this->m_Centerness->UseImageSpacingOn( );
+
+  // Axis extractor
   this->m_Dijkstra = TDijkstra::New( );
   this->m_Dijkstra->SetWeightFunction( weight );
   this->m_Dijkstra->StopAtOneFront( );
 }
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 ~ExtractAxisFilter( )
 {
 }
 
 // -------------------------------------------------------------------------
-template< class _TInputImage, class _TScalar, class _TCenterness >
-void fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar, _TCenterness >::
+template< class _TInputImage, class _TScalar >
+void fpa::Image::ExtractAxisFilter< _TInputImage, _TScalar >::
 GenerateData( )
 {
   // Execute minipipeline
@@ -143,9 +142,7 @@ GenerateData( )
   // Extract axis
   typename TPath::Pointer out = this->GetOutput( );
   this->m_Dijkstra->GetMinimumSpanningTree( )->GetPolyLineParametricPath(
-    out,
-    this->m_StartIndex,
-    this->m_EndIndex
+    out, this->m_StartIndex, this->m_EndIndex
     );
 }