X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=plugins%2FITKImageGenericFilters_1%2FRegionOfInterestImageFilter.cxx;fp=plugins%2FITKImageGenericFilters_1%2FRegionOfInterestImageFilter.cxx;h=0000000000000000000000000000000000000000;hb=2e142df11d6f312a2a2b5097b8da73571ed523e8;hp=52ec23bfcc22aa6daaa724ddb56ec053ea5914b0;hpb=61b3659afe961ed248f30e26f9ca8f28fcfafddc;p=cpPlugins.git diff --git a/plugins/ITKImageGenericFilters_1/RegionOfInterestImageFilter.cxx b/plugins/ITKImageGenericFilters_1/RegionOfInterestImageFilter.cxx deleted file mode 100644 index 52ec23b..0000000 --- a/plugins/ITKImageGenericFilters_1/RegionOfInterestImageFilter.cxx +++ /dev/null @@ -1,79 +0,0 @@ -#include -#include -#include -#include - -#include -#include -#include - -// ------------------------------------------------------------------------- -cpPluginsITKImageGenericFilters_1::RegionOfInterestImageFilter:: -RegionOfInterestImageFilter( ) - : Superclass( ) -{ - typedef cpInstances::DataObjects::Image _TImage; - typedef cpInstances::DataObjects::BoundingBox _TBBox; - this->_ConfigureInput< _TImage >( "Input", true, false ); - this->_ConfigureInput< _TBBox >( "BoundingBox", true, false ); - this->_ConfigureOutput< _TImage >( "Output" ); -} - -// ------------------------------------------------------------------------- -cpPluginsITKImageGenericFilters_1::RegionOfInterestImageFilter:: -~RegionOfInterestImageFilter( ) -{ -} - -// ------------------------------------------------------------------------- -void cpPluginsITKImageGenericFilters_1::RegionOfInterestImageFilter:: -_GenerateData( ) -{ - auto o = this->GetInputData( "Input" ); - cpPlugins_Demangle_Image_ScalarPixels_AllDims_1( o, _GD0 ) - this->_Error( "Invalid input image." ); -} - -// ------------------------------------------------------------------------- -template< class _TImage > -void cpPluginsITKImageGenericFilters_1::RegionOfInterestImageFilter:: -_GD0( _TImage* input ) -{ - typedef cpInstances::DataObjects::BoundingBox _TBBox; - typedef itk::RegionOfInterestImageFilter< _TImage, _TImage > _TFilter; - typedef typename _TImage::IndexType _TIndex; - typedef typename _TImage::PointType _TPoint; - typedef typename _TImage::RegionType _TRegion; - typedef typename _TImage::SizeType _TSize; - - auto bb = this->GetInput< _TBBox >( "BoundingBox" ); - - _TRegion in_region = input->GetRequestedRegion( ); - _TIndex in_i0 = in_region.GetIndex( ); - _TIndex in_i1 = in_i0 + in_region.GetSize( ); - _TIndex i0, i1; - input->TransformPhysicalPointToIndex( bb->GetMinimum< _TPoint >( ), i0 ); - input->TransformPhysicalPointToIndex( bb->GetMaximum< _TPoint >( ), i1 ); - for( unsigned int d = 0; d < _TImage::ImageDimension; ++d ) - { - if( i0[ d ] < in_i0[ d ] ) i0[ d ] = in_i0[ d ]; - if( i1[ d ] > in_i1[ d ] ) i1[ d ] = in_i1[ d ]; - - } // rof - - _TSize size; - for( unsigned int d = 0; d < _TImage::ImageDimension; ++d ) - size[ d ] = i1[ d ] - i0[ d ]; - - _TRegion region; - region.SetIndex( i0 ); - region.SetSize( size ); - - auto filter = this->_CreateITK< _TFilter >( ); - filter->SetInput( input ); - filter->SetRegionOfInterest( region ); - filter->Update( ); - this->GetOutput( "Output" )->SetITK( filter->GetOutput( ) ); -} - -// eof - $RCSfile$