X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkCropImageGenericFilter.cxx;h=4adcb9bfadbae4ea0f1b5bc7fa6b9a385990f42e;hb=3566b753a5db63397cb87ca4dd84578238749ca4;hp=ede400746d028373718d3f3d45444ab6865a3468;hpb=497f4e3a54a75a1dce99ad4a94a3aaa1ea904323;p=clitk.git diff --git a/tools/clitkCropImageGenericFilter.cxx b/tools/clitkCropImageGenericFilter.cxx index ede4007..4adcb9b 100644 --- a/tools/clitkCropImageGenericFilter.cxx +++ b/tools/clitkCropImageGenericFilter.cxx @@ -69,7 +69,7 @@ typename clitk::CropImageGenericFilter::AutoCrop::ImagePointer clitk::CropImageGenericFilter::AutoCrop::Do(args_info_type &, ImagePointer, PixelDimType *) { clitkExceptionMacro("Autocrop is not implemented for vector fields"); - return NULL; + return ITK_NULLPTR; } //-------------------------------------------------------------------- @@ -182,11 +182,12 @@ void clitk::CropImageGenericFilter::UpdateWithInputImageType() typename ImageType::IndexType index = region.GetIndex(); typename ImageType::PointType origin = output->GetOrigin(); typename ImageType::SpacingType spacing = output->GetSpacing(); - if (mArgsInfo.verbose_flag) std::cout << "origin before crop " << origin << std::endl; - for (unsigned int i = 0; i < output->GetImageDimension(); i++) - origin[i] += index[i]*spacing[i]; - if (mArgsInfo.verbose_flag) std::cout << "origin after crop " << origin << std::endl; - output->SetOrigin(origin); + if (!mArgsInfo.BG_given) { + if (mArgsInfo.verbose_flag) std::cout << "origin before crop " << origin << std::endl; + input->TransformIndexToPhysicalPoint(index,origin); + if (mArgsInfo.verbose_flag) std::cout << "origin after crop " << origin << std::endl; + output->SetOrigin(origin); + } index.Fill(itk::NumericTraits::Zero); region.SetIndex(index);