MMIRS

class mmtwfs.wfs.MMIRS(config={}, plot=True)[source]

Bases: F5

Defines configuration and methods specific to the MMIRS WFS system

Methods Summary

drawoutline(ax)

Draw outline of MMIRS pickoff mirror onto matplotlib axis, ax

focal_plane_position(hdr)

Transform from the MMIRS guider coordinate system to MMTO focal plane coordinates.

get_mode(hdr)

For MMIRS we figure out the mode from which camera the image is taken with.

mirrorpoint(x0, y0, x, y)

Compute intersection of ray with pickoff mirror.

onmirror(x, y, side)

Determine if a point is on the pickoff mirror surface:

plotgrid(x0, y0, ax[, npts])

Plot a grid of points representing Shack-Hartmann apertures corresponding to wavefront sensor positioned at a focal plane position of x0, y0 mm.

plotgrid_hdr(hdr, ax[, npts])

Wrap self.plotgrid() and get x0, y0 values from hdr.

process_image(fitsfile)

Process the image to make it suitable for accurate wavefront analysis.

pupil_mask(hdr[, npts])

Use MMIRS pickoff mirror geometry to calculate the pupil mask

trim_overscan(data[, hdr])

MMIRS leaves the overscan in, but doesn't give any header information.

Methods Documentation

drawoutline(ax)[source]

Draw outline of MMIRS pickoff mirror onto matplotlib axis, ax

focal_plane_position(hdr)[source]

Transform from the MMIRS guider coordinate system to MMTO focal plane coordinates.

get_mode(hdr)[source]

For MMIRS we figure out the mode from which camera the image is taken with.

mirrorpoint(x0, y0, x, y)[source]

Compute intersection of ray with pickoff mirror. The ray leaves the exit pupil at position x,y and hits the focal surface at x0,y0. Math comes from http://geomalgorithms.com/a05-_intersect-1.html

onmirror(x, y, side)[source]
Determine if a point is on the pickoff mirror surface:

x,y = coordinates of ray side=1 means right face of the pickoff mirror, -1=left face

plotgrid(x0, y0, ax, npts=15)[source]

Plot a grid of points representing Shack-Hartmann apertures corresponding to wavefront sensor positioned at a focal plane position of x0, y0 mm. This position is written in the FITS header keywords GUIDERX and GUIDERY.

plotgrid_hdr(hdr, ax, npts=15)[source]

Wrap self.plotgrid() and get x0, y0 values from hdr.

process_image(fitsfile)[source]

Process the image to make it suitable for accurate wavefront analysis. Steps include nuking cosmic rays, subtracting background, handling overscan regions, etc.

pupil_mask(hdr, npts=15)[source]

Use MMIRS pickoff mirror geometry to calculate the pupil mask

trim_overscan(data, hdr=None)[source]

MMIRS leaves the overscan in, but doesn’t give any header information. So gotta trim by hand…