]> Creatis software - clitk.git/blobdiff - tools/clitkCropImageGenericFilter.cxx
Add windows maths include
[clitk.git] / tools / clitkCropImageGenericFilter.cxx
index d46f20e461a02f8a90c4e07784049b03b1ad6225..c3343f6d3913b073a5bdec7070676e75366cf8ed 100644 (file)
 #ifndef clitkCropImageGenericFilter_cxx
 #define clitkCropImageGenericFilter_cxx
 
-/* =================================================
- * @file   clitkCropImageGenericFilter.cxx
- * @author 
- * @date   
- * 
- * @brief 
- * 
- ===================================================*/
-
 #include "clitkCropImageGenericFilter.h"
 
-
 //-----------------------------------------------------------
 // Constructor
 //-----------------------------------------------------------
@@ -192,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<double>::Zero);
   region.SetIndex(index);