HDFMap¶
- class bapsflib._hdf.maps.core.HDFMap(hdf_obj: File, control_path: str, digitizer_path: str, msi_path: str)¶
Bases:
object
Constructs a complete file mapping of the HDF5 file. This is utilized by the HDF5 utility classes (in module
bapsflib._hdf.utils
) to manipulate and read data out of the HDF5 file.The following classes are leveraged to construct the mappings:
- Parameters:
hdf_obj (
h5py.File
) – the HDF5 file objectcontrol_path – internal HDF5 path to group containing control devices
digitizer_path – internal HDF5 path to group containing digitizers
msi_path – internal HDF5 path to group containing MSI diagnostics
Attributes Summary
Dictionary of all the control device mapping objects.
Dictionary of all the digitizer device mapping objects.
- return:
the mapping object for the digitizer that is assumed
Dictionary of all the MSI diagnostic mapping objects.
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 an device mapping instance.
Attributes Documentation
- controls¶
Dictionary of all the control device mapping objects.
- Example:
How to retrieve the mapping object of the control device
'6K Compumotor'
:fmap = HDFMap(file_obj) dmap = fmap.controls['6K Compumotor']
- digitizers¶
Dictionary of all the digitizer device mapping objects.
- Example:
How to retrieve the mapping object of the digitizer
'SIS 3301'
:fmap = HDFMap(file_obj) dmap = fmap.digitizers['SIS 3301']
- main_digitizer¶
- Returns:
the mapping object for the digitizer that is assumed to be the main digitizer in
digitizers
The main digitizer is determine 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.possible_candidates = ('SIS 3301', 'SIS crate')
- msi¶
Dictionary of all the MSI diagnostic mapping objects.
- Example:
How to retrieve the mapping object of the
'Magnetic field'
MSI diagnostic:fmap = HDFMap(file_obj) dmap = fmap.msi['Magnetic field']
- 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 an device mapping instance.
- Parameters:
name – name of desired device
- Returns:
If the specified device is mapped, then an instance of the mapping is returned. Otherwise,
None
is returned.- Example:
How to retrieve the mapping object for the
'SIS 3301'
digitizer:>>> fmap = HDFMap(file_obj) >>> dmap = fmap.get('SIS 3301') >>> >>> # which is equivalent to >>> dmap = fmap.digitizers['SIS 3301']