ACS Instrument Science Report 99-06 ACS calibration pipeline testing: error propagation Doug Van Orsow, Max Mutchler, Warren Hack, Robert Jedrzejewski 17 August 1999 ABSTRACT This report details how CALACS, the calibration software pipeline for the Advanced Camera for Surveys (ACS), produces ERR (error) array output. From a standard error analysis text we derive the equations which CALACS should use to propagate errors. Tests are then run to verify the actual CALACS error array output equals the expected values from our derived equtions. CALACS thereby propagates the errors to a final statistical uncertainty for each pixel in the calibrated SCI (science) array. 1. Introduction CALACS corrects the science array from any systematic type of noise source affecting the true signal by subtracting or dividing the appropriate calibration reference files (see ISRs 99-03 ”CALACS Operation and Implementation” by Hack and 99-04 “ACS calibration and pipeline testing: basic image reduction” by Mutchler). Each correction in itself may then introduce some additional error, calculated using Poisson statistics, to be included in the error array. The error array then represents the quality of the science obsevations and of the reference files used to calculate its values. In a statistical sense one might use it as a weighting factor in photometric accuracy for a certain area of the CCD or the entire field of view. It may also tell you if the pixels are dominated by the read noise, the background, or some other type noise source. However, since the error array is the same size as the science array, it will be very large (64Mb) in the case of the WFC. Several fully calibrated WFC images will take nearly a gigabyte of disk space. Those who are disk space limited can use the keyword WRTERR to control whether the error array is included in the output of the CALACS steps. 1 2. Test images Our test images for each channel consist of two types, STIS data and simulated data created by the IRAF task imcalc. Each has its own advantages over the other, so both types were used. The STIS test image for the WFC consists of 16 different STIS CCD images. The IRAF task imcopy was used to mosaic these STIS images into two 2kx4k imsets. The WFC reference files also consist of the very same reference images listed in each STIS primary header. The script used to create the WFC test images is listed in Appendix A. Six pixels were chosen on the WFC image, three pixels on stellar sources with high DN, two pixels on extra galactic sources with moderate DN, and one pixel chosen from the background with the lowest DN value in the image. These pixels represent a large dynamic range of DN in order to test all possible ranges of ERR values. These six test pixels were run incrementally through each step of the ACS pipeline and their ERR array values recorded. This allows the change in the error array to be determined for each CALACS step and compared with the expected values. It also confirms which steps which have no affect at all on the error array. The STIS test images for the HRC and SBC did not need mosaicing as their 1024x1024 pixel dimensions already match. Using STIS data is advantageous since it is a close match to what actual ACS data is expected be. A disadvantage is that some of the reference files have such small error values that the resultant ERR array is hardly changed if at all. The simulated test images for all three channels were created with the IRAF task imcalc and are the same as used in ISR 99-04 (Mutchler). Again a large range of DN were created using imcalc and the same range of pixels were followed throughout the ERR propagation process. Simulated data is advantageous in that we can input our own exact values for each pixel and then test whether the output exactly equals what was planned. Running the IRAF task catfits on the raw WFC image shows both ERR extensions as dimensionless placeholders: EXT# FITSNAME FILENAME EXTVE DIMENSIONS BITPIX 0 wf_sci1_raw.fits wf_sci1_raw.fits 1 IMAGE SCI 1 2 IMAGE ERR 1 16 3 IMAGE DQ 1 16 4 IMAGE SCI 2 5 IMAGE ERR 2 16 6 IMAGE DQ 2 16 16 2 4144x2068 4144x2068 16 16 3. CALACS tasks and steps Test images for all three channels of ACS were incrementally run through the steps in each CALACS task. The ERR and SCI array values were then recorded from the appropriate reference and science files. Scripts similar to ones used in ISR 99-04 (Mutchler) were used to analyze all three channels. CALACS - controlling task for entire pipeline ACSCCD - ccd specific calibration task doNoise - error array initialization step Unlike other CALACS steps, there is no keyword switch in the input file’s primary header that controls whether doNoise is run. This step automatically runs in the ACSCCD task and checks the ERR array of the input file. If one exists and has non zero values, doNoise will not alter the image. If an ERR array does not exist or has all zero values, doNoise will initialize the error array with floating point values using a simple noise model in electrons depending upon the channel: σ ccd = readnoise 2 DN – bias max --------------------------, 0 + -------------------------- gain gain σ mama = max ( 1, counts ) Several versions of HRC and WFC images were tested by varying the DN, bias, gain, and readnoise values in the image headers and/or reference tables. These values were changed by editing the CCDTAB reference table. Bias, gain and readnoise do not apply to MAMA images. Its noise model is simply the square root of the counts, with a lower limit of 1. Running catfits on the WFC image after running doNoise shows both ERR extensions have been expanded to match the size of the SCI and DQ extensions. Their integer values have now also been replaced by floating point values as indicated by the -32 value in the BITPIX column: EXT# FITSNAME FILENAME EXTVE DIMENSIONS BITPIX 0 wf_sci1_raw.fits wf_sci1_raw.fits 1 IMAGE SCI 1 4144x2068 -32 2 IMAGE ERR 1 4144x2068 -32 3 IMAGE DQ 1 4144x2068 16 4 IMAGE SCI 2 4144x2068 -32 5 IMAGE ERR 2 4144x2068 -32 6 IMAGE DQ 2 4144x2068 16 16 3 After running doNoise, all cases of the expected ERR values agree with the CALACS output ERR values, within roundoff error. Here are a subset of the test cases: Channel DN Bias Gain Readnoise Expected error CALACS error WFC real 33890 4493.9 1 3.4952 171.49 171.5 WFC real 1320 4493.9 1 3.4952 3.4952 3.495 WFC sim 65000 5493.9 1 5.4952 244.0 244 WFC sim 1000 5493.9 1 5.4952 5.4952 5.495 HRC real 33069 5000 1 3.4 167.57 167.6 HRC real 1378 5000 1 3.4 3.4 3.4 HRC sim 65000 4000 1 3.4 247.01 247 HRC sim 5000 4000 1 3.4 31.81 31.81 SBC real 1896 N/A N/A N/A 43.54 43.54 SBC real 1419 N/A N/A N/A 37.67 37.67 SBC sim 60000 N/A N/A N/A 244.95 244.9 SBC sim 0.50 N/A N/A N/A 31.62 1.0 doDQI - bad pixel determination step doAtoD - analog to digital correction step doBlev - bias level correction step These preceeding three CALACS steps have no affect on the error array. The doBlev code contains no error analysis in the fitting of the bias level correction since its not felt the error values will be of any significance. However it may be worthwhile investigating in the future since it can always be added to the pipeline. Running catfits on the WFC image shows the doBlev step has trimmed the overscan regions from the ERR extensions to match the SCI and DQ extensions: EXT# FITSNAME FILENAME EXTVE DIMENSIONS BITPIX 0 wf_sci1_raw.fits wf_sci1_raw.fits 1 IMAGE SCI 1 4096x2048 -32 2 IMAGE ERR 1 4096x2048 -32 3 IMAGE DQ 1 4096x2048 16 4 IMAGE SCI 2 4096x2048 -32 5 IMAGE ERR 2 4096x2048 -32 6 IMAGE DQ 2 4096x2048 16 16 4 doBias - bias image subtraction step The bias reference file is subtracted from the input science file for the CCDs only. This includes both the SCI and ERR arrays. Bevington’s “Data Reduction and Error Analysis for the Physical Sciences” chapter 3 provides the equations for us to derive the formula for calculation of errors when datasets are arithmetically related: σ u = sci [ err ] x = sci [ sci ] – ref [ sci ] error σ v = ref [ err ] σ x = output u = sci [ sci ] v = ref [ sci ]x a = cons tan t b = cons tan t σ uv = correlation error The summ or difference in data u and v results in x: 2 x = au ± bv The error output in x is then given by: 2 2 2 2 2 σ x = a σ u + b σ v + abσ uv 2 Since a=1 and u and v are uncorrelated: σx = 2 2 2 σu + σv b The constant b in the equation above refers to the fact that the bias reference file needs to be scaled up to match the input science file. The exptime and gain below refer to values from the input science file. These values are not included if the reference file itself has an 5 EXPTIME greater than 1, although in practice this should not be the case. Substituting in the sci and err values: σ ccd = exp time 2 ( s ci [ err ] ) + ref [ err ] --------------------- gain 2 Channel sci[err] ref[err] Expected error CALACS error WFC real 171.5 0.7487 171.5 171.5 WFC real 3.495 0.7485 3.574 3.574 WFC sim 244 10 244.2 244.2 WFC sim 5.495 10 11.41 11.41 HRC real 167.6 0.0 167.6 167.6 HRC real 3.4 0.0 3.4 3.4 HRC sim 247.0 10 247.2 247.2 HRC sim 31.81 7 32.57 32.57 ACSREJ - cosmic ray rejection task The cosmic ray removal task has no affect on the ERR array. ACS2D - Basic MAMA and CCD calibration task doNoise - error array initialization step doDQI - bad pixel determination step The preceeding two steps are performed if not already done in the ACSCCD task. doNonLin - Linearity correction for MAMA data step. This step is strictly for for MAMA images. The counts observed in the science data is a[sci]. The true rate however is 6 represented by N, which we cannot be solve for in closed form, but only in an itterative technique. x = au ±b a [ sci ] mama = Ne –( τ N ) N σ mama = --------------- sci [ err ] a [ sci ] Channel a[sci] tau N sci[err] Expected error CALACS error] SBC real 1896 -0.00693 1216 43.54 27.92 27.92 SBC real 1419 -0.00693 909.9 37.67 24.15 24.15 SBC sim 60000 -0.00693 34440 244.9 140.572 140.57 SBC sim 0.5 -0.00693 0.287 1.0 0.574 0.574 doDark - dark image subtraction step The same equation for doBias is used for CCD data in doDark since subtraction is the operator between the data. The MAMA equation again just excludes any gain value. The 7 dark reference file is once again scaled up to match the science input in the second term of both equtions: σx = 2 2 2 σu + σv b exp time 2 ( s ci [ err ] ) + ref [ err ] --------------------- gain σ ccd = 2 σ mama = 2 ( s ci [ err ] ) + ( ref [ err ] ( exp time ) ) 2 Channel sci[err] ref[err] Expected error CALACS error WFC sim 244.2 0.1 249.27 249.3 WFC sim 11.41 0.1 51.29 51.29 WFC real 171.5 0.001409 171.5 171.5 WFC real 3.574 0.001727 3.68 3.677 HRC real 167.6 0.001402 167.6 167.6 HRC real 3.4 0.001635 3.40034 3.404 HRC sim 247.2 0.01849 247.21 247.2 HRC sim 32.57 0.01849 32.62 32.59 SBC real 27.92 0.001 27.92 27.92 SBC real 24.15 0.001 24.15 24.15 SBC sim 60.18 0.001 60.21 60.21 SBC sim 0.574 0.001 2.081 2.081 doFlat - flat field image combination and division step The flat field reference file is divided into the input science file, again for both the SCI and ERR arrays. The error in dividing sci[err] by ref[err] is: au x = ± -----v 8 The error in x when dividing is: 2 2 2 2 σ uv σx σu σv ---------= + – ------------------2 2 2 2 uv x u v Multiplying both sides by x squared and dropping the correlation term: 2 2 σx 2 2 σu x σv x = ------------- + ------------2 2 u v 2 From the first equation above: u = xv Substituting xv in for u and u/v for x: 2 2 σx 2 2 2 2 σu x σv ( u ⁄ v ) = ------------- + ---------------------------2 2 2 x v v Cancel the x’s in the first term and move both v squares to the denominator in the second term: σx 2 2 2 2 2 2 2 σu σv u = ------+ ------------2 4 v v Taking the square root of both sides: σx = σu σv u ------- + ------------2 4 v v 9 Substituting the sci and err values: σ ccd, mama = sci [ err ] ref [ err ]sci [ sci ] 2 -------------------+ ----------------------------------------2 ref [ sci ] ref [ sci ] 2 CALACS then calculates the error in division as follows. The flat reference file is normalized to the science file in the last term. σ ccd, mama = sci [ err ] 2 ref [ err ] sci [ sci ] 2 -------------------+ --------------------- ------------------- ref [ sci ] ref [ sci ] ref [ sci ] This step involves an additional calculation if more than one flat field reference file is applied. The ref[err] equation below is used if two or more of the pixel to pixel, delta, or low order flat fields are referenced in the header file. If one flat field is applied, the ref[err] value is taken from that file only. We have verified that the expected err values equal the ouput err values when one or two flat field reference files are used. When data u and v are multiplied, the result is x: x = ± auv The error in x will then be (the same as in dividing): 2 2 2 2 σ uv σx σu σv ------- = ------- + ------- + 2 ---------2 2 2 uv x u v Except now u and v have these values when multiplying: x u = -v x v = --u 10 Multiplying both sides by x squared, substituting for u and v, and dropping the correlation term: σx 2 2 2 2 2 2 2 2 2 2 2 2 2 σu x σv x = ------------+ -------------2 2 2 2 x ⁄v x ⁄u Canceling the x squareds: 2 σ x = σu v + σv u Taking the square root of both sides: σx = σu v + σv u Substituting in the sci and err values: ref [ err ] ccd ,mama = 2 ( x [ sci ]y [ err ] ) + ( y [ sci ] x [ err ] ) 2 Channel sci[err] ref[err] ref[sci] sci[sci] Expected error CALACS error WFC real 171.5 .004787 0.9959 32532 233.04 233.1 WFC real 3.677 .005042 1.008 -256.9 3.864 3.866 WFC sim 249.3 0.1 2 54990 1380 1380 WFC sim 51.29 0.1 2 -9010 226.7 226.7 HRC real 167.6 0.00474 1 31721. 225.1 225.1 HRC real 3.404 0.004754 1.004 124.2 3.44 3.44 HRC sim 247.2 .005 1 61000 392.60 392.6 HRC sim 32.59 .005 1 1000 32.97 32.97 HRC sim 247.2 0.0051 1 61000 397.35 397.3 HRC sim 32.59 0.0051 1 1000 32.98 32.98 11 Channel sci[err] ref[err] ref[sci] sci[sci] Expected error CALACS error HRC sim 247.2 0.05025 1 61000 3075 3075 HRC sim 32.59 0.05025 1 1000 59.89 59.89 SBC real 27.92 0.01394 1 1116 31.96 31.96 SBC real 24.15 0.01414 1 809.9 26.73 26.73 SBC sim 60.21 0.01394 1 4309 85.05 85.05 SBC sim 2.081 0.01414 1 -2000 23.356 28.35 Table 1: Multiple flat reference files x[err] x[sci] y[err] y[sci] ref[err] .005 1 .05 1 0.05025 .005 1 .001 1 0.0051 doShad - shutter shading file correction step The Shutter shading step for the CCD includes a short calulation to determine ref[sci] and then uses it to divide the input error array values. shad [ sci ] ref [ sci ] = 1 + ------------------------- exp time sci [ err ] σ ccd = -------------------ref [ sci ] Channel sci[err] ref[sci] shad[sci] EXPTIME Expected error CALACS error WFC real 233.1 1.002 1 500 232.6 232.6 WFC real 3.866 1.002 1 500 3.858 3.858 WFC sim 1380 1.2 100 400 1150 1150 WFC sim 226.7 1.2 100 400 188.92 189 HRC real 225.1 1.01 1 100 222.87 222.9 HRC real 3.44 1.01 1 100 3.406 3.406 HRC sim 397.3 1.01 1 100 393.37 393.4 12 Channel sci[err] ref[sci] shad[sci] EXPTIME Expected error CALACS error HRC sim 32.98 1.01 1 100 32.65 32.66 doPhot - photometry keyword calculation step doStat - image statistics determination step ACSSUM - repeat obs summing task These last two steps and single task have no affect on the error array. Regression Testing ACS ISR 99-04 described basic image reduction in CALACS with emphasis on the HRC science array values. That procedure has been duplicated here with the addition of the HRC error array values. 13 Figure 1: Test science image 14 Figure 2: Test error image The table below shows the same science values as recorded in ISR 99-04, but in addition shows its error array values. They match the expected values exactly. HRC image region Image region Raw image hr_raw.fits CALACS output image hr_flt.fits[sci,1] CALACS output image hr_flt.fits[err,1] Overscan [1:19,1:1044] 5,000 DN trimmed off trimmed off Background [600:900,600:900] 15,000 DN 10,000 DN 100.1 DN Objects [650:850,415:445] 65,000 DN 60,000 DN 247 DN SHAD isolation [1:199,1:399] 10,000 DN 5,000 DN 56.04 DN 15 HRC image region Image region Raw image hr_raw.fits CALACS output image hr_flt.fits[sci,1] CALACS output image hr_flt.fits[err,1] BIAS isolation [210:390,860:890] 10,000 DN 9,000 DN 100.6 DN DARK isolation [210:390,810:840] 10,000 DN 9,000 DN 100.6 DN PFLT isolation [210:390,760:790] 10,000 DN 5,000 DN 51.58 DN DFLT isolation [210:390,710:740] 10,000 DN 5,000 DN 51.58 DN BIAS combination [610:640,210:390] 10,000 DN 9,000 DN 100.6 DN BIAS+DARK combination [660:690,210:390] 10,000 DN 8,000 DN 101.1 DN BIAS+DARK+PFLT combination [710:740,210:390] 10,000 DN 4,000 DN 51.52 DN BIAS+DARK+PFLT+DFLT combination [760:790,210:390] 10,000 DN 2,000 DN 26.23 DN IRAF scripts for testing CALACS ERR array Several IRAF scripts below show a sample of how the WFC error array values werer obtained. Most were adapted from ISR 99-04 (Mutchler) and changed to test the ERR array values in place of the SCI array values. #imset 1, chip 2, bottom row imcopy o46p06010_raw.fits[sci,1,noinherit][1:1062,1:1044]wf_raw.fits[sci,1,overwrite][1:1062,1:1044] imcopy o46p06010_raw.fits[sci,1,noinherit][1:1062,1:1044] wf_raw.fits[sci,1,overwrite][6:1067,1:1044] imcopy o46p02010_raw.fits[sci,1,noinherit][20:1062,1:1044] wf_raw.fits[sci,1,overwrite][1049:2091,1:1044] imcopy o46p4h010_raw.fits[sci,1,noinherit][20:1062,1:1044] wf_raw.fits[sci,1,overwrite][2073:3115,1:1044] imcopy o46p8q010_raw.fits[sci,1,noinherit][20:1062,1:1044] wf_raw.fits[sci,1,overwrite][3097:4139,1:1044] imcopy o46p8q010_raw.fits[sci,1,noinherit][1058:1062,1:1044] wf_raw.fits[sci,1,overwrite][4140:4144,1:1044] #imset 1, chip 2, top row imcopy o4y409010_raw.fits[sci,1,noinherit][1:1062,1:1044] wf_raw.fits[sci,1,overwrite][1:1062,1025:2068] imcopy o4y409010_raw.fits[sci,1,noinherit][1:1062,1:1044] wf_raw.fits[sci,1,overwrite][6:1067,1025:2068] imcopy o4y411010_raw.fits[sci,1,noinherit][20:1062,1:1044] wf_raw.fits[sci,1,overwrite][1049:2091,1025:2068] imcopy o4y406010_raw.fits[sci,1,noinherit][20:1062,1:1044] wf_raw.fits[sci,1,overwrite][2073:3115,1025:2068] imcopy o4y406010_raw.fits[sci,1,noinherit][20:1062,1:1044] wf_raw.fits[sci,1,overwrite][3097:4139,1025:2068] imcopy o4y406010_raw.fits[sci,1,noinherit][1058:1062,1:1044] wf_raw.fits[sci,1,overwrite][4140:4144,1025:2068] chip 1, top row imcopy o46p5a010_raw.fits[sci,1,noinherit][1:1062,1:1024] wf_raw.fits[sci,2,overwrite][1:1062,1045:2068] imcopy o46p5a010_raw.fits[sci,1,noinherit][1:1062,1:1024] wf_raw.fits[sci,2,overwrite][6:1067,1045:2068] imcopy o46p5d010_raw.fits[sci,1,noinherit][20:1062,1:1024] wf_raw.fits[sci,2,overwrite][1049:2091,1045:2068] imcopy o46p9r010_raw.fits[sci,1,noinherit][20:1062,1:1024] wf_raw.fits[sci,2,overwrite][2073:3115,1045:2068] imcopy o46p1u010_raw.fits[sci,1,noinherit][20:1062,1:1024] wf_raw.fits[sci,2,overwrite][3096:4138,1045:2068] imcopy o46p1u010_raw.fits[sci,1,noinherit][1057:1062,1:1024] wf_raw.fits[sci,2,overwrite][4139:4144,1045:2068] #imset 2, chip 1, bottom row imcopy o46p3x010_raw.fits[sci,1,noinherit][1:1062,1:1024] wf_raw.fits[sci,2,overwrite][1:1062,21:1044] imcopy o46p3x010_raw.fits[sci,1,noinherit][1:1062,1:1024] wf_raw.fits[sci,2,overwrite][6:1067,21:1044] imcopy o46p4r010_raw.fits[sci,1,noinherit][20:1062,1:1024] wf_raw.fits[sci,2,overwrite][1049:2091,21:1044] imcopy o46p5s010_raw.fits[sci,1,noinherit][20:1062,1:1024] wf_raw.fits[sci,2,overwrite][2073:3115,21:1044] imcopy o46p5t010_raw.fits[sci,1,noinherit][20:1062,1:1024] wf_raw.fits[sci,2,overwrite][3096:4138,21:1044] imcopy o46p5t010_raw.fits[sci,1,noinherit][1057:1062,1:1024] wf_raw.fits[sci,2,overwrite][4139:4144,21:1044] 20 overscan rows at bottom 16 imcopy o46p3x010_raw.fits[sci,1,noinherit][1:1062,1025:1044] wf_raw.fits[sci,2,overwrite][1:1062,1:20] imcopy o46p3x010_raw.fits[sci,1,noinherit][1:1062,1025:1044] wf_raw.fits[sci,2,overwrite][6:1067,1:20] imcopy o46p4r010_raw.fits[sci,1,noinherit][20:1062,1:1024] wf_raw.fits[sci,2,overwrite][1049:2091,1:20] imcopy o46p5s010_raw.fits[sci,1,noinherit][20:1062,1:1024] wf_raw.fits[sci,2,overwrite][2073:3115,1:20] imcopy o46p5t010_raw.fits[sci,1,noinherit][20:1062,1:1024] wf_raw.fits[sci,2,overwrite][3096:4138,1:20] imcopy o46p5t010_raw.fits[sci,1,noinherit][1057:1062,1:1024] wf_raw.fits[sci,2,overwrite][4139:4144,1:20] Similar scripts were used to create the SCI, ERR and DQ extenstions of the WFC bias, dark, and flat field reference files. This script sets the appropriate header keywords, runs CALACS, and analyzes its output using imstat: print ("Removing old output...") !rm wf_sci*_blv_tmp.fits !rm wf_sci*_flt.fits !rm wf.trl print ("Setting header keywords through BLEVCORR") hedit.add = no hedit.delete = no hedit.verify = no hedit.show = no hedit.update = yes hedit wf_sci1_raw.fits[0] STATFLAG T hedit wf_sci1_raw.fits[0] DQICORR PERFORM hedit wf_sci1_raw.fits[0] ATODCORR OMIT hedit wf_sci1_raw.fits[0] BLEVCORR OMIT hedit wf_sci1_raw.fits[0] BIASCORR OMIT hedit wf_sci1_raw.fits[0] DARKCORR OMIT hedit wf_sci1_raw.fits[0] FLATCORR OMIT hedit wf_sci1_raw.fits[0] SHADCORR OMIT hedit wf_sci1_raw.fits[0] GEOCORR OMIT hedit wf_sci1_raw.fits[0] PHOTCORR OMIT hedit wf_sci1_raw.fits[0] CRCORR OMIT hedit wf_sci1_raw.fits[0] EXPSCORR OMIT hedit wf_sci1_raw.fits[0] RPTCORR OMIT print ("Using TEST reference files...") hedit wf_sci1_raw.fits[0] BPIXTAB /theta/data2/calacs/reftest/wf_bpx_id.fits hedit wf_sci1_raw.fits[0] CCDTAB /theta/data2/calacs/reftest/wf_ccd_id.fits hedit wf_sci1_raw.fits[0] OSCNTAB /theta/data2/calacs/reftest/wf_osc_id.fits hedit wf_sci1_raw.fits[0] ATODTAB /theta/data2/calacs/reftest/wf_a2d_id.fits hedit wf_sci1_raw.fits[0] BIASFILE /theta/data2/calacs/reftest/wf_bia_id.fits hedit wf_sci1_raw.fits[0] DARKFILE /theta/data2/calacs/reftest/wf_drk_id.fits hedit wf_sci1_raw.fits[0] PFLTFILE /theta/data2/calacs/reftest/wf_pfl_id.fits hedit wf_sci1_raw.fits[0] DFLTFILE /theta/data2/calacs/reftest/wf_dfl_id.fits hedit wf_sci1_raw.fits[0] LFLTFILE N/A hedit wf_sci1_raw.fits[0] IDCTAB N/A hedit wf_sci1_raw.fits[0] SHADFILE /theta/data2/calacs/reftest/wf_shd_test.fits hedit wf_sci1_raw.fits[0] PHOTTAB /theta/data2/calacs/reftest/wf_pht_id.fits hedit wf_sci1_raw.fits[0] CRREJTAB /theta/data2/calacs/reftest/wf_crr_id.fits print ("Running CALACS...") calacs.verbose = no 17 calacs.savetmp = yes calacs.quiet = yes calacs wf_sci1_raw.fits print ("Imstat on stellar pixel 1") print ("sci DN") imstat wf_sci1_raw.fits[sci,2][770,1646] print ("sigma") imstat wf_sci1_flt.fits[err,2][746,1626] print ("Imstat on stellar pixel 2") print ("sci DN") imstat wf_sci1_raw.fits[sci,2][914,1714] print ("sigma") imstat wf_sci1_flt.fits[err,2][890,1694] print ("Imstat on stellar pixel 3") print ("sci DN") imstat wf_sci1_raw.fits[sci,2][646,1180] print ("sigma") imstat wf_sci1_flt.fits[err,2][622,1160] print ("Imstat on WFC galaxy nucleus pixel 1") print ("sci DN") imstat wf_sci1_raw.fits[sci,1][1848,1806] print ("sigma") imstat wf_sci1_flt.fits[err,1][1824,1806] print ("Imstat on galaxy nucleus pixel 2") print ("sci DN") imstat wf_sci1_raw.fits[sci,1][494,491] print ("sigma") imstat wf_sci1_flt.fits[err,1][470,491] print ("Imstat on WFC background pixel") print ("sci DN") imstat wf_sci1_raw.fits[sci,1][245,983] print ("sigma") imstat wf_sci1_flt.fits[err,1][221,983] 18 print ("Imstat on WFC background pixel") print ("sci[err]") imstat wf_scierr_flt.fits[err,1][221,983] print ("a[err]") imstat wf_sci1_flt.fits[err,1][221,983] 19