LaPDMapper

class bapsflib.lapd._hdf.mapper.LaPDMapper(hdf_obj: File, control_path='Raw data + config', digitizer_path='Raw data + config', msi_path='MSI')

Bases: HDFMapper

A specialized version of HDFMapper which adds attributes that are specific to mapping a HDF5 file generated by the LaPD.

Parameters:
  • hdf_obj (h5py.File) – HDF5 file object

  • control_path (str, optional) – internal HDF5 path to group containing control devices (DEFAULT 'Raw data + config')

  • digitizer_path (str, optional) – internal HDF5 path to group containing digitizers (DEFAULT 'Raw data + config')

  • msi_path (str, optional) – internal HDF5 path to group containing MSI diagnostics (DEFAULT 'MSI')

Attributes Summary

controls

Dictionary of all the control device mapping objects.

digitizers

Dictionary of all the digitizer device mapping objects.

exp_info

Dictionary of experiment info

is_lapd

True if HDF5 file was generated by the LaPD

lapd_version

LaPD HDF5 version string.

main_digitizer

Mapping object for the digitizer that is assumed to be the main digitizer in digitizers.

msi

Dictionary of all the MSI diagnostic mapping objects.

run_info

Dictionary of experimental run info.

unknowns

List of all subgroup and dataset paths in the HDF5 root group, control device group, digitizer group, and MSI group that were not mapped.

Methods Summary

get(name)

Get a device mapping instance.

Attributes Documentation

controls

Dictionary of all the control device mapping objects.

Examples

How to retrieve the mapping object of the control device '6K Compumotor':

fmap = HDFMapper(file_obj)
dmap = fmap.controls['6K Compumotor']
digitizers

Dictionary of all the digitizer device mapping objects.

Examples

How to retrieve the mapping object of the digitizer 'SIS 3301':

fmap = HDFMapper(file_obj)
dmap = fmap.digitizers['SIS 3301']
exp_info

Dictionary of experiment info

is_lapd

True if HDF5 file was generated by the LaPD

lapd_version

LaPD HDF5 version string.

main_digitizer

Mapping object for the digitizer that is assumed to be the main digitizer in digitizers.

Notes

The main digitizer is determined by scanning through the local tuple possible_candidates that contains a hierarchical list of digitizers. The first digitizer found is assumed to be the main digitizer.

msi

Dictionary of all the MSI diagnostic mapping objects.

Examples

How to retrieve the mapping object of the 'Magnetic field' MSI diagnostic:

fmap = HDFMapper(file_obj)
dmap = fmap.msi['Magnetic field']
run_info

Dictionary of experimental run info.

unknowns

List of all subgroup and dataset paths in the HDF5 root group, control device group, digitizer group, and MSI group that were not mapped.

Methods Documentation

get(name: str)

Get a device mapping instance. Returns None if no mapping instance for name is found.

Parameters:

name (str) – name of desired device

Examples

How to retrieve the mapping object for the 'SIS 3301' digitizer:

>>> fmap = HDFMapper(file_obj)
>>> dmap = fmap.get('SIS 3301')
>>>
>>> # which is equivalent to
>>> dmap = fmap.digitizers['SIS 3301']