X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tests%2Fimage%2FBaseFunctions.h;h=fc76be7c0777e8a88bcea0233599631f21b12cb8;hb=479d85a44365c8aa01976ffb9c7d67d3e9e52b63;hp=21200d07075690aa0924bad31e4a2eac93b39e61;hpb=9bcf7cb1dcbde2226e3908f4013eaccdad102db7;p=FrontAlgorithms.git diff --git a/tests/image/BaseFunctions.h b/tests/image/BaseFunctions.h index 21200d0..fc76be7 100644 --- a/tests/image/BaseFunctions.h +++ b/tests/image/BaseFunctions.h @@ -13,16 +13,18 @@ #include #include -#ifdef USE_ivq -# include -# include -# include -# include -# include -# include -# include -# include -#endif // USE_ivq +/* TODO + #ifdef USE_ivq + # include + # include + # include + # include + # include + # include + # include + # include + #endif // USE_ivq +*/ namespace fpa { @@ -105,203 +107,134 @@ namespace fpa } // ------------------------------------------------------------------- - template< class _TFilter > - class Viewer - { - public: - typedef _TFilter TFilter; - typedef typename _TFilter::TInputImage TInputImage; - - public: - Viewer( const TInputImage* image ) - { -#ifdef USE_ivq - this->m_VTKInputImage = TVTKInputImage::New( ); - this->m_VTKInputImage->SetInput( image ); - this->m_VTKInputImage->Update( ); - - this->m_Viewer = vtkSmartPointer< ivq::VTK::ImageViewer >::New( ); - this->m_Viewer->SetInputData( this->m_VTKInputImage->GetOutput( ) ); -#endif // USE_ivq - } - - virtual ~Viewer( ) - { - } - - void ActivateSeedWidget( ) - { -#ifdef USE_ivq - this->m_SeedWidget = - vtkSmartPointer< ivq::VTK::SeedWidgetOverImageActor >::New( ); - this->m_SeedWidget->SetActor( this->m_Viewer->GetImageActor( ) ); - this->m_SeedWidget->SetInteractor( - this->m_Viewer->GetRenderWindow( )->GetInteractor( ) - ); -#endif // USE_ivq - } - - void ActivateBrushWidget( ) - { -#ifdef USE_ivq - this->m_BrushWidget = - vtkSmartPointer< ivq::VTK::BrushWidget >::New( ); - this->m_BrushWidget->SetImageActor( this->m_Viewer->GetImageActor( ) ); - this->m_BrushWidget->SetInteractor( - this->m_Viewer->GetRenderWindow( )->GetInteractor( ) - ); -#endif // USE_ivq - } - - void Show( ) - { -#ifdef USE_ivq - this->m_Viewer->Render( ); - this->m_Viewer->ResetCamera( ); - this->m_Viewer->Initialize( ); - this->m_Viewer->Render( ); - if( this->m_SeedWidget.GetPointer( ) != NULL ) - this->m_SeedWidget->EnabledOn( ); - if( this->m_BrushWidget.GetPointer( ) != NULL ) - this->m_BrushWidget->EnabledOn( ); - this->m_Viewer->Start( ); - if( this->m_SeedWidget.GetPointer( ) != NULL ) - this->m_SeedWidget->EnabledOff( ); - if( this->m_BrushWidget.GetPointer( ) != NULL ) - this->m_BrushWidget->EnabledOff( ); -#endif // USE_ivq - } - - void AssociateSeedsTo( TFilter* filter ) - { -#ifdef USE_ivq - if( this->m_SeedWidget.GetPointer( ) != NULL ) - { - const ivq::VTK::SeedWidgetOverImageActor::TSeeds& wdg_seeds = - this->m_SeedWidget->GetSeeds( ); - ivq::VTK::SeedWidgetOverImageActor::TSeeds::const_iterator wsIt; - for( wsIt = wdg_seeds.begin( ); wsIt != wdg_seeds.end( ); ++wsIt ) - { - typename TInputImage::PointType pnt; - for( unsigned int i = 0; i < wsIt->second.size( ); i += 3 ) - { - pnt[ 0 ] = wsIt->second[ i ]; - pnt[ 1 ] = wsIt->second[ i + 1 ]; - - typename TInputImage::IndexType idx; - filter->GetInput( )->TransformPhysicalPointToIndex( pnt, idx ); - filter->AddSeed( idx ); - - } // rof - - } // rof - - } // fi -#endif // USE_ivq - } - - void AssociateLabelsTo( TFilter* filter ) - { -#ifdef USE_ivq - if( this->m_BrushWidget.GetPointer( ) != NULL ) - { - typedef typename TFilter::TLabelImage _TLabelImage; - typedef itk::VTKImageToImageFilter< _TLabelImage > TITKImage; - typename TITKImage::Pointer itk_image = TITKImage::New( ); - itk_image->SetInput( this->m_BrushWidget->GetCanvas( ) ); - itk_image->Update( ); - filter->SetLabels( itk_image->GetOutput( ) ); - - } // fi -#endif // USE_ivq - } - - void ObserveFilter( TFilter* filter ) - { -#ifdef USE_ivq - typedef fpa::Image::VisualDebugger2D< TFilter > _TDeb; - typedef typename TFilter::TEvent _TEvent; - typename _TDeb::Pointer deb = _TDeb::New( ); - deb->SetVisualization( - this->m_Viewer->GetRenderer( ), - this->m_Viewer->GetRenderWindow( )->GetInteractor( ) - ); - this->m_Observer1 = filter->AddObserver( itk::StartEvent( ), deb ); - this->m_Observer2 = filter->AddObserver( itk::EndEvent( ), deb ); - this->m_Observer3 = filter->AddObserver( _TEvent( ), deb ); - filter->VisualDebugOn( ); -#endif // USE_ivq - } - - protected: -#ifdef USE_ivq - typedef itk::ImageToVTKImageFilter< TInputImage > TVTKInputImage; - typename TVTKInputImage::Pointer m_VTKInputImage; - vtkSmartPointer< ivq::VTK::ImageViewer > m_Viewer; - vtkSmartPointer< ivq::VTK::SeedWidgetOverImageActor > m_SeedWidget; - vtkSmartPointer< ivq::VTK::BrushWidget > m_BrushWidget; - unsigned long m_Observer1; - unsigned long m_Observer2; - unsigned long m_Observer3; -#endif // USE_ivq - - - /* TODO - #ifdef USE_ivq - // VTK image - typedef itk::ImageToVTKImageFilter< TImage > TVTKImage; - TVTKImage::Pointer vtk_input; - vtkSmartPointer< ivq::VTK::ImageViewer > view; - vtkSmartPointer< ivq::VTK::SeedWidgetOverImageActor > widget; - - if( visual_debug ) - { - vtk_input = TVTKImage::New( ); - vtk_input->SetInput( input ); - vtk_input->Update( ); - - // Viewer - view = vtkSmartPointer< ivq::VTK::ImageViewer >::New( ); - view->SetInputData( vtk_input->GetOutput( ) ); - view->SetSlice( 0 ); - - // Widget - widget = vtkSmartPointer< ivq::VTK::SeedWidgetOverImageActor >::New( ); - widget->SetActor( view->GetImageActor( ) ); - widget->SetInteractor( view->GetRenderWindow( )->GetInteractor( ) ); - - // Visualize - view->Render( ); - view->ResetCamera( ); - view->Initialize( ); - view->Render( ); - widget->EnabledOn( ); - view->Start( ); - widget->EnabledOff( ); - - const ivq::VTK::SeedWidgetOverImageActor::TSeeds& wdg_seeds = - widget->GetSeeds( ); - ivq::VTK::SeedWidgetOverImageActor::TSeeds::const_iterator wsIt; - for( wsIt = wdg_seeds.begin( ); wsIt != wdg_seeds.end( ); ++wsIt ) - { - TImage::PointType pnt; - for( unsigned int i = 0; i < wsIt->second.size( ); i += 3 ) - { - pnt[ 0 ] = wsIt->second[ i ]; - pnt[ 1 ] = wsIt->second[ i + 1 ]; - - TImage::IndexType idx; - input->TransformPhysicalPointToIndex( pnt, idx ); - seeds.push_back( idx ); - - } // rof - - } // rof - - } // fi - #endif // USE_ivq - */ - }; + /* TODO + #ifdef USE_ivq + template< class _TFilter > + class Viewer + { + public: + typedef _TFilter TFilter; + typedef typename _TFilter::TInputImage TInputImage; + + public: + Viewer( const TInputImage* image ) + { + this->m_VTKInputImage = TVTKInputImage::New( ); + this->m_VTKInputImage->SetInput( image ); + this->m_VTKInputImage->Update( ); + + this->m_Viewer = vtkSmartPointer< ivq::VTK::ImageViewer >::New( ); + this->m_Viewer->SetInputData( this->m_VTKInputImage->GetOutput( ) ); + } + + virtual ~Viewer( ) + { + } + + void ActivateSeedWidget( ) + { + this->m_SeedWidget = + vtkSmartPointer< ivq::VTK::SeedWidgetOverImageActor >::New( ); + this->m_SeedWidget->SetActor( this->m_Viewer->GetImageActor( ) ); + this->m_SeedWidget->SetInteractor( + this->m_Viewer->GetRenderWindow( )->GetInteractor( ) + ); + } + + void ActivateBrushWidget( ) + { + this->m_BrushWidget = + vtkSmartPointer< ivq::VTK::BrushWidget >::New( ); + this->m_BrushWidget->SetImageActor( this->m_Viewer->GetImageActor( ) ); + this->m_BrushWidget->SetInteractor( + this->m_Viewer->GetRenderWindow( )->GetInteractor( ) + ); + } + + void Show( ) + { + this->m_Viewer->Render( ); + this->m_Viewer->ResetCamera( ); + this->m_Viewer->Initialize( ); + this->m_Viewer->Render( ); + if( this->m_SeedWidget.GetPointer( ) != NULL ) + this->m_SeedWidget->EnabledOn( ); + if( this->m_BrushWidget.GetPointer( ) != NULL ) + this->m_BrushWidget->EnabledOn( ); + this->m_Viewer->Start( ); + if( this->m_SeedWidget.GetPointer( ) != NULL ) + this->m_SeedWidget->EnabledOff( ); + if( this->m_BrushWidget.GetPointer( ) != NULL ) + this->m_BrushWidget->EnabledOff( ); + } + + void AssociateSeedsTo( TFilter* filter ) + { + if( this->m_SeedWidget.GetPointer( ) != NULL ) + { + const ivq::VTK::SeedWidgetOverImageActor::TSeeds& wdg_seeds = + this->m_SeedWidget->GetSeeds( ); + ivq::VTK::SeedWidgetOverImageActor::TSeeds::const_iterator wsIt; + for( wsIt = wdg_seeds.begin( ); wsIt != wdg_seeds.end( ); ++wsIt ) + { + typename TInputImage::PointType pnt; + for( unsigned int i = 0; i < wsIt->second.size( ); i += 3 ) + { + pnt[ 0 ] = wsIt->second[ i ]; + pnt[ 1 ] = wsIt->second[ i + 1 ]; + + typename TInputImage::IndexType idx; + filter->GetInput( )->TransformPhysicalPointToIndex( pnt, idx ); + filter->AddSeed( idx ); + + } // rof + + } // rof + + } // fi + } + + void AssociateLabelsTo( TFilter* filter ) + { + if( this->m_BrushWidget.GetPointer( ) != NULL ) + { + typedef typename TFilter::TLabelImage _TLabelImage; + typedef itk::VTKImageToImageFilter< _TLabelImage > TITKImage; + typename TITKImage::Pointer itk_image = TITKImage::New( ); + itk_image->SetInput( this->m_BrushWidget->GetCanvas( ) ); + itk_image->Update( ); + filter->SetLabels( itk_image->GetOutput( ) ); + + } // fi + } + + void ObserveFilter( TFilter* filter ) + { + typedef fpa::Image::VisualDebugger2D< TFilter > _TDeb; + typedef typename TFilter::TEvent _TEvent; + typename _TDeb::Pointer deb = _TDeb::New( ); + deb->SetVisualization( + this->m_Viewer->GetRenderer( ), + this->m_Viewer->GetRenderWindow( )->GetInteractor( ) + ); + this->m_Observer1 = filter->AddObserver( itk::StartEvent( ), deb ); + this->m_Observer2 = filter->AddObserver( itk::EndEvent( ), deb ); + this->m_Observer3 = filter->AddObserver( _TEvent( ), deb ); + filter->VisualDebugOn( ); + } + + protected: + typedef itk::ImageToVTKImageFilter< TInputImage > TVTKInputImage; + typename TVTKInputImage::Pointer m_VTKInputImage; + vtkSmartPointer< ivq::VTK::ImageViewer > m_Viewer; + vtkSmartPointer< ivq::VTK::SeedWidgetOverImageActor > m_SeedWidget; + vtkSmartPointer< ivq::VTK::BrushWidget > m_BrushWidget; + unsigned long m_Observer1; + unsigned long m_Observer2; + unsigned long m_Observer3; + }; + #endif // USE_ivq + */ } // ecapseman