The Mosaic 2 CCDs have relatively few bad pixels,
mostly around the edges and in CCD #3.
Updated: May 2010 by Andrea Kunder
Bad pixels do not respond to light at all, or respond
in a nonlinear way.
These can be removed from data using a bad pixel mask.
The current bad pixel mask in the mscred package is
from 2001,
so we recommend using the updated
bad pixel mask found here.
![]()

You can create your own bad pixel mask by taking appropriate flat
field observations, or download the most recent mask image below.
Bad Pixel Mask
Correction Files
Bad Pixel Mask for 8-channel mode, 16 June 2010
How To Use The Bad Pixel Mask
The bad pixel masks are not trimmed. Hence, your images must not
be trimmed in order to use them. It is best to apply the bad pixel
masks before making your master flats.
Here are the steps to use the bad pixel masks:
hedit *.fits[1] BPM BPM0610/bpm1_0610.pl veri- show+
hedit *.fits[2] BPM BPM0610/bpm2_0610.pl veri- show+
hedit *.fits[3] BPM BPM0610/bpm3_0610.pl veri- show+
hedit *.fits[4] BPM BPM0610/bpm4_0610.pl veri- show+
hedit *.fits[5] BPM BPM0610/bpm5_0610.pl veri- show+
hedit *.fits[6] BPM BPM0610/bpm6_0610.pl veri- show+
hedit *.fits[7] BPM BPM0610/bpm7_0610.pl veri- show+
hedit *.fits[8] BPM BPM0610/bpm8_0610.pl veri- show+
here is an example:
images = @V_flats.list List of Mosaic CCD images to process
(output = ) List of output processed images
(bpmasks= ) List of output bad pixel masks
(ccdtype= flat) CCD image type to process
(noproc = no) List processing steps only?
(xtalkco= yes) Apply crosstalk correction?
(fixpix = yes) Apply bad pixel mask correction?
(oversca= yes) Apply overscan strip correction?
(trim = yes) Trim the image?
(zerocor= yes) Apply zero level correction?
(darkcor= no) Apply dark count correction?
(flatcor= no) Apply flat field correction?
(sflatco= no) Apply sky flat field correction?
(split = no) Use split images during processing?
(merge = no) Merge amplifiers from same CCD?
(xtalkfi= xtalk090401.txt) Crosstalk file
(fixfile= BPM) List of bad pixel masks
(saturat= ) Saturated pixel threshold
(sgrow = 1) Saturated pixel grow radius
(bleed = 20000.) Bleed pixel threshold
(btrail = 15) Bleed trail minimum
(bgrow = 1) Bleed pixel grow radius
(biassec= !biassec) Overscan strip image section
(trimsec= !trimsec) Trim data section
(zero = Zero.fits) List of zero level calibration images
(dark = ) List of dark count calibration images
(flat = ) List of flat field images
(sflat = ) List of secondary flat field images
(minrepl= 1.) Minimum flat field value
(interac= no) Fit overscan interactively?
(functio= legendre) Fitting function
(order = 1) Number of polynomial terms or spline pieces
(sample = *) Sample points to fit
(naverag= 1) Number of sample points to combine
(niterat= 1) Number of rejection iterations
(low_rej= 3.) Low sigma rejection factor
(high_re= 3.) High sigma rejection factor
(grow = 0.) Rejection growing radius
(fd = )
(fd2 = )
(mode = ql)
mscred> mscdisplay img.fits bpdisplay=overlay bpmask=BPM
Generate Your Own Bad Pixel Mask
(The [OIII] filter works well to
allow for a large dynamic range without using exposures that are too short.
With the [OIII] filter you can take about 50s and 5s exposures.)
(The iraf command to use is "mscarith")
mscred> nmisc
nmisc> ccdmask DividedFlat.fits[1] bpm1.pl
nmisc> ccdmask DividedFlat.fits[2] bpm2.pl
nmisc> ccdmask DividedFlat.fits[3] bpm3.pl
nmisc> ccdmask DividedFlat.fits[3] bpm4.pl
nmisc> ccdmask DividedFlat.fits[5] bpm5.pl
nmisc> ccdmask DividedFlat.fits[6] bpm6.pl
nmisc> ccdmask DividedFlat.fits[7] bpm7.pl
nmisc> ccdmask DividedFlat.fits[8] bpm8.pl
The badpixel masks are bpm1.pl, bpm2.pl, etc.
mscred> display DividedFlat.fits[1] 1 overlay=bpm1.pl
or
mscred> mscdisplay DividedFlat.fits bpdisplay=overlay bpmask=BPM
imreplace bpm1_0102.pl[431:431,2631:2631] 1. (to indicate a bad pixel) and
imreplace bpm1_0102.pl[334:334,1:4096] 1. (to indicate a bad column)
Chris Smith: csmith@noao.edu
Knut Olsen: kolsen@noao.edu
Tim Abbott: tabbott@noao.edu