logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Astro::FITS::Header::NDF - Manipulate FITS headers from NDF files

Authors

       Tim   Jenness   <t.jenness@jach.hawaii.edu>,   Alasdair   Allan   <aa@astro.ex.ac.uk>,   Brad    Cavanagh
       <b.cavanagh@jach.hawaii.edu>

Description

       This module makes use of the Starlink NDF module to read and write to an NDF FITS extension or to a
       ".HEADER" block in an HDS container file.  If the file is found to be an HDS container containing
       multiple NDFs at the top level, either the .HEADER NDF or the first NDF containing a FITS header is
       deemed to be the primary header, and all other headers a subsidiary headers indexed by the name of the
       NDF in the container.

       It stores information about a FITS header block in an object. Takes an hash as an argument, with either
       an array reference pointing to an array of FITS header cards, array of "Astro::FITS::Header::Item"
       objects, or a filename, or (alternatively) an NDF identifier.

       Currently, subheader support is readonly.

Methods

configure
           Reads a FITS header from an NDF.

             $hdr->configure( Cards => \@cards );
             $hdr->configure( ndfID => $indf );
             $hdr->configure( File => $filename );

           Accepts  an  NDF  identifier  or a filename. If both "ndfID" and "File" keys exist, "ndfID" key takes
           priority.

           If the file is actually an HDS container, an attempt will be made to read a ".HEADER" NDF inside that
           container (this is the standard layout of UKIRT (and some JCMT)  data  files).  If  an  extension  is
           specified  explicitly  (that is not ".sdf") that path is treated as an explicit path to an NDF. If an
           explicit path is specified no attempt is made to locate other NDFs in the HDS container.

           If the NDF can be opened successfully but there is  no  .MORE.FITS  extension,  an  empty  header  is
           returned rather than throwing an error.

       writehdr
           Write a FITS header to an NDF.

             $hdr->writehdr( ndfID => $indf );
             $hdr->writehdr( File => $file );

           Accepts  an  NDF  identifier or a filename.  If both "ndfID" and "File" keys exist, "ndfID" key takes
           priority.

           Throws an exception (croaks) on error.

Name

       Astro::FITS::Header::NDF - Manipulate FITS headers from NDF files

Notes

       This module requires the Starlink NDF module.

See Also

       NDF, Astro::FITS::Header, Astro::FITS::Header::Item Astro::FITS::Header::CFITSIO

Synopsis

         use Astro::FITS::Header::NDF;

         $hdr = new Astro::FITS::Header::NDF( Cards => \@cards );
         $hdr = new Astro::FITS::Header::NDF( Items => \@items );
         $hdr = new Astro::FITS::Header::NDF( ndfID => $indf );
         $hdr = new Astro::FITS::Header::NDF( File => $file );

         $hdr->writehdr( $indf );
         $hdr->writehdr( File => $file );

See Also