[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]