Skip to content
Snippets Groups Projects
Commit 4679d0f9 authored by Andreas Schenk's avatar Andreas Schenk Committed by Ansgar Philippsen
Browse files

copy absolute origin during FFT

parent 59057aec
No related branches found
No related tags found
No related merge requests found
...@@ -118,6 +118,7 @@ ImageStateBasePtr FFTFnc::VisitState<Real,SpatialDomain>(const RealSpatialImageS ...@@ -118,6 +118,7 @@ ImageStateBasePtr FFTFnc::VisitState<Real,SpatialDomain>(const RealSpatialImageS
boost::shared_ptr<ComplexHalfFrequencyImageState> out_state(new ComplexHalfFrequencyImageState(in_size,ps)); boost::shared_ptr<ComplexHalfFrequencyImageState> out_state(new ComplexHalfFrequencyImageState(in_size,ps));
out_state->SetSpatialOrigin(in_state.GetSpatialOrigin()); out_state->SetSpatialOrigin(in_state.GetSpatialOrigin());
out_state->SetAbsoluteOrigin(in_state.GetAbsoluteOrigin());
assert(sizeof(OST_FFTW_fftw_complex)==sizeof(Complex)); assert(sizeof(OST_FFTW_fftw_complex)==sizeof(Complex));
OST_FFTW_fftw_complex* fftw_out = OST_FFTW_fftw_complex* fftw_out =
...@@ -211,6 +212,7 @@ ImageStateBasePtr FFTFnc::VisitState<Complex,HalfFrequencyDomain>(const ComplexH ...@@ -211,6 +212,7 @@ ImageStateBasePtr FFTFnc::VisitState<Complex,HalfFrequencyDomain>(const ComplexH
Size out_size = in_state.GetLogicalExtent().GetSize(); Size out_size = in_state.GetLogicalExtent().GetSize();
boost::shared_ptr<RealSpatialImageState> out_state(new RealSpatialImageState(out_size,tmp_state.Data(),ps )); boost::shared_ptr<RealSpatialImageState> out_state(new RealSpatialImageState(out_size,tmp_state.Data(),ps ));
out_state->SetSpatialOrigin(in_state.GetSpatialOrigin()); out_state->SetSpatialOrigin(in_state.GetSpatialOrigin());
out_state->SetAbsoluteOrigin(in_state.GetAbsoluteOrigin());
Real* out_ptr = out_state->Data().GetData(); Real* out_ptr = out_state->Data().GetData();
...@@ -252,6 +254,7 @@ ImageStateBasePtr FFTFnc::VisitState<Complex,SpatialDomain>(const ComplexSpatial ...@@ -252,6 +254,7 @@ ImageStateBasePtr FFTFnc::VisitState<Complex,SpatialDomain>(const ComplexSpatial
ps.SetDomain(FREQUENCY); ps.SetDomain(FREQUENCY);
boost::shared_ptr<ComplexFrequencyImageState> out_state(new ComplexFrequencyImageState(size,ps)); boost::shared_ptr<ComplexFrequencyImageState> out_state(new ComplexFrequencyImageState(size,ps));
out_state->SetSpatialOrigin(in_state.GetSpatialOrigin()); 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 out_state->Data()=in_state.Data(); // use assignement op to copy data area to new state
int rank = size.GetDim(); int rank = size.GetDim();
...@@ -291,6 +294,7 @@ ImageStateBasePtr FFTFnc::VisitState<Complex,FrequencyDomain>(const ComplexFrequ ...@@ -291,6 +294,7 @@ ImageStateBasePtr FFTFnc::VisitState<Complex,FrequencyDomain>(const ComplexFrequ
// use memory located for tmp // use memory located for tmp
boost::shared_ptr<ComplexSpatialImageState> out_state(new ComplexSpatialImageState(size,tmp.Data(),ps)); boost::shared_ptr<ComplexSpatialImageState> out_state(new ComplexSpatialImageState(size,tmp.Data(),ps));
out_state->SetSpatialOrigin(in_state.GetSpatialOrigin()); out_state->SetSpatialOrigin(in_state.GetSpatialOrigin());
out_state->SetAbsoluteOrigin(in_state.GetAbsoluteOrigin());
int rank = size.GetDim(); int rank = size.GetDim();
int n[3] = {size[0],size[1],size[2]}; int n[3] = {size[0],size[1],size[2]};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment