From 4679d0f9b059b7c0aae83529f6efba49a3f1f765 Mon Sep 17 00:00:00 2001 From: Andreas Schenk <andreas_schenk@hms.harvard.edu> Date: Mon, 18 Jun 2012 18:20:35 -0400 Subject: [PATCH] copy absolute origin during FFT --- modules/img/alg/src/fft.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/img/alg/src/fft.cc b/modules/img/alg/src/fft.cc index 49fc3f626..a924a0fe6 100644 --- a/modules/img/alg/src/fft.cc +++ b/modules/img/alg/src/fft.cc @@ -118,6 +118,7 @@ ImageStateBasePtr FFTFnc::VisitState<Real,SpatialDomain>(const RealSpatialImageS boost::shared_ptr<ComplexHalfFrequencyImageState> out_state(new ComplexHalfFrequencyImageState(in_size,ps)); out_state->SetSpatialOrigin(in_state.GetSpatialOrigin()); + out_state->SetAbsoluteOrigin(in_state.GetAbsoluteOrigin()); assert(sizeof(OST_FFTW_fftw_complex)==sizeof(Complex)); OST_FFTW_fftw_complex* fftw_out = @@ -211,6 +212,7 @@ ImageStateBasePtr FFTFnc::VisitState<Complex,HalfFrequencyDomain>(const ComplexH Size out_size = in_state.GetLogicalExtent().GetSize(); boost::shared_ptr<RealSpatialImageState> out_state(new RealSpatialImageState(out_size,tmp_state.Data(),ps )); out_state->SetSpatialOrigin(in_state.GetSpatialOrigin()); + out_state->SetAbsoluteOrigin(in_state.GetAbsoluteOrigin()); Real* out_ptr = out_state->Data().GetData(); @@ -252,6 +254,7 @@ ImageStateBasePtr FFTFnc::VisitState<Complex,SpatialDomain>(const ComplexSpatial ps.SetDomain(FREQUENCY); boost::shared_ptr<ComplexFrequencyImageState> out_state(new ComplexFrequencyImageState(size,ps)); out_state->SetSpatialOrigin(in_state.GetSpatialOrigin()); + out_state->SetAbsoluteOrigin(in_state.GetAbsoluteOrigin()); out_state->Data()=in_state.Data(); // use assignement op to copy data area to new state int rank = size.GetDim(); @@ -291,6 +294,7 @@ ImageStateBasePtr FFTFnc::VisitState<Complex,FrequencyDomain>(const ComplexFrequ // use memory located for tmp boost::shared_ptr<ComplexSpatialImageState> out_state(new ComplexSpatialImageState(size,tmp.Data(),ps)); out_state->SetSpatialOrigin(in_state.GetSpatialOrigin()); + out_state->SetAbsoluteOrigin(in_state.GetAbsoluteOrigin()); int rank = size.GetDim(); int n[3] = {size[0],size[1],size[2]}; -- GitLab