I want to allow the user to choose whether the field is created at the end of the BaseInterferogram processing, in my case OffAxisHologram. I want the option to not do this Fourier transform, so that I can feed the data directly into nrefocus in Fourier space for propagation. In a combined qpretrieve+nrefocus processing pipeline, this would remove two unnecessary FFT calls.
I think simply adding a parameter no_ifft, with default False, would do the trick. The only thing to keep in mind would be that when the user calls oah.field, oah.amp or oah.phase, they should be then calculated, if no_ifft=True.
In addition, I will be adding a similar idea to nrefocus so that it takes in a Fourier transform and then doesn't need to do the initial FFT.
For consistency, we should have the following params:
- nrefocus should have
input_domain='spatial' or 'fourier'
- qpretrieve and nrefocus should have
output_domain='spatial' or 'fourier'
- Aliases here could be:
- spatial = field, real
- fourier = frequency, fft
I want to allow the user to choose whether the field is created at the end of the
BaseInterferogramprocessing, in my caseOffAxisHologram. I want the option to not do this Fourier transform, so that I can feed the data directly intonrefocusin Fourier space for propagation. In a combinedqpretrieve+nrefocusprocessing pipeline, this would remove two unnecessary FFT calls.I think simply adding a parameter
no_ifft, with default False, would do the trick. The only thing to keep in mind would be that when the user callsoah.field,oah.amporoah.phase, they should be then calculated, ifno_ifft=True.In addition, I will be adding a similar idea to nrefocus so that it takes in a Fourier transform and then doesn't need to do the initial FFT.
For consistency, we should have the following params:
input_domain='spatial'or'fourier'output_domain='spatial'or'fourier'