Skip to content

Interaction Matrix Helper

queue_listerner instance-attribute

queue_listerner = setup_logging()

logger instance-attribute

logger = getLogger()

external_logger_flag instance-attribute

external_logger_flag = True

device instance-attribute

device = device('cuda' if is_available() else 'cpu')

dm_scanned_list instance-attribute

dm_scanned_list = None

light_path_list instance-attribute

light_path_list = None

im_boolean_matrix instance-attribute

im_boolean_matrix = None

interaction_matrix_warehouse instance-attribute

interaction_matrix_warehouse = None

modal_basis instance-attribute

modal_basis = []

__init__

__init__(logger)

Initialize the InteractionMatrixHandler for managing IM acquisition.

Parameters:

Name Type Description Default
logger Logger

Logger instance to record operations.

required

initialize_im_class

initialize_im_class(light_path_list)

Analyze the light path setup and prepare the IM scanning structure.

Parameters:

Name Type Description Default
light_path_list list

List of LightPath objects.

required

Returns:

Type Description
bool

True if initialization succeeds.

generate_modal_basis

generate_modal_basis()

Generate all modal bases (zonal, Zernike, KL, Hadamard, DH) for each DM.

Returns:

Type Description
bool

True when all bases are generated.

measure

measure(modal_basis, stroke, nModes=None)

Measure interaction matrices for each WFS-DM pair defined in the system.

Parameters:

Name Type Description Default
modal_basis str or list

Modal basis to use ('zonal', 'zernike', etc.).

required
stroke float or list

Stroke amplitude in meters.

required
nModes list or None

Number of modes per DM, or None to use all.

None

Returns:

Type Description
bool

True if all IMs are successfully measured.

save_IM

save_IM(filename=None)

Save the interaction matrix warehouse to a self.im_boolean_matrix[j, i]H5 file.

Parameters:

Name Type Description Default
filename str

Path to save the IM file.

None

Returns:

Type Description
bool

True if save is successful.

save_modalBasis

save_modalBasis(filename)

Save the generated modal bases to a H5 file.

Parameters:

Name Type Description Default
filename str

Output filename (without extension).

required

Returns:

Type Description
bool

True if saved correctly.

load_IM

load_IM(filename)

Load a previously saved interaction matrix warehouse.

Parameters:

Name Type Description Default
filename str

File path with/without .h5 extension.

required

Returns:

Type Description
bool

True if loaded successfully.

load_modalBasis

load_modalBasis(filename)

Load a previously saved modal basis FITS file.

Parameters:

Name Type Description Default
filename str

File path without .h5 extension.

required

Returns:

Type Description
bool

True if loaded successfully.

setup_logging

setup_logging(logging_level=logging.WARNING)

__del__

__del__()