Rotation

class poppy.poppy_core.Rotation(angle=0.0, units='degrees', hide=False, **kwargs)[source]

Bases: poppy.poppy_core.CoordinateTransform

Performs a rotation of the axes in the optical train.

This is not an actual optic itself, of course, but can be used to model a rotated optic by appling a Rotation before and/or after light is incident on that optic.

This is basically a placeholder to indicate the need for a rotation at a given part of the optical train. The actual rotation computation is performed in the Wavefront object’s propagation routines.

anglefloat

Rotation angle, counterclockwise. By default in degrees.

units‘degrees’ or ‘radians’

Units for the rotation angle.

hidebool

Should this optic be displayed or hidden when showing the planes of an OpticalSystem?

Methods Summary

display([nrows, row, ax])

Display plots showing an optic’s transmission and OPD.

Rotation.getPhasor

Methods Documentation

display(nrows=1, row=1, ax=None, **kwargs)

Display plots showing an optic’s transmission and OPD.

whatstr

What to display: ‘intensity’, ‘amplitude’, ‘phase’, ‘opd’, or ‘both’ (meaning intensity and OPD in two subplots)

axmatplotlib.Axes instance

Axes to display into

nrows, rowintegers

number of rows and row index for subplot display

crosshairsbool

Display crosshairs indicating the center?

colorbarbool

Show colorbar?

colorbar_orientationbool

Desired orientation, horizontal or vertical? Default is horizontal if only 1 row of plots, else vertical

opd_vmaxfloat

Max absolute value for OPD image display, in meters.

titlestring

Plot label

wavelengthfloat, default 1 micron

For optics with wavelength-dependent behavior, evaluate at this wavelength for display.

npixinteger

For optics without a fixed pixel sampling, evaluate onto this many pixels for display.

grid_sizefloat

For optics without a fixed pixel sampling, evaluate onto this large a spatial or angular extent for display. Specify in units of arcsec for image plane optics, meters for all other optics. If unspecified, a default value will be chosen instead, possibly from the ._default_display_size attribute, if present.