Changeset 25256 for trunk/ppMops
- Timestamp:
- Sep 2, 2009, 2:36:52 PM (17 years ago)
- Location:
- trunk
- Files:
-
- 1 deleted
- 5 edited
- 5 copied
-
. (modified) (1 prop)
-
ppMops/ICDlite.txt (modified) (2 diffs)
-
ppMops/src/Makefile.am (modified) (1 diff)
-
ppMops/src/ppMops.c (modified) (2 diffs)
-
ppMops/src/ppMops.h (modified) (1 diff)
-
ppMops/src/ppMopsArguments.c (copied) (copied from branches/pap_mops/ppMops/src/ppMopsArguments.c )
-
ppMops/src/ppMopsData.c (deleted)
-
ppMops/src/ppMopsDetections.c (copied) (copied from branches/pap_mops/ppMops/src/ppMopsDetections.c )
-
ppMops/src/ppMopsMerge.c (copied) (copied from branches/pap_mops/ppMops/src/ppMopsMerge.c )
-
ppMops/src/ppMopsRead.c (copied) (copied from branches/pap_mops/ppMops/src/ppMopsRead.c )
-
ppMops/src/ppMopsWrite.c (copied) (copied from branches/pap_mops/ppMops/src/ppMopsWrite.c )
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/pap_mops (added) merged: 25137-25138,25162,25180-25183,25186-25193,25201-25202,25225,25231-25236,25239-25240,25245,25247-25255
- Property svn:mergeinfo changed
-
trunk/ppMops/ICDlite.txt
r25135 r25256 79 79 * ASTRORMS added to make absolute (i.e., across exposures) astrometry errors more accurate 80 80 * DE_MAGnn and DE_EFFnn replace DE1 through DE10, which were never well defined 81 * Removed LIMITMAG, which was never well defined, and is unnecessary given the DE_MAGnn and DE_EFFnn 81 82 82 83 === Table === … … 119 120 120 121 122 === Example === 121 123 122 123 Table 3: IPP-MOPS Transient Detection Keywords 124 FITS Keyword Precision Description 125 FPA ID char(20) IPP-assigned identifier that can be used to trace back to this FPA 126 MJD-OBS F64 midpoint time of the exposure as a MJD and day fraction 127 RA HH:MM:SS.SSS field center RA at exposure midpoint, string 128 DEC sDD:MM:SS (s is + or -) field center declination at exposure midpoint, string 129 EXPTIME F64 exposure time in seconds 130 ROTANGLE F64 image rotation of the y-axis in degrees, from local N toward E 131 FILTER char(3) effective filter used for the exposure, one of g, r, i, z, y, B, V, w 132 AIRMASS F64 airmass at exposure midpoint 133 LIMITMAG F64 limiting magnitude of detections for this FPA 134 DE1 through DE10 F64 detection efficiency coefficients 135 OBSCODE char(5) MPC three-character observatory code 136 TEL ALT F64 telescope altitude at exposure midpoint, in degrees 137 TEL AZ F64 telescope azimuth at exposure midpoint, in degrees 138 Table 4: IPP-MOPS Transient Detection Table Columns 139 Column Precision Description 140 RA DEG F64 detection center coordinates in degrees 141 RA SIG F64 error in the detection center, in degrees 142 DEC DEG F64 detection center coordinates in degrees 143 DEC SIG F64 error in the detection center, in degrees 144 FLUX F64 flux 145 FLUX SIG F64 error in the flux value 146 STARPSF F64 probability that the PSF matches a starlike PSF 147 ANG F64 detectionâs elongation angle in degrees, local N toward E 148 ANG SIG F64 error in the angle, in degrees 149 LEN F64 elongation length of the detection in degrees 150 LEN SIG F64 error in the length, in degrees 124 {{{ 125 XTENSION= 'BINTABLE' / binary table extension 126 BITPIX = 8 / 8-bit bytes 127 NAXIS = 2 / 2-dimensional binary table 128 NAXIS1 = 72 / width of table in bytes 129 NAXIS2 = 42032 / number of rows in table 130 PCOUNT = 0 / size of special data area 131 GCOUNT = 1 / one data group (required keyword) 132 TFIELDS = 13 / number of fields in each row 133 TTYPE1 = 'RA ' / label for field 1 134 TFORM1 = '1D ' / data format of field: 8-byte DOUBLE 135 TTYPE2 = 'RA_ERR ' / label for field 2 136 TFORM2 = '1D ' / data format of field: 8-byte DOUBLE 137 TTYPE3 = 'DEC ' / label for field 3 138 TFORM3 = '1D ' / data format of field: 8-byte DOUBLE 139 TTYPE4 = 'DEC_ERR ' / label for field 4 140 TFORM4 = '1D ' / data format of field: 8-byte DOUBLE 141 TTYPE5 = 'MAG ' / label for field 5 142 TFORM5 = '1E ' / data format of field: 4-byte REAL 143 TTYPE6 = 'MAG_ERR ' / label for field 6 144 TFORM6 = '1E ' / data format of field: 4-byte REAL 145 TTYPE7 = 'STARPSF ' / label for field 7 146 TFORM7 = '1E ' / data format of field: 4-byte REAL 147 TTYPE8 = 'ANGLE ' / label for field 8 148 TFORM8 = '1E ' / data format of field: 4-byte REAL 149 TTYPE9 = 'ANGLE_ERR' / label for field 9 150 TFORM9 = '1E ' / data format of field: 4-byte REAL 151 TTYPE10 = 'LENGTH ' / label for field 10 152 TFORM10 = '1E ' / data format of field: 4-byte REAL 153 TTYPE11 = 'LENGTH_ERR' / label for field 11 154 TFORM11 = '1E ' / data format of field: 4-byte REAL 155 TTYPE12 = 'FLAGS ' / label for field 12 156 TFORM12 = '1J ' / data format of field: 4-byte INTEGER 157 TZERO12 = 2147483648 / offset for unsigned integers 158 TSCAL12 = 1 / data are not scaled 159 TTYPE13 = 'DIFF_SKYFILE_ID' / label for field 13 160 TFORM13 = '1K ' / data format of field: 8-byte INTEGER 161 SWSOURCE= '60eb6cdc-a59c-4636-a4e0-dba66a9721fd' / Software source 162 SWVERSN = 'branches/pap_mops/ppMops@25227' / Software version 163 HISTORY ppMops at 2009-09-02T03:48:46.695783 164 HISTORY psLib version: branches/pap_mops/psLib@25227 165 HISTORY psLib source: 60eb6cdc-a59c-4636-a4e0-dba66a9721fd 166 HISTORY ppMops version: branches/pap_mops/ppMops@25227 167 HISTORY ppMops source: 60eb6cdc-a59c-4636-a4e0-dba66a9721fd 168 EXP_NAME= 'o4995g0129o' / Exposure name 169 EXP_ID = 77164 / Exposure identifier 170 CHIP_ID = 24019 / Chip stage identifier 171 CAM_ID = 17726 / Cam stage identifier 172 FAKE_ID = 10227 / Fake stage identifier 173 WARP_ID = 8842 / Warp stage identifier 174 DIFF_ID = 0 / Diff stage identifier 175 DIFF_POS= F / Positive subtraction? 176 MJD-OBS = 54995.4740598313 / MJD of exposure midpoint 177 RA = '18:25:01.988' / Right Ascension of boresight 178 DEC = '-17:20:40.069' / Declination of boresight 179 TEL_ALT = 51.951873 / Telescope altitude 180 TEL_AZ = 179.483883 / Telescope azimuth 181 EXPTIME = 38. / Exposure time (sec) 182 ROTANGLE= 333.1039 / Rotator position angle 183 FILTER = 'r.00000 ' / Filter name 184 AIRMASS = 1.269 / Airmass of exposure 185 OBSCODE = 'F51 ' / IAU Observatory code 186 SEEING = 1.678401 / Mean seeing 187 MAGZP = 28.65226 / Magnitude zero point 188 MAGZPERR= 0.353063 / Error in magnitude zero point 189 ASTRORMS= 0.3111496 / RMS of astrometric fit 190 EXTNAME = 'MOPS_TRANSIENT_DETECTIONS' 191 END 192 }}} -
trunk/ppMops/src/Makefile.am
r24307 r25256 28 28 ppMops.c \ 29 29 ppMopsVersion.c \ 30 ppMopsData.c 30 ppMopsArguments.c \ 31 ppMopsDetections.c \ 32 ppMopsRead.c \ 33 ppMopsWrite.c \ 34 ppMopsMerge.c 31 35 32 36 noinst_HEADERS = \ -
trunk/ppMops/src/ppMops.c
r25100 r25256 6 6 int main(int argc, char *argv[]) 7 7 { 8 if (argc != 7) { 9 fprintf(stderr, "Insufficient arguments.\n"); 10 fprintf(stderr, "Usage: %s DETECTIONS ZP EXP_ID EXP_NAME DIRECTION OUTPUT\n", argv[0]); 8 psLibInit(NULL); 9 10 ppMopsArguments *args = ppMopsArgumentsParse(argc, argv); // Parsed arguments 11 if (!args) { 12 psErrorStackPrint(stderr, "Error parsing arguments"); 11 13 exit(PS_EXIT_CONFIG_ERROR); 12 14 } 13 15 14 ppMopsData *data = ppMopsDataAlloc(); // Configuration data 15 data->detections = psStringCopy(argv[1]); 16 data->zp = atof(argv[2]); 17 data->exp_id = atoll(argv[3]); 18 data->exp_name = psStringCopy(argv[4]); 19 data->direction = atoi(argv[5]); 20 data->output = psStringCopy(argv[6]); 21 22 if (!isfinite(data->zp)) { 23 psErrorStackPrint(stderr, "Zero point is unknown\n"); 24 exit(PS_EXIT_CONFIG_ERROR); 25 } 16 psArray *detections = ppMopsRead(args); // Detections from each input 17 if (!detections) { 18 psErrorStackPrint(stderr, "Unable to read detections"); 19 exit(PS_EXIT_SYS_ERROR); 20 } 21 22 ppMopsDetections *merged = ppMopsMerge(detections); // Merged detections 23 psFree(detections); 24 if (!merged) { 25 psErrorStackPrint(stderr, "Unable to merge detections"); 26 exit(PS_EXIT_SYS_ERROR); 27 } 28 29 if (!ppMopsWrite(merged, args)) { 30 psErrorStackPrint(stderr, "Unable to write detections"); 31 exit(PS_EXIT_SYS_ERROR); 32 } 33 34 psFree(merged); 35 psFree(args); 36 37 psLibFinalize(); 38 39 return PS_EXIT_SUCCESS; 40 } 41 42 43 #if 0 44 ps 45 26 46 27 47 psArray *detections = NULL; // Detections … … 211 231 psFree(data); 212 232 213 return PS_EXIT_SUCCESS; 214 } 233 #endif 234 -
trunk/ppMops/src/ppMops.h
r25100 r25256 11 11 PM_SOURCE_MODE_CR_LIMIT | PM_SOURCE_MODE_SKY_FAILURE) // Flags to exclude 12 12 13 14 13 // Configuration data 15 14 typedef struct { 16 ps String detections; // Detections filename17 float zp; // Magnitude zero point15 psArray *input; // Input filenames 16 psString exp_name; // Exposure name 18 17 psS64 exp_id; // Exposure identifier 19 psString exp_name; // Exposure name 20 bool direction; // Direction of subtraction, 1=positive, 0=negative 18 psS64 chip_id; // Chip stage identifier 19 psS64 cam_id; // Camera stage identifier 20 psS64 fake_id; // Fake stage identifier 21 psS64 warp_id; // Warp stage identifier 22 psS64 diff_id; // Diff stage identifier 23 bool positive; // Sense of subtraction, T=positive, F=negative 24 float zp, zpErr; // Magnitude zero point and error 25 float rmsAstrom; // Astrometric solution RMS 21 26 psString output; // Output filename 22 } ppMops Data;27 } ppMopsArguments; 23 28 24 // Allocator 25 ppMopsData *ppMopsDataAlloc(void); 29 /// Parse arguments 30 ppMopsArguments *ppMopsArgumentsParse(int argc, char *argv[]); 31 32 typedef struct { 33 psString raBoresight, decBoresight; // RA,Dec of telescope boresight 34 psString filter; // Filter for exposure 35 float airmass; // Airmass of exposure 36 float exptime; // Exposure time 37 double posangle; // Position angle 38 double alt, az; // Telescope altitude and azimuth 39 double mjd; // Modified Julian Date 40 float seeing; // Seeing of exposure 41 long num; // Number of detections 42 psVector *x, *y; // Image coordinates 43 psVector *ra, *dec; // Sky coordinates 44 psVector *raErr, *decErr; // Error in sky coordinates 45 psVector *mag, *magErr; // Magnitude and associated error 46 psVector *extended; // Measure of extendedness 47 psVector *angle, *angleErr; // Angle of trail and associated error 48 psVector *length, *lengthErr; // Length of trail and associated error 49 psVector *flags; // psphot flags 50 psVector *diffSkyfileId; // Identifier for source image 51 psVector *naxis1, *naxis2; // Size of image 52 psVector *mask; // Mask for detections 53 } ppMopsDetections; 54 55 ppMopsDetections *ppMopsDetectionsAlloc(long num); 56 57 /// Copy a detection 58 bool ppMopsDetectionsCopySingle(ppMopsDetections *target, const ppMopsDetections *source, long index); 59 60 /// Purge the detections list of masked detections 61 bool ppMopsDetectionsPurge(ppMopsDetections *detections); 62 63 64 /// Read detections 65 psArray *ppMopsRead(const ppMopsArguments *args); 66 67 /// Merge detections 68 ppMopsDetections *ppMopsMerge(const psArray *detections); 69 70 /// Write detections 71 bool ppMopsWrite(const ppMopsDetections *detections, const ppMopsArguments *args); 26 72 27 73
Note:
See TracChangeset
for help on using the changeset viewer.
