Can we avoid "inverse" FFT completely?
I just looked through all places in Nifty4 where we still use FFTSmoothingOperator
(which implies the "inverse" harmonic transform which is not really defined on the sphere).
As far as I can tell, this is only really used in response operators to simulate blurring by the instrument. Here, the inverse harmonic transform is used to go from position space to harmonic space before applying the convolution kernel which performs the smoothing. BUT, since we decided to reconstruct our signals in harmonic space, this operation is immediately preceded by another harmonic transform which goes from harmonic space to position space! Typically, this happens in the form of
R = Instrument*fft
in our demo scripts.
So, I think we do not need the inverse harmonic transform at all!
All we should do is design the ResponseOperator
in a way that it directly goes from harmonic signal space to data space, and not (as it does at the moment) from positional signal space to data space. It will even make our codes faster, since we avoid an unnecessary pair of FFTs.
@ensslint, @parras, @reimar, @kjako, @dpumpe: is my reasoning OK or am I missing something?