IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 9127


Ignore:
Timestamp:
Oct 2, 2006, 4:58:59 PM (20 years ago)
Author:
eugene
Message:

updates to ICD based on latest from jim

Location:
trunk/icd-demo
Files:
30 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/icd-demo/Makefile

    r8426 r9127  
    2121icd-demo: $(ICDDEMO)
    2222
     23ICDTEST = $(BIN)/icd-test.$(ARCH)
     24
     25icd-test: $(ICDTEST)
     26
    2327sample:
     28        @if [ ! -d fits ]; then mkdir -p fits; fi
    2429        cd def; ../bin/icd-demo.$(ARCH) P2.file.txt ../fits/P2.file.fits
    2530        cd def; ../bin/icd-demo.$(ARCH) P4S.file.txt ../fits/P4S.file.fits
    2631        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
    2734
    2835# dependancy rules for binary code #########################
  • trunk/icd-demo/def/P2.chip0.alt.txt

    r8426 r9127  
    11 
    22# 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   
     3FITSTABLE 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
    1434END
    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   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 metadata
    3 BLANK METADATA
    4   COMMENT  STR  MULTI
    5   COMMENT  STR
    6   COMMENT  STR  Combination (P4S, P4D, Image Stack/ Cumulative Sky) Image
    7   COMMENT  STR  Metadata HDU
    8   COMMENT  STR 
    9   OBS_ID   STR  UnknownFormat       # Observation Identifier
    10   CLASSID  S32                    0 # Class ID = focal plane location
    11   DETECTID S32                    0 # Numerical ID of detector
    12   NX       S32                 4800 # Number of columns on the detector
    13   NY       S32                 4800 # Number of rows on the detector   DATE    STR 2006/02/05
    14   COMMENT  STR
    15   COMMENT  STR  Astrometric Solution (up to linear terms)
    16   COMMENT  STR
    17   NASTRO   S32                  100 # Number of astrometry stars
    18   CERROR   F32               10.000 # Scatter in astrometry solution (MAS)
    19   CTYPE1   STR  RA---TAN            # WCS Coordinate type
    20   CTYPE2   STR  DEC--TAN            # WCS Coordinate type
    21   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 pixel
    24   CRPIX2   F32     2033.40939404705 # WCS Coordinate reference pixel
    25   CD1_1    F32  1.13378419402790E-4 # WCS Coordinate scale matrix
    26   CD1_2    F32  8.93919113249280E-8 # WCS Coordinate scale matrix
    27   CD2_1    F32  -5.4105516940550E-7 # WCS Coordinate scale matrix
    28   CD2_2    F32  -1.1365323690945E-4 # WCS Coordinate scale matrix
    29   COMMENT  STR
    30   COMMENT  STR  Higher order terms in astrometric solution
    31   COMMENT  STR
    32   POLYORD  S32                    3 # Polynomial Order
    33   PCA1X3Y0 F32                  0.0 # WCS, Axis 1, coefficient of X^3
    34   PCA1X2Y1 F32                  0.0 # WCS, Axis 1, coefficient of X^2 * Y
    35   PCA1X1Y2 F32                  0.0 # WCS, Axis 1, coefficient of X * Y^2
    36   PCA1X0Y3 F32                  0.0 # WCS, Axis 1, coefficient of Y^3
    37   PCA1X2Y0 F32                  0.0 # WCS, Axis 1, coefficient of X^2
    38   PCA1X1Y1 F32                  0.0 # WCS, Axis 1, coefficient of X * Y
    39   PCA1X0Y2 F32                  0.0 # WCS, Axis 1, coefficient of Y^2
    40   PCA1X3Y0 F32                  0.0 # WCS, Axis 2, coefficient of X^3
    41   PCA1X2Y1 F32                  0.0 # WCS, Axis 2, coefficient of X^2 * Y
    42   PCA1X1Y2 F32                  0.0 # WCS, Axis 2, coefficient of X * Y^2
    43   PCA1X0Y3 F32                  0.0 # WCS, Axis 2, coefficient of Y^3
    44   PCA1X2Y0 F32                  0.0 # WCS, Axis 2, coefficient of X^2
    45   PCA1X1Y1 F32                  0.0 # WCS, Axis 2, coefficient of X * Y
    46   PCA1X0Y2 F32                  0.0 # WCS, Axis 2, coefficient of Y^2
    47   COMMENT  STR
    48   COMMENT  STR  PSF Description Parameters
    49   COMMENT  STR
    50   PSFMOD   S32                    1 # PSF Model number
    51   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 #1
    56   PSF_EX2  F32                  0.0 # PSF Extra parameter #2
    57   COMMENT  STR
    58   COMMENT  STR  Photometry Calibration information
    59   COMMENT  STR
    60   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  STR
    64   PHOTCODE STR  GPC.00.r            # Photometry reduction code identifier
    65   PHOTOCID S32                      # Numerical code for reduction code
    66   PHOT_C   F32              25.7150 # Elixir zero point - measured for camera run
    67   PHOT_CS  F32               0.0048 # Elixir zero point - scatter
    68   PHOT_NS  S32                   19 # Elixir zero point - N stars
    69   PHOT_NM  S32                    5 # Elixir zero point - N images
    70   PHOT_C0  F32              25.7430 # Elixir zero point - nominal
    71   PHOT_X   F32               0.0830 # Elixir zero point - color term
    72   PHOT_K   F32              -0.0400 # Elixir zero point - airmass term
    73   PHOT_C1  STR  i_SDSS              # Elixir zero point - color 1
    74   PHOT_C2  STR  r_SDSS              # Elixir zero point - color 2
    75   COMMENT  STR
    76   COMMENT  STR  Some statistics on this image
    77   COMMENT  STR
    78   NDETECT  S32                 1000 # Number of detections
    79   MAGSAT   F32                15.0  # Magnitude at which sources saturate
    80   MAGCOMP  F32                22.0  # Magnitude for which frame is 95% complete
    81   SKYVAL   F32              1000.0  # Median sky value on detector
    82   SKYVAR   F32                 1.0  # Variance of sky values
    83   BIASVAL  F32               200.0  # Mean bias level of frame
    84   BIASVAR  F32                 1.0  # Variance of bias values
    85   COMMENT  STR
    86   COMMENT  STR  Images used to process this exposure
    87   COMMENT  STR
    88   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  STR
    97   COMMENT  STR  Quality Assurance Flags from IPP
    98   COMMENT  STR
    99   QAFLAGS  STR  UnknownValue        # IP QA flags
    100 END
    1011
    1022# 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
     3FITSTABLE 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
    11443END
    115 
    116 # description of the FITS table columns
    117 COLUMNS METADATA
    118   TYPE              TTYPE  TFORM TUNIT            TMIN   TMAX   COMMENT
    119   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  
    11 
    22# 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   
     3FITSTABLE 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
    1434END
    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   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 metadata
    3 BLANK METADATA
    4   COMMENT  STR
    5   COMMENT  STR  Combination (P4S, P4D, Image Stack/ Cumulative Sky) Image
    6   COMMENT  STR  Metadata HDU
    7   COMMENT  STR 
    8   OBS_ID   STR  UnknownFormat       # Observation Identifier
    9   CLASSID  S32                    0 # Class ID = focal plane location
    10   DETECTID S32                    0 # Numerical ID of detector
    11   NX       S32                 4800 # Number of columns on the detector
    12   NY       S32                 4800 # Number of rows on the detector   DATE    STR 2006/02/05
    13   COMMENT  STR
    14   COMMENT  STR  Astrometric Solution (up to linear terms)
    15   COMMENT  STR
    16   NASTRO   S32                  100 # Number of astrometry stars
    17   CERROR   F32               10.000 # Scatter in astrometry solution (MAS)
    18   CTYPE1   STR  RA---TAN            # WCS Coordinate type
    19   CTYPE2   STR  DEC--TAN            # WCS Coordinate type
    20   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 pixel
    23   CRPIX2   F32     2033.40939404705 # WCS Coordinate reference pixel
    24   CD1_1    F32  1.13378419402790E-4 # WCS Coordinate scale matrix
    25   CD1_2    F32  8.93919113249280E-8 # WCS Coordinate scale matrix
    26   CD2_1    F32  -5.4105516940550E-7 # WCS Coordinate scale matrix
    27   CD2_2    F32  -1.1365323690945E-4 # WCS Coordinate scale matrix
    28   COMMENT  STR
    29   COMMENT  STR  Higher order terms in astrometric solution
    30   COMMENT  STR
    31   POLYORD  S32                    3 # Polynomial Order
    32   PCA1X3Y0 F32                  0.0 # WCS, Axis 1, coefficient of X^3
    33   PCA1X2Y1 F32                  0.0 # WCS, Axis 1, coefficient of X^2 * Y
    34   PCA1X1Y2 F32                  0.0 # WCS, Axis 1, coefficient of X * Y^2
    35   PCA1X0Y3 F32                  0.0 # WCS, Axis 1, coefficient of Y^3
    36   PCA1X2Y0 F32                  0.0 # WCS, Axis 1, coefficient of X^2
    37   PCA1X1Y1 F32                  0.0 # WCS, Axis 1, coefficient of X * Y
    38   PCA1X0Y2 F32                  0.0 # WCS, Axis 1, coefficient of Y^2
    39   PCA1X3Y0 F32                  0.0 # WCS, Axis 2, coefficient of X^3
    40   PCA1X2Y1 F32                  0.0 # WCS, Axis 2, coefficient of X^2 * Y
    41   PCA1X1Y2 F32                  0.0 # WCS, Axis 2, coefficient of X * Y^2
    42   PCA1X0Y3 F32                  0.0 # WCS, Axis 2, coefficient of Y^3
    43   PCA1X2Y0 F32                  0.0 # WCS, Axis 2, coefficient of X^2
    44   PCA1X1Y1 F32                  0.0 # WCS, Axis 2, coefficient of X * Y
    45   PCA1X0Y2 F32                  0.0 # WCS, Axis 2, coefficient of Y^2
    46   COMMENT  STR
    47   COMMENT  STR  PSF Description Parameters
    48   COMMENT  STR
    49   PSFMOD   S32                    1 # PSF Model number
    50   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 #1
    55   PSF_EX2  F32                  0.0 # PSF Extra parameter #2
    56   COMMENT  STR
    57   COMMENT  STR  Photometry Calibration information
    58   COMMENT  STR
    59   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  STR
    63   PHOTCODE STR  GPC.00.r            # Photometry reduction code identifier
    64   PHOTOCID S32                      # Numerical code for reduction code
    65   PHOT_C   F32              25.7150 # Elixir zero point - measured for camera run
    66   PHOT_CS  F32               0.0048 # Elixir zero point - scatter
    67   PHOT_NS  S32                   19 # Elixir zero point - N stars
    68   PHOT_NM  S32                    5 # Elixir zero point - N images
    69   PHOT_C0  F32              25.7430 # Elixir zero point - nominal
    70   PHOT_X   F32               0.0830 # Elixir zero point - color term
    71   PHOT_K   F32              -0.0400 # Elixir zero point - airmass term
    72   PHOT_C1  STR  i_SDSS              # Elixir zero point - color 1
    73   PHOT_C2  STR  r_SDSS              # Elixir zero point - color 2
    74   COMMENT  STR
    75   COMMENT  STR  Some statistics on this image
    76   COMMENT  STR
    77   NDETECT  S32                 1000 # Number of detections
    78   MAGSAT   F32                15.0  # Magnitude at which sources saturate
    79   MAGCOMP  F32                22.0  # Magnitude for which frame is 95% complete
    80   SKYVAL   F32              1000.0  # Median sky value on detector
    81   SKYVAR   F32                 1.0  # Variance of sky values
    82   BIASVAL  F32               200.0  # Mean bias level of frame
    83   BIASVAR  F32                 1.0  # Variance of bias values
    84   COMMENT  STR
    85   COMMENT  STR  Images used to process this exposure
    86   COMMENT  STR
    87   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  STR
    96   COMMENT  STR  Quality Assurance Flags from IPP
    97   COMMENT  STR
    98   QAFLAGS  STR  UnknownValue        # IP QA flags
    99 END
    1001
    1012# 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
     3FITSTABLE 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
    11242END
    113 
    114 # description of the FITS table columns
    115 COLUMNS METADATA
    116   TYPE              TTYPE  TFORM TUNIT            TMIN   TMAX   COMMENT
    117   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  
    2525# the file contains table data for each chip:
    2626TABLE MULTI
     27TABLE STR P2.chip0.hdu.txt
    2728TABLE STR P2.chip0.psf.txt
    2829TABLE STR P2.chip0.alt.txt
     30TABLE STR P2.chip1.hdu.txt
    2931TABLE STR P2.chip1.psf.txt
    3032TABLE STR P2.chip1.alt.txt
  • trunk/icd-demo/def/P4D.file.txt

    r8426 r9127  
    22# Keywords for P4D Frame Descriptor HDU
    33HEADER 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
    235END
    246
    25 # the file contains table data for each chip:
     7# the file contains table data for each cell:
    268TABLE MULTI
    27 TABLE STR P4D.chip0.psf.txt
    28 TABLE STR P4D.chip0.alt.txt
    29 TABLE STR P4D.chip0.low.txt
    30 TABLE STR P4D.chip1.psf.txt
    31 TABLE STR P4D.chip1.alt.txt
    32 TABLE STR P4D.chip1.low.txt
     9TABLE STR P4D.cell0.hdu.txt
     10TABLE STR P4D.cell0.psf.txt
     11TABLE STR P4D.cell0.alt.txt
     12TABLE STR P4D.cell1.hdu.txt
     13TABLE STR P4D.cell1.psf.txt
     14TABLE STR P4D.cell1.alt.txt
  • trunk/icd-demo/def/P4S.file.txt

    r8426 r9127  
    22# Keywords for P4S Frame Descriptor HDU
    33HEADER 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
    235END
    246
    257# the file contains table data for each chip:
    268TABLE 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
     9TABLE STR P4S.cell0.hdu.txt
     10TABLE STR P4S.cell0.psf.txt
     11TABLE STR P4S.cell0.alt.txt
     12TABLE STR P4S.cell1.hdu.txt
     13TABLE STR P4S.cell1.psf.txt
     14TABLE STR P4S.cell1.alt.txt
  • trunk/icd-demo/raw/ext-fits-detections.txt

    r9035 r9127  
    325325TTYPE103= 'SB_R_14           ' / Surface brightness inside R #14
    326326TUNIT103= 'MAG               ' /
    327 TFORM103 = 'E                 ' /
     327TFORM103= 'E                 ' /
    328328TTYPE104= 'SB_R_14_ERR       ' / Estimated error of SB inside R #14
    329329TUNIT104= 'MAG               ' /
  • trunk/icd-demo/src/icd-demo.c

    r8776 r9127  
    88int main (int argc, char **argv) {
    99
    10     int nFail;
     10    unsigned int nFail;
    1111
    1212    if (argc != 3) {
     
    2121
    2222    psMetadata *header  = psMetadataLookupPtr (NULL, fd, "HEADER");
    23     psFitsWriteBlank (fits, header);
     23    psFitsWriteBlank (fits, header, "");
    2424
    2525    // get the list pointers for the PSF_MODEL entries
     
    4545int parseFile (psFits *fits, char *file) {
    4646
    47     int nFail;
     47    unsigned int nFail;
    4848    char unitWord[64];
    4949    double min, max, rvalue, range;
    5050
     51    fprintf (stderr, "reading %s\n", file);
    5152    psMetadataItem *col;
    5253    psRandom *rnd = psRandomAlloc (PS_RANDOM_TAUS, 0);
     
    5758    psMetadata *blank  = psMetadataLookupPtr (NULL, fd, "BLANK");
    5859    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
    8575        int nCol = 1;
    86 
    87         psMetadata *row = psMetadataAlloc ();
    88 
    8976        while ((col = psMetadataGetAndIncrement (iter)) != NULL) {
    90 
    9177            psMetadata *md = col->data.V;
    92 
    93             char *format = psMetadataLookupStr (NULL, md, "TFORM");
    94             char *comment = psMetadataLookupStr (NULL, md, "COMMENT");
    9578            char *unit = psMetadataLookupStr (NULL, md, "TUNIT");
    9679            if (strcasecmp (unit, "NONE")) {
     
    9881                psMetadataAddStr (header, PS_LIST_TAIL, unitWord, 0, "", unit);
    9982            }
    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                }
    117201            }
    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);
    196205        }
    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    }
    202208    return 1;
    203209}
Note: See TracChangeset for help on using the changeset viewer.