MisRegistration

Overview

A MisRegistration object encodes the geometric mis-alignment between a DM and a WFS. It can be applied to a DeformableMirror at construction time to warp the influence functions, or used by the SPRINT algorithm to estimate and correct registration errors.

Parameters

Six independent degrees of freedom are modelled:

  • rotationAngle — rigid rotation in degrees.

  • shiftX / shiftY — lateral displacement in metres.

  • anamorphosisAngle — differential anamorphosis rotation in degrees.

  • radialScaling — radial magnification as a fractional offset (0 = no scaling).

  • tangentialScaling — tangential magnification as a fractional offset.

Quick start

from OOPAO.MisRegistration import MisRegistration

misReg = MisRegistration()
misReg.rotationAngle = 0.5      # 0.5 degree rotation
misReg.shiftX = 0.01            # 1 cm lateral shift

# Apply to a DM
dm = DeformableMirror(tel, nSubap=20, misReg=misReg)

# Combine two mis-registrations
total = misReg + another_misReg

API reference

class OOPAO.MisRegistration.MisRegistration(param=None)[source]

Geometric mis-registration descriptor.

Parameters:

param (None, dict, or MisRegistration) –

Initialisation source. Can be:

  • None — all parameters set to zero (default).

  • dict — keys 'rotationAngle', 'shiftX', 'shiftY', 'anamorphosisAngle', 'tangentialScaling', 'radialScaling'.

  • Another MisRegistration object — copies all parameters.

Attributes

rotationAngle: float

Rotation angle in degrees.

shiftX: float

X shift in metres.

shiftY: float

Y shift in metres.

anamorphosisAngle: float

Anamorphosis angle in degrees.

radialScaling: float

Radial magnification offset (0.0 = no scaling).

tangentialScaling: float

Tangential magnification offset (0.0 = no scaling).

misRegName: str

Auto-generated string identifier encoding all parameter values (used as a folder/file name in calibration workflows).

Operators

+ and - are overloaded to add or subtract two MisRegistration objects component-wise.