X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpExtensions%2FAlgorithms%2FImageToBoundingBoxFromThreshold.hxx;fp=lib%2FcpExtensions%2FAlgorithms%2FImageToBoundingBoxFromThreshold.hxx;h=0000000000000000000000000000000000000000;hb=2e142df11d6f312a2a2b5097b8da73571ed523e8;hp=55659eb3e0eb5e80c98f93fe9c545aed5c5abdf7;hpb=61b3659afe961ed248f30e26f9ca8f28fcfafddc;p=cpPlugins.git diff --git a/lib/cpExtensions/Algorithms/ImageToBoundingBoxFromThreshold.hxx b/lib/cpExtensions/Algorithms/ImageToBoundingBoxFromThreshold.hxx deleted file mode 100644 index 55659eb..0000000 --- a/lib/cpExtensions/Algorithms/ImageToBoundingBoxFromThreshold.hxx +++ /dev/null @@ -1,89 +0,0 @@ -// ------------------------------------------------------------------------- -// @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co) -// ------------------------------------------------------------------------- - -#ifndef __cpExtensions__Algorithms__ImageToBoundingBoxFromThreshold__hxx__ -#define __cpExtensions__Algorithms__ImageToBoundingBoxFromThreshold__hxx__ - -#include -#include - -// ------------------------------------------------------------------------- -template< class _TImage > -void cpExtensions::Algorithms::ImageToBoundingBoxFromThreshold< _TImage >:: -Compute( ) -{ - typedef itk::ImageRegionConstIteratorWithIndex< _TImage > _TIt; - - TIndex min_idx, max_idx; - min_idx.Fill( 0 ); - max_idx.Fill( -1 ); - - if( this->m_Image.IsNotNull( ) ) - { - auto region = this->m_Image->GetRequestedRegion( ); - min_idx = max_idx = region.GetIndex( ); - min_idx += region.GetSize( ); - - _TIt i( this->m_Image, region ); - for( i.GoToBegin( ); !i.IsAtEnd( ); ++i ) - { - auto v = i.Get( ); - if( this->m_LowerThreshold <= v && v <= this->m_UpperThreshold ) - { - auto idx = i.GetIndex( ); - for( unsigned int d = 0; d < _TImage::ImageDimension; ++d ) - { - min_idx[ d ] = ( idx[ d ] < min_idx[ d ] )? idx[ d ]: min_idx[ d ]; - max_idx[ d ] = ( idx[ d ] > max_idx[ d ] )? idx[ d ]: max_idx[ d ]; - - } // rof - - } // fi - - } // rof - - // Fix indices - for( unsigned int d = 0; d < _TImage::ImageDimension; ++d ) - { - min_idx[ d ] -= long( this->m_PAD ); - max_idx[ d ] += long( this->m_PAD ); - - if( min_idx[ d ] < region.GetIndex( )[ d ] ) - min_idx[ d ] = region.GetIndex( )[ d ]; - if( max_idx[ d ] > region.GetIndex( )[ d ] + region.GetSize( )[ d ] ) - max_idx[ d ] = region.GetIndex( )[ d ] + region.GetSize( )[ d ]; - - } // rof - - } // fi - - typename _TImage::SizeType size; - for( unsigned int d = 0; d < _TImage::ImageDimension; ++d ) - size[ d ] = max_idx[ d ] - min_idx[ d ] + 1; - - this->m_Region.SetIndex( min_idx ); - this->m_Region.SetSize( size ); -} - -// ------------------------------------------------------------------------- -template< class _TImage > -cpExtensions::Algorithms::ImageToBoundingBoxFromThreshold< _TImage >:: -ImageToBoundingBoxFromThreshold( ) - : Superclass( ), - m_LowerThreshold( std::numeric_limits< TPixel >::min( ) ), - m_UpperThreshold( std::numeric_limits< TPixel >::max( ) ), - m_PAD( 0 ) -{ -} - -// ------------------------------------------------------------------------- -template< class _TImage > -cpExtensions::Algorithms::ImageToBoundingBoxFromThreshold< _TImage >:: -~ImageToBoundingBoxFromThreshold( ) -{ -} - -#endif // __cpExtensions__Algorithms__ImageToBoundingBoxFromThreshold__hxx__ - -// eof - $RCSfile$