7.3.2. Scanner module and classes

Summary of the classes in the scanner module

ScanType(value)

An enumeration.

ScanInfo([Nsteps, positions, axes_indexes, ...])

Container class for a given scan details

Scanner([parent_widget, scanner_items, ...])

Main Object to define a PyMoDAQ scan and create a UI to set it

The scanner module contains all functionalities to defines a particular scan see Scanner.

pymodaq.utils.scanner.utils.ScanType = <enum 'ScanType'>

An enumeration.

class pymodaq.utils.scanner.utils.ScanInfo(Nsteps=0, positions=None, axes_indexes=None, axes_unique=None, selected_actuators=[], **kwargs)[source]

Container class for a given scan details

It includes the number of steps and all the positions for the selected actuators. It also contains these positions as scan axes for easier use.

Parameters:
  • Nsteps (int) – Number of steps of the scan

  • positions (ndarray) – multidimensional array. the first dimension has a length of Nsteps and each element is an actuator position

  • positions_indexes (ndarray) – multidimensional array of Nsteps 0th dimension length where each element is the index of the corresponding positions within the axis_unique

  • axes_unique (list of ndarray) – list of sorted (and with unique values) 1D arrays of unique positions of each defined axes

  • selected_actuators (List[str]) – The actuators to be used for this scan

  • kwargs (dict of other named parameters to be saved as attributes) –

Nsteps

Number of steps of the scan

Type:

int

positions

multidimensional array. the first dimension has a length of Nsteps and each element is an actuator position

Type:

ndarray

positions_indexes

multidimensional array of Nsteps 0th dimension length where each element is the index of the corresponding positions within the axis_unique

Type:

ndarray

axes_unique

list of sorted (and with unique values) 1D arrays of unique positions of each defined axes

Type:

list of ndarray

kwargs
Type:

dict of other named attributes

class pymodaq.utils.scanner.scanner.Scanner(parent_widget: QtWidgets.QWidget = None, scanner_items={}, actuators: List[DAQ_Move] = [])[source]

Main Object to define a PyMoDAQ scan and create a UI to set it

Parameters:
  • parent_widget (QtWidgets.QWidget) –

  • scanner_items (list of GraphicItems) – used by ScanSelector for chosing scan area or linear traces

  • actuators (List[DAQ_Move]) – list actuators names

See also

ScanSelector, ScannerBase, TableModelSequential, TableModelTabular, pymodaq_types.TableViewCustom

Attributes:
actuators

list of str: Returns as a list the name of the selected actuators to describe the actual scan

axes_indexes
axes_unique
distribution
n_axes
n_steps
positions
scan_sub_type
scan_type
scanner

Methods

get_indexes_from_scan_index(scan_index)

To be reimplemented.

get_scan_info()

Get a summary of the configured scan as a ScanInfo object

get_scanner_sub_settings()

Get the current ScannerBase implementation's settings

positions_at(index)

Extract the actuators positions at a given index in the scan as a DataToExport of DataActuators

set_scan()

Process the settings options to calculate the scan positions

set_scan_type_and_subtypes(scan_type, ...)

Convenience function to set the main scan type

value_changed(param)

Non-mandatory method to be subclassed for actions to perform (methods to call) when one of the param's value in self._settings is changed

connect_things

get_nav_axes

get_scan_shape

save_scanner_settings

scanner_updated_signal

set_scan_from_settings

set_scanner

setup_ui

update_from_scan_selector

get_indexes_from_scan_index(scan_index: int) Tuple[int][source]

To be reimplemented. Calculations of indexes within the scan

get_scan_info() ScanInfo[source]

Get a summary of the configured scan as a ScanInfo object

get_scanner_sub_settings()[source]

Get the current ScannerBase implementation’s settings

positions_at(index: int) DataToExport[source]

Extract the actuators positions at a given index in the scan as a DataToExport of DataActuators

set_scan()[source]

Process the settings options to calculate the scan positions

Returns:

bool

Return type:

True if the processed number of steps if higher than the configured number of steps

set_scan_type_and_subtypes(scan_type: str, scan_subtype: str)[source]

Convenience function to set the main scan type

Parameters:
  • scan_type (str) – one of registered Scanner main identifier

  • scan_subtype (list of str or None) – one of registered Scanner second identifier for a given main identifier

See also

ScannerFactory

value_changed(param: Parameter)[source]

Non-mandatory method to be subclassed for actions to perform (methods to call) when one of the param’s value in self._settings is changed

Parameters:

param (Parameter) – the parameter whose value just changed

Examples

>>> if param.name() == 'do_something':
>>>     if param.value():
>>>         print('Do something')
>>>         self.settings.child('main_settings', 'something_done').setValue(False)
property actuators

Returns as a list the name of the selected actuators to describe the actual scan

Type:

list of str