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