Astro::FITS::HdrTrans - Translate FITS headers to standardised form
use Astro::FITS::HdrTrans qw/ translate_from_FITS translate_to_FITS /;
%generic_headers = translate_from_FITS(\%FITS_headers);
%FITS_headers = translate_to_FITS(\%generic_headers);
@headers = Astro::FITS::HdrTrans->generic_headers(); @classes = Astro::FITS::HdrTrans->translation_classes();
Converts information contained in instrument-specific FITS headers to and from generic headers. A list of generic headers are given at the end of the module documentation.
Some class methods are available
Returns a list of all the generic headers that can in principal be used for header translation. Note that not all the instruments support all the headers.
@hdrs = Astro::FITS::HdrTrans->generic_headers();
Return the names of all the translation classes that will be tried when translating a FITS header.
@classes = Astro::FITS::HdrTrans->translation_classes();
If arguments are supplied, the list of translation classes is set to the supplied values.
Astro::FITS::HdrTrans->translation_classes( @new );
Revert back to the reference list of translation classes.
Astro::FITS::HdrTrans->reset_translation_classes;
Useful if the list has been modified for a specific translation.
Allows additional classes to be pushed on the list of valid translation classes.
Astro::FITS::HdrTrans->push_class( $class );
The class[es] can be specified either as a list or a reference to an array.
The following functions are available. They can be exported but are not exported by default.
Converts a hash containing instrument-specific FITS headers into a hash containing generic headers.
%generic_headers = translate_from_FITS(\%FITS_headers, class => \@classes, prefix => 'ORAC_', );
This method takes a reference to a hash containing untranslated headers, and a hash reference containing the following optional keys:
class - A reference to a list of subclasses to try to use for header
translations. This list overrides the default list. If left blank, the
default list will be used, as returned by the translation_classes
method. This is sometimes required to break degeneracy when you know
you have a limited set of valid instruments.
prefix - A string prefix to add to the front of every translated header name. For example, if this prefix is set to 'ORAC_', then the translated header for the instrument value, whose key is normally 'INSTRUMENT', will have a key named 'ORAC_INSTRUMENT'. The original keys will not be in the returned hash. If left blank, no prefix will be added.
This method returns a hash of generic headers. This function dies if the header translation fails in any way.
Converts a hash containing generic headers into one containing instrument-specific FITS headers.
%FITS_headers = translate_to_FITS(\%generic_headers, class => \@classes, );
This method takes a reference to a hash containing untranslated headers, and a hash reference containing the following optional keys:
class - A reference to a list of subclasses to try to use for header translations. This list overrides the default list. If left blank, the default list will be used.
prefix - A string prefix to remove from the generic header key
before doing header translation. Why you would want to do this
is if you've used a prefix in the translate_from_FITS call, and
want to translate back from the generic headers returned from
that method. If left blank, no prefix will be removed.
This method returns a hash of instrument-specific headers. This function dies if the header translation fails in any way.