As is well known, the blue chip on DIS suffers from bias `ripples' which have a peak-to-peak amplitude of 15-20 DN and a somewhat variable period equivalent to 35-50 rows. From conversations with Tomislav Kundic, I gather that the bias ripples can also exhibit more complex behaviour, in particular jumps. Pending elimination of the ripples, I've constructed an algorithm to reduce them. The algorithm extracts the vertical ripple profile from the underscan and overscan regions, determines the shift between them, and then subtracts an appropriately shifted average ripple pattern from each column. In bias frames, the algorithm reduces power at the spatial frequencies corresponding to the ripples by a couple of orders of magnitude. The algorithm does, however, introduce other spatial correlations, but these have very much less power than the original ripples. Some results are in ftp://oldp.nmsu.edu/pub/alan/dis. The files are a bias frame processed in different ways. p.fits pedestal subtracted ps.fits pedestal and super bias subtracted pr.fits pedestal and ripples subtracted prs.fits pedestal, ripples, and super bias subtracted The super bias was constructed from 30 distinct bias frames after each had a pedestal and ripples subtracted. I'm appending an implementation of the algorithm in VISTA. If someone wants to implement this in IRAF I'd be happy to cheer from the side lines. Alan Watson ! deripple.pro -- reduce bias ripples in DIS blue chip images ! uses buffers 94 to 98 and box 20 parameter dst src copy $dst $src ! extract overscan copy 98 $src box 20 sc=566 nc=21 sr=1 nr=522 window 98 box=20 box 20 sc=566 nc=21 sr=51 nr=522-100 abx 98 box=20 mean=mean silent sub 98 c=mean fixhead 98 origin bin 98 binr=20 binc=1 fixhead 98 origin mul 98 c=1/21 ! extract underscan copy 97 $src box 20 sc=31 nc=21 sr=1 nr=522 window 97 box=20 box 20 sc=31 nc=21 sr=51 nr=522-100 abx 97 box=20 mean=mean silent sub 97 c=mean fixhead 97 origin bin 97 binr=20 binc=1 fixhead 97 origin mul 97 c=1/21 ! determine shift from overscan to underscan ! the correct peak will occur close to a lag of -40 cross 96 97 98 rad=60 box 20 cr=-40 nr=30 sc=0 nc=1 window 96 box=20 shift 96 dr=61 abx 96 high_row=r silent box 20 cr=r nr=5 sc=0 nc=1 window 96 box=20 rotate 96 left poly 96 ord=2 load silent shift=-coeff1/2/coeff2 shift=shift-61 ! coadd underscan into overscan ! ignore the first 40 rows of underscan as they have additional structure create 95 sc=1 sr=1 nc=1 nr=522-int[shift] const=0 add 95 98 shift 97 dr=-shift box 20 sc=1 sr=-int[shift]+40 nc=1 nr=522-40 window 97 box=20 add 95 97 box 20 sc=1 sr=-int[shift]+40 nc=1 nr=522+int[shift]-40 mul 95 c=0.5 box=20 ! create ripple image create 94 sc=1 sr=1 nc=586 nr=522 const=0 do c=1,586 add 94 95 dc=c-1 dr=int[-(c-576)/535*shift] end_do ! subtract ripple image sub $dst 94 end APO APO APO APO APO Apache Point Observatory 3.5m APO APO APO APO APO This is message 14 in the apo35-dis archive. You can find APO the archive on http://astro.princeton.edu:82/apo35-dis/INDEX.html APO To join/leave the list, send mail to apo35-request@astro.princeton.edu APO To post a message, mail it to apo35-dis@astro.princeton.edu APO APO APO APO APO APO APO APO APO APO APO APO APO APO APO APO APO