X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkCropImageGenericFilter.h;h=fef610340a03dc7a5fe5985816bd48816f88ffd0;hb=543b72e23ad001ac2a7743b9beacf48e2d0054ac;hp=2a16b9dcf0447197821507fbf9f341b552c7ebd9;hpb=523a9f961d83eaed5ec3365a07b9f6be35b538f0;p=clitk.git diff --git a/tools/clitkCropImageGenericFilter.h b/tools/clitkCropImageGenericFilter.h old mode 100755 new mode 100644 index 2a16b9d..fef6103 --- a/tools/clitkCropImageGenericFilter.h +++ b/tools/clitkCropImageGenericFilter.h @@ -1,9 +1,9 @@ /*========================================================================= Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Authors belong to: + Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,60 +14,69 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #ifndef CLITKCROPIMAGEGENERICFILTER_H #define CLITKCROPIMAGEGENERICFILTER_H -// clitk +// clitk #include "clitkIO.h" #include "clitkImageToImageGenericFilter.h" #include "clitkCropLikeImageFilter.h" #include "clitkAutoCropFilter.h" +#include "clitkCropImage_ggo.h" // itk #include //-------------------------------------------------------------------- -namespace clitk +namespace clitk { - template class ITK_EXPORT CropImageGenericFilter: - public ImageToImageGenericFilter > + public ImageToImageGenericFilter { public: //-------------------------------------------------------------------- CropImageGenericFilter(); - + //-------------------------------------------------------------------- typedef CropImageGenericFilter Self; - typedef ImageToImageGenericFilter > Superclass; + typedef ImageToImageGenericFilter Superclass; typedef itk::SmartPointer Pointer; typedef itk::SmartPointer ConstPointer; - + typedef args_info_clitkCropImage args_info_type; + //-------------------------------------------------------------------- - itkNewMacro(Self); + itkNewMacro(Self); itkTypeMacro( CropImageGenericFilter, LightObject ); //-------------------------------------------------------------------- - void SetArgsInfo(const ArgsInfoType & a); + void SetArgsInfo(const args_info_type& a); //-------------------------------------------------------------------- // Main function called each time the filter is updated - template + template void UpdateWithInputImageType(); protected: + template + class AutoCrop + { + public: + typedef typename ImageType::Pointer ImagePointer; + ImagePointer Do(args_info_type &, ImagePointer); + private: + template struct PixelDimType {}; + template ImagePointer Do(args_info_type &,ImagePointer, PixelDimType *); + ImagePointer Do(args_info_type &, ImagePointer, PixelDimType<1> *); + }; + template void InitializeImageType(); - ArgsInfoType mArgsInfo; + args_info_type mArgsInfo; };// end class //-------------------------------------------------------------------- } // end namespace clitk -#ifndef ITK_MANUAL_INSTANTIATION -#include "clitkCropImageGenericFilter.txx" -#endif - #endif // #define CLITKCROPIMAGEGENERICFILTER_H