home *** CD-ROM | disk | FTP | other *** search
/ Encyclopedia of Graphics File Formats Companion / GFF_CD.ISO / software / unix / saoimage / sao1_07.tar / hfiles / image.h < prev    next >
C/C++ Source or Header  |  1989-11-20  |  3KB  |  61 lines

  1. #ifndef lint
  2. static char SccsImageId[] = "%W%  %G%";
  3. #endif
  4.  
  5. /* Module:    Image.h
  6.  * Purpose:    Define the struct for image reading & manipulation parameters
  7.  * Modified:    {0} Michael VanHilst    initial version          24 January 1989
  8.  *        {n} <who> -- <does what> -- <when>
  9.  */
  10.  
  11. struct imageRec {
  12.   char *filename;        /* name of image file */
  13.   int fd;            /* open handle of image file */
  14.   int headersize;        /* bytes at top of file used for header */
  15.   char *header;            /* stored header */
  16.   int file_type;        /* type of file (array,fits,iraf,etc) */
  17.   int storage_type;        /* code for file storage (short, real, etc) */
  18.   int bytepix;            /* number of bytes for pixel of data */
  19.   int nimage;            /* number of image if more than one in file */
  20.   int keep_data;        /* flag to keep file data in memory */
  21.   int byte_swap;        /* flag to byte swap data after reading file */
  22.   int row_order;        /* row one as top or bottom */
  23.   int index_base;        /* 0 or 1 based index */
  24.   int rotate_code;        /* rotation to apply */
  25.   int block_type;        /* type of blocked file reading */
  26.   int filecols, filerows;    /* dimensions of image file */
  27.   int fiX1, fiX2, fiY1, fiY2;    /* image file subsection selection */
  28.   double ficenX, ficenY;    /* center of image subsection used */
  29.   int fiblock;            /* base file to image blocking selection */
  30.   int dispcols, disprows;    /* initial display window size selection */
  31.   int dispfix;            /* flag that display size was specified */
  32.   int keepfilebuf;        /* flag to keep file format data buf */
  33.   int fdblock;            /* initial file to disp blocking selection */
  34.   double fdcenX, fdcenY;    /* initial display center in file coords */
  35.   int bufmax;            /* limit of buffer size (square) */
  36.   int buffix;            /* flag to prevent its being readjusted */
  37.   int dispxmax, dispymax;    /* limits of display window size */
  38.   int dispmin;            /* (2 max's but symmetric min) */
  39.   int energy;            /* energy filter (bitwise) for xray images */
  40.   int scaling;            /* initial scaling selection */
  41.   int fscaled;            /* scale and offset used to write file data */
  42.   double fscale, fbias;        /* prior scale and offset of file data */
  43.   double fimin, fimax;        /* limits to clip image values (if a<b) */
  44.   double fiscale, fibias;    /* scale and offset to fit data into buffer */
  45.   int fiscaled;            /* scale and offset used in file read */
  46.   int pmax, pmin;        /* image value limits for scaling */
  47.   int pfix;            /* flag to use limits as given or calculate */
  48.    /* parameters for RA and Dec coordinates calculation (based on fits wcs) */
  49.   double crRA, crDec, crpixX, crpixY, crdeltX, crdeltY, crotaY;
  50.   int astrocoords;        /* flag that ra and dec are available */
  51.   int imtoolWZT;        /* imtool scaling type */
  52.   double imtoolwcs[6];        /* iraf imtool WCS coordinates */
  53.   double img_adj;        /* offset adjust needed for ximage coords */
  54.    /* fX=((imgX+adj)*A+(imgY+adj)*C)+E,fY=((imgX+adj)*B+(imgY+adj)*D)+F */
  55.   double imtoolWZ[2];        /* imtool greyscale Z values */
  56.   int fbconfig;            /* iraf imtool frame configuration number */
  57.   int frame_number;        /* imtool frame number */
  58.   int imtool_200;        /* current image is from imtool */
  59.   int panbox_zoomtype;        /* type of zoom from image (av, max, sample) */
  60. };
  61.