-
Notifications
You must be signed in to change notification settings - Fork 12
Description
Describe the bug
The two Gaussian convolution layers, images.GaussConvFourier and images.GaussConvImage, do not yield consistent results when considering elliptical beams with some non-zero rotation value Omega.
It appears the images.GaussConvFourier routine is consistent with our convention expectations (positive Omega is rotated from North towards East, 0 degrees has FWHM_maj aligned with N-S) whileimages.GaussConvImage follows the opposite convention.
See the output of the images.test_GaussConvFourier_rotate and images.test_GaussConvImage_rotate tests.
Screenshots
The routines appear to be consistent for Omega = 0.


But look noticeably different for Omega = 30. Compare the struts/veins in the lower half of the butterflies wings in the right vs. left wings. The GaussConvImage appears to give the expected result, where struts aligned with the beam major axis look sharpest.


Suggested fix
- Investigate what is flipped inside the
GaussConvFourierroutine with regards to the beam. - Write a new test directly comparing the per-pixel output from images sent through both routines, for some non-zero and non-symmetric rotation.
- Also, the Omega=0 results look less consistent than expected, so further tests to investigate these discrepancies.