<div dir="ltr"><div><div>Chandra data products contain bad pixel files that use the (local)<br></div>Region convention to indicate the location of groups of bad pixels.<br><br></div>  - Arnold<br></div><div class="gmail_extra">
<br clear="all"><div><div dir="ltr">-------------------------------------------------------------------------------------------------------------<br>Arnold H. Rots                                          Chandra X-ray Science Center<br>
Smithsonian Astrophysical Observatory                   tel:  +1 617 496 7701<br>60 Garden Street, MS 67                                      fax:  +1 617 495 7356<br>Cambridge, MA 02138                                         <a href="mailto:arots@cfa.harvard.edu" target="_blank">arots@cfa.harvard.edu</a><br>
USA                                                   <a href="http://hea-www.harvard.edu/~arots/" target="_blank">http://hea-www.harvard.edu/~arots/</a><br>--------------------------------------------------------------------------------------------------------------<br>
<br></div></div>
<br><br><div class="gmail_quote">On Wed, Dec 4, 2013 at 3:58 PM, Rob Seaman <span dir="ltr"><<a href="mailto:seaman@noao.edu" target="_blank">seaman@noao.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Richard,<br>
<div class="im"><br>
> Is there something like a bad pixel mask FITS standard that stores bad pixels<br>
> with a boolen value or perhaps a float where 1=good, NaN=bad in FITS images?<br>
> Should one use a BLANK value combined with a byte or integer image or is<br>
> it best to invent a private ASCII format for this purpose?<br>
<br>
</div>I guess I'm not entirely sure what's being requested here.  Are you looking for a way to represent a separate full size array of flags, one per pixel?  Or a way to embed special values within a particular data array itself?  I guess a "private ASCII format" would be something like a pixel list concept?<br>

<br>
As others have said there isn't really a mask standard in FITS since the concept is too generalized, e.g., support for MEFs and world coordinates and other features would have to be factored in.  However, the IRAF pixel list format was created to efficiently represent per-pixel masks, and this algorithm is supported by FPACK:<br>

<br>
        <a href="http://heasarc.nasa.gov/fitsio/fpack/fpackguide.pdf" target="_blank">http://heasarc.nasa.gov/fitsio/fpack/fpackguide.pdf</a><br>
<br>
If the general concept of a mask is a separate array of per-pixel integer flags mapped one-to-one with one or more data arrays in an MEF, then the default FPACK Rice algorithm is pretty efficient itself.  Just create an integer array the same size as your data array(s) and fill it with whatever values make sense.  Copy over the WCS and other metadata as needed from your data arrays.  NOAO uses zeroes for good pixels and non-zero for bad.  Perhaps use different values to represent different kinds of bad - which is something that will vary from project to project.  Compress it using FPACK and it will get dramatically smaller since such a file will be very low entropy.  Try the -p flag to compare PLIO versus Rice for your application, both speed and size.<br>

<br>
Without compression of some sort such a mask will be the same size as data image of the same BITPIX.  But Rice will squeeze a 32-bit image into the same output size as a 16-bit image containing the same pixel values.<br>

<span class="HOEnZb"><font color="#888888"><br>
Rob<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
_______________________________________________<br>
fitsbits mailing list<br>
<a href="mailto:fitsbits@listmgr.cv.nrao.edu">fitsbits@listmgr.cv.nrao.edu</a><br>
<a href="http://listmgr.cv.nrao.edu/mailman/listinfo/fitsbits" target="_blank">http://listmgr.cv.nrao.edu/mailman/listinfo/fitsbits</a><br>
</div></div></blockquote></div><br></div>