[Previous] [Next] [Up] [Top]

Basic FITS Values

When a FITS header is scanned in memory or read from a file several basic values are retrieved from the header and stored in the FITSHead or FITSBasic structures. This structure may be accesed with the following macros:

    #define ft_ncards(fits)           ( fits->ncard )
    #define ft_cardnth(fits, nth)     ( ( nth <= fits->ncard )        \
                                            ? &fits->cards[nth-1]       \
                                            : NULL )

    #define ft_last(fits)             ft_cardnth(fits, fits->ncard)

    #define ft_swapped()              (*(short *)"001000" & 0x0001)
    #define ft_seek(fits)             ( fits->seek )

    typedef struct FITSHead {
            FITSCard     cards;
            FITSCard        *index;
            FITSCard         last;
            int          acard;
            int          ncard;

            int          mem;
            int          seek;
            int          data;

            FITSBasic    basic;
            FITSImage    image;
            FITSTable    table;
    } *FITSHead;


    #define ft_simple(fits)           ( fits->basic->simple   )
    #define ft_name(fits)             ( fits->basic->name     )
    #define ft_bitpix(fits)           ( fits->basic->bitpix   )
    #define ft_naxes(fits)            ( fits->basic->naxes    )
    #define ft_naxis(fits, i)         ( fits->basic->naxis[i-1])
    #define ft_pcount(fits)           ( fits->basic->pcount   )
    #define ft_gcount(fits)           ( fits->basic->gcount   )
    #define ft_databytes(fits)        ( fits->basic->databytes)
    #define ft_databloks(fits)        ( fits->basic->databloks)

    typedef struct FITSBasic {
            int  simple;
            char        *name;

            int  bitpix;
            int  naxes;
            int *naxis;

            int  gcount;
            int  pcount;

            int  databytes;
            int  databloks;
    } *FITSBasic;

[Previous] [Next] [Up] [Top]