Index: /trunk/icd-demo/.cvsignore
===================================================================
--- /trunk/icd-demo/.cvsignore	(revision 9035)
+++ /trunk/icd-demo/.cvsignore	(revision 9035)
@@ -0,0 +1,1 @@
+bin fits
Index: /trunk/icd-demo/raw/alt-fits-detections.txt
===================================================================
--- /trunk/icd-demo/raw/alt-fits-detections.txt	(revision 9035)
+++ /trunk/icd-demo/raw/alt-fits-detections.txt	(revision 9035)
@@ -0,0 +1,60 @@
+XTENSION= 'BINTABLE          ' /
+BITPIX  =                    8 /
+NAXIS   =                    2 /
+NAXIS1  =           NNNNNNNNNN / Number of objects in the table
+NAXIS2  =                  118 / Number of bytes per row 
+PCOUNT  =                    0 /
+GCOUNT  =                    1 /
+TFIELDS =                   27 /
+EXTNAME = 'ALT_FIT_PARAMS    ' /
+COMMENT
+COMMENT   This HDU applies to all detections that have been analyzed
+COMMENT   with the IPP alternative PSF fitting procedure. 
+COMMENT   Note that the IPP_IDET must be unique within a file so as
+COMMENT   to allow matching up sources between the PSF matching and
+COMMENT   either the alternative PSF fits for P2, P4S, and P4D
+COMMENT   detections or the extended source fits to the
+COMMENT   Image Stack/Cumulative Sky detections.
+COMMENT
+TTYPE1  = 'IPP_IDET          ' / IPP detection identifer index
+TUNIT1  = '                  ' /
+TFORM1  = 'J                 ' /
+TTYPE2  = 'ALT_MODEL_ID      ' / Alternate ALT fit model index
+TUNIT2  = '                  ' /
+TFORM2  = 'I                 ' /
+TTYPE6  = 'RA_ALT            ' / RA from ALT fit
+TUNIT6  = 'DECIMAL DEGREES   ' /
+TFORM6  = 'D                 ' /
+TTYPE7  = 'DEC_ALT           ' / DEC from ALT fit
+TUNIT7  = 'DECIMAL DEGREES   ' /
+TFORM7  = 'D                 ' /
+TTYPE8  = 'RA_ALT_SIG        ' / Sigma of ALT fit RA
+TUNIT8  = 'ARCSECONDS        ' /
+TFORM8  = 'E                 ' /
+TTYPE9  = 'DEC_ALT_SIG       ' / Sigma of ALT fit DEC
+TUNIT9  = 'ARCSECONDS        ' /
+TFORM9  = 'E                 ' /
+TTYPE20 = 'ALT_QF            ' / ALT coverage/quality factor
+TUNIT20 = '                  ' /
+TFORM20 = 'E                 ' /
+TTYPE21 = 'CAL_ALT_MAG       ' / Calibrated ALT magnitude
+TUNIT21 = 'MAG               ' /
+TFORM21 = 'E                 ' /
+TTYPE23 = 'ALT_PARM_1        ' / ALT model parameter 1
+TUNIT23 = '                  ' /
+TFORM23 = 'E                 ' /
+TTYPE24 = 'ALT_PARM_2        ' / ALT model parameter 2
+TUNIT24 = '                  ' /
+TFORM24 = 'E                 ' /
+TTYPE25 = 'ALT_PARM_3        ' / ALT model parameter 3
+TUNIT25 = '                  ' /
+TFORM25 = 'E                 ' /
+TTYPE26 = 'ALT_PARM_4        ' / ALT model parameter 4
+TUNIT26 = '                  ' /
+TFORM26 = 'E                 ' /
+TTYPE27 = 'ALT_PARM_5        ' / ALT model parameter 5
+TUNIT27 = '                  ' /
+TFORM27 = 'E                 ' /
+CHECKSUM=                      / Header checksum
+DATASUM =                      / Data section checksum
+END
Index: /trunk/icd-demo/raw/combination.image.txt
===================================================================
--- /trunk/icd-demo/raw/combination.image.txt	(revision 9035)
+++ /trunk/icd-demo/raw/combination.image.txt	(revision 9035)
@@ -0,0 +1,102 @@
+
+# description of the chip metadata
+BLANK METADATA
+  COMMENT  STR  MULTI
+  COMMENT  STR
+  COMMENT  STR  Basic Info about this frame
+  COMMENT  STR
+  SKYCELL  S32                       # Sky Cell ID number
+  CELLVER  S32                       # Sky Cell version number
+  FILTER   S32                       # Filter 
+  STACKID  S32                       # ID for this image stack
+  NP2IMGS  S32                       # Number of P2 images contributing
+  ANALVER  S32                       # Software Analysis Version
+  COMMENT  STR
+  COMMENT  STR  Combination (P4S, P4D, Image Stack/ Cumulative Sky) Image
+  COMMENT  STR  Metadata HDU
+  COMMENT  STR  
+  OBS_ID   STR  UnknownFormat       # Observation Identifier
+  CLASSID  S32                    0 # Class ID = focal plane location
+  DETECTID S32                    0 # Numerical ID of detector
+  NX       S32                 4800 # Number of columns on the detector
+  NY       S32                 4800 # Number of rows on the detector   DATE    STR 2006/02/05
+  COMMENT  STR
+  COMMENT  STR  Astrometric Solution (up to linear terms)
+  COMMENT  STR
+  NASTRO   S32                  100 # Number of astrometry stars
+  CERROR   F32               10.000 # Scatter in astrometry solution (MAS)
+  CTYPE1   STR  RA---TAN            # WCS Coordinate type
+  CTYPE2   STR  DEC--TAN            # WCS Coordinate type
+  CRVAL1   F32      321.30941666667 # WCS Ref value (RA in decimal degrees)
+  CRVAL2   F32     -5.1685277777778 # WCS Ref value (DEC in decimal degrees)
+  CRPIX1   F32    -1051.17692913657 # WCS Coordinate reference pixel
+  CRPIX2   F32     2033.40939404705 # WCS Coordinate reference pixel
+  CD1_1    F32  1.13378419402790E-4 # WCS Coordinate scale matrix
+  CD1_2    F32  8.93919113249280E-8 # WCS Coordinate scale matrix
+  CD2_1    F32  -5.4105516940550E-7 # WCS Coordinate scale matrix
+  CD2_2    F32  -1.1365323690945E-4 # WCS Coordinate scale matrix
+  COMMENT  STR
+  COMMENT  STR  Higher order terms in astrometric solution
+  COMMENT  STR
+  POLYORD  S32                    3 # Polynomial Order
+  PCA1X3Y0 F32                  0.0 # WCS, Axis 1, coefficient of X^3
+  PCA1X2Y1 F32                  0.0 # WCS, Axis 1, coefficient of X^2 * Y
+  PCA1X1Y2 F32                  0.0 # WCS, Axis 1, coefficient of X * Y^2
+  PCA1X0Y3 F32                  0.0 # WCS, Axis 1, coefficient of Y^3
+  PCA1X2Y0 F32                  0.0 # WCS, Axis 1, coefficient of X^2
+  PCA1X1Y1 F32                  0.0 # WCS, Axis 1, coefficient of X * Y
+  PCA1X0Y2 F32                  0.0 # WCS, Axis 1, coefficient of Y^2
+  PCA1X3Y0 F32                  0.0 # WCS, Axis 2, coefficient of X^3
+  PCA1X2Y1 F32                  0.0 # WCS, Axis 2, coefficient of X^2 * Y
+  PCA1X1Y2 F32                  0.0 # WCS, Axis 2, coefficient of X * Y^2
+  PCA1X0Y3 F32                  0.0 # WCS, Axis 2, coefficient of Y^3
+  PCA1X2Y0 F32                  0.0 # WCS, Axis 2, coefficient of X^2
+  PCA1X1Y1 F32                  0.0 # WCS, Axis 2, coefficient of X * Y
+  PCA1X0Y2 F32                  0.0 # WCS, Axis 2, coefficient of Y^2
+  COMMENT  STR
+  COMMENT  STR  PSF Description Parameters
+  COMMENT  STR
+  PSFMOD   S32                    1 # PSF Model number
+  PSFFWHM  F32                  1.0 # PSF Full width at Half Maximum (pixels)
+  PSFWIDX  F32                  1.0 # PSF Width in X coordinate (pixels)
+  PSFWIDY  F32                  1.0 # PSF Width in Y coordinate (pixels)
+  PSFTHETA F32                  0.0 # PSF Orientation angle (degrees)
+  PSF_EX1  F32                  0.0 # PSF Extra parameter #1
+  PSF_EX2  F32                  0.0 # PSF Extra parameter #2
+  COMMENT  STR
+  COMMENT  STR  Photometry Calibration information
+  COMMENT  STR
+  COMMENT  STR   Formula for Photometry, based on keywords given in this header:
+  COMMENT  STR   m = -2.5*log(DN) + 2.5*log(EXPTIME)
+  COMMENT  STR   M = m + PHOT_C + PHOT_K*(AIRMASS - 1) + PHOT_X*(PHOT_C1 - PHOT_C2)
+  COMMENT  STR
+  PHOTCODE STR  GPC.00.r            # Photometry reduction code identifier
+  PHOTOCID S32                      # Numerical code for reduction code
+  PHOT_C   F32              25.7150 # Elixir zero point - measured for camera run
+  PHOT_CS  F32               0.0048 # Elixir zero point - scatter
+  PHOT_NS  S32                   19 # Elixir zero point - N stars
+  PHOT_NM  S32                    5 # Elixir zero point - N images
+  PHOT_C0  F32              25.7430 # Elixir zero point - nominal
+  PHOT_X   F32               0.0830 # Elixir zero point - color term
+  PHOT_K   F32              -0.0400 # Elixir zero point - airmass term
+  PHOT_C1  STR  i_SDSS              # Elixir zero point - color 1
+  PHOT_C2  STR  r_SDSS              # Elixir zero point - color 2
+  COMMENT  STR
+  COMMENT  STR  Some statistics on this image
+  COMMENT  STR
+  NDETECT  S32                 1000 # Number of detections
+  MAGSAT   F32                15.0  # Magnitude at which sources saturate
+  MAGCOMP  F32                22.0  # Magnitude for which frame is 95% complete
+  SKYVAL   F32              1000.0  # Median sky value on detector
+  SKYVAR   F32                 1.0  # Variance of sky values
+  BIASVAL  F32               200.0  # Mean bias level of frame
+  BIASVAR  F32                 1.0  # Variance of bias values
+  COMMENT  STR
+  COMMENT  STR  P2 images used to generate this image stack
+  COMMENT  STR 
+  COMMENT  STR
+  COMMENT  STR  Quality Assurance Flags from IPP
+  COMMENT  STR
+  QAFLAGS  STR  UnknownValue        # IP QA flags
+END
+
Index: /trunk/icd-demo/raw/ext-fits-detections.txt
===================================================================
--- /trunk/icd-demo/raw/ext-fits-detections.txt	(revision 9035)
+++ /trunk/icd-demo/raw/ext-fits-detections.txt	(revision 9035)
@@ -0,0 +1,353 @@
+XTENSION= 'BINTABLE          ' /
+BITPIX  =                    8 /
+NAXIS   =                    2 /
+NAXIS1  =           NNNNNNNNNN / Number of objects in the table
+NAXIS2  =                  448 / Number of bytes per row 
+PCOUNT  =                    0 /
+GCOUNT  =                    1 /
+TFIELDS =                  112 /
+EXTNAME = 'EXTENDED_SRC_PARMS' /
+COMMENT
+COMMENT   This HDU applies to all detections that have been analyzed
+COMMENT   with the IPP extended source fitting procedure. 
+COMMENT   Note that the IPP_IDET must be unique within a file so as 
+COMMENT   to allow matching up sources between the PSF matching and 
+COMMENT   either the alternative PSF fits for P2, P4S, and P4D 
+COMMENT   detections or the extended source fits to the 
+COMMENT   Image Stack/Cumulative Sky detections.
+COMMENT
+TTYPE1  = 'IPP_IDET          ' / IPP detection identifer index
+TUNIT1  = '                  ' /
+TFORM1  = 'J                 ' /
+TTYPE2  = 'PET_R             ' / Petrosian radius
+TUNIT2  = 'ARCSECONDS        ' /
+TFORM2  = 'E                 ' /
+TTYPE3  = 'PET_MAG           ' / Petrosian magnitude
+TUNIT3  = 'MAG               ' /
+TFORM3  = 'E                 ' /
+TTYPE4  = 'PET_R50           ' / Petrosian radius for 50% light
+TUNIT4  = 'ARCSECONDS        ' /
+TFORM4  = 'E                 ' /
+TTYPE4  = 'PET_R90           ' / Petrosian radius for 90% light
+TUNIT4  = 'ARCSECONDS        ' /
+TFORM4  = 'E                 ' /
+TTYPE6  = 'RA_PET            ' / RA from Petrosian fit
+TUNIT6  = 'DECIMAL DEGREES   ' /
+TFORM6  = 'D                 ' /
+TTYPE7  = 'DEC_PET           ' / DEC from Petrosian fit
+TUNIT7  = 'DECIMAL DEGREES   ' /
+TFORM7  = 'D                 ' /
+TTYPE8  = 'RA_PET_SIG        ' / Sigma of Petrosian fit RA
+TUNIT8  = 'ARCSECONDS        ' /
+TFORM8  = 'E                 ' /
+TTYPE9  = 'DEC_PET_SIG       ' / Sigma of Petrosian fit DEC
+TUNIT9  = 'ARCSECONDS        ' /
+TFORM9  = 'E                 ' /
+TTYPE10 = 'PET_QF            ' / Petrosian coverage/quality factor
+TUNIT10 = '                  ' /
+TFORM10 = 'E                 ' /
+TTYPE11 = 'DEV_R             ' / deVaucouleurs radius
+TUNIT11 = 'ARCSECONDS        ' /
+TFORM11 = 'E                 ' /
+TTYPE12 = 'MAG_DEV           ' / deVaucouleurs magnitude
+TUNIT12 = 'MAG               ' /
+TFORM12 = 'E                 ' /
+TTYPE13 = 'MAG_DEV_SIG       ' / Sigma of deVaucouleurs magnitude
+TUNIT13 = 'MAG               ' /
+TFORM13 = 'E                 ' /
+TTYPE14 = 'DEV_AB            ' / deVaucouleurs axis ratio
+TUNIT14 = '                  ' /
+TFORM14 = 'E                 ' /
+TTYPE15 = 'DEV_PHI           ' / deVaucouleurs orientation angle
+TUNIT15 = 'DEGREES           ' /
+TFORM15 = 'E                 ' /
+TTYPE16 = 'RA_DEV            ' / RA from deVaucouleurs fit
+TUNIT16 = 'DECIMAL DEGREES   ' /
+TFORM16 = 'D                 ' /
+TTYPE17 = 'DEC_DEV           ' / DEC from deVaucouleurs fit
+TUNIT17 = 'DECIMAL DEGREES   ' /
+TFORM17 = 'D                 ' /
+TTYPE18 = 'RA_DEV_SIG        ' / Sigma of deVaucouleurs fit RA
+TUNIT18 = 'ARCSECONDS        ' /
+TFORM18 = 'E                 ' /
+TTYPE19 = 'DEC_DEV_SIG       ' / Sigma of deVaucouleurs fit DEC
+TUNIT19 = 'ARCSECONDS        ' /
+TFORM19 = 'E                 ' /
+TTYPE20 = 'DEV_QF            ' / deVaucouleurs coverage/quality factor
+TUNIT20 = '                  ' /
+TFORM20 = 'E                 ' /
+TTYPE21 = 'EXP_R             ' / Exponential fit model radius
+TUNIT21 = 'ARCSECONDS        ' /
+TFORM21 = 'E                 ' /
+TTYPE22 = 'MAG_EXP           ' / Exponential fit model magnitude
+TUNIT22 = 'MAG               ' /
+TFORM22 = 'E                 ' /
+TTYPE23 = 'MAG__EXP_SIG      ' / Sigma of Exponential fit model magnitude
+TUNIT23 = 'MAG               ' /
+TFORM23 = 'E                 ' /
+TTYPE24 = 'EXP_AB            ' / Exponential fit model axis ratio
+TUNIT24 = '                  ' /
+TFORM24 = 'E                 ' /
+TTYPE25 = 'EXP_PHI           ' / Exponetial fit orientation angle
+TUNIT25 = 'DEGREES           ' /
+TFORM25 = 'E                 ' /
+TTYPE26 = 'RA_EXP            ' / RA from Expondential model fit
+TUNIT26 = 'DECIMAL DEGREES   ' /
+TFORM26 = 'D                 ' /
+TTYPE27 = 'DEC_EXP           ' / DEC from Expondential model fit
+TUNIT27 = 'DECIMAL DEGREES   ' /
+TFORM27 = 'D                 ' /
+TTYPE28 = 'RA_EXP_SIG        ' / Sigma of Expondential model fit RA
+TUNIT28 = 'ARCSECONDS        ' /
+TFORM28 = 'E                 ' /
+TTYPE29 = 'DEC_EXP_SIG       ' / Sigma of Expondential model fit DEC
+TUNIT29 = 'ARCSECONDS        ' /
+TFORM29 = 'E                 ' /
+TTYPE30 = 'EXP_QF            ' / Exponential fit coverage/quality factor
+TUNIT30 = '                  ' /
+TFORM30 = 'E                 ' /
+TTYPE31 = 'SER_R             ' / Sersic fit model radius
+TUNIT31 = 'ARCSECONDS        ' /
+TFORM31 = 'E                 ' /
+TTYPE32 = 'MAG_SER           ' / Sersic fit model magnitude
+TUNIT32 = 'MAG               ' /
+TFORM32 = 'E                 ' /
+TTYPE33 = 'MAG_SER_SIG       ' / Sigma of Sersic fit model magnitude
+TUNIT33 = 'MAG               ' /
+TFORM33 = 'E                 ' /
+TTYPE34 = 'SER_AB            ' / Sersic fit model axis ratio
+TUNIT34 = '                  ' /
+TFORM34 = 'E                 ' /
+TTYPE35 = 'SER_PHI           ' / Exponetial fit orientation angle
+TUNIT35 = 'DEGREES           ' /
+TFORM35 = 'E                 ' /
+TTYPE36 = 'SER_NU            ' / Sersic fit index nu
+TUNIT36 = '                  ' /
+TFORM36 = 'E                 ' /
+TTYPE16 = 'RA_SER            ' / RA from Sersic fit
+TUNIT16 = 'DECIMAL DEGREES   ' /
+TFORM16 = 'D                 ' /
+TTYPE37 = 'DEC_SER           ' / DEC from Sersic fit
+TUNIT37 = 'DECIMAL DEGREES   ' /
+TFORM37 = 'D                 ' /
+TTYPE38 = 'RA_SER_SIG        ' / Sigma of Sersic fit RA
+TUNIT38 = 'ARCSECONDS        ' /
+TFORM38 = 'E                 ' /
+TTYPE39 = 'DEC_SER_SIG       ' / Sigma of Sersic fit DEC
+TUNIT39 = 'ARCSECONDS        ' /
+TFORM39 = 'E                 ' /
+TTYPE40 = 'SER_QF            ' / Sersic fit coverage/quality factor
+TUNIT40 = '                  ' /
+TFORM40 = 'E                 ' /
+TTYPE41 = 'PCS_R             ' / PSF Convolved Sersic fit model radius
+TUNIT41 = 'ARCSECONDS        ' /
+TFORM41 = 'E                 ' /
+TTYPE42 = 'MAG_PSC           ' / PSF Convolved Sersic fit model magnitude
+TUNIT42 = 'MAG               ' /
+TFORM42 = 'E                 ' /
+TTYPE43 = 'MAG_PSC_SIG       ' / Sigma of PSF Convolved Sersic fit model magnitude
+TUNIT43 = 'MAG               ' /
+TFORM43 = 'E                 ' /
+TTYPE44 = 'PCS_AB            ' / PSF Convolved Sersic fit model axis ratio
+TUNIT44 = '                  ' /
+TFORM45 = 'E                 ' /
+TTYPE46 = 'PCS_PHI           ' / Exponetial fit orientation angle
+TUNIT46 = 'DEGREES           ' /
+TFORM46 = 'E                 ' /
+TTYPE47 = 'PCS_NU            ' / PSF Convolved Sersic fit index nu
+TUNIT47 = '                  ' /
+TFORM47 = 'E                 ' /
+TTYPE48 = 'RA_PSC            ' / RA from PSF Convolved Sersic fit
+TUNIT48 = 'DECIMAL DEGREES   ' /
+TFORM48 = 'D                 ' /
+TTYPE49 = 'DEC_PSC           ' / DEC from PSF Convolved Sersic fit
+TUNIT49 = 'DECIMAL DEGREES   ' /
+TFORM49 = 'D                 ' /
+TTYPE50 = 'RA_PSC_SIG        ' / Sigma of PSF Convolved Sersic fit RA
+TUNIT50 = 'ARCSECONDS        ' /
+TFORM50 = 'E                 ' /
+TTYPE51 = 'DEC_PSC_SIG       ' / Sigma of PSF Convolved Sersic fit DEC
+TUNIT51 = 'ARCSECONDS        ' /
+TFORM51 = 'E                 ' /
+TTYPE52 = 'PCS_QF            ' / PSF Convolved Sersic coverage/quality factor
+TUNIT52 = '                  ' /
+TFORM52 = 'E                 ' /
+TTYPE53 = 'WL_SIGMA          ' / Weak lensing sigma
+TUNIT53 = '                  ' /
+TFORM53 = 'E                 ' /
+TTYPE54 = 'EPS_1             ' / Weak lensing eps(1)
+TUNIT54 = '                  ' /
+TFORM54 = 'E                 ' /
+TTYPE55 = 'EPS_2             ' / Weak lensing eps(2)
+TUNIT55 = '                  ' /
+TFORM55 = 'E                 ' /
+TTYPE56 = 'P_SM_1_1          ' / Weak lensing P_SM(1,1)
+TUNIT56 = '                  ' /
+TFORM56 = 'E                 ' /
+TTYPE57 = 'P_SM_1_2          ' / Weak lensing P_SM(1,2)
+TUNIT57 = '                  ' /
+TFORM57 = 'E                 ' /
+TTYPE58 = 'P_SM_2_1          ' / Weak lensing P_SM(2,1)
+TUNIT58 = '                  ' /
+TFORM58 = 'E                 ' /
+TTYPE59 = 'P_SM_2_2          ' / Weak lensing P_SM(2,2)
+TUNIT59 = '                  ' /
+TFORM59 = 'E                 ' /
+TTYPE60 = 'P_SH_1_1          ' / Weak lensing P_SH(1,1)
+TUNIT60 = '                  ' /
+TFORM60 = 'E                 ' /
+TTYPE61 = 'P_SH_1_2          ' / Weak lensing P_SH(1,2)
+TUNIT61 = '                  ' /
+TFORM61 = 'E                 ' /
+TTYPE62 = 'P_SH_2_1          ' / Weak lensing P_SH(2,1)
+TUNIT62 = '                  ' /
+TFORM62 = 'E                 ' /
+TTYPE63 = 'P_SH_2_2          ' / Weak lensing P_SH(2,2)
+TUNIT63 = '                  ' /
+TFORM63 = 'E                 ' /
+TTYPE64 = 'SB_R_1            ' / Surface brightness inside R #1
+TUNIT64 = 'MAG               ' /
+TFORM64 = 'E                 ' /
+TTYPE65 = 'SB_R_1_ERR        ' / Estimated error of SB inside R #1
+TUNIT65 = 'MAG               ' /
+TFORM65 = 'E                 ' /
+TTYPE66 = 'SB_R_1_VAR        ' / Estimated variance of SB inside R #1
+TUNIT66 = 'MAG               ' /
+TFORM66 = 'E                 ' /
+TTYPE67 = 'SB_R_2            ' / Surface brightness inside R #2
+TUNIT67 = 'MAG               ' /
+TFORM67 = 'E                 ' /
+TTYPE68 = 'SB_R_2_ERR        ' / Estimated error of SB inside R #2
+TUNIT68 = 'MAG               ' /
+TFORM68 = 'E                 ' /
+TTYPE69 = 'SB_R_2_VAR        ' / Estimated variance of SB inside R #2
+TUNIT69 = 'MAG               ' /
+TFORM69 = 'E                 ' /
+TTYPE70 = 'SB_R_3            ' / Surface brightness inside R #3
+TUNIT70 = 'MAG               ' /
+TFORM70 = 'E                 ' /
+TTYPE71 = 'SB_R_3_ERR        ' / Estimated error of SB inside R #3
+TUNIT71 = 'MAG               ' /
+TFORM71 = 'E                 ' /
+TTYPE72 = 'SB_R_3_VAR        ' / Estimated variance of SB inside R #3
+TUNIT72 = 'MAG               ' /
+TFORM72 = 'E                 ' /
+TTYPE73 = 'SB_R_4            ' / Surface brightness inside R #4
+TUNIT73 = 'MAG               ' /
+TFORM73 = 'E                 ' /
+TTYPE74 = 'SB_R_4_ERR        ' / Estimated error of SB inside R #4
+TUNIT74 = 'MAG               ' /
+TFORM74 = 'E                 ' /
+TTYPE75 = 'SB_R_4_VAR        ' / Estimated variance of SB inside R #4
+TUNIT75 = 'MAG               ' /
+TFORM75 = 'E                 ' /
+TTYPE76 = 'SB_R_5            ' / Surface brightness inside R #5
+TUNIT76 = 'MAG               ' /
+TFORM76 = 'E                 ' /
+TTYPE77 = 'SB_R_5_ERR        ' / Estimated error of SB inside R #5
+TUNIT77 = 'MAG               ' /
+TFORM77 = 'E                 ' /
+TTYPE78 = 'SB_R_5_VAR        ' / Estimated variance of SB inside R #5
+TUNIT78 = 'MAG               ' /
+TFORM78 = 'E                 ' /
+TTYPE79 = 'SB_R_6            ' / Surface brightness inside R #6
+TUNIT79 = 'MAG               ' /
+TFORM79 = 'E                 ' /
+TTYPE80 = 'SB_R_6_ERR        ' / Estimated error of SB inside R #6
+TUNIT80 = 'MAG               ' /
+TFORM80 = 'E                 ' /
+TTYPE81 = 'SB_R_5_VAR        ' / Estimated variance of SB inside R #6
+TUNIT81 = 'MAG               ' /
+TFORM81 = 'E                 ' /
+TTYPE82 = 'SB_R_7            ' / Surface brightness inside R #7
+TUNIT82 = 'MAG               ' /
+TFORM82 = 'E                 ' /
+TTYPE83 = 'SB_R_7_ERR        ' / Estimated error of SB inside R #7
+TUNIT83 = 'MAG               ' /
+TFORM83 = 'E                 ' /
+TTYPE84 = 'SB_R_7_VAR        ' / Estimated variance of SB inside R #7
+TUNIT84 = 'MAG               ' /
+TFORM84 = 'E                 ' /
+TTYPE85 = 'SB_R_8            ' / Surface brightness inside R #8
+TUNIT85 = 'MAG               ' /
+TFORM85 = 'E                 ' /
+TTYPE86 = 'SB_R_8_ERR        ' / Estimated error of SB inside R #8
+TUNIT86 = 'MAG               ' /
+TFORM86 = 'E                 ' /
+TTYPE87 = 'SB_R_8_VAR        ' / Estimated variance of SB inside R #8
+TUNIT87 = 'MAG               ' /
+TFORM87 = 'E                 ' /
+TTYPE88 = 'SB_R_9            ' / Surface brightness inside R #9
+TUNIT88 = 'MAG               ' /
+TFORM88 = 'E                 ' /
+TTYPE89 = 'SB_R_9_ERR        ' / Estimated error of SB inside R #9
+TUNIT89 = 'MAG               ' /
+TFORM89 = 'E                 ' /
+TTYPE90 = 'SB_R_9_VAR        ' / Estimated variance of SB inside R #9
+TUNIT90 = 'MAG               ' /
+TFORM90 = 'E                 ' /
+TTYPE91 = 'SB_R_10           ' / Surface brightness inside R #10
+TUNIT91 = 'MAG               ' /
+TFORM91 = 'E                 ' /
+TTYPE92 = 'SB_R_10_ERR       ' / Estimated error of SB inside R #10
+TUNIT92 = 'MAG               ' /
+TFORM92 = 'E                 ' /
+TTYPE93 = 'SB_R_10_VAR       ' / Estimated variance of SB inside R #10
+TUNIT93 = 'MAG               ' /
+TFORM93 = 'E                 ' /
+TTYPE94 = 'SB_R_11           ' / Surface brightness inside R #11
+TUNIT94 = 'MAG               ' /
+TFORM94 = 'E                 ' /
+TTYPE95 = 'SB_R_11_ERR       ' / Estimated error of SB inside R #11
+TUNIT95 = 'MAG               ' /
+TFORM95 = 'E                 ' /
+TTYPE96 = 'SB_R_11_VAR       ' / Estimated variance of SB inside R #11
+TUNIT96 = 'MAG               ' /
+TFORM96 = 'E                 ' /
+TTYPE97 = 'SB_R_12           ' / Surface brightness inside R #12
+TUNIT97 = 'MAG               ' /
+TFORM97 = 'E                 ' /
+TTYPE98 = 'SB_R_12_RR        ' / Estimated error of SB inside R #12
+TUNIT98 = 'MAG               ' /
+TFORM98 = 'E                 ' /
+TTYPE99 = 'SB_R_12_VAR       ' / Estimated variance of SB inside R #12
+TUNIT99 = 'MAG               ' /
+TFORM99 = 'E                 ' /
+TTYPE100= 'SB_R_13           ' / Surface brightness inside R #13
+TUNIT100= 'MAG               ' /
+TFORM100= 'E                 ' /
+TTYPE101= 'SB_R_13_ERR       ' / Estimated error of SB inside R #13
+TUNIT101= 'MAG               ' /
+TFORM101= 'E                 ' /
+TTYPE102= 'SB_R_13_VAR       ' / Estimated variance of SB inside R #13
+TUNIT102= 'MAG               ' /
+TFORM102= 'E                 ' /
+TTYPE103= 'SB_R_14           ' / Surface brightness inside R #14
+TUNIT103= 'MAG               ' /
+TFORM103 = 'E                 ' /
+TTYPE104= 'SB_R_14_ERR       ' / Estimated error of SB inside R #14
+TUNIT104= 'MAG               ' /
+TFORM104= 'E                 ' /
+TTYPE105= 'SB_R_14_VAR       ' / Estimated variance of SB inside R #14
+TUNIT106= 'MAG               ' /
+TFORM106= 'E                 ' /
+TTYPE107= 'SB_R_15           ' / Surface brightness inside R #15
+TUNIT107= 'MAG               ' /
+TFORM107= 'E                 ' /
+TTYPE108= 'SB_R_15_ERR       ' / Estimated error of SB inside R #15
+TUNIT108= 'MAG               ' /
+TFORM108= 'E                 ' /
+TTYPE109= 'SB_R_15_VAR       ' / Estimated variance of SB inside R #15
+TUNIT109= 'MAG               ' /
+TFORM109= 'E                 ' /
+TTYPE110= 'LOG_A             ' / Log of asymmetry parameter
+TUNIT110= '                  ' /
+TFORM110= 'E                 ' /
+TTYPE111= 'LOG_C             ' / Log of concentration parameter
+TUNIT111= '                  ' /
+TFORM111= 'E                 ' /
+TTYPE112= 'INCL              ' / Inclination
+TUNIT112= '                  ' /
+TFORM112= 'E                 ' /
+CHECKSUM=                      / Header checksum
+DATASUM =                      / Data checksum
Index: /trunk/icd-demo/raw/predefined-objects.txt
===================================================================
--- /trunk/icd-demo/raw/predefined-objects.txt	(revision 9035)
+++ /trunk/icd-demo/raw/predefined-objects.txt	(revision 9035)
@@ -0,0 +1,34 @@
+ 
+# this file describes a FITS table to be simulated
+EXTNAME STR PREDEFINED_OBJECTS
+
+HEADER METADATA
+END
+
+# description of the FITS table columns
+COLUMNS METADATA
+  TYPE              TTYPE TFORM   TUNIT        TMIN TMAX  COMMENT
+  IPP_ID            TTYPE     J   NONE         NONE NONE  "IPP object identification index"   
+  RA                TTYPE     D   DEGREES      NONE NONE  "RA "                              
+  DEC               TTYPE     D   DEGREES      NONE NONE  "DEC "                             
+  RA_SIG            TTYPE     E   ARCSECONDS   NONE NONE  "Sigma of RA"                      
+  DEC_SIG           TTYPE     D   ARCSECONDS   NONE NONE  "Sigma of DEC "                    
+  MU_RA_COS_DEC     TTYPE     E   MAS/YR       NONE NONE  "Mu in RA * Cos (Dec)"             
+  MU_DEC            TTYPE     E   MAS/YR       NONE NONE  "Mu in DEC"                        
+  MU_RA_COS_DEC_SIG TTYPE     E   MAS/YR       NONE NONE  "sigma of Mu in RA * Cos(Dec)"     
+  MU_DEC_SIG        TTYPE     E   MAS/YR       NONE NONE  "sigma of mu in DEC"               
+  PARALLAX          TTYPE     E   MAS          NONE NONE  "Parallax"                         
+  PARALLAX_SIG      TTYPE     E   MAS          NONE NONE  "Sigma of Parallax"                
+  G_MAG             TTYPE     E   MAG          NONE NONE  "g magnitude"                      
+  G_MAG_SIG         TTYPE     E   MAG          NONE NONE  "Sigma of g magnitude"             
+  R_MAG             TTYPE     E   MAG          NONE NONE  "r magnitude"                      
+  R_MAG_SIG         TTYPE     E   MAG          NONE NONE  "Sigma of r magnitude"             
+  I_MAG             TTYPE     E   MAG          NONE NONE  "i magnitude"                      
+  I_MAI_SIG         TTYPE     E   MAG          NONE NONE  "Sigma of i magnitude"             
+  Y_MAG             TTYPE     E   MAG          NONE NONE  "y magnitude"                      
+  Y_MAY_SIG         TTYPE     E   MAG          NONE NONE  "Sigma of y magnitude"             
+  Z_MAG             TTYPE     E   MAG          NONE NONE  "z magnitude"                      
+  Z_MAZ_SIG         TTYPE     E   MAG          NONE NONE  "Sigma of z magnitude"             
+  W_MAG             TTYPE     E   MAG          NONE NONE  "w magnitude"                      
+  W_MAG_SIG         TTYPE     E   MAG          NONE NONE  "Sigma of w magnitude"             
+END
Index: /trunk/icd-demo/raw/psf-fits-detections.txt
===================================================================
--- /trunk/icd-demo/raw/psf-fits-detections.txt	(revision 9035)
+++ /trunk/icd-demo/raw/psf-fits-detections.txt	(revision 9035)
@@ -0,0 +1,86 @@
+
+XTENSION= 'BINTABLE          ' /
+BITPIX  =                    8 /
+NAXIS   =                    2 /
+NAXIS1  =           NNNNNNNNNN / Number of objects in the table
+NAXIS2  =                   96 / Number of bytes per row 
+PCOUNT  =                    0 /
+GCOUNT  =                    1 /
+TFIELDS =                   23 /
+EXTNAME = 'PSF_FIT_PARAMS    ' /
+COMMENT   
+COMMENT   This HDU applies to all detections that have been analyzed
+COMMENT   with the IPP PSF fitting procedure. Note that the IPP_IDET
+COMMENT   must be unique within a file so as to allow matching up
+COMMENT   sources between the PSF matching and either the alternative
+COMMENT   PSF fits for P2, P4S, and P4D detections or the extended
+COMMENT   source fits to the Image Stack/Cumulative Sky detections.
+COMMENT
+TTYPE1  = 'IPP_IDET          ' / IPP detection identifer index
+TUNIT1  = '                  ' /
+TFORM1  = 'J                 ' /
+TTYPE2  = 'X_PSF             ' / PSF x coordinate
+TUNIT2  = 'PIXELS            ' /
+TFORM2  = 'E                 ' /
+TTYPE3  = 'Y_PSF             ' / PSF y coordinate
+TUNIT3  = 'PIXELS            ' /
+TFORM3  = 'E                 ' /
+TTYPE4  = 'X_PSF_SIG         ' / Sigma in PSF x coordinate
+TUNIT4  = 'PIXELS            ' /
+TFORM4  = 'E                 ' /
+TTYPE5  = 'Y_PSF_SIG         ' / Sigma in PSF y coordinate
+TUNIT5  = 'PIXELS            ' /
+TFORM5  = 'E                 ' /
+TTYPE6  = 'RA_PSF            ' / RA from PSF fit
+TUNIT6  = 'DECIMAL DEGREES   ' /
+TFORM6  = 'D                 ' /
+TTYPE7  = 'DEC_PSF               ' / DEC from PSF fit
+TUNIT7  = 'DECIMAL DEGREES   ' /
+TFORM7  = 'D                 ' /
+TTYPE8  = 'RA_PSF_SIG        ' / Sigma of PSF fit RA
+TUNIT8  = 'ARCSECONDS        ' /
+TFORM8  = 'E                 ' /
+TTYPE9  = 'DEC_PSF_SIG           ' / Sigma of PSF fit DEC
+TUNIT9  = 'ARCSECONDS        ' /
+TFORM9  = 'E                 ' /
+TTYPE10 = 'PSF_INST_MAG      ' / PSF fit instrumental magnitude
+TUNIT10 = 'MAG               ' /
+TFORM10 = 'E                 ' /
+TTYPE11 = 'PSF_INST_MAG_SIG  ' / Sigma of PSF instrumental magnitude
+TUNIT11 = 'MAG               ' /
+TFORM11 = 'E                 ' /
+TTYPE12 = 'PEAK_FLUX_AS_MAG  ' / Peak flux expressed as magnitude
+TUNIT12 = 'MAG               ' /
+TFORM12 = 'E                 ' /
+TTYPE13 = 'SKY               ' / Sky level
+TUNIT13 = 'ADU               ' /
+TFORM13 = 'E                 ' /
+TTYPE14 = 'SKY_SIGMA         ' / Sigma of sky level
+TUNIT14 = 'ADU               ' /
+TFORM14 = 'E                 ' /
+TTYPE15 = 'STAR_GALAXY_SEP   ' / Star-Galaxy separator
+TUNIT15 = '                  ' /
+TFORM15 = 'E                 ' /
+TTYPE16 = 'PSF_WIDTH_X       ' / PSF width in x coordinate
+TUNIT16 = 'ARCSECONDS        ' /
+TFORM16 = 'E                 ' /
+TTYPE17 = 'PSF_WIDTH_Y       ' / PSF width in y coordinate
+TUNIT17 = 'ARCSECONDS        ' /
+TFORM17 = 'E                 ' /
+TTYPE19 = 'PSF_THETA         ' / PSF orientation angle
+TUNIT18 = 'DEGREES           ' /
+TFORM18 = 'E                 ' /
+TTYPE19 = 'PSF_QF            ' / PSF coverage/quality factor
+TUNIT19 = '                  ' /
+TFORM19 = 'E                 ' /
+TTYPE20 = 'CAL_PSF_MAG           ' / Calibrated magnitude
+TUNIT20 = 'MAG               ' /
+TFORM20 = 'E                 ' /
+TTYPE21 = 'CAL_PSF_MAG_SIG   ' / Sigma of calibrated magnitude
+TUNIT21 = 'MAG               ' /
+TFORM21 = 'E                 ' /
+TTYPE22 = 'N_FRAMES          ' / Number of frames overlapping source center
+TUNIT22 = '                  ' /
+TFORM22 = 'I                 ' /
+CHECKSUM=                      / Header checksum
+DATASUM =                      / Data section checksum
