X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FImage%2FExtractAxisFilter.hxx;fp=lib%2Ffpa%2FImage%2FExtractAxisFilter.hxx;h=5c3c4e6f0257bb42ed998e69effe9101315c160a;hb=ed698ff461a586dfc808aaad69f29cdfb53b1f93;hp=809306aecd88e53de2cbce14e4cd07cee54a8547;hpb=81c4e503782b69a433de83ffbe942eb774ac4a3f;p=FrontAlgorithms.git diff --git a/lib/fpa/Image/ExtractAxisFilter.hxx b/lib/fpa/Image/ExtractAxisFilter.hxx index 809306a..5c3c4e6 100644 --- a/lib/fpa/Image/ExtractAxisFilter.hxx +++ b/lib/fpa/Image/ExtractAxisFilter.hxx @@ -6,12 +6,13 @@ #ifndef __fpa__Image__ExtractAxisFilter__hxx__ #define __fpa__Image__ExtractAxisFilter__hxx__ +#include #include // ------------------------------------------------------------------------- -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 ); }