1 #include <plugins/fpa/ImageSkeleton.h>
2 #include <fpa_Instances/Instances.h>
3 #include <fpa/VTK/Image/ImageSkeletonToPolyData.h>
5 // -------------------------------------------------------------------------
6 void fpaPlugins::ImageSkeleton::
7 SetITK( itk::LightObject* o )
10 fpa::Base::ImageSkeleton< fpa::Image::MinimumSpanningTree< 2 > > _I2;
12 fpa::Base::ImageSkeleton< fpa::Image::MinimumSpanningTree< 3 > > _I3;
14 bool r = this->_SetITK< _I2 >( o );
15 if( !r ) r = this->_SetITK< _I3 >( o );
17 this->Superclass::SetITK( NULL );
20 // -------------------------------------------------------------------------
21 void fpaPlugins::ImageSkeleton::
22 SetVTK( vtkObjectBase* o )
24 // Do nothing: this only has sense in ITK
27 // -------------------------------------------------------------------------
28 fpaPlugins::ImageSkeleton::
34 // -------------------------------------------------------------------------
35 fpaPlugins::ImageSkeleton::
40 // -------------------------------------------------------------------------
41 template< class _TMST >
42 bool fpaPlugins::ImageSkeleton::
43 _SetITK( itk::LightObject* o )
45 typedef fpa::VTK::Image::ImageSkeletonToPolyData< _TMST > _TFilter;
47 _TMST* mst = dynamic_cast< _TMST* >( o );
50 _TFilter* f = dynamic_cast< _TFilter* >( this->m_ITKvVTK.GetPointer( ) );
53 vtkSmartPointer< _TFilter > nf = _TFilter::New( );
54 this->m_ITKvVTK = nf.GetPointer( );
62 this->m_ITKObject = o;
63 this->m_VTKObject = f->GetOutput( );
68 this->Superclass::SetITK( NULL );
69 this->Superclass::SetVTK( NULL );