Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-6162

Investigate how the diffim decorrelation correction works for the case of non-uniform PSFs and noise

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      It is not clear whether, or how, the diffim decorrelation convolution kernel (PCK; see DM-5914) will work for non-uniform PSFs or noise/variance. This will be investigated using the simple implementation from DM-5914.

      Tasks:
      1. Determine whether variation in the PCK across the field is significant enough to matter for typical LSST images
      2. If it does matter, investigate options for performing interpolation of the PCK across the field, or via calculating the PCK across the field from the spatially-varying matching kernel.

      Report related to this research will be added to the relevant technote (DMTN-021).

        Attachments

          Issue Links

            Activity

            Hide
            reiss David Reiss added a comment -

            Research is summarized in this notebook and in DMTN-021.

            Investigation of generating and using spatially-varying kernel is now underway.

            Show
            reiss David Reiss added a comment - Research is summarized in this notebook and in DMTN-021 . Investigation of generating and using spatially-varying kernel is now underway.
            Hide
            reiss David Reiss added a comment - - edited

            The work of DM-7376 revealed an extreme case of when a spatially-varying decorrelation kernel would be necessary. This was investigated in an IPython notebook, where the extreme spatial variation in image noise and PSF matching kernel was carried through to a spatially-varying decorrelation kernel on a 10x10 grid covering the image.

            Following up, I investigated a methodology to construct a spatially-varying convolution kernel based upon linear interpolation of the pixels in these gridded decorrelation kernels. This may be viewed here (note that these notebooks will be moved to lsst-dev ASAP). In principle it would be possible to use something like afwMath.LanczosFunction2D to parameterize a afwMath.LinearCombinationKernel that effectively "interpolates" the kernel between the kernel images that were computed on the grid. There is an example of this type of calculation in the notebook. A disadvantage of this method would be (in the case of using a 10x10 grid of kernels to interpolate) that it will end up doing 100 convolutions (if my understanding of how convolution using LinearCombinationKernels is implemented).

            An alternative to using the Lanczos function would be to write a Function2 subclass that simply computes a linear interpolation between neighboring pixels. This will have to be done in C++ and swig wrapped.

            Show
            reiss David Reiss added a comment - - edited The work of DM-7376 revealed an extreme case of when a spatially-varying decorrelation kernel would be necessary. This was investigated in an IPython notebook , where the extreme spatial variation in image noise and PSF matching kernel was carried through to a spatially-varying decorrelation kernel on a 10x10 grid covering the image. Following up, I investigated a methodology to construct a spatially-varying convolution kernel based upon linear interpolation of the pixels in these gridded decorrelation kernels. This may be viewed here (note that these notebooks will be moved to lsst-dev ASAP). In principle it would be possible to use something like afwMath.LanczosFunction2D to parameterize a afwMath.LinearCombinationKernel that effectively "interpolates" the kernel between the kernel images that were computed on the grid. There is an example of this type of calculation in the notebook. A disadvantage of this method would be (in the case of using a 10x10 grid of kernels to interpolate) that it will end up doing 100 convolutions (if my understanding of how convolution using LinearCombinationKernels is implemented). An alternative to using the Lanczos function would be to write a Function2 subclass that simply computes a linear interpolation between neighboring pixels. This will have to be done in C++ and swig wrapped.
            Hide
            reiss David Reiss added a comment -

            I am considering this done. Some additional work will need to be done to verify the Lanczos interpolation / LinearCombinationKernel idea, but I am confident that it will work.

            Show
            reiss David Reiss added a comment - I am considering this done. Some additional work will need to be done to verify the Lanczos interpolation / LinearCombinationKernel idea, but I am confident that it will work.

              People

              Assignee:
              reiss David Reiss
              Reporter:
              reiss David Reiss
              Watchers:
              David Reiss
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins

                  No builds found.