; 'CONSISTENTLY HOT' METHOD OF MAKING A HOT PIXEL MASK - Will Foxall ; data=fltarr(765,510,20) mask=fltarr(765,510) ; bias=readfits('~/telescope_data/masters/masterbias.FIT') ; data(0,0,0)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_1.FIT')-bias &$ data(0,0,1)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_2.FIT')-bias &$ data(0,0,2)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_3.FIT')-bias &$ data(0,0,3)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_4.FIT')-bias &$ data(0,0,4)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_5.FIT')-bias &$ data(0,0,5)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_6.FIT')-bias &$ data(0,0,6)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_7.FIT')-bias &$ data(0,0,7)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_8.FIT')-bias &$ data(0,0,8)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_9.FIT')-bias &$ data(0,0,9)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_10.FIT')-bias &$ data(0,0,10)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_11.FIT')-bias &$ data(0,0,11)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_12.FIT')-bias &$ data(0,0,12)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_13.FIT')-bias &$ data(0,0,13)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_14.FIT')-bias &$ data(0,0,14)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_15.FIT')-bias &$ data(0,0,15)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_16.FIT')-bias &$ data(0,0,16)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_17.FIT')-bias &$ data(0,0,17)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_18.FIT')-bias &$ data(0,0,18)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_19.FIT')-bias &$ data(0,0,19)=readfits('~/telescope_data/31.01.11/30min_darkroom/m5deg30min_darkroom_20.FIT')-bias ; ; Median filter and find most frequent pixel value (histogram peak) ; median=MEDIAN(data,DIMENSION=3) hist=histogram(median,min=0) ypeak=MAX(hist,maxPoint) xpeak=ARRAY_INDICES(hist,maxPoint) ; ; Fill mask, 0 if pixel value is about histogram peak for all files, 1 otherwise ; minimum=MIN(data,DIMENSION=3) mask(WHERE(minimum gt xpeak))=0 mask(WHERE(minimum le xpeak))=1 ;For i=0,764 DO $ ;For j=0,509 DO $ ;IF (MIN(data(i,j,*)) gt xpeak) THEN mask(i,j)=0 ELSE mask(i,j)=1 ; ; Display mask and print the xpeak value ; tvscl,mask print,'xpeak = ', xpeak print,'implied percentage of pixels that are bad',100-TOTAL(mask)/(765.0*510)*100,'%' ; ; Make mask FITS ; mkhdr,header,4,[765,510] WRITEFITS,'chmask.FIT',mask,header