diff options
author | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
---|---|---|
committer | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
commit | 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch) | |
tree | 4464880c571602d54f6ae114729bf62a89518057 /vendor/cfitsio/region.h | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'vendor/cfitsio/region.h')
-rw-r--r-- | vendor/cfitsio/region.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/vendor/cfitsio/region.h b/vendor/cfitsio/region.h new file mode 100644 index 00000000..516c4fdb --- /dev/null +++ b/vendor/cfitsio/region.h @@ -0,0 +1,82 @@ +/***************************************************************/ +/* REGION STUFF */ +/***************************************************************/ + +#include "fitsio.h" +#define myPI 3.1415926535897932385 +#define RadToDeg 180.0/myPI + +typedef struct { + int exists; + double xrefval, yrefval; + double xrefpix, yrefpix; + double xinc, yinc; + double rot; + char type[6]; +} WCSdata; + +typedef enum { + point_rgn, + line_rgn, + circle_rgn, + annulus_rgn, + ellipse_rgn, + elliptannulus_rgn, + box_rgn, + boxannulus_rgn, + rectangle_rgn, + diamond_rgn, + sector_rgn, + poly_rgn, + panda_rgn, + epanda_rgn, + bpanda_rgn +} shapeType; + +typedef enum { pixel_fmt, degree_fmt, hhmmss_fmt } coordFmt; + +typedef struct { + char sign; /* Include or exclude? */ + shapeType shape; /* Shape of this region */ + int comp; /* Component number for this region */ + + double xmin,xmax; /* bounding box */ + double ymin,ymax; + + union { /* Parameters - In pixels */ + + /**** Generic Shape Data ****/ + + struct { + double p[11]; /* Region parameters */ + double sinT, cosT; /* For rotated shapes */ + double a, b; /* Extra scratch area */ + } gen; + + /**** Polygon Data ****/ + + struct { + int nPts; /* Number of Polygon pts */ + double *Pts; /* Polygon points */ + } poly; + + } param; + +} RgnShape; + +typedef struct { + int nShapes; + RgnShape *Shapes; + WCSdata wcs; +} SAORegion; + +/* SAO region file routines */ +int fits_read_rgnfile( const char *filename, WCSdata *wcs, SAORegion **Rgn, int *status ); +int fits_in_region( double X, double Y, SAORegion *Rgn ); +void fits_free_region( SAORegion *Rgn ); +void fits_set_region_components ( SAORegion *Rgn ); +void fits_setup_shape ( RgnShape *shape); +int fits_read_fits_region ( fitsfile *fptr, WCSdata * wcs, SAORegion **Rgn, int *status); +int fits_read_ascii_region ( const char *filename, WCSdata * wcs, SAORegion **Rgn, int *status); + + |