Deformable Mirror#

class phobos.DM(*args, **kwargs)[source]#

Bases: object

Singleton Class to represent a deformable mirror (DM) in the optical system.

The DM has segment-dependent stroke limits. On the PHOBos bench, the injection segments typically used for coupling (e.g. around segments 111-114, 135-138, 145-148 depending on the mapping in injection.segments) have piston ranges of roughly:

  • Segments 111-114: piston in [-2520, 264] nm (delta ~2784 nm)

  • Segments 145-148: piston in [-2557, 214] nm (delta ~2771 nm)

  • Segments 135-138: piston in [-2530, 230] nm (delta ~2760 nm)

Tip/tilt ranges depend on the current piston working point. Around typical injection working pistons (-1128 nm / -1150 nm), absolute tip/tilt can reach approximately ±5.4 mrad in both axes. In normal operation, tip/tilt values are usually kept below ~1.5 mrad for alignment stability.

segments#

List of segments of the DM.

Type:

list[Segment]

__init__(
config_path: str = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/phob/checkouts/latest/src/config/DM/DM_config.json'),
)[source]#

Initialize the DM using global configuration.

property mid_piston#

The middle piston position of the DM (in nm).

save_config(
path: str = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/phob/checkouts/latest/src/config/DM/DM_config.json'),
) None[source]#

Save the current configuration of the DM.

Parameters:

path (str) – Path to the configuration file.

load_config(
config_path: str = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/phob/checkouts/latest/src/config/DM/DM_config.json'),
)[source]#

Load the configuration of the DM from a JSON file.

Parameters:

config_path (str) – Path to the configuration file.

off(segments=None)[source]#

Deprecated – use Injection().off() instead.

Deprecated since version Will: be removed in a future version.

zero(segments=None)[source]#

Deprecated – use Injection().zero() instead.

Deprecated since version Will: be removed in a future version.

flat(segments=None)[source]#

Deprecated – use Injection().flat() instead.

Deprecated since version Will: be removed in a future version.

max(segments=None)[source]#

Deprecated – use Injection().max() instead.

Deprecated since version Will: be removed in a future version.

balanced(segments=None)[source]#

Deprecated – use Injection().balanced() instead.

Deprecated since version Will: be removed in a future version.

max_flat(segments=None)[source]#

Deprecated alias for flat() (kept for backward compatibility).

get_injection_maps(*args, **kwargs)[source]#

Deprecated – use Injection().get_injection_maps() instead.

Deprecated since version Will: be removed in a future version.