#ifndef __FPAPLUGINS__BASEIMAGEFILTER__HXX__
#define __FPAPLUGINS__BASEIMAGEFILTER__HXX__
+#include <cpExtensions/DataStructures/ImageIndexesContainer.h>
#include <fpa_Instances/Observers.h>
-#include <itkSimpleDataObjectDecorator.h>
-/* TODO
- #include <cpPlugins/Image.h>
- #include <fpa/VTK/Image2DObserver.h>
- #include <fpa/VTK/Image3DObserver.h>
- #include <vtkRenderWindowInteractor.h>
-
- #include <fpa/VTK/Image2DObserver.hxx>
- #include <fpa/VTK/Image3DObserver.hxx>
-*/
// -------------------------------------------------------------------------
template< class _TFilter >
_TFilter* fpaPlugins::BaseImageFilter::
_ConfigureFilter( )
{
- typedef typename _TFilter::TInputImage _TImage;
- typedef typename _TImage::IndexType _TIndex;
- typedef itk::Point< double, _TImage::ImageDimension > _TPoint;
- typedef itk::SimpleDataObjectDecorator< std::vector< _TPoint > > _TPoints;
- typedef itk::SimpleDataObjectDecorator< std::vector< _TIndex > > _TIndexes;
+ typedef typename _TFilter::TInputImage _TImage;
+ static const unsigned int Dim = _TImage::ImageDimension;
+ typedef
+ cpExtensions::DataStructures::ImageIndexesContainer< Dim >
+ _TIndexes;
auto image = this->GetInputData( "Input" )->GetITK< _TImage >( );
if( image == NULL )
return( NULL );
- auto points = this->GetInputData( "Seeds" )->GetITK< _TPoints >( );
auto indexes = this->GetInputData( "Seeds" )->GetITK< _TIndexes >( );
// Create filter and connect input
// Assign seeds
filter->ClearSeeds( );
- if( points != NULL )
- {
- for(
- auto pIt = points->Get( ).begin( );
- pIt != points->Get( ).end( );
- ++pIt
- )
- {
- _TIndex idx;
- if( image->TransformPhysicalPointToIndex( *pIt, idx ) )
- filter->AddSeed( idx, 0 );
-
- } // rof
- }
- else if( indexes != NULL )
+ if( indexes != NULL )
{
- for(
- auto iIt = indexes->Get( ).begin( );
- iIt != indexes->Get( ).end( );
- ++iIt
- )
+ auto iIt = indexes->Get( ).begin( );
+ for( ; iIt != indexes->Get( ).end( ); ++iIt )
filter->AddSeed( *iIt, 0 );
} // fi
_ConfigureDebugger( _TFilter* filter )
{
typedef typename _TFilter::TInputImage _TImage;
- typedef fpa::VTK::Image2DObserver< _TFilter, vtkRenderWindow > _2D;
- typedef fpa::VTK::Image3DObserver< _TFilter, vtkRenderWindow > _3D;
+ typedef fpa::VTK::Image::Observer2D< _TFilter, vtkRenderWindow > _2D;
+ typedef fpa::VTK::Image::Observer3D< _TFilter, vtkRenderWindow > _3D;
this->m_Observers.clear( );
if( this->m_Parameters.GetBool( "VisualDebug" ) )