OPERA
1.0
Open source echelle spectrograph reduction pipeline
|
00001 #ifndef OPERAFITSTOPNG_H 00002 #define OPERAFITSTOPNG_H 00003 /* prototypes */ 00004 00005 #define histDepth 256 00006 #define index(a,x,y,w) a[(x)+((y)*(w))] 00007 #define ELEM_SWAP(a,b) {register float t=(a);(a)=(b);(b)=t; } 00008 00009 typedef struct { 00010 unsigned char r; 00011 unsigned char g; 00012 unsigned char b; 00013 } colour; 00014 00015 enum outputkinds { 00016 E_JPG, E_PNG, E_MPG 00017 } outputkinds; 00018 00019 static colour lingray(float val, float z1, float z2, char neg); 00020 static colour lingraycutcol(float val, float z1, float z2, char neg); 00021 static colour irafloggray(float val, float z1, float z2, char neg); 00022 static colour irafloggraycutcol(float val, float z1, float z2, char neg); 00023 static colour plinlog(float val, float z1, float z2, char neg); 00024 static colour logcontours(float val, float z1, float z2, char neg); 00025 static colour loghsv(float val, float z1, float z2, char neg); 00026 static colour lincol1(float val, float z1, float z2, char neg); 00027 static colour lingrayupena(float val, float z1, float z2, char neg); 00028 static colour lingrayupenalog(float val, float z1, float z2, char neg); 00029 00030 static colour HSVtoRGB(float h, float s, float v); 00031 static colour rainbow(float x); 00032 00033 static void GetMedian(const float *inarr, unsigned int n, float *a1, float *a2); 00034 static void GetMinAndMax(const float *inarr, unsigned int n, float *min, float *max); 00035 static float *shrink(const float *image, const int dimx, const int dimy, const int ratio, const float bias, float *smallimage); 00036 static void histogramEqualize(float *image, unsigned int width, unsigned int height, float min, float max); 00037 00038 static void printUsageSyntax(); 00039 00040 #endif