data_read#
Module containing functions to read metadata and raw data from measurement directory.
- class artof.data_read.Acquisition(general=<factory>, lensmode=<factory>, detector=<factory>, analyzer=<factory>)#
Metadata class containing all metadata for current measurement.
- class artof.data_read.Analyzer(elementSet='', lensMode='', passEnergy=0.0)#
Dataclass for analyzer metadata.
- Parameters:
elementSet (str)
lensMode (str)
passEnergy (float)
- elementSet: str = ''#
- lensMode: str = ''#
- passEnergy: float = 0.0#
- class artof.data_read.Detector(transformVectorSize=0, transformMaxY=0, transformXRef=0, transformXVector=<factory>, transformYVector=<factory>, transformXMatrix=<factory>, transformYMatrix=<factory>, x0=0, y0=0, t0=0, t0Tolerance=0, tdcResolution=0.0, spatialResolution=0, spatialDiameter=0, xDelayTimeMin=0, xDelayTimeMax=0, yDelayTimeMin=0, yDelayTimeMax=0, zDelayTimeMin=0, zDelayTimeMax=0)#
Dataclass for detector metadata.
- Parameters:
transformVectorSize (int)
transformMaxY (int)
transformXRef (int)
transformXVector (ndarray)
transformYVector (ndarray)
transformXMatrix (ndarray)
transformYMatrix (ndarray)
x0 (int)
y0 (int)
t0 (int)
t0Tolerance (int)
tdcResolution (float)
spatialResolution (int)
spatialDiameter (int)
xDelayTimeMin (int)
xDelayTimeMax (int)
yDelayTimeMin (int)
yDelayTimeMax (int)
zDelayTimeMin (int)
zDelayTimeMax (int)
- spatialDiameter: int = 0#
- spatialResolution: int = 0#
- t0: int = 0#
- t0Tolerance: int = 0#
- tdcResolution: float = 0.0#
- transformMaxY: int = 0#
- transformVectorSize: int = 0#
- transformXMatrix: ndarray#
- transformXRef: int = 0#
- transformXVector: ndarray#
- transformYMatrix: ndarray#
- transformYVector: ndarray#
- x0: int = 0#
- xDelayTimeMax: int = 0#
- xDelayTimeMin: int = 0#
- y0: int = 0#
- yDelayTimeMax: int = 0#
- yDelayTimeMin: int = 0#
- zDelayTimeMax: int = 0#
- zDelayTimeMin: int = 0#
- class artof.data_read.DetectorConfig(timestamp=datetime.datetime(1, 1, 1, 0, 0), DLDDeadTime=0, DLDFilterMax=0, DLDFilterMin=0, DetectorID=0, GroupMode='', XYTFormat='', XYTFormatProtect=False, YFilterMax=0, YFilterMin=0, dllVersion='', tdcChannelMCP=0, tdcChannelTRIGGER=0, tdcChannelX1=0, tdcChannelX2=0, tdcChannelY1=0, tdcChannelY2=0, tdcChannelZ1=0, tdcChannelZ2=0)#
Dataclass for detector configuration metadata.
- Parameters:
timestamp (datetime)
DLDDeadTime (int)
DLDFilterMax (int)
DLDFilterMin (int)
DetectorID (int)
GroupMode (str)
XYTFormat (str)
XYTFormatProtect (bool)
YFilterMax (int)
YFilterMin (int)
dllVersion (str)
tdcChannelMCP (int)
tdcChannelTRIGGER (int)
tdcChannelX1 (int)
tdcChannelX2 (int)
tdcChannelY1 (int)
tdcChannelY2 (int)
tdcChannelZ1 (int)
tdcChannelZ2 (int)
- DLDDeadTime: int = 0#
- DLDFilterMax: int = 0#
- DLDFilterMin: int = 0#
- DetectorID: int = 0#
- GroupMode: str = ''#
- MCPDeadTime = 0#
- XFilterMax = 0#
- XFilterMin = 0#
- XYTFormat: str = ''#
- XYTFormatProtect: bool = False#
- YFilterMax: int = 0#
- YFilterMin: int = 0#
- dllVersion: str = ''#
- tdcChannelMCP: int = 0#
- tdcChannelTRIGGER: int = 0#
- tdcChannelX1: int = 0#
- tdcChannelX2: int = 0#
- tdcChannelY1: int = 0#
- tdcChannelY2: int = 0#
- tdcChannelZ1: int = 0#
- tdcChannelZ2: int = 0#
- timestamp: datetime = datetime.datetime(1, 1, 1, 0, 0)#
- class artof.data_read.DetectorSetup(start=<factory>, finish=<factory>)#
Dataclass for detector setup metadata (from detector.txt file).
- Parameters:
start (DetectorConfig)
finish (DetectorConfig)
- finish: DetectorConfig#
- start: DetectorConfig#
- class artof.data_read.ElementConfig(timestamp=datetime.datetime(1, 1, 1, 0, 0), Acceleration_Element=0.0, DBIAS=0.0, DLDAH=0.0, DLDR=0.0, DLDS=0.0, L1=0.0, L2=0.0, L3=0.0, L4=0.0, L5=0.0, MCP=0.0)#
Dataclass for element configuration metadata.
- Parameters:
timestamp (datetime)
Acceleration_Element (float)
DBIAS (float)
DLDAH (float)
DLDR (float)
DLDS (float)
L1 (float)
L2 (float)
L3 (float)
L4 (float)
L5 (float)
MCP (float)
- Acceleration_Element: float = 0.0#
- DBIAS: float = 0.0#
- DLDAH: float = 0.0#
- DLDR: float = 0.0#
- DLDS: float = 0.0#
- L1: float = 0.0#
- L2: float = 0.0#
- L3: float = 0.0#
- L4: float = 0.0#
- L5: float = 0.0#
- MCP: float = 0.0#
- timestamp: datetime = datetime.datetime(1, 1, 1, 0, 0)#
- class artof.data_read.Elements(start=<factory>, finish=<factory>)#
Dataclass for elements metadata (from elements.txt file).
- Parameters:
start (ElementConfig)
finish (ElementConfig)
- finish: ElementConfig#
- start: ElementConfig#
- class artof.data_read.Extra(start=<factory>, finish=<factory>)#
Dataclass for extra metadata (from extra.txt file).
- Parameters:
start (dict)
finish (dict)
- finish: dict#
- start: dict#
- class artof.data_read.General(version='', acquisitionStarted=datetime.datetime(1, 1, 1, 0, 0), spectrumBeginEnergy=0.0, spectrumEndEnergy=0.0, spectrumChannelWidthEnergy=0.0, lensLowEdgeEnergyStep=0.0, lensDwellType='', lensDwellTime=0, lensIterations=0, lensSteps=0, userSpectrumEndEnergy=0.0, userLensLowEdgeEnergyStep=0.0, acquisitionMode='', centerEnergy=0.0, xytFormat='', conversionLibraryName='', conversionLibraryVersion='')#
Dataclass for general metadata.
- Parameters:
version (str)
acquisitionStarted (datetime)
spectrumBeginEnergy (float)
spectrumEndEnergy (float)
spectrumChannelWidthEnergy (float)
lensLowEdgeEnergyStep (float)
lensDwellType (str)
lensDwellTime (int)
lensIterations (int)
lensSteps (int)
userSpectrumEndEnergy (float)
userLensLowEdgeEnergyStep (float)
acquisitionMode (str)
centerEnergy (float)
xytFormat (str)
conversionLibraryName (str)
conversionLibraryVersion (str)
- acquisitionMode: str = ''#
- acquisitionStarted: datetime = datetime.datetime(1, 1, 1, 0, 0)#
- centerEnergy: float = 0.0#
- conversionLibraryName: str = ''#
- conversionLibraryVersion: str = ''#
- lensDwellTime: int = 0#
- lensDwellType: str = ''#
- lensIterations: int = 0#
- lensLowEdgeEnergyStep: float = 0.0#
- lensSteps: int = 0#
- spectrumBeginEnergy: float = 0.0#
- spectrumChannelWidthEnergy: float = 0.0#
- spectrumEndEnergy: float = 0.0#
- userLensLowEdgeEnergyStep: float = 0.0#
- userSpectrumEndEnergy: float = 0.0#
- version: str = ''#
- xytFormat: str = ''#
- class artof.data_read.Lensmode(lensK=0.0, vectorSize=0, maxTheta=0.0, eKinRef=0, tofVector=<factory>, radiusVector=<factory>, energyMatrix=<factory>, thetaMatrix=<factory>)#
Dataclass for lensmode metadata.
- Parameters:
lensK (float)
vectorSize (int)
maxTheta (float)
eKinRef (int)
tofVector (ndarray)
radiusVector (ndarray)
energyMatrix (ndarray)
thetaMatrix (ndarray)
- eKinRef: int = 0#
- energyMatrix: ndarray#
- lensK: float = 0.0#
- maxTheta: float = 0.0#
- radiusVector: ndarray#
- thetaMatrix: ndarray#
- tofVector: ndarray#
- vectorSize: int = 0#
- class artof.data_read.Metadata(acquisition=<factory>, detector=<factory>, elements=<factory>, extra=<factory>, timing=<factory>)#
Dataclass for all metadata.
- Parameters:
acquisition (Acquisition)
detector (DetectorSetup)
elements (Elements)
extra (Extra)
timing (Timing)
- acquisition: Acquisition#
- detector: DetectorSetup#
- class artof.data_read.Timing(start=<factory>, finish=<factory>)#
Dataclass for timing metadata (from timing.txt file).
- Parameters:
start (TimingData)
finish (TimingData)
- finish: TimingData#
- start: TimingData#
- class artof.data_read.TimingData(timestamp=datetime.datetime(1, 1, 1, 0, 0), MasterPeriod=0.0, PulsePeriodEstimate=0, TriggerPeriod=0.0)#
Dataclass for timing data.
- Parameters:
timestamp (datetime)
MasterPeriod (float)
PulsePeriodEstimate (int)
TriggerPeriod (float)
- MasterPeriod: float = 0.0#
- PulsePeriodEstimate: int = 0#
- TriggerPeriod: float = 0.0#
- timestamp: datetime = datetime.datetime(1, 1, 1, 0, 0)#
- artof.data_read.empty_float_array()#
Create empty float array.
- Returns:
Empty float array.
- Return type:
ndarray
- artof.data_read.get_aquisition_df(acquisition, pars, run_name=None)#
Get selected keys from acquisition metadata as pandas DataFrame.
- Parameters:
metadata – Metadata object containing all metadata.
pars (list) – List of keys to be extracted from metadata (when ‘None’ all metadata will be returned)
run_name (str) – Name of current run to be displayed in first column, optional.
acquisition (Acquisition)
- Returns:
DataFrame containing all requested metadata.
- Return type:
DataFrame
- artof.data_read.load_counts(path, it, step)#
Count number of events in given lens iteration and step assuming int32 enconding.
- Parameters:
path (str) – Path to run directory.
it (int) – Current lens iteration.
step (int) – Current lens step.
- Returns:
Number of events in given lens iteration and step.
- Return type:
int
- artof.data_read.load_file(path, it, step)#
Load raw data from file and transform into data points with 3 values.
- Parameters:
path (str) – Path to run directory.
it (int) – Current lens iteration.
step (int) – Current lens step.
- Returns:
2D list containing three int32 values per row.
- Return type:
ndarray
- artof.data_read.load_metadata(file, metadata_object, datetime_format)#
Read any metadata from a given file and return it as a dataclass object. Unknown sections or attributes will be skipped with a warning.
- Parameters:
file (str) – Path to metadata file.
metadata_object (Callable[[], T]) – Callable that returns an empty instance of the metadata dataclass.
datetime_format (str) – Format for datetime parsing.
- Returns:
An instance of the metadata dataclass containing metadata from the file.
- Return type:
T
- artof.data_read.parse_type(dclass, par_name, value, datetime_format, file, raise_value_error=False)#
Parse string read from file to given type. Possible non-trivial conversions are int, float, datetime, list.
- Parameters:
dclass (dataclass) – Dataclass containing the given parameter.
par_name (str) – Name of parameter.
value (any) – Value to be set for parameter.
datetime_format (str) – Format for datetime parsing.
raise_value_error (bool) – Whether to raise a ValueError if parsing fails (default: False). If False, a warning will be printed and the value will not be set.
file (str)
- Returns:
Parsed parameter.
- Return type:
any
- artof.data_read.read_acquisition_cfg(path)#
Read metadata for given run from acquisition.cfg file.
- Parameters:
path (str) – Path to run directory.
- Returns:
Metadata object containing all info from acquisition.cfg file.
- Return type: