123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- #define RAD(x) ((x)*PI_180)
- #define DEG(x) ((x)/PI_180)
- #define ARCSECONDS_PER_RADIAN (DEG(1)*3600)
- #define input_nybble(infile) input_nbits(infile,4)
- typedef float Angle; /* in radians */
- enum
- {
- /*
- * parameters for plate
- */
- Pppo1 = 0,
- Pppo2,
- Pppo3,
- Pppo4,
- Pppo5,
- Pppo6,
- Pamdx1,
- Pamdx2,
- Pamdx3,
- Pamdx4,
- Pamdx5,
- Pamdx6,
- Pamdx7,
- Pamdx8,
- Pamdx9,
- Pamdx10,
- Pamdx11,
- Pamdx12,
- Pamdx13,
- Pamdx14,
- Pamdx15,
- Pamdx16,
- Pamdx17,
- Pamdx18,
- Pamdx19,
- Pamdx20,
- Pamdy1,
- Pamdy2,
- Pamdy3,
- Pamdy4,
- Pamdy5,
- Pamdy6,
- Pamdy7,
- Pamdy8,
- Pamdy9,
- Pamdy10,
- Pamdy11,
- Pamdy12,
- Pamdy13,
- Pamdy14,
- Pamdy15,
- Pamdy16,
- Pamdy17,
- Pamdy18,
- Pamdy19,
- Pamdy20,
- Ppltscale,
- Pxpixelsz,
- Pypixelsz,
- Ppltra,
- Ppltrah,
- Ppltram,
- Ppltras,
- Ppltdec,
- Ppltdecd,
- Ppltdecm,
- Ppltdecs,
- Pnparam,
- };
- typedef struct Plate Plate;
- struct Plate
- {
- char rgn[7];
- char disk;
- Angle ra;
- Angle dec;
- };
- typedef struct Header Header;
- struct Header
- {
- float param[Pnparam];
- int amdflag;
- float x;
- float y;
- float xi;
- float eta;
- };
- typedef long Type;
- typedef struct Image Image;
- struct Image
- {
- int nx;
- int ny; /* ny is the fast-varying dimension */
- Type a[1];
- };
- int nplate;
- Plate plate[2000]; /* needs to go to 2000 when the north comes */
- double PI_180;
- double TWOPI;
- int debug;
- struct
- {
- float min;
- float max;
- float del;
- double gamma;
- int neg;
- } gam;
- char* hms(Angle);
- char* dms(Angle);
- double xsqrt(double);
- Angle dist(Angle, Angle, Angle, Angle);
- Header* getheader(char*);
- char* getword(char*, char*);
- void amdinv(Header*, Angle, Angle, float, float);
- void ppoinv(Header*, Angle, Angle);
- void xypos(Header*, Angle, Angle, float, float);
- void traneqstd(Header*, Angle, Angle);
- Angle getra(char*);
- Angle getdec(char*);
- void getplates(void);
- Image* dssread(char*);
- void hinv(Type*, int, int);
- int input_bit(Biobuf*);
- int input_nbits(Biobuf*, int);
- void qtree_decode(Biobuf*, Type*, int, int, int, int);
- void start_inputing_bits(void);
- Bitmap* image(Angle, Angle, Angle, Angle);
- int dogamma(int);
|