X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=itk%2FclitkCropLikeImageFilter.txx;h=93644a57c57f9a4a664de713aaab5524b603b06d;hb=39562adceed3b608834959f2ed079b945187bb22;hp=28772392ff7fff31a4b9b738b5a08e69909832e3;hpb=6194949c0beb1589904e22381b9aba1bbface172;p=clitk.git diff --git a/itk/clitkCropLikeImageFilter.txx b/itk/clitkCropLikeImageFilter.txx index 2877239..93644a5 100644 --- a/itk/clitkCropLikeImageFilter.txx +++ b/itk/clitkCropLikeImageFilter.txx @@ -21,9 +21,7 @@ // clitk #include "clitkCommon.h" - -// itk -#include "itkPasteImageFilter.h" +#include "clitkPasteImageFilter.h" //-------------------------------------------------------------------- template @@ -228,7 +226,7 @@ GenerateData() { output->FillBuffer(GetBackgroundValue()); // Paste image inside - typedef itk::PasteImageFilter PasteFilterType; + typedef clitk::PasteImageFilter PasteFilterType; typename PasteFilterType::Pointer pasteFilter = PasteFilterType::New(); //pasteFilter->ReleaseDataFlagOn(); // change nothing ? // pasteFilter->InPlaceOn(); // makt it seg fault @@ -243,5 +241,56 @@ GenerateData() { } //-------------------------------------------------------------------- - -#endif //#define CLITKAUTOCROPFILTER + +//-------------------------------------------------------------------- +template +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); + output->SetRegions(region); + 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