STScI Logo

Hubble Space Telescope
Calibration Software Tools

Q.: Where can I find the newest version of the NICMOS reduction software CALNICA and CALNICB?
A.: The latest calnica and calnicb software are availabe as part of the new STSDAS release 2.0, which runs on top of the new fits-enabled IRAF 2.11 beta patch 1, which in turn is only available for solaris platforms at this time. We do however have stand-alone versions of the calnica and calnicb tasks available via anonymous ftp:

ftp ra.stsci.edu

login: anonymous

password: your e-mail address

cd pub/bushouse

This directory contains the calnica and calnicb Solaris executables, as well as the associated help files for each. Be sure to use binary file transfer.

For information on getting the new IRAF and STSDAS releases, please see the STSDAS and IRAF pages on the web:

http://ra.stsci.edu/STSDAS.html

http://iraf.noao.edu/iraf-homepage.html

Q.: The image in my association all have only one image. Is this a problem?
A.: No, having only 1 image in an association is possible.
Q.: I have put the "_ilm" correction keyword to OMIT, but it is still performed. Even accepting that it looks at an _ilm file, I have no idea how it chooses the reference files which is not anywhere in the header. It doesn't seem to recognize the one in the header. Do you have any idea what is going on?
A.: CALNICB reads the ILLMCORR and ILLMFILE keywords that are in the asn table header, NOT the ones in the individual image headers This was done so that if you have an association with lots of images and you want to change either ILLMCORR or ILLMFILE, you only have to change it in the asn table header, NOT IN ALL the image headers. So, if you want to turn illmcorr off, use "tupar" or some such table keyword editor.
Q.: CALNICB is not doing a good MOSAIC of my MOVING TARGET!
A.: This is a consequence of the way moving target observations are scheduled, and the data headers are populated. The position of the reference pixel in the header is actually the position of the start of the tracking slew to follow the target, and thus has the target's motion added to the dithering motion of the pattern. One way to get over this problem is to edit the header values for the reference pixel to reflect just the dithering pattern. This will involve losing the equatorial coordinate system information in the header, but for moving targets this is of limited usefulness anyway.

Three set of header parameters have to be edited: CRVAL1 & 2, which describe the pointing of the image reference pixel; CD1_1, CD1_2, CD2_1, and CD2_2, which describe how the pointing frame varies from the image frame; and CTYPE1 & 2, which give the names of the pointing frame. Note that these are in the science [1] header of the _cal.fits images, not the general [0] header.

You should edit CRVAL1 for each input image to reflect what the pattern motion in X should be: CRVAL1 for the first image would be 0. The same goes for CRVAL2: it should reflect the pattern motion in Y, and should be 0 for the first image in the pattern. If the values are in pixels, then for each input image CD1_1 and CD2_2 should be 1.0, and CD1_2 and CD2_1 should be 0.0. This means the pointing frame will be the same as the detector X,Y frame. Finally, for each input image set CTYPE1 to "X" and CTYPE2 to "Y" so you can remember what you've done later.

Having reset the pointing parameters for all the input images in this manner you should be able to run calnicb and get a reasonable result. Note that calnicb does some centroiding about the header positions, so your values for CRVAL1 & 2 don't have to be extremely accurate. Also remember that these values are for the aperture-- the target moves in the other direction.

Q.: I get this error from calnicb:
       cl> calnicb all1_asn.fits
       Starting CALNICB -- version 2.1.2 -- Thu 14:51:46 MET 12-Mar-1998
       Input: all1_asn.fits    Output: all1_asc.fits
       *** ERROR: Member "n3v701q1m" is not present; can't run CALNICB
       CALNICB processing NOT completed for all1_asn.fits
 
...even though n3v701q1m_cal.fits _is_ present. 
       
Here is the _asn.fits table:

       cl> tprint all1_asn.fits
       #  Table all1_asn.fits[1]  Mon 07:48:25 16-Mar-98
 
       # row MEMNAME        MEMTYPE        MEMPRSNT
       #
       1 N3V701Q1M      EXP-TARG            yes
       2 N3V701Q1M      EXP-TARG            yes
       3 N3V701Q1M      EXP-TARG            yes
       5 N3V701Q1M      EXP-TARG            yes
       6 all1           PROD-TARG           yes
A.: The problem is the "yes" values in the MEMPRSNT column. For some reason, when you copy lines using tedit, this "yes" value *appears* to have been copied for you, but calnicb doesn't recognize it. To fix the problem, go through on each line of your asn table, backspace over the word "yes" and then retype it. This is the reason why you are able to change the ordering of the rootnames but still have calnicb fail on the same line.