Skip to content
Snippets Groups Projects
Commit c55c4575 authored by Karim Ahmed's avatar Karim Ahmed
Browse files

remove development pieces

parent 2ac3e42e
No related branches found
No related tags found
1 merge request!738New calcat interface
......@@ -611,7 +611,7 @@ class CalibrationData:
return self._load_ccv_data(metadata, module, calibration)
def _allocate_const_arrays(self, metadata, const_load_mp, const_data):
def _allocate_constant_arrays(self, metadata, const_load_mp, const_data):
for mod, ccv_entry in metadata.items():
const_data[mod] = {}
......@@ -625,8 +625,23 @@ class CalibrationData:
shape=shape, dtype=dtype
)
def load_constants_data(self, metadata):
def load_constant_dataset(wid, index, mod):
def load_constants_from_metadata(self, metadata):
"""Load the data for all constants in metadata object.
Args:
metadata (CCVMetadata, optional): CCV metadata to load
constant data for, may be None to query metadata.
Returns:
(Dict): A dictionary of constant data.
{module: {calibration: ndarray}}.
"""
def _load_constant_dataset(wid, index, mod):
"""Load constant dataset from the CCVMetadata `metadata` into
a shared allocated array.
Args:
mod (str): module key in `metadata` object
"""
for cname, mdata in metadata[mod].items():
with h5py.File(self.caldb_root / mdata["path"], "r") as cf:
cf[f"{mdata['dataset']}/data"].read_direct(
......@@ -635,8 +650,8 @@ class CalibrationData:
const_data = dict()
const_load_mp = psh.ProcessContext(num_workers=24)
self._allocate_const_arrays(metadata, const_load_mp, const_data)
const_load_mp.map(load_constant_dataset, list(metadata.keys()))
self._allocate_constant_arrays(metadata, const_load_mp, const_data)
const_load_mp.map(_load_constant_dataset, list(metadata.keys()))
return const_data
......@@ -663,32 +678,7 @@ class CalibrationData:
if metadata is None:
metadata = self.metadata(calibrations)
return self.load_constants_data(metadata)
def data_map(
self,
calibrations=None,
metadata=None,
):
"""Load all CCV data in a nested map of ndarrays.
Args:
calibrations (Iterable of str, optional): Calibration constants
or None for all available (default).
metadata (CCVMetadata, optional): CCV metadata to load constant
for or None to query metadata automatically (default).
Returns:
(dict of dict of ndarray): CCV data by module number and
calibration constant name.
{module: {calibration: ndarray}}
"""
if self.caldb_root is None:
raise RuntimeError("calibration database store unavailable")
if metadata is None:
metadata = self.metadata(calibrations)
return self.load_constants_data(metadata)
return self.load_constants_from_metadata(metadata)
def _build_condition(self, parameters):
cond = dict()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment