Variance plane operations.
The relevant definition are in include/lsst/afw/image/Pixel.h:375 and Pixel.h:391 in variance_multiplies and variance_plus template structures. For multiplication of two pixels the variance is cross-weighted: x2 * var_y + y2 * var_x
See also DM-16544.
The convolution kernel does not have any variance, but pixel variances are weighted by kernel^2^ values. In effect the variance plane is convolved by the square of the AL kernel solution. Assuming independent noise in the pixels, this is what expected. This means that convolution by a 10x10 pixel 1-sum kernel can modify the variance by a factor of 0.01 in the most extreme case.
The decorrelation afterburner
While swapping the two images in image differencing seems straightforward, regarding the variance plane of the difference image, the cases are asymmetric. If we convolve the negligible noise template, then the difference image inherits all the noise from the science image variance plane. If we convolve the science image, the variance in the science image decreases significantly due to the convolution. The difference image will have a lower level (and correlated) noise. It is then the task of the decorrelation afterburner to deconvolve and scale back the variance of the difference image. This functionality does not perform well at the moment.
- The decorrelation afterburner calculates a weighted inverse of the Fourier components of the convolution kernel to deconvolve the noise in an optimal way. In the limiting case of noiseless template, this reduces to the simple reciprocal Fourier components.
- In the decorrelation afterburner, the role of the two images are not symmetric, it assumes that the second image is matched to the first and subtracted from the first. This is addressed in this ticket branch. Swapping the input images breaks the science image preconvolution support in the decorrelator task, we disallow this configuration combination.
Conclusions
We note that applying the fix in this ticket, the decorrelated images are still bad quality:
- The variance plane is overcorrected by orders of magnitude. See the variance plane scale in the screenshot attached.
- Difference image is full of ringing artefacts. The implementation and the theoretical assumptions need further investigation.
For follow up investigation, DM-21868 is created.
Variance plane operations.
The relevant definition are in include/lsst/afw/image/Pixel.h:375 and Pixel.h:391 in variance_multiplies and variance_plus template structures. For multiplication of two pixels the variance is cross-weighted: x2 * var_y + y2 * var_x
See also
DM-16544.The convolution kernel does not have any variance, but pixel variances are weighted by kernel^2^ values. In effect the variance plane is convolved by the square of the AL kernel solution. Assuming independent noise in the pixels, this is what expected. This means that convolution by a 10x10 pixel 1-sum kernel can modify the variance by a factor of 0.01 in the most extreme case.
The decorrelation afterburner
While swapping the two images in image differencing seems straightforward, regarding the variance plane of the difference image, the cases are asymmetric. If we convolve the negligible noise template, then the difference image inherits all the noise from the science image variance plane. If we convolve the science image, the variance in the science image decreases significantly due to the convolution. The difference image will have a lower level (and correlated) noise. It is then the task of the decorrelation afterburner to deconvolve and scale back the variance of the difference image. This functionality does not perform well at the moment.
Conclusions
We note that applying the fix in this ticket, the decorrelated images are still bad quality:
For follow up investigation,
DM-21868is created.