X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=itk%2FclitkCropLikeImageFilter.txx;h=6399ec6ac7e5419ca870e6e7cd61bf6b072810ef;hb=fc2b78aedceae6ebeb0dbe8aae649bc84fd8e235;hp=73dd7a7d1532f0f885d1a35f71296145b9691f9f;hpb=91669882f4625b286c9dbaeec147983da01fe286;p=clitk.git diff --git a/itk/clitkCropLikeImageFilter.txx b/itk/clitkCropLikeImageFilter.txx index 73dd7a7..6399ec6 100644 --- a/itk/clitkCropLikeImageFilter.txx +++ b/itk/clitkCropLikeImageFilter.txx @@ -23,9 +23,6 @@ #include "clitkCommon.h" #include "clitkPasteImageFilter.h" -// itk -//#include "itkPasteImageFilter.h" - //-------------------------------------------------------------------- template clitk::CropLikeImageFilter:: @@ -33,7 +30,7 @@ CropLikeImageFilter():itk::ImageToImageFilter() { this->SetNumberOfRequiredInputs(1); m_LikeImage = NULL; m_LikeFilenameIsGiven = false; - this->SetBackgroundValue(0); + this->SetBackgroundValue(typename PixelTraits::ValueType(0)); m_CropAlongThisDimension.resize(ImageType::ImageDimension); for(uint i=0; i +typename ImageType::Pointer +clitk::ResizeImageLike(const ImageType * input, + const itk::ImageBase * like, + typename ImageType::PixelType backgroundValue) +{ + typedef clitk::CropLikeImageFilter CropFilterType; + typename CropFilterType::Pointer cropFilter = CropFilterType::New(); + cropFilter->SetInput(input); + cropFilter->SetCropLikeImage(like); + cropFilter->SetBackgroundValue(backgroundValue); + cropFilter->Update(); + return cropFilter->GetOutput(); +} +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +template +typename ImageType::Pointer +clitk::ResizeImageLike(const ImageType * input, + typename itk::ImageBase::RegionType * region, + typename ImageType::PixelType backgroundValue) +{ + typename ImageType::Pointer output = ImageType::New(); + output->CopyInformation(input); + typename ImageType::RegionType reg; + reg.SetIndex(region->GetIndex()); + reg.SetSize(region->GetSize()); + output->SetRegions(reg); + output->Allocate(); + return clitk::ResizeImageLike(input, output, backgroundValue); +} +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +template +typename ImageType::Pointer +clitk::ResizeImageLike(const ImageType * input, + typename itk::BoundingBox::Pointer bb, + typename ImageType::PixelType BG) +{ + typename ImageType::RegionType region; + clitk::ComputeRegionFromBB(input, bb, region); + typename ImageType::Pointer output = ImageType::New(); + output->CopyInformation(input); + output->SetRegions(region); + output->Allocate(); + return clitk::ResizeImageLike(input, output, BG); +} +//-------------------------------------------------------------------- + +#endif //#define CLITKCROPLIKEIMAGEFILTER_TXX