HEASARC / cfitsio

C and Fortran library for reading and writing FITS files
19 stars 7 forks source link

Add basic TPV legacy support for IRAF #5

Closed olebole closed 8 months ago

olebole commented 8 months ago

Since IRAF implemented FITS support using cfitsio, it uses a patched version that adds TPV support. This support is very basic and just adds TPV as an alias to TAN, ignoring any PVij values; obviously just to support reading older files instead of returning an error.

This change survived in the community version of IRAF, and also in the independent IRAF fitsutil package maintained by NOIRLAB.

To keep compatibility here, it would be nice to have this in the main cfitsio package, allowing to link IRAF to the plain cfitsio library instead of maintaining a changed copy.

Cc @mjfitzpatrick @noirlab-iraf @noirlab-iraf-admin who may add more information about the use of TPV within IRAF.

bryanirby commented 8 months ago

Thanks Ole, we're looking into this update.

mjfitzpatrick commented 8 months ago

To clarify: IRAF does not use cfitsio for FITS support, that is implemented as an image kernel in the system and the TPV projection is fully implemented in the MWCS interface. CFITSIO is included in FITSUTIL only for the fpack/funpack tasks and although the TPV change was preserved recently, it is not used.

c181gordon commented 8 months ago

Thanks for submitting the patch. We have reservations about including this however, since it can give the impression that CFITSIO has full TPV support when it currently does not. It's true that this makes no difference if the PV keywords only have default values, but if they don't, users can be mislead into thinking the file is being handled correctly.

olebole commented 8 months ago

@mjfitzpatrick

To clarify: IRAF does not use cfitsio for FITS support, that is implemented as an image kernel in the system and the TPV projection is fully implemented in the MWCS interface. CFITSIO is included in FITSUTIL only for the fpack/funpack tasks and although the TPV change was preserved recently, it is not used.

Thank you for pointing this out. After cross-checking this, I am closing this PR as not needed: in IRAF, cfitsio is only used by libvotable to convert VO tables to fits tables before they are read in, and iraf-fitsutil needs only fpack/funpack; both is not affected by TPV support.