This work is a superset of #727, and includes a larger reorganization of WCS projection support. One note: the WCS standard does not support Alt-Az / Az-El horizon coordinates. Currently the code uses the RA/DEC CTYPE for that case, but I am open to suggestions if there is some common convention for CTYPE in that case.
Changes in this PR include:
Move the application of source centering in the projection to a separate helper function in pointing_utils.py. Thanks to @gabrielecoppi for identifying this fix. Optionally use this new function when computing the scan range for autoscaling.
In PixelsWCS:
Add a new general class method that computes the WCS parameters.
Add support for SFL projection.
Allow projection traits to be changed in any order and only recompute the WCS if needed when exec() is called.
Default to a single submap, which is the most efficient choice for the common case of data distributed by detector and many observations co-incident on the sky.
In the PixelsWCS unit tests:
Ensure projection and plotting works for every supported projection type with both fixed parameters and autoscaling.
Test mapmaking in both normal mode and with source-centered projections in RA/DEC and Az/El.
In plot_wcs_maps:
Set the figure size based on the DPI and the actual size of the image in pixels.
Set the unhit pixels to gray.
Allow specifying the color map, and default to one of the perceptially uniform ones.
Some examples from unit tests showing projection and plotting defaults (input data was noise):
This work is a superset of #727, and includes a larger reorganization of WCS projection support. One note: the WCS standard does not support Alt-Az / Az-El horizon coordinates. Currently the code uses the RA/DEC CTYPE for that case, but I am open to suggestions if there is some common convention for CTYPE in that case.
Changes in this PR include:
Move the application of source centering in the projection to a separate helper function in
pointing_utils.py
. Thanks to @gabrielecoppi for identifying this fix. Optionally use this new function when computing the scan range for autoscaling.In
PixelsWCS
:In the PixelsWCS unit tests:
In
plot_wcs_maps
:Some examples from unit tests showing projection and plotting defaults (input data was noise):