Deformable Mirror#
- class phobos.DM(*args, **kwargs)[source]#
Bases:
objectSingleton 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.
- For authoritative limits, always query the controller via
Segment.get_piston_range(),Segment.get_tip_range(), andSegment.get_tilt_range().
Software-side safety clamping is applied in
Segment.set_piston().
- __init__(
- config_path: str = PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/phob/checkouts/latest/src/config/DM/DM_config.json'),
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'),
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'),
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.