X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpExtensions%2FAlgorithms%2FDiscontinuityMapImageFilter.h;fp=lib%2FcpExtensions%2FAlgorithms%2FDiscontinuityMapImageFilter.h;h=43f44c3c143e9a5c82dd2a142d8c0194f952d838;hb=c467ae02a4568c1c245d06ecd5b9ebfd2d0a3b99;hp=0000000000000000000000000000000000000000;hpb=9947c770b79585f718013305a956cf9473a4e0b2;p=cpPlugins.git diff --git a/lib/cpExtensions/Algorithms/DiscontinuityMapImageFilter.h b/lib/cpExtensions/Algorithms/DiscontinuityMapImageFilter.h new file mode 100644 index 0000000..43f44c3 --- /dev/null +++ b/lib/cpExtensions/Algorithms/DiscontinuityMapImageFilter.h @@ -0,0 +1,66 @@ +// ------------------------------------------------------------------------- +// @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co) +// ------------------------------------------------------------------------- + +#ifndef __cpExtensions__Algorithms__DiscontinuityMapImageFilter__h__ +#define __cpExtensions__Algorithms__DiscontinuityMapImageFilter__h__ + +#include +#include + +namespace cpExtensions +{ + namespace Algorithms + { + /** + */ + template< class _TInputImage > + class DiscontinuityMapImageFilter + : public itk::BoxImageFilter< _TInputImage, itk::Image< double, _TInputImage::ImageDimension > > + { + public: + typedef _TInputImage TInputImage; + typedef itk::Image< double, _TInputImage::ImageDimension > TOutputImage; + typedef DiscontinuityMapImageFilter Self; + typedef itk::BoxImageFilter< TInputImage, TOutputImage > Superclass; + typedef itk::SmartPointer< Self > Pointer; + typedef itk::SmartPointer< const Self > ConstPointer; + + typedef typename TInputImage::PixelType TInputPixel; + typedef typename TInputImage::RegionType TRegion; + typedef typename TOutputImage::PixelType TOutputPixel; + + public: + itkNewMacro( Self ); + itkTypeMacro( DiscontinuityMapImageFilter, itkBoxImageFilter ); + + itkBooleanMacro( UseSquareRoot ); + itkGetConstMacro( UseSquareRoot, bool ); + itkSetMacro( UseSquareRoot, bool ); + + protected: + DiscontinuityMapImageFilter( ); + virtual ~DiscontinuityMapImageFilter( ); + + virtual void ThreadedGenerateData( const TRegion& region, itk::ThreadIdType threadId ) override; + + private: + // Purposely not implemented. + DiscontinuityMapImageFilter( const Self& ); + void operator=( const Self& ); + + protected: + bool m_UseSquareRoot; + }; + + } // ecapseman + +} // ecapseman + +#ifndef ITK_MANUAL_INSTANTIATION +# include +#endif // ITK_MANUAL_INSTANTIATION + +#endif // __cpExtensions__Algorithms__DiscontinuityMapImageFilter__h__ + +// eof - $RCSfile$