HOW-TO View processing results as a mosaic (MEF file)¶
It is sometimes useful to look at the results of a processing step not chip-by-chip, but at all chips simultaneously. One such processing result could be the overall illumination correction in FITS-format (see the figure below).
To facilitate this, a little tool has been created that can merge the separate
results for every chip back into a Multi-Extension FITS (MEF) file [1]. This
tool can be found in version control under $AWEPIPE/astro/util/Image.py
.
Given below is an example of how to merge the BiasFrames for a given day back
into an MEF file using this tool:
Example 1.
awe> from astro.main.BiasFrame import BiasFrame
awe> from astro.util.Image import Image
awe> biases = []
awe> for i in range(8):
... bias = BiasFrame.select(instrument='WFI', date='2000-04-28', chip='ccd5%s' % i)
... bias.retrieve()
... biases.append(bias)
awe> len(biases)
8
awe> MEF = Image('output_MEF.fits')
awe> MEF.frames = biases
awe> MEF.make()
The frames used MUST first exist on disk in your local directory (cf. retrieve() method) and be a consistent set for the instrument (e.g., one frame for each of the 8 chips of the WFI instrument). The output MEF with the name “output_MEF.fits” can then be viewed in eg. skycat. Note that the possibility of viewing a complete MEF file depends on the viewer you use. Be aware, that for instruments with larges numbers of chips, the memory requirements are correspondingly larger. For OmegaCAM, a 32 CCD instrument, the output file will be greater than 1GB on disk.
In the next example, extended syntax is shown in addition to optimal command-lines for different viewers. In this case, if frames are used, they will be retrieved by default unless the retrieve option is explicitly set to False.
Example 2.
awe> # normally imported automatically
awe> from astro.util.Image import Image
awe>
awe> # using instantiated frames
awe> img = Image('output.fits', frames=list_of_frames)
awe> # img.frames can also be set directly
awe>
awe> # using filenames
awe> img = Image('output.fits', filenames=list_of_filenames)
awe> # img.filenames can also be set directly
awe>
awe> img.make()
awe> # view with skycat allowing greater zoom range
awe> os.system('skycat -min_scale -20 output.fits')
awe> # you must select "Display as one Image"
awe>
awe> # view with ds9 in mosaic image mode
awe> os.system('ds9 -mosaicimage wcs output.fits')
awe> # you can select Zoom -> Zoom to Fit Frame and
awe> # Scale -> Scope -> Global to scale like skycat
All the descriptions above assume a non-RawFrame type is used. If a RawFrame type is used (i.e., with trim regions still intact), the frame_type option MUST be set to ‘raw’ for a proper chip-to-chip alignment. Using RawFrame types is generally not done as the RawFitsData is already available as a multi-extension FITS image.
[1] | The RawFrames were made from a MEF associated with their RawFitsData object. |