Python interface for raw FITS files

RawFile python object can read raw MUSE CCD image, with 24 extensions. RawFile consists of a simple dictionary (extname, Channel).

A few functions can be performed on the Channel object: recontruct trimmed image of a channel, compute the bias level of channels, mask overscanned pixels…

Preliminary imports:

In [1]: from mpdaf.drs import RawFile

In [2]: import as cm

RawFile Creation and display a channel image

A RawFile object is created from a raw MUSE CCD image

In [3]: raw = RawFile('MUSE_IQE_MASK158_0001.fits')

In [4]:
Nb extensions:  24 (loaded:24 ['CHAN19', 'CHAN18', 'CHAN15', 'CHAN14', 'CHAN17', 'CHAN16', 'CHAN11', 'CHAN10', 'CHAN13', 'CHAN12', 'CHAN06', 'CHAN02', 'CHAN21', 'CHAN04', 'CHAN23', 'CHAN08', 'CHAN09', 'CHAN20', 'CHAN07', 'CHAN22', 'CHAN05', 'CHAN24', 'CHAN03', 'CHAN01'])
format: (4224,4240)

Let’s extract the channel 12 (using get_channel or __getitem__), create the corresponding Image with get_image rand display it:

In [5]: chan = raw.get_channel('CHAN12')

# chan = raw[12] is equivalent
In [6]: ima = chan.get_image()

In [7]: ima.plot(cmap=cm.copper)

Masking overscanned pixels (get_image_mask_overscan):

In [8]: ima = chan.get_image_mask_overscan()

In [9]: ima.plot(cmap=cm.copper)

Or displaying only overscan area (get_image_just_overscan):

In [10]: ima = chan.get_image_just_overscan()

In [11]: ima.plot(cmap=cm.copper)

get_trimmed_image method returns an Image object without over scanned pixels. If bias option is used, median value of the overscanned pixels is subtracted on each detector:

In [12]: ima = chan.get_trimmed_image(bias=True)

In [13]: ima.plot(cmap=cm.copper)

White image fast reconstruction

Let’s compute the reconstructed white light image using reconstruct_white_image and display it:

In [14]: ima = raw.reconstruct_white_image()

In [15]:

In [16]: ima.plot(cmap=cm.copper)

The fast reconstruction used a mask file produced by the drs. By default, the mask constructed during the PAE global test is used.

plot_white_image method reconstructs the white image and plots it. It plots also a channel image and provides mouse interaction between the 2 parts in order for the user to be able to click somewhere on one display and exhibit the corresponding data in the other display:

In [17]: raw.plot_white_image()
To select on other channel/slice, click on the images with the right mouse button.

The selected slice, which corresponds to a single row of pixels on the reconstructed image, is surrounded by a red colored line on the two displays. Select a slice by clicking with the right mouse button on the right display (channel image), automatically update the slice display on the white image. As a reverse process, selecting one of the 48 slices on the white image updates the position of the slice on the CCD image.


Select a channel by clicking with the right mouse button on the left display (Reconstructed Image), automatically update the display in the raw exposure image and surround the selected channel by a blue colored line.