Changeset 9127
- Timestamp:
- Oct 2, 2006, 4:58:59 PM (20 years ago)
- Location:
- trunk/icd-demo
- Files:
-
- 30 added
- 10 edited
-
Makefile (modified) (1 diff)
-
def/CS.cell0.ext.txt (added)
-
def/CS.cell0.hdu.txt (added)
-
def/CS.cell0.psf.txt (added)
-
def/CS.cell1.ext.txt (added)
-
def/CS.cell1.hdu.txt (added)
-
def/CS.cell1.psf.txt (added)
-
def/CS.file.txt (added)
-
def/P2.chip0.alt.txt (modified) (1 diff)
-
def/P2.chip0.hdu.txt (added)
-
def/P2.chip0.psf.txt (modified) (1 diff)
-
def/P2.chip1.alt.txt (modified) (1 diff)
-
def/P2.chip1.hdu.txt (added)
-
def/P2.chip1.psf.txt (modified) (1 diff)
-
def/P2.file.txt (modified) (1 diff)
-
def/P4D.cell0.alt.txt (added)
-
def/P4D.cell0.hdu.txt (added)
-
def/P4D.cell0.low.txt (added)
-
def/P4D.cell0.psf.txt (added)
-
def/P4D.cell1.alt.txt (added)
-
def/P4D.cell1.hdu.txt (added)
-
def/P4D.cell1.low.txt (added)
-
def/P4D.cell1.psf.txt (added)
-
def/P4D.file.txt (modified) (1 diff)
-
def/P4Dlo.file.txt (added)
-
def/P4S.cell0.alt.txt (added)
-
def/P4S.cell0.hdu.txt (added)
-
def/P4S.cell0.psf.txt (added)
-
def/P4S.cell1.alt.txt (added)
-
def/P4S.cell1.hdu.txt (added)
-
def/P4S.cell1.psf.txt (added)
-
def/P4S.file.txt (modified) (1 diff)
-
raw/ext-fits-detections.txt (modified) (1 diff)
-
raw/p2frame.txt (added)
-
raw/p2image.txt (added)
-
raw/p4image.txt (added)
-
raw/p4set.txt (added)
-
raw/skycell.txt (added)
-
src/icd-demo.c (modified) (5 diffs)
-
src/icd-test.c (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/icd-demo/Makefile
r8426 r9127 21 21 icd-demo: $(ICDDEMO) 22 22 23 ICDTEST = $(BIN)/icd-test.$(ARCH) 24 25 icd-test: $(ICDTEST) 26 23 27 sample: 28 @if [ ! -d fits ]; then mkdir -p fits; fi 24 29 cd def; ../bin/icd-demo.$(ARCH) P2.file.txt ../fits/P2.file.fits 25 30 cd def; ../bin/icd-demo.$(ARCH) P4S.file.txt ../fits/P4S.file.fits 26 31 cd def; ../bin/icd-demo.$(ARCH) P4D.file.txt ../fits/P4D.file.fits 32 cd def; ../bin/icd-demo.$(ARCH) P4Dlo.file.txt ../fits/P4Dlo.file.fits 33 cd def; ../bin/icd-demo.$(ARCH) CS.file.txt ../fits/CS.file.fits 27 34 28 35 # dependancy rules for binary code ######################### -
trunk/icd-demo/def/P2.chip0.alt.txt
r8426 r9127 1 1 2 2 # extra data which belongs to table header 3 HEADER METADATA 4 EXTNAME STR ALT_FIT_PARAMS 5 COMMENT STR 6 COMMENT STR This HDU applies to all detections that have been analyzed 7 COMMENT STR with the IPP alternative PSF fitting procedure. 8 COMMENT STR Note that the IPP_IDET must be unique within a file so as 9 COMMENT STR to allow matching up sources between the PSF matching and 10 COMMENT STR either the alternative PSF fits for P2, P4S, and P4D 11 COMMENT STR detections or the extended source fits to the 12 COMMENT STR Image Stack/Cumulative Sky detections. 13 COMMENT STR 3 FITSTABLE METADATA 4 HEADER METADATA 5 EXTNAME STR ALT_FIT_PARAMS 6 COMMENT STR 7 COMMENT STR This HDU applies to all detections that have been analyzed 8 COMMENT STR with the IPP alternative PSF fitting procedure. 9 COMMENT STR Note that the IPP_IDET must be unique within a file so as 10 COMMENT STR to allow matching up sources between the PSF matching and 11 COMMENT STR either the alternative PSF fits for P2, P4S, and P4D 12 COMMENT STR detections or the extended source fits to the 13 COMMENT STR Image Stack/Cumulative Sky detections. 14 COMMENT STR 15 END 16 17 # description of the FITS table columns 18 COLUMNS METADATA 19 TYPE TTYPE TFORM TUNIT TMIN TMAX COMMENT 20 IPP_IDET TTYPE J NONE NONE NONE "IPP detection identifer index" 21 RA_ALT TTYPE D "DECIMAL DEGREES" 0 360 "RA from PSF fit" 22 DEC_ALT TTYPE D "DECIMAL DEGREES" -90 +90 "DEC from PSF fit" 23 RA_ALT_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit RA" 24 DEC_ALT_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit DEC" 25 ALT_QF TTYPE E NONE 0 1 "PSF coverage/quality factor" 26 CAL_ALT_MAG TTYPE E MAG -10 +30 "Calibrated magnitude" 27 CAL_ALT_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of calibrated magnitude" 28 ALT_PARM_1 TTYPE E NONE NONE NONE "ALT model parameter 1" 29 ALT_PARM_2 TTYPE E NONE NONE NONE "ALT model parameter 2" 30 ALT_PARM_3 TTYPE E NONE NONE NONE "ALT model parameter 3" 31 ALT_PARM_4 TTYPE E NONE NONE NONE "ALT model parameter 4" 32 ALT_PARM_5 TTYPE E NONE NONE NONE "ALT model parameter 5" 33 END 14 34 END 15 16 # description of the FITS table columns17 COLUMNS METADATA18 TYPE TTYPE TFORM TUNIT TMIN TMAX COMMENT19 IPP_IDET TTYPE J NONE NONE NONE "IPP detection identifer index"20 RA_ALT TTYPE D DECIMAL DEGREES 0 360 "RA from PSF fit"21 DEC_ALT TTYPE D DECIMAL DEGREES -90 +90 "DEC from PSF fit"22 RA_ALT_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit RA"23 DEC_ALT_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit DEC"24 ALT_QF TTYPE E NONE 0 1 "PSF coverage/quality factor"25 CAL_ALT_MAG TTYPE E MAG -10 +30 "Calibrated magnitude"26 CAL_ALT_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of calibrated magnitude"27 ALT_PARM_1 TTYPE E NONE NONE NONE "ALT model parameter 1"28 ALT_PARM_2 TTYPE E NONE NONE NONE "ALT model parameter 2"29 ALT_PARM_3 TTYPE E NONE NONE NONE "ALT model parameter 3"30 ALT_PARM_4 TTYPE E NONE NONE NONE "ALT model parameter 4"31 ALT_PARM_5 TTYPE E NONE NONE NONE "ALT model parameter 5"32 END -
trunk/icd-demo/def/P2.chip0.psf.txt
r8426 r9127 1 2 # description of the chip metadata3 BLANK METADATA4 COMMENT STR MULTI5 COMMENT STR6 COMMENT STR Combination (P4S, P4D, Image Stack/ Cumulative Sky) Image7 COMMENT STR Metadata HDU8 COMMENT STR9 OBS_ID STR UnknownFormat # Observation Identifier10 CLASSID S32 0 # Class ID = focal plane location11 DETECTID S32 0 # Numerical ID of detector12 NX S32 4800 # Number of columns on the detector13 NY S32 4800 # Number of rows on the detector DATE STR 2006/02/0514 COMMENT STR15 COMMENT STR Astrometric Solution (up to linear terms)16 COMMENT STR17 NASTRO S32 100 # Number of astrometry stars18 CERROR F32 10.000 # Scatter in astrometry solution (MAS)19 CTYPE1 STR RA---TAN # WCS Coordinate type20 CTYPE2 STR DEC--TAN # WCS Coordinate type21 CRVAL1 F32 321.30941666667 # WCS Ref value (RA in decimal degrees)22 CRVAL2 F32 -5.1685277777778 # WCS Ref value (DEC in decimal degrees)23 CRPIX1 F32 -1051.17692913657 # WCS Coordinate reference pixel24 CRPIX2 F32 2033.40939404705 # WCS Coordinate reference pixel25 CD1_1 F32 1.13378419402790E-4 # WCS Coordinate scale matrix26 CD1_2 F32 8.93919113249280E-8 # WCS Coordinate scale matrix27 CD2_1 F32 -5.4105516940550E-7 # WCS Coordinate scale matrix28 CD2_2 F32 -1.1365323690945E-4 # WCS Coordinate scale matrix29 COMMENT STR30 COMMENT STR Higher order terms in astrometric solution31 COMMENT STR32 POLYORD S32 3 # Polynomial Order33 PCA1X3Y0 F32 0.0 # WCS, Axis 1, coefficient of X^334 PCA1X2Y1 F32 0.0 # WCS, Axis 1, coefficient of X^2 * Y35 PCA1X1Y2 F32 0.0 # WCS, Axis 1, coefficient of X * Y^236 PCA1X0Y3 F32 0.0 # WCS, Axis 1, coefficient of Y^337 PCA1X2Y0 F32 0.0 # WCS, Axis 1, coefficient of X^238 PCA1X1Y1 F32 0.0 # WCS, Axis 1, coefficient of X * Y39 PCA1X0Y2 F32 0.0 # WCS, Axis 1, coefficient of Y^240 PCA1X3Y0 F32 0.0 # WCS, Axis 2, coefficient of X^341 PCA1X2Y1 F32 0.0 # WCS, Axis 2, coefficient of X^2 * Y42 PCA1X1Y2 F32 0.0 # WCS, Axis 2, coefficient of X * Y^243 PCA1X0Y3 F32 0.0 # WCS, Axis 2, coefficient of Y^344 PCA1X2Y0 F32 0.0 # WCS, Axis 2, coefficient of X^245 PCA1X1Y1 F32 0.0 # WCS, Axis 2, coefficient of X * Y46 PCA1X0Y2 F32 0.0 # WCS, Axis 2, coefficient of Y^247 COMMENT STR48 COMMENT STR PSF Description Parameters49 COMMENT STR50 PSFMOD S32 1 # PSF Model number51 PSFFWHM F32 1.0 # PSF Full width at Half Maximum (pixels)52 PSFWIDX F32 1.0 # PSF Width in X coordinate (pixels)53 PSFWIDY F32 1.0 # PSF Width in Y coordinate (pixels)54 PSFTHETA F32 0.0 # PSF Orientation angle (degrees)55 PSF_EX1 F32 0.0 # PSF Extra parameter #156 PSF_EX2 F32 0.0 # PSF Extra parameter #257 COMMENT STR58 COMMENT STR Photometry Calibration information59 COMMENT STR60 COMMENT STR Formula for Photometry, based on keywords given in this header:61 COMMENT STR m = -2.5*log(DN) + 2.5*log(EXPTIME)62 COMMENT STR M = m + PHOT_C + PHOT_K*(AIRMASS - 1) + PHOT_X*(PHOT_C1 - PHOT_C2)63 COMMENT STR64 PHOTCODE STR GPC.00.r # Photometry reduction code identifier65 PHOTOCID S32 # Numerical code for reduction code66 PHOT_C F32 25.7150 # Elixir zero point - measured for camera run67 PHOT_CS F32 0.0048 # Elixir zero point - scatter68 PHOT_NS S32 19 # Elixir zero point - N stars69 PHOT_NM S32 5 # Elixir zero point - N images70 PHOT_C0 F32 25.7430 # Elixir zero point - nominal71 PHOT_X F32 0.0830 # Elixir zero point - color term72 PHOT_K F32 -0.0400 # Elixir zero point - airmass term73 PHOT_C1 STR i_SDSS # Elixir zero point - color 174 PHOT_C2 STR r_SDSS # Elixir zero point - color 275 COMMENT STR76 COMMENT STR Some statistics on this image77 COMMENT STR78 NDETECT S32 1000 # Number of detections79 MAGSAT F32 15.0 # Magnitude at which sources saturate80 MAGCOMP F32 22.0 # Magnitude for which frame is 95% complete81 SKYVAL F32 1000.0 # Median sky value on detector82 SKYVAR F32 1.0 # Variance of sky values83 BIASVAL F32 200.0 # Mean bias level of frame84 BIASVAR F32 1.0 # Variance of bias values85 COMMENT STR86 COMMENT STR Images used to process this exposure87 COMMENT STR88 DETREND1 STR bias.00.fits #89 DETREND2 STR dark.00.fits #90 DETREND3 STR flat.00.fits #91 DETREND4 STR fringe.01.fits #92 DETREND5 STR none #93 DETREND6 STR none #94 DETREND7 STR none #95 DETREND8 STR none #96 COMMENT STR97 COMMENT STR Quality Assurance Flags from IPP98 COMMENT STR99 QAFLAGS STR UnknownValue # IP QA flags100 END101 1 102 2 # extra data which belongs to table header 103 HEADER METADATA 104 COMMENT STR MULTI 105 COMMENT STR 106 COMMENT STR This HDU applies to all detections that have been analyzed 107 COMMENT STR with the IPP PSF fitting procedure. Note that the IPP_IDET 108 COMMENT STR must be unique within a file so as to allow matching up 109 COMMENT STR sources between the PSF matching and either the alternative 110 COMMENT STR PSF fits for P2, P4S, and P4D detections or the extended 111 COMMENT STR source fits to the Image Stack/Cumulative Sky detections. 112 COMMENT STR 113 EXTNAME STR PSF_FIT_PARAMS 3 FITSTABLE METADATA 4 HEADER METADATA 5 COMMENT STR MULTI 6 COMMENT STR 7 COMMENT STR This HDU applies to all detections that have been analyzed 8 COMMENT STR with the IPP PSF fitting procedure. Note that the IPP_IDET 9 COMMENT STR must be unique within a file so as to allow matching up 10 COMMENT STR sources between the PSF matching and either the alternative 11 COMMENT STR PSF fits for P2, P4S, and P4D detections or the extended 12 COMMENT STR source fits to the Image Stack/Cumulative Sky detections. 13 COMMENT STR 14 EXTNAME STR PSF_FIT_PARAMS 15 END 16 17 # description of the FITS table columns 18 COLUMNS METADATA 19 TYPE TTYPE TFORM TUNIT TMIN TMAX COMMENT 20 IPP_IDET TTYPE J NONE NONE NONE "IPP detection identifer index" 21 X_PSF TTYPE E PIXELS 0 5000 "PSF x coordinate" 22 Y_PSF TTYPE E PIXELS 0 5000 "PSF y coordinate" 23 X_PSF_SIG TTYPE E PIXELS 0 10 "Sigma in PSF x coordinate" 24 Y_PSF_SIG TTYPE E PIXELS 0 10 "Sigma in PSF y coordinate" 25 RA_PSF TTYPE D "DECIMAL DEGREES" 0 360 "RA from PSF fit" 26 DEC_PSF TTYPE D "DECIMAL DEGREES" -90 +90 "DEC from PSF fit" 27 RA_PSF_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit RA" 28 DEC_PSF_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit DEC" 29 PSF_INST_MAG TTYPE E MAG -20 0 "PSF fit instrumental magnitude" 30 PSF_INST_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of PSF instrumental magnitude" 31 PEAK_FLUX_AS_MAG TTYPE E MAG -20 0 "Peak flux expressed as magnitude" 32 SKY TTYPE E ADU 0 60000 "Sky level" 33 SKY_SIGMA TTYPE E ADU 0 60000 "Sigma of sky level" 34 STAR_GALAXY_SEP TTYPE E NONE 0 1 "Star-Galaxy separator" 35 PSF_WIDTH_X TTYPE E ARCSECONDS 0 20 "PSF width in x coordinate" 36 PSF_WIDTH_Y TTYPE E ARCSECONDS 0 20 "PSF width in y coordinate" 37 PSF_THETA TTYPE E DEGREES -180 +180 "PSF orientation angle" 38 PSF_QF TTYPE E NONE 0 1 "PSF coverage/quality factor" 39 CAL_PSF_MAG TTYPE E MAG -10 +30 "Calibrated magnitude" 40 CAL_PSF_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of calibrated magnitude" 41 N_FRAMES TTYPE I NONE 0 10000 "Number of frames overlapping source center" 42 END 114 43 END 115 116 # description of the FITS table columns117 COLUMNS METADATA118 TYPE TTYPE TFORM TUNIT TMIN TMAX COMMENT119 IPP_IDET TTYPE J NONE NONE NONE "IPP detection identifer index"120 X_PSF TTYPE E PIXELS 0 5000 "PSF x coordinate"121 Y_PSF TTYPE E PIXELS 0 5000 "PSF y coordinate"122 X_PSF_SIG TTYPE E PIXELS 0 10 "Sigma in PSF x coordinate"123 Y_PSF_SIG TTYPE E PIXELS 0 10 "Sigma in PSF y coordinate"124 RA_PSF TTYPE D DECIMAL DEGREES 0 360 "RA from PSF fit"125 DEC_PSF TTYPE D DECIMAL DEGREES -90 +90 "DEC from PSF fit"126 RA_PSF_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit RA"127 DEC_PSF_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit DEC"128 PSF_INST_MAG TTYPE E MAG -20 0 "PSF fit instrumental magnitude"129 PSF_INST_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of PSF instrumental magnitude"130 PEAK_FLUX_AS_MAG TTYPE E MAG -20 0 "Peak flux expressed as magnitude"131 SKY TTYPE E ADU 0 60000 "Sky level"132 SKY_SIGMA TTYPE E ADU 0 60000 "Sigma of sky level"133 STAR_GALAXY_SEP TTYPE E NONE 0 1 "Star-Galaxy separator"134 PSF_WIDTH_X TTYPE E ARCSECONDS 0 20 "PSF width in x coordinate"135 PSF_WIDTH_Y TTYPE E ARCSECONDS 0 20 "PSF width in y coordinate"136 PSF_THETA TTYPE E DEGREES -180 +180 "PSF orientation angle"137 PSF_QF TTYPE E NONE 0 1 "PSF coverage/quality factor"138 CAL_PSF_MAG TTYPE E MAG -10 +30 "Calibrated magnitude"139 CAL_PSF_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of calibrated magnitude"140 N_FRAMES TTYPE I NONE 0 10000 "Number of frames overlapping source center"141 END -
trunk/icd-demo/def/P2.chip1.alt.txt
r8426 r9127 1 1 2 2 # extra data which belongs to table header 3 HEADER METADATA 4 EXTNAME STR ALT_FIT_PARAMS 5 COMMENT STR 6 COMMENT STR This HDU applies to all detections that have been analyzed 7 COMMENT STR with the IPP alternative PSF fitting procedure. 8 COMMENT STR Note that the IPP_IDET must be unique within a file so as 9 COMMENT STR to allow matching up sources between the PSF matching and 10 COMMENT STR either the alternative PSF fits for P2, P4S, and P4D 11 COMMENT STR detections or the extended source fits to the 12 COMMENT STR Image Stack/Cumulative Sky detections. 13 COMMENT STR 3 FITSTABLE METADATA 4 HEADER METADATA 5 EXTNAME STR ALT_FIT_PARAMS 6 COMMENT STR 7 COMMENT STR This HDU applies to all detections that have been analyzed 8 COMMENT STR with the IPP alternative PSF fitting procedure. 9 COMMENT STR Note that the IPP_IDET must be unique within a file so as 10 COMMENT STR to allow matching up sources between the PSF matching and 11 COMMENT STR either the alternative PSF fits for P2, P4S, and P4D 12 COMMENT STR detections or the extended source fits to the 13 COMMENT STR Image Stack/Cumulative Sky detections. 14 COMMENT STR 15 END 16 17 # description of the FITS table columns 18 COLUMNS METADATA 19 TYPE TTYPE TFORM TUNIT TMIN TMAX COMMENT 20 IPP_IDET TTYPE J NONE NONE NONE "IPP detection identifer index" 21 RA_ALT TTYPE D "DECIMAL DEGREES" 0 360 "RA from PSF fit" 22 DEC_ALT TTYPE D "DECIMAL DEGREES" -90 +90 "DEC from PSF fit" 23 RA_ALT_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit RA" 24 DEC_ALT_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit DEC" 25 ALT_QF TTYPE E NONE 0 1 "PSF coverage/quality factor" 26 CAL_ALT_MAG TTYPE E MAG -10 +30 "Calibrated magnitude" 27 CAL_ALT_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of calibrated magnitude" 28 ALT_PARM_1 TTYPE E NONE NONE NONE "ALT model parameter 1" 29 ALT_PARM_2 TTYPE E NONE NONE NONE "ALT model parameter 2" 30 ALT_PARM_3 TTYPE E NONE NONE NONE "ALT model parameter 3" 31 ALT_PARM_4 TTYPE E NONE NONE NONE "ALT model parameter 4" 32 ALT_PARM_5 TTYPE E NONE NONE NONE "ALT model parameter 5" 33 END 14 34 END 15 16 # description of the FITS table columns17 COLUMNS METADATA18 TYPE TTYPE TFORM TUNIT TMIN TMAX COMMENT19 IPP_IDET TTYPE J NONE NONE NONE "IPP detection identifer index"20 RA_ALT TTYPE D DECIMAL DEGREES 0 360 "RA from PSF fit"21 DEC_ALT TTYPE D DECIMAL DEGREES -90 +90 "DEC from PSF fit"22 RA_ALT_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit RA"23 DEC_ALT_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit DEC"24 ALT_QF TTYPE E NONE 0 1 "PSF coverage/quality factor"25 CAL_ALT_MAG TTYPE E MAG -10 +30 "Calibrated magnitude"26 CAL_ALT_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of calibrated magnitude"27 ALT_PARM_1 TTYPE E NONE NONE NONE "ALT model parameter 1"28 ALT_PARM_2 TTYPE E NONE NONE NONE "ALT model parameter 2"29 ALT_PARM_3 TTYPE E NONE NONE NONE "ALT model parameter 3"30 ALT_PARM_4 TTYPE E NONE NONE NONE "ALT model parameter 4"31 ALT_PARM_5 TTYPE E NONE NONE NONE "ALT model parameter 5"32 END -
trunk/icd-demo/def/P2.chip1.psf.txt
r8426 r9127 1 2 # description of the chip metadata3 BLANK METADATA4 COMMENT STR5 COMMENT STR Combination (P4S, P4D, Image Stack/ Cumulative Sky) Image6 COMMENT STR Metadata HDU7 COMMENT STR8 OBS_ID STR UnknownFormat # Observation Identifier9 CLASSID S32 0 # Class ID = focal plane location10 DETECTID S32 0 # Numerical ID of detector11 NX S32 4800 # Number of columns on the detector12 NY S32 4800 # Number of rows on the detector DATE STR 2006/02/0513 COMMENT STR14 COMMENT STR Astrometric Solution (up to linear terms)15 COMMENT STR16 NASTRO S32 100 # Number of astrometry stars17 CERROR F32 10.000 # Scatter in astrometry solution (MAS)18 CTYPE1 STR RA---TAN # WCS Coordinate type19 CTYPE2 STR DEC--TAN # WCS Coordinate type20 CRVAL1 F32 321.30941666667 # WCS Ref value (RA in decimal degrees)21 CRVAL2 F32 -5.1685277777778 # WCS Ref value (DEC in decimal degrees)22 CRPIX1 F32 -1051.17692913657 # WCS Coordinate reference pixel23 CRPIX2 F32 2033.40939404705 # WCS Coordinate reference pixel24 CD1_1 F32 1.13378419402790E-4 # WCS Coordinate scale matrix25 CD1_2 F32 8.93919113249280E-8 # WCS Coordinate scale matrix26 CD2_1 F32 -5.4105516940550E-7 # WCS Coordinate scale matrix27 CD2_2 F32 -1.1365323690945E-4 # WCS Coordinate scale matrix28 COMMENT STR29 COMMENT STR Higher order terms in astrometric solution30 COMMENT STR31 POLYORD S32 3 # Polynomial Order32 PCA1X3Y0 F32 0.0 # WCS, Axis 1, coefficient of X^333 PCA1X2Y1 F32 0.0 # WCS, Axis 1, coefficient of X^2 * Y34 PCA1X1Y2 F32 0.0 # WCS, Axis 1, coefficient of X * Y^235 PCA1X0Y3 F32 0.0 # WCS, Axis 1, coefficient of Y^336 PCA1X2Y0 F32 0.0 # WCS, Axis 1, coefficient of X^237 PCA1X1Y1 F32 0.0 # WCS, Axis 1, coefficient of X * Y38 PCA1X0Y2 F32 0.0 # WCS, Axis 1, coefficient of Y^239 PCA1X3Y0 F32 0.0 # WCS, Axis 2, coefficient of X^340 PCA1X2Y1 F32 0.0 # WCS, Axis 2, coefficient of X^2 * Y41 PCA1X1Y2 F32 0.0 # WCS, Axis 2, coefficient of X * Y^242 PCA1X0Y3 F32 0.0 # WCS, Axis 2, coefficient of Y^343 PCA1X2Y0 F32 0.0 # WCS, Axis 2, coefficient of X^244 PCA1X1Y1 F32 0.0 # WCS, Axis 2, coefficient of X * Y45 PCA1X0Y2 F32 0.0 # WCS, Axis 2, coefficient of Y^246 COMMENT STR47 COMMENT STR PSF Description Parameters48 COMMENT STR49 PSFMOD S32 1 # PSF Model number50 PSFFWHM F32 1.0 # PSF Full width at Half Maximum (pixels)51 PSFWIDX F32 1.0 # PSF Width in X coordinate (pixels)52 PSFWIDY F32 1.0 # PSF Width in Y coordinate (pixels)53 PSFTHETA F32 0.0 # PSF Orientation angle (degrees)54 PSF_EX1 F32 0.0 # PSF Extra parameter #155 PSF_EX2 F32 0.0 # PSF Extra parameter #256 COMMENT STR57 COMMENT STR Photometry Calibration information58 COMMENT STR59 COMMENT STR Formula for Photometry, based on keywords given in this header:60 COMMENT STR m = -2.5*log(DN) + 2.5*log(EXPTIME)61 COMMENT STR M = m + PHOT_C + PHOT_K*(AIRMASS - 1) + PHOT_X*(PHOT_C1 - PHOT_C2)62 COMMENT STR63 PHOTCODE STR GPC.00.r # Photometry reduction code identifier64 PHOTOCID S32 # Numerical code for reduction code65 PHOT_C F32 25.7150 # Elixir zero point - measured for camera run66 PHOT_CS F32 0.0048 # Elixir zero point - scatter67 PHOT_NS S32 19 # Elixir zero point - N stars68 PHOT_NM S32 5 # Elixir zero point - N images69 PHOT_C0 F32 25.7430 # Elixir zero point - nominal70 PHOT_X F32 0.0830 # Elixir zero point - color term71 PHOT_K F32 -0.0400 # Elixir zero point - airmass term72 PHOT_C1 STR i_SDSS # Elixir zero point - color 173 PHOT_C2 STR r_SDSS # Elixir zero point - color 274 COMMENT STR75 COMMENT STR Some statistics on this image76 COMMENT STR77 NDETECT S32 1000 # Number of detections78 MAGSAT F32 15.0 # Magnitude at which sources saturate79 MAGCOMP F32 22.0 # Magnitude for which frame is 95% complete80 SKYVAL F32 1000.0 # Median sky value on detector81 SKYVAR F32 1.0 # Variance of sky values82 BIASVAL F32 200.0 # Mean bias level of frame83 BIASVAR F32 1.0 # Variance of bias values84 COMMENT STR85 COMMENT STR Images used to process this exposure86 COMMENT STR87 DETREND1 STR bias.00.fits #88 DETREND2 STR dark.00.fits #89 DETREND3 STR flat.00.fits #90 DETREND4 STR fringe.01.fits #91 DETREND5 STR none #92 DETREND6 STR none #93 DETREND7 STR none #94 DETREND8 STR none #95 COMMENT STR96 COMMENT STR Quality Assurance Flags from IPP97 COMMENT STR98 QAFLAGS STR UnknownValue # IP QA flags99 END100 1 101 2 # extra data which belongs to table header 102 HEADER METADATA 103 COMMENT STR 104 COMMENT STR This HDU applies to all detections that have been analyzed 105 COMMENT STR with the IPP PSF fitting procedure. Note that the IPP_IDET 106 COMMENT STR must be unique within a file so as to allow matching up 107 COMMENT STR sources between the PSF matching and either the alternative 108 COMMENT STR PSF fits for P2, P4S, and P4D detections or the extended 109 COMMENT STR source fits to the Image Stack/Cumulative Sky detections. 110 COMMENT STR 111 EXTNAME STR PSF_FIT_PARAMS 3 FITSTABLE METADATA 4 HEADER METADATA 5 COMMENT STR 6 COMMENT STR This HDU applies to all detections that have been analyzed 7 COMMENT STR with the IPP PSF fitting procedure. Note that the IPP_IDET 8 COMMENT STR must be unique within a file so as to allow matching up 9 COMMENT STR sources between the PSF matching and either the alternative 10 COMMENT STR PSF fits for P2, P4S, and P4D detections or the extended 11 COMMENT STR source fits to the Image Stack/Cumulative Sky detections. 12 COMMENT STR 13 EXTNAME STR PSF_FIT_PARAMS 14 END 15 16 # description of the FITS table columns 17 COLUMNS METADATA 18 TYPE TTYPE TFORM TUNIT TMIN TMAX COMMENT 19 IPP_IDET TTYPE J NONE NONE NONE "IPP detection identifer index" 20 X_PSF TTYPE E PIXELS 0 5000 "PSF x coordinate" 21 Y_PSF TTYPE E PIXELS 0 5000 "PSF y coordinate" 22 X_PSF_SIG TTYPE E PIXELS 0 10 "Sigma in PSF x coordinate" 23 Y_PSF_SIG TTYPE E PIXELS 0 10 "Sigma in PSF y coordinate" 24 RA_PSF TTYPE D "DECIMAL DEGREES" 0 360 "RA from PSF fit" 25 DEC_PSF TTYPE D "DECIMAL DEGREES" -90 +90 "DEC from PSF fit" 26 RA_PSF_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit RA" 27 DEC_PSF_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit DEC" 28 PSF_INST_MAG TTYPE E MAG -20 0 "PSF fit instrumental magnitude" 29 PSF_INST_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of PSF instrumental magnitude" 30 PEAK_FLUX_AS_MAG TTYPE E MAG -20 0 "Peak flux expressed as magnitude" 31 SKY TTYPE E ADU 0 60000 "Sky level" 32 SKY_SIGMA TTYPE E ADU 0 60000 "Sigma of sky level" 33 STAR_GALAXY_SEP TTYPE E NONE 0 1 "Star-Galaxy separator" 34 PSF_WIDTH_X TTYPE E ARCSECONDS 0 20 "PSF width in x coordinate" 35 PSF_WIDTH_Y TTYPE E ARCSECONDS 0 20 "PSF width in y coordinate" 36 PSF_THETA TTYPE E DEGREES -180 +180 "PSF orientation angle" 37 PSF_QF TTYPE E NONE 0 1 "PSF coverage/quality factor" 38 CAL_PSF_MAG TTYPE E MAG -10 +30 "Calibrated magnitude" 39 CAL_PSF_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of calibrated magnitude" 40 N_FRAMES TTYPE I NONE 0 10000 "Number of frames overlapping source center" 41 END 112 42 END 113 114 # description of the FITS table columns115 COLUMNS METADATA116 TYPE TTYPE TFORM TUNIT TMIN TMAX COMMENT117 IPP_IDET TTYPE J NONE NONE NONE "IPP detection identifer index"118 X_PSF TTYPE E PIXELS 0 5000 "PSF x coordinate"119 Y_PSF TTYPE E PIXELS 0 5000 "PSF y coordinate"120 X_PSF_SIG TTYPE E PIXELS 0 10 "Sigma in PSF x coordinate"121 Y_PSF_SIG TTYPE E PIXELS 0 10 "Sigma in PSF y coordinate"122 RA_PSF TTYPE D DECIMAL DEGREES 0 360 "RA from PSF fit"123 DEC_PSF TTYPE D DECIMAL DEGREES -90 +90 "DEC from PSF fit"124 RA_PSF_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit RA"125 DEC_PSF_SIG TTYPE E ARCSECONDS 0 1 "Sigma of PSF fit DEC"126 PSF_INST_MAG TTYPE E MAG -20 0 "PSF fit instrumental magnitude"127 PSF_INST_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of PSF instrumental magnitude"128 PEAK_FLUX_AS_MAG TTYPE E MAG -20 0 "Peak flux expressed as magnitude"129 SKY TTYPE E ADU 0 60000 "Sky level"130 SKY_SIGMA TTYPE E ADU 0 60000 "Sigma of sky level"131 STAR_GALAXY_SEP TTYPE E NONE 0 1 "Star-Galaxy separator"132 PSF_WIDTH_X TTYPE E ARCSECONDS 0 20 "PSF width in x coordinate"133 PSF_WIDTH_Y TTYPE E ARCSECONDS 0 20 "PSF width in y coordinate"134 PSF_THETA TTYPE E DEGREES -180 +180 "PSF orientation angle"135 PSF_QF TTYPE E NONE 0 1 "PSF coverage/quality factor"136 CAL_PSF_MAG TTYPE E MAG -10 +30 "Calibrated magnitude"137 CAL_PSF_MAG_SIG TTYPE E MAG 0 0.5 "Sigma of calibrated magnitude"138 N_FRAMES TTYPE I NONE 0 10000 "Number of frames overlapping source center"139 END -
trunk/icd-demo/def/P2.file.txt
r8426 r9127 25 25 # the file contains table data for each chip: 26 26 TABLE MULTI 27 TABLE STR P2.chip0.hdu.txt 27 28 TABLE STR P2.chip0.psf.txt 28 29 TABLE STR P2.chip0.alt.txt 30 TABLE STR P2.chip1.hdu.txt 29 31 TABLE STR P2.chip1.psf.txt 30 32 TABLE STR P2.chip1.alt.txt -
trunk/icd-demo/def/P4D.file.txt
r8426 r9127 2 2 # Keywords for P4D Frame Descriptor HDU 3 3 HEADER METADATA 4 TELESCOP STR PS1 # Telescope name 5 TELNUM S32 1 # Telescope number 6 CAMERA STR GPC1 # Camera name 7 CAMERAID S32 1 # Camera number 8 OBS_ID STR UnknownFormat # Observation identifier 9 ANALVER S32 0 # Analysis version number 10 P1RECIP STR Basic.0 # Phase 1 recipe 11 P2RECIP STR GPC.01 # Phase 2 recipe 12 P3RECIP STR GPC.00 # Phase 3 recipe 13 NFILES F32 1 # Number of associated files ??? 14 CERROR F32 10.000 # Scatter in astrometry solution (MAS) 15 PHOT_CS F32 0.007 # Scater in photometric solution (mag) 16 MJDATE F64 10000.0011223 # MJD at start of exposure 17 EXPTIME F32 30.01 # Exposure time (seconds) 18 FILTER STR r.12345 # Filter identification string 19 FILTERID F32 2 # Filter holder position 20 AIRMASS F32 1.012 # Airmass at start of exposure 21 RA F32 10.000000 # Telescope boresight in RA (degrees) 22 DEC F32 -10.00000 # Telescope boresight in DEC (degrees) 4 NCELLS S32 2 # Number of sky cell extensions 23 5 END 24 6 25 # the file contains table data for each c hip:7 # the file contains table data for each cell: 26 8 TABLE MULTI 27 TABLE STR P4D.c hip0.psf.txt28 TABLE STR P4D.c hip0.alt.txt29 TABLE STR P4D.c hip0.low.txt30 TABLE STR P4D.c hip1.psf.txt31 TABLE STR P4D.c hip1.alt.txt32 TABLE STR P4D.c hip1.low.txt9 TABLE STR P4D.cell0.hdu.txt 10 TABLE STR P4D.cell0.psf.txt 11 TABLE STR P4D.cell0.alt.txt 12 TABLE STR P4D.cell1.hdu.txt 13 TABLE STR P4D.cell1.psf.txt 14 TABLE STR P4D.cell1.alt.txt -
trunk/icd-demo/def/P4S.file.txt
r8426 r9127 2 2 # Keywords for P4S Frame Descriptor HDU 3 3 HEADER METADATA 4 TELESCOP STR PS1 # Telescope name 5 TELNUM S32 1 # Telescope number 6 CAMERA STR GPC1 # Camera name 7 CAMERAID S32 1 # Camera number 8 OBS_ID STR UnknownFormat # Observation identifier 9 ANALVER S32 0 # Analysis version number 10 P1RECIP STR Basic.0 # Phase 1 recipe 11 P2RECIP STR GPC.01 # Phase 2 recipe 12 P3RECIP STR GPC.00 # Phase 3 recipe 13 NFILES F32 1 # Number of associated files ??? 14 CERROR F32 10.000 # Scatter in astrometry solution (MAS) 15 PHOT_CS F32 0.007 # Scater in photometric solution (mag) 16 MJDATE F64 10000.0011223 # MJD at start of exposure 17 EXPTIME F32 30.01 # Exposure time (seconds) 18 FILTER STR r.12345 # Filter identification string 19 FILTERID F32 2 # Filter holder position 20 AIRMASS F32 1.012 # Airmass at start of exposure 21 RA F32 10.000000 # Telescope boresight in RA (degrees) 22 DEC F32 -10.00000 # Telescope boresight in DEC (degrees) 4 NCELLS S32 2 # Number of sky cell extensions 23 5 END 24 6 25 7 # the file contains table data for each chip: 26 8 TABLE MULTI 27 TABLE STR P4S.chip0.psf.txt 28 TABLE STR P4S.chip0.alt.txt 29 TABLE STR P4S.chip1.psf.txt 30 TABLE STR P4S.chip1.alt.txt 9 TABLE STR P4S.cell0.hdu.txt 10 TABLE STR P4S.cell0.psf.txt 11 TABLE STR P4S.cell0.alt.txt 12 TABLE STR P4S.cell1.hdu.txt 13 TABLE STR P4S.cell1.psf.txt 14 TABLE STR P4S.cell1.alt.txt -
trunk/icd-demo/raw/ext-fits-detections.txt
r9035 r9127 325 325 TTYPE103= 'SB_R_14 ' / Surface brightness inside R #14 326 326 TUNIT103= 'MAG ' / 327 TFORM103 = 'E ' /327 TFORM103= 'E ' / 328 328 TTYPE104= 'SB_R_14_ERR ' / Estimated error of SB inside R #14 329 329 TUNIT104= 'MAG ' / -
trunk/icd-demo/src/icd-demo.c
r8776 r9127 8 8 int main (int argc, char **argv) { 9 9 10 int nFail;10 unsigned int nFail; 11 11 12 12 if (argc != 3) { … … 21 21 22 22 psMetadata *header = psMetadataLookupPtr (NULL, fd, "HEADER"); 23 psFitsWriteBlank (fits, header );23 psFitsWriteBlank (fits, header, ""); 24 24 25 25 // get the list pointers for the PSF_MODEL entries … … 45 45 int parseFile (psFits *fits, char *file) { 46 46 47 int nFail;47 unsigned int nFail; 48 48 char unitWord[64]; 49 49 double min, max, rvalue, range; 50 50 51 fprintf (stderr, "reading %s\n", file); 51 52 psMetadataItem *col; 52 53 psRandom *rnd = psRandomAlloc (PS_RANDOM_TAUS, 0); … … 57 58 psMetadata *blank = psMetadataLookupPtr (NULL, fd, "BLANK"); 58 59 if (blank) { 59 psFitsWriteBlank (fits, blank); 60 } 61 62 psMetadata *header = psMetadataLookupPtr (NULL, fd, "HEADER"); 63 psMetadata *columns = psMetadataLookupPtr (NULL, fd, "COLUMNS"); 64 psMetadataIterator *iter = psMetadataIteratorAlloc (columns, PS_LIST_HEAD, NULL); 65 char *extname = psMetadataLookupStr (NULL, header, "EXTNAME"); 66 67 psArray *table = psArrayAlloc (10); 68 69 // XXX insert unit values: we need a method to do this in psFitsWriteTable 70 int nCol = 1; 71 while ((col = psMetadataGetAndIncrement (iter)) != NULL) { 72 psMetadata *md = col->data.V; 73 char *unit = psMetadataLookupStr (NULL, md, "TUNIT"); 74 if (strcasecmp (unit, "NONE")) { 75 sprintf (unitWord, "TUNIT%d", nCol); 76 psMetadataAddStr (header, PS_LIST_TAIL, unitWord, 0, "", unit); 77 } 78 nCol ++; 79 } 80 psMetadataIteratorSet (iter, PS_LIST_HEAD); 81 82 // make a total of NN fake data columns 83 for (int i = 0; i < 10; i++) { 84 60 fprintf (stderr, "adding BLANK\n"); 61 psFitsWriteBlank (fits, blank, ""); 62 } 63 64 psMetadata *fitstable = psMetadataLookupPtr (NULL, fd, "FITSTABLE"); 65 if (fitstable) { 66 fprintf (stderr, "adding TABLE\n"); 67 psMetadata *header = psMetadataLookupPtr (NULL, fitstable, "HEADER"); 68 psMetadata *columns = psMetadataLookupPtr (NULL, fitstable, "COLUMNS"); 69 psMetadataIterator *iter = psMetadataIteratorAlloc (columns, PS_LIST_HEAD, NULL); 70 char *extname = psMetadataLookupStr (NULL, header, "EXTNAME"); 71 72 psArray *table = psArrayAlloc (10); 73 74 // XXX insert unit values: we need a method to do this in psFitsWriteTable 85 75 int nCol = 1; 86 87 psMetadata *row = psMetadataAlloc ();88 89 76 while ((col = psMetadataGetAndIncrement (iter)) != NULL) { 90 91 77 psMetadata *md = col->data.V; 92 93 char *format = psMetadataLookupStr (NULL, md, "TFORM");94 char *comment = psMetadataLookupStr (NULL, md, "COMMENT");95 78 char *unit = psMetadataLookupStr (NULL, md, "TUNIT"); 96 79 if (strcasecmp (unit, "NONE")) { … … 98 81 psMetadataAddStr (header, PS_LIST_TAIL, unitWord, 0, "", unit); 99 82 } 100 101 if (!strcasecmp (format, "I")) { 102 int value; 103 104 char *minWord = psMetadataLookupStr (NULL, md, "TMIN"); 105 char *maxWord = psMetadataLookupStr (NULL, md, "TMAX"); 106 107 min = atoi (minWord); 108 if (!strcasecmp (minWord, "NONE")) min = 0; 109 max = atoi (maxWord); 110 if (!strcasecmp (maxWord, "NONE")) max = 100; 111 range = max - min; 112 113 rvalue = psRandomUniform (rnd); 114 value = range * rvalue + min; 115 116 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_S16, comment, value); 83 nCol ++; 84 } 85 psMetadataIteratorSet (iter, PS_LIST_HEAD); 86 87 // make a total of NN fake data columns 88 for (int i = 0; i < 10; i++) { 89 90 int nCol = 1; 91 92 psMetadata *row = psMetadataAlloc (); 93 94 while ((col = psMetadataGetAndIncrement (iter)) != NULL) { 95 96 psMetadata *md = col->data.V; 97 98 char *format = psMetadataLookupStr (NULL, md, "TFORM"); 99 char *comment = psMetadataLookupStr (NULL, md, "COMMENT"); 100 char *unit = psMetadataLookupStr (NULL, md, "TUNIT"); 101 if (strcasecmp (unit, "NONE")) { 102 sprintf (unitWord, "TUNIT%d", nCol); 103 psMetadataAddStr (header, PS_LIST_TAIL, unitWord, 0, "", unit); 104 } 105 106 if (!strcasecmp (format, "I")) { 107 int value; 108 109 char *minWord = psMetadataLookupStr (NULL, md, "TMIN"); 110 char *maxWord = psMetadataLookupStr (NULL, md, "TMAX"); 111 112 min = atoi (minWord); 113 if (!strcasecmp (minWord, "NONE")) min = 0; 114 max = atoi (maxWord); 115 if (!strcasecmp (maxWord, "NONE")) max = 100; 116 range = max - min; 117 118 rvalue = psRandomUniform (rnd); 119 value = range * rvalue + min; 120 121 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_S16, comment, value); 122 } 123 124 if (!strcasecmp (format, "J")) { 125 int value; 126 127 char *minWord = psMetadataLookupStr (NULL, md, "TMIN"); 128 char *maxWord = psMetadataLookupStr (NULL, md, "TMAX"); 129 130 min = atoi (minWord); 131 if (!strcasecmp (minWord, "NONE")) min = 0; 132 max = atoi (maxWord); 133 if (!strcasecmp (maxWord, "NONE")) max = 100; 134 range = max - min; 135 136 rvalue = psRandomUniform (rnd); 137 value = range * rvalue + min; 138 139 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_S32, comment, value); 140 } 141 142 if (!strcasecmp (format, "K")) { 143 long int value; 144 145 char *minWord = psMetadataLookupStr (NULL, md, "TMIN"); 146 char *maxWord = psMetadataLookupStr (NULL, md, "TMAX"); 147 148 min = atoi (minWord); 149 if (!strcasecmp (minWord, "NONE")) min = 0; 150 max = atoi (maxWord); 151 if (!strcasecmp (maxWord, "NONE")) max = 100; 152 range = max - min; 153 154 rvalue = psRandomUniform (rnd); 155 value = range * rvalue + min; 156 157 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_S64, comment, value); 158 } 159 160 if (!strcasecmp (format, "E")) { 161 float value; 162 163 char *minWord = psMetadataLookupStr (NULL, md, "TMIN"); 164 char *maxWord = psMetadataLookupStr (NULL, md, "TMAX"); 165 166 min = atoi (minWord); 167 if (!strcasecmp (minWord, "NONE")) min = 0; 168 max = atoi (maxWord); 169 if (!strcasecmp (maxWord, "NONE")) max = 100; 170 range = max - min; 171 172 rvalue = psRandomUniform (rnd); 173 value = range * rvalue + min; 174 175 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_F32, comment, value); 176 } 177 178 if (!strcasecmp (format, "D")) { 179 double value; 180 181 char *minWord = psMetadataLookupStr (NULL, md, "TMIN"); 182 char *maxWord = psMetadataLookupStr (NULL, md, "TMAX"); 183 184 min = atoi (minWord); 185 if (!strcasecmp (minWord, "NONE")) min = 0; 186 max = atoi (maxWord); 187 if (!strcasecmp (maxWord, "NONE")) max = 100; 188 range = max - min; 189 190 rvalue = psRandomUniform (rnd); 191 value = range * rvalue + min; 192 193 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_F64, comment, value); 194 } 195 196 if (!strcasecmp (format, "A")) { 197 char *value = NULL; 198 psStringAppend (&value, "word %03d", i); 199 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_STRING, "", value); 200 } 117 201 } 118 119 if (!strcasecmp (format, "J")) { 120 int value; 121 122 char *minWord = psMetadataLookupStr (NULL, md, "TMIN"); 123 char *maxWord = psMetadataLookupStr (NULL, md, "TMAX"); 124 125 min = atoi (minWord); 126 if (!strcasecmp (minWord, "NONE")) min = 0; 127 max = atoi (maxWord); 128 if (!strcasecmp (maxWord, "NONE")) max = 100; 129 range = max - min; 130 131 rvalue = psRandomUniform (rnd); 132 value = range * rvalue + min; 133 134 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_S32, comment, value); 135 } 136 137 if (!strcasecmp (format, "K")) { 138 long int value; 139 140 char *minWord = psMetadataLookupStr (NULL, md, "TMIN"); 141 char *maxWord = psMetadataLookupStr (NULL, md, "TMAX"); 142 143 min = atoi (minWord); 144 if (!strcasecmp (minWord, "NONE")) min = 0; 145 max = atoi (maxWord); 146 if (!strcasecmp (maxWord, "NONE")) max = 100; 147 range = max - min; 148 149 rvalue = psRandomUniform (rnd); 150 value = range * rvalue + min; 151 152 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_S64, comment, value); 153 } 154 155 if (!strcasecmp (format, "E")) { 156 float value; 157 158 char *minWord = psMetadataLookupStr (NULL, md, "TMIN"); 159 char *maxWord = psMetadataLookupStr (NULL, md, "TMAX"); 160 161 min = atoi (minWord); 162 if (!strcasecmp (minWord, "NONE")) min = 0; 163 max = atoi (maxWord); 164 if (!strcasecmp (maxWord, "NONE")) max = 100; 165 range = max - min; 166 167 rvalue = psRandomUniform (rnd); 168 value = range * rvalue + min; 169 170 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_F32, comment, value); 171 } 172 173 if (!strcasecmp (format, "D")) { 174 double value; 175 176 char *minWord = psMetadataLookupStr (NULL, md, "TMIN"); 177 char *maxWord = psMetadataLookupStr (NULL, md, "TMAX"); 178 179 min = atoi (minWord); 180 if (!strcasecmp (minWord, "NONE")) min = 0; 181 max = atoi (maxWord); 182 if (!strcasecmp (maxWord, "NONE")) max = 100; 183 range = max - min; 184 185 rvalue = psRandomUniform (rnd); 186 value = range * rvalue + min; 187 188 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_F64, comment, value); 189 } 190 191 if (!strcasecmp (format, "A")) { 192 char *value = NULL; 193 psStringAppend (&value, "word %03d", i); 194 psMetadataAdd (row, PS_LIST_TAIL, col->name, PS_DATA_STRING, "", value); 195 } 202 psArrayAdd (table, 100, row); 203 psFree (row); 204 psMetadataIteratorSet (iter, PS_LIST_HEAD); 196 205 } 197 psArrayAdd (table, 100, row); 198 psFree (row); 199 psMetadataIteratorSet (iter, PS_LIST_HEAD); 200 } 201 psFitsWriteTable (fits, header, table, extname); 206 psFitsInsertTable (fits, header, table, extname, true); 207 } 202 208 return 1; 203 209 }
Note:
See TracChangeset
for help on using the changeset viewer.
