m4.devices package¶
m4.devices.accelerometers module¶
- Authors
- Selmi: written in 2020
-
class
m4.devices.accelerometers.ZmqAccelerometers¶ Bases:
m4.devices.base_accelerometers.BaseAccelerometersClass for accelerometers control via zmq
HOW TO USE IT:
from m4.devices.accelerometers import ZmqAccelerometers acc = ZmqAccelerometers() tt = acc. acquireData(recording_seconds)
-
acquireData(recording_seconds=5)¶ Parameters: recording_seconds (int [s]) – recording seconds for data acquisition Returns: name – tracking number of measurements Return type: string
-
m4.devices.angle_rotator module¶
- Authors
- Selmi: written in 2020
-
class
m4.devices.angle_rotator.OpcUaAngleRotator(opcUa)¶ Bases:
m4.devices.base_angle_rotator.BaseAngleRotatorClass for ring angle rotation control via opc ua
HOW TO USE IT:
from m4.devices.opc_ua_controller import OpcUaController opcUa = OpcUaController() from m4.devices.angle_rotator import OpcUaAngleRotator ang = OpcUaAngleRotator(OpcUa) pos = ang.getPosition() pos = ang.setPosition(absolute_position_in_deg)
-
getPosition()¶ Function to get the rotating ring angle
Returns: current_pos – rotating ring position Return type: int [deg]
-
setPosition(absolute_position_in_deg)¶ Function to set the rotating ring angle (range: 0 to 360)
Parameters: absolute_position_in_deg (int [deg]) – rotating ring position to set Returns: current_pos – rotating ring position Return type: int [deg]
-
m4.devices.base_accelerometers module¶
- Authors
- Selmi: written in 2020
m4.devices.base_angle_rotator module¶
- Authors
- Selmi: written in 2020
-
class
m4.devices.base_angle_rotator.BaseAngleRotator¶ Bases:
objectAbstract class for the ring angle rotation
-
getPosition()¶ Function for getting object position
-
setPosition(absolute_position_in_deg)¶ Function for setting object position
Parameters: absolute_position_in_deg (int [deg]) – rotating ring position
-
m4.devices.base_interferometer module¶
- Authors
- Selmi: written in 2020
m4.devices.base_m4 module¶
m4.devices.base_parabola_slider module¶
- Authors
- Selmi: written in 2020
m4.devices.base_parabola module¶
- Authors
- Selmi: written in 2020
m4.devices.base_reference_mirror_slider module¶
- Authors
- Selmi: written in 2020
-
class
m4.devices.base_reference_mirror_slider.BaseReferenceMirrorSlider¶ Bases:
objectAbstract class for the reference mirror slider
-
getPosition()¶ Function for getting object position
-
setPosition(absolute_position_in_mm)¶ Function for setting object position
Parameters: absolute_position_in_mm (int [mm]) –
-
m4.devices.base_reference_mirror module¶
- Authors
- Selmi: written in 2020
m4.devices.base_temperature_sensors module¶
- Authors
- Selmi: written in 2020
m4.devices.i4d module¶
-
class
m4.devices.i4d.I4D(IP, PORT)¶ Bases:
objectInterferometer class
HOW TO USE IT:
from m4.devices.i4d import I4D i4d = I4D(ip_address, port)
-
burstFramesToDisk(numberOfFrames)¶ Parameters: numberOfFrames (int) – number of frames to acquire
-
burstFramesToSpecificDirectory(directory, numberOfFrames)¶ Parameters: - directory (string) – directory where to save files
- numberOfFrames (int) – number of frames to acquire
-
convertRawFramesInDirectoryToMeasurementsInDestinationDirectory(measurementsDirectory, rawFramesDirectory)¶ Parameters: - measurementsDirectory (string) – path where to save the measurements converted
- rawFramesDirectory (string) – path where raw frames are located
-
dataServiceGetModulationData()¶ Returns: - width (int) – width of the image in pixel
- height (int) – height of the image in pixel
- pixel_size_in_microns (int)
- data_array (numpy array) – vector containing image data
-
getFeatureAnalysisResults()¶ Returns: - features
- fractionalFeatureArea
- numberOfFeatures
- totalFeatureAreaInSquareMicrons
-
getFirstNineZernikeTerms()¶ Returns: Return type: zernike_waves_terms
-
getFringeAmplitudeData()¶ Returns: - data (numpy array) – vector containing image data
- height (int) – height of the image in pixel
- pixel_size_in_microns (int)
- width (int) – width of the image in pixel
-
getIntensityData()¶ Returns: - data (numpy array) – vector containing image data
- height (int) – height of the image in pixel
- pixel_size_in_microns (int)
- width (int) – width of the image in pixel
-
getInterferogram(index)¶ Parameters: index – Returns: Return type: json_data
-
getMeasurementInfo()¶ Returns: - averageFringeAmplitude
- averageIntensity
- averageModulation
- fringeAmpThresholdPercentage
- intensityThresholdPercentage
- modulationThresholdPercentage
- numberOfSamples
- numberOfValidPixels
- pathMatchPositionInMM
- RMSInNM
- userSettingsFilePath
- wavelengthInNM
- wedge
-
getPhaseStepCalculatorResults()¶ Returns: - averagePhaseStepInDegrees
- height
- phaseStepsInDegrees
- width
-
getSurfaceData()¶ Returns: - data (numpy array) – vector containing image data
- height (int) – height of the image in pixel
- pixel_size_in_microns (int)
- width (int) – width of the image in pixel
-
getSystemInfo()¶ Returns: Return type: serialNumber
-
getUnprocessedSurfaceData()¶ Returns: - data (numpy array) – vector containing image data
- height (int) – height of the image in pixel
- pixel_size_in_microns (int)
- width (int) – width of the image in pixel
-
loadConfiguration(configurationPath)¶ Parameters: configurationPath (string) – file path for configuration to load
-
saveDataToDisk(path)¶ Parameters: path (string) – path where to save the measurements
-
setDetectorMask(mask)¶ Parameters: mask (numpy array) – numpy 2d array with np.nan in the obscured area
-
setTriggerMode(trigger)¶ Parameters: trigger –
-
takeAveragedMeasurement(numberOfSamples)¶ Parameters: numberOfSamples (int) – numbers of measurements to average
-
takeSingleMeasurement()¶ Returns: - width (int) – width of the image in pixel
- height (int) – height of the image in pixel
- pixel_size_in_microns (int)
- data_array (numpy array) – vector containing image data
-
m4.devices.interferometer module¶
m4.devices.m4_controller module¶
m4.devices.opc_ua_controller module¶
- Authors
- Selmi: written in September 2020
-
class
m4.devices.opc_ua_controller.OpcUaController¶ Bases:
objectFunction for test tower management via OpcUa
HOW TO USE IT:
from m4.devices.opc_ua_controller import OpcUaController opcUa = OpcUaController()
-
STOP_NODE= 'ns=7;s=MAIN.b_StopCmd'¶
-
TEMPERATURE_NODE= 'ns=7;s=MAIN.i_Temperature_Sensor'¶
-
get_position(int_number)¶ Parameters: int_number (int) – number of the chosen object Returns: position – position of the requested object Return type: float
-
get_temperature_vector()¶ Returns: temperature_vector – values obtained from PT Return type: numpy array
-
get_variables_positions()¶ Returns: variables – all variables value Return type: numpy array
-
move_object(int_number)¶ Function that applies command and moves object
Parameters: int_number (int) – number of the chosen object
-
readActsPositions(n1, n2, n3)¶ Function to read actuators positions
Parameters: n2, n3 (n1,) – number of the chosen object Returns: acts – vector of actuators position Return type: numpy array
-
setActsPositions(n1, n2, n3, v1, v2, v3)¶ Function to set actuators positions
Parameters: - n2, n3 (n1,) – number of the chosen object
- v2, v3 (v1,) – value to pass to actuators
Returns: acts – vector of actuators position
Return type: numpy array
-
set_target_position(int_number, value)¶ Parameters: - int_number (int) – number of the chosen object
- value (float) – value to assign to the chosen object
Returns: target_position – value assigned to the chosen object (not applied)
Return type: float
-
stop()¶ Stop all commands
-
wait_for_stop(int_number)¶ Function to wait for the movement to be completed
Parameters: int_number (int) – number of the chosen object
-
m4.devices.parabola_slider module¶
- Authors
- Selmi: written in 2020
-
class
m4.devices.parabola_slider.OpcUaParabolaSlider(opcUa)¶ Bases:
m4.devices.base_parabola_slider.BaseParabolaSliderClass for parabola slide control via opc ua
HOW TO USE IT:
from m4.devices.opc_ua_controller import OpcUaController opcUa = OpcUaController() from m4.devices.parabola_slider import OpcUaParabolaSlider par_slider = OpcUaParabolaSlider(opcUa)
-
getPosition()¶ Function to get the parabola slider position
Returns: current_pos – parabola slider position Return type: int [mm]
-
getPositionInM()¶ Returns: current_pos – parabola slider position in meters Return type: int [m]
-
setPosition(absolute_position_in_mm)¶ Function to set the absolute position of the parabola slider
Parameters: absolute_position_in_mm (int [mm]) – Returns: current_pos – absolute parabola slider position Return type: int [mm]
-
m4.devices.parabola module¶
- Authors
- Selmi: written in 2020
-
class
m4.devices.parabola.OpcUaParabola(opcUa)¶ Bases:
m4.devices.base_parabola.BaseParabolaClass for parabola control via opc ua
HOW TO USE IT:
from m4.devices.opc_ua_controller import OpcUaController opcUa = OpcUaController() from m4.devices.parabola import OpcUaParabola par = OpcUaParabola(opcUa)
-
getPosition()¶ Function to get the parabola position
Returns: current_pos – parabola position Return type: int [-, -, mm, arcsec, arcsec, -]
-
setPosition(absolute_position_in_mm)¶ Function to set the absolute position of the parabola
Parameters: absolute_position_in_mm (numpy array [-, -, mm, arcsec, arcsec, -]) – vector of six numbers containing dof values of parabola Returns: current_pos – absolute parabola position Return type: numpy array [mm]
-
m4.devices.reference_mirror_slider module¶
m4.devices.reference_mirror module¶
- Authors
- Selmi: written in 2021
-
class
m4.devices.reference_mirror.OpcUaReferenceMirror(opcUa)¶ Bases:
m4.devices.base_reference_mirror.BaseReferenceMirrorClass for reference mirror control via opc ua
HOW TO USE IT:
from m4.devices.opc_ua_controller import OpcUaController opcUa = OpcUaController() from m4.devices.reference_mirror import OpcUaReferenceMirror rm = OpcUaReferenceMirror(opcUa)
-
getPosition()¶ Function to get the reference mirror position
Returns: current_pos – reference mirror position Return type: int [-, -, mm, arcsec, arcsec, -]
-
setPosition(absolute_position_in_mm)¶ Function to set the absolute position of the reference mirror
Parameters: absolute_position_in_mm (numpy array [-, -, mm, arcsec, arcsec, -]) – vector of six value Returns: current_pos – absolute reference mirror position Return type: numpy array [-, -, mm, arcsec, arcsec, -]
-
m4.devices.temperature_sensors module¶
- Authors
- Selmi: written in 2020
-
class
m4.devices.temperature_sensors.OpcUaTemperatureSensors(opcUa)¶ Bases:
m4.devices.base_temperature_sensors.BaseTemperatureSensorsClass for Pt sensors control via opc ua
HOW TO USE IT:
from m4.devices.opc_ua_controller import OpcUaController opcUa = OpcUaController() from m4.devices.temperature_sensors import OpcUaTemperatureSensor sens = OpcUaTemperatureSensor(OpcUa)
-
getTemperature()¶ Returns: temperature – vector containing temperature Return type: numpy array
-