taskGNU Astronomy Utilities - Tasks: task #14775, Convolution with varying...


You are not allowed to post comments on this tracker with your current authentication level.

task #14775: Convolution with varying PSF/Kernel over the image

Submitted by:  Mohammad Akhlaghi <makhlaghi>
Submitted on:  Fri 15 Dec 2017 05:03:32 PM UTC  
Should Start On:  Thu 14 Dec 2017 11:00:00 PM UTC Should be Finished on:  Thu 14 Dec 2017 11:00:00 PM UTC
Category:  Convolve Priority:  5 - Normal
Item Group:  Enhancement Status:  Postponed
Privacy:  Public Percent Complete:  0%
Assigned to:  None Open/Closed:  Open
Effort:  0.00

Sat 16 Dec 2017 03:50:15 PM UTC, comment #2: 

After re-reading the suggestion, I thought of adding some further clarifications to the suggestion before:

1. By "If the kernels are all the same size ...", I meant the size of the kernel image (number of pixels it contains), not its FWHM. So for example, a kernel with a smaller FWHM would be padded with zeros to have the same image pixel "size" as that of a larger FWHM kernel. Ofcourse, it would be much more efficient if each image only has the number of pixels necessary to contain it. But that needs a little work (in checking the edges especially).

The kernel can also be larger than the image, although edge effects might not be negligible in such cases (see the edge effects in the spatial or frequency domain).

2. In the suggested scenario (which is based on Gnuastro's modular nature), the PSF interpolation (what region of the image needs what kernel) should be done by another program. Such an interpolation is beyond the scope of the Convolve program (for modularity).

A separate program (maybe called "Interpolate" and called on the command-line with `astinterpolate') can be added for such interpolations which can also do things like interpolating over blank pixels and generally any kind of interpolation/extrapolation.

As in any interpolation, we can go to the highest resolution (estimate a kernel for each pixel). But the basic idea of this scenario is this: how realistic is such (infinite) accuracy? Given all the error sources we have and also in the distant wings of the PSF which are the main concern, and our limited computing power, certain regions can reliably be considered as having/needing the same kernel.

But the important thing is that if this hypothetical interpolation program doesn't do what a user wants, the user can always define their own labels and kernels using their own tools (to the maximum resolution, if they want) and feed them into Convolve.

Mohammad Akhlaghi <makhlaghi>
Project Administrator
Sat 16 Dec 2017 01:54:23 AM UTC, comment #1: 

This is just a brainstorm which only works in the spatial domain.

Convolve can take a labeled image (the same size as the input) which will tell it that we want a varying PSF. It will also take multiple kernels (through multiple calls to `--kernel').

The label on each pixel can be used to identify which kernel should be used to convolve that pixel (in the order that the user input the kernels).

So for example Convolve can be called with a command like this:

$ astconvolve image.fits --labels=labels.fits --kernel=kernel1.fits \
              --kernel=kernel2.fits --kernel=kernel3.fits

For a simple example, if the image is 5x5, the following labeled image will tell Convolve which kernel to use for which pixel. If the pixel has a label of 1, then `kernel1.fits' will be used to convolve it. Similarly, if it has a label of 2 or 3, then `kernel2.fits' and `kernel3.fits' will be used respectively.

3 3 2 3 3
3 2 1 2 3
3 1 1 1 3
3 2 1 2 3
3 3 2 3 3

If the kernels are all the same size, this is very easy to implement in the spatial domain. We can later do some work to allow various sizes.

The great thing with this method is that it is completely non-parametric: the kernels can be completely independent and can have any shape and the their positioning is also completely free over the image.

MakeProfiles (though its cercumference profile) can be used to make such a labeled image in a circular/elliptical shape over an image.

I currently can't think how such a varying PSF can be implemented in the frequency domain. I must confess I still haven't had the chance to go over the two references of the previous post. I just thought of putting this here before I forget (I don't have the time to implement it anyway now).

If you see any issues in this strategy, or have a better proposal, please share your thoughts here so we can discuss it until a good solution is found.

Mohammad Akhlaghi <makhlaghi>
Project Administrator
Fri 15 Dec 2017 05:03:32 PM UTC, original submission:  

Currently the Convolve program can only take a single kernel to convolve the image with. This is the most basic/simple situation. To be more realistic, it would be good if Convolve can apply a varying a PSF across the dataset.

Here are two software that contain such functionality: in the LSST pipeline   EGG.

This task and the links were suggested by David Valls-Gabaud.

Mohammad Akhlaghi <makhlaghi>
Project Administrator


No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by makhlaghi (Submitted the item)
  • -email is unavailable- added by makhlaghi

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follows 1 latest change.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-12-15 makhlaghi Carbon-Copy- => Added david.valls-gabaud@obspm.fr

    Back to the top

    Powered by Savane 3.5