Add S/N cube header keyword flexibility

Issue #14 on hold
Kasper Schmidt created an issue

While producing the S/N cube from scratch myself I wanted to test lsd_cat.py. I therefore downloaded s2n_opt_v250_candels-cdfs-15_v1.0.fits from arche and tried to run lsd_cat.py on it. However, that returned the error:

Required FITS header keywords from matched filtering with
lsd_cc_spectral.py & lsd_cc_spatial.py not present. ABORTING NOW!

This happens because the header keyword 'CCSPLYL0' from lsd_cc_spatial.py is missing in the header of the S/N cube from arche. This essentially means that the line detection in lsd_cat.py currently does not accept S/N cubes not generated with the LSDCat scripts (or modified to contain the lsd_cc_spectral.py & lsd_cc_spatial.py header keywords) including already existing S/N cubes on arche. It would be useful to either ignore the check on the header keywords and use values provided on the command line (or set to default values), or to have a simple tool to add the needed header keywords to existing S/N-cubes. This will make it easier for users to provide non-LSDCat S/N-cubes and/or S/N-cubes missing header keywords for whatever reason (like the S/N cubes on arche).

Comments (4)

  1. Christian Herenz repo owner

    Ah - I now got what was happening.

    The files you mention were likely generated with an earlier version of s2n_cube.py that did not moved the keywords from lsd_cc_spatial.py and lsd_cc_spectral.py through into the s2n_cube.py . Actually, running lsd_cat.py does not require this keywords at all, but it demands them to log them in the output catalogue. So this is just for reference.

    At some point, after the main analysis for the MW survey was done and when I started writing the lsd_cat paper, I modified some routines a bit, hence this screw-up now happens. However, the keywords CCSC and CCLC in the files spat_cced_spat_cced* contain the commands that where used to create the individual cross-correlated datacubes, and when these commands are run now they would write the right keywords in the header. Then you could use s2n-cube.py on these files again and then lsd_cat.py with our chosen values, and it would work. Again, the keywords do not affect the funcitonality of lsd_cat.py.

    Nevertheless, the keywords are indeed used, when running lsd_cat_measure.py, to define some initial regions on which the measurements are performed. Unfortunately, in the newest version, this routine also requires a different set of keywords that were not used in the previous version. (For the public version I changed lsd_cc_spatial.py to contain only max. 3 polyonomial coefficients, before it where 4, but we always set the 4th to zero, and now the value for lambda0 can be chosen freely, before it was always assumed to be fixed to 7050A - which is now the default value). So again, no results are affected, only the required bookeeping in the steps before has changed a bit.

    Still, I now added also the flexibility to ignore the required keywords in lsd_cat.py and to set them manually in lsd_cat_measure.py (with a "sensible" set of fall-back defaults if no values are in the header), so that these 2 routines could be used independently. I will commit this shortly, any further testing of this will be appreciated.

  2. Log in to comment