pro linearize_pharo,fitslist ; ; Procedure to linearize all quadrants of PHARO, as well as to mosaic ; them. Run on all images before running anything else. ; ; fitslist - list of FITS files in 512x512x4 format to linearize imgsize = 512 quadrants = 4 bufarr = fltarr(imgsize,imgsize,quadrants) fitsarr = fltarr(1024,1024) norm = fltarr(imgsize,imgsize,/nozero) coeff = [[0.9994,0.56e-7,-2.70e-11], [1.0033,-6.60e-7,-9.80e-12], $ [1.0010, -3.42e-7, -1.72e-11], [1.0011,-5.15e-7,-1.29e-11]] openr, 1, fitslist fitsfile = '' while not eof(1) do begin readf, 1, fitsfile fitsarr = readfits(fitsfile,header) bufarr = unpaste(fitsarr) for quad=0,quadrants-1 do begin norm = coeff[0,quad]+coeff[1,quad]*bufarr[*,*,quad]+ $ coeff[2,quad]*bufarr[*,*,quad]^2 bufarr[*,*,quad] = bufarr[*,*,quad] / norm endfor fitsarr = paste(bufarr) time = systime() time = 'Linearized: ' + time fxaddpar, header, 'HISTORY', time writefits, fitsfile, fitsarr, header endwhile close, 1 end