From b82a7bb355028e6dab4503ece1ddab4583f47dcb Mon Sep 17 00:00:00 2001
From: valerio <valerio@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Wed, 25 Aug 2010 11:59:30 +0000
Subject: [PATCH] Added AbsoluteOrigin support to DiscreteShrink and Copy

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2672 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 modules/img/alg/src/discrete_shrink.cc | 3 +++
 modules/img/base/src/image_handle.cc   | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/modules/img/alg/src/discrete_shrink.cc b/modules/img/alg/src/discrete_shrink.cc
index 3398c820b..d3413f0f3 100644
--- a/modules/img/alg/src/discrete_shrink.cc
+++ b/modules/img/alg/src/discrete_shrink.cc
@@ -74,6 +74,8 @@ ImageStateBasePtr DiscreteShrinkFnc::VisitState(const ImageStateImpl<T,D>& isi)
 
   LOG_VERBOSE("ds: " << isi.GetExtent() << " " << new_ext << std::endl);
 
+
+  geom::Vec3 ao = isi.GetAbsoluteOrigin();
   PixelSampling new_ps = isi.GetSampling();
   new_ps.SetExtent(new_ext);
 
@@ -97,6 +99,7 @@ ImageStateBasePtr DiscreteShrinkFnc::VisitState(const ImageStateImpl<T,D>& isi)
 
   LOG_VERBOSE("ds: newstart: " << newstart << std::endl);
 
+  ni->SetAbsoluteOrigin(ao);
   ni->SetSpatialOrigin(newstart);
   ni->GetSampling().SetPixelSampling(CompMultiply(ni->GetSampling().GetPixelSampling(),Vec3(bs_[0],bs_[1],bs_[2])));
 
diff --git a/modules/img/base/src/image_handle.cc b/modules/img/base/src/image_handle.cc
index 712868a31..de4e5c5df 100644
--- a/modules/img/base/src/image_handle.cc
+++ b/modules/img/base/src/image_handle.cc
@@ -90,6 +90,9 @@ ImageHandle ImageHandle::Copy(bool cc) const
     copy constructor,with the cloned ImageStateBasePtr as a parameter.
     This new ptr on the heap is then in turn used to initialize the StatePtrPtr.
   */
+
+  ImageHandle copy_img = ImageHandle(StatePtrPtr(new ImageStateBasePtr(ImageStatePtr()->Clone(cc))));
+  copy_img.SetAbsoluteOrigin(ImageStatePtr()->GetAbsoluteOrigin());
   return ImageHandle(StatePtrPtr(new ImageStateBasePtr(ImageStatePtr()->Clone(cc))));
 }
 
-- 
GitLab