from cronomaxrf import read_datasets, peek_inside, report
Exploring the Crono MA-XRF HDF5 file format
The HDF5 file format is an open self documentable data container file format. It contains Groups and Datasets that can be understood as (sub)folders and files. An excellent python package that can be used to explore and read the contents of an hdf5 file is h5py by Andrew Collette. If you want to read more, the book by Andrew Collette Python and HDF5 - Unlocking scientific data, is an excellent introduction.
As it turns out, the Crono HDF5 file format is rather complicated are therefore hard to inspect with standard h5py
functions. This is due to complicated internal structures of the datasets inside the file. Furthermore, some of the datasets contain binary blobs for which it is still unclear how we can decode them.
The function read_datasets()
can be used to obtain a list of all dataset objects for further processing. To inspect the contents of these datasets I have created the functions peek_inside()
to inspect the contents of single dataset and report()
print an extended summary of the full contents of a Crono HDF5 file.
= '14200215102021-blindTest2AgedDetail.HDF5' # 50 Mb
crono_filename = read_datasets(crono_filename)
datasets
for i, d in enumerate(datasets):
print(f'[{i}] {d.name}')
[0] /Configuration/FinalSystemStatus
[1] /Configuration/InitialSystemStatus
[2] /Configuration/Settings
[3] /CreatedDateTime
[4] /CreatedWithSoftwareVersion
[5] /FileStructureVersion
[6] /Images/Documentation
[7] /Images/ImageAdjusting/ImagePixelSizeRatio
[8] /Images/Static
[9] /Images/StitchedImage
[10] /Images/VideoStreams
[11] /XRF/CalibrationPoints
[12] /XRF/DPPStartTimestamp
[13] /XRF/Detected
[14] /XRF/EnergyVector
[15] /XRF/LiveTimes
[16] /XRF/Maps/ComputedMaps
[17] /XRF/MotorsPositions
[18] /XRF/MotorsPositionsStats
[19] /XRF/MotorsTimestamps
[20] /XRF/OutputCountRates
[21] /XRF/ROIs/ROIsEnergies
[22] /XRF/ROIs/ROIsNames
[23] /XRF/ROIs/ROIsObjects
[24] /XRF/RealTimes
[25] /XRF/ResetCounterValue
[26] /XRF/Spectra
[27] /XRF/SpectraIDs
[28] /XRF/SpectraSelectedIndex
[29] /XRF/Timestamps
[30] /XRF/XComputedMapsCoordinate
[31] /XRF/YComputedMapsCoordinate
Below we will need to scroll through quite some data, so let’s just pick one dataset [14]
to start to inspect its contents. A dataset can contain attributes and values. Normally attributes are used to store metadata and the values part is used to store the actual measured values…
14]) peek_inside(datasets[
/XRF/EnergyVector:
+ATTRIBUTES: (none)
+SHAPE: (4096,) DTYPE: 'float32'
+VALUES:
'array([-1.1700948, -1.1581414, -1.146188 , ..., 47.755295 , 47.767246 ,
47.7792 ], dtype=float32)'
Ok, this dataset /XRF/EnergyVector
contains no meta data attributes. It contains a single vector with 4096 floating point numbers. From the context it is clear that these are the energy values in keV units for the detector channels.
Ok, now let’s see the complete contents of the file.
report(crono_filename)
CONTENTS OF CRONO HDF5 FILE: '14200215102021-blindTest2AgedDetail.HDF5'
(32 DATASETS)
[0] /Configuration/FinalSystemStatus
[1] /Configuration/InitialSystemStatus
[2] /Configuration/Settings
[3] /CreatedDateTime
[4] /CreatedWithSoftwareVersion
[5] /FileStructureVersion
[6] /Images/Documentation
[7] /Images/ImageAdjusting/ImagePixelSizeRatio
[8] /Images/Static
[9] /Images/StitchedImage
[10] /Images/VideoStreams
[11] /XRF/CalibrationPoints
[12] /XRF/DPPStartTimestamp
[13] /XRF/Detected
[14] /XRF/EnergyVector
[15] /XRF/LiveTimes
[16] /XRF/Maps/ComputedMaps
[17] /XRF/MotorsPositions
[18] /XRF/MotorsPositionsStats
[19] /XRF/MotorsTimestamps
[20] /XRF/OutputCountRates
[21] /XRF/ROIs/ROIsEnergies
[22] /XRF/ROIs/ROIsNames
[23] /XRF/ROIs/ROIsObjects
[24] /XRF/RealTimes
[25] /XRF/ResetCounterValue
[26] /XRF/Spectra
[27] /XRF/SpectraIDs
[28] /XRF/SpectraSelectedIndex
[29] /XRF/Timestamps
[30] /XRF/XComputedMapsCoordinate
[31] /XRF/YComputedMapsCoordinate
--------------------------------------------------------------------------------
[0] /Configuration/FinalSystemStatus:
+ATTRIBUTES:
- DateTime: 10/15/2021 14:27:31
- TubeTemperature: 57.33
+SHAPE: (1,) DTYPE: 'object' SUBSHAPES: [(4311,)] SUB_DTYPE: '|V1'
+VALUES:
'b'\x00\x01\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\x0c\x02\x00\x00\x00Bxglabhwlib, Version=3.2.4.18, Culture=neutral, PublicKeyToken=null\x05\x01\x00\x00\x00 XGLabHWLib.XGLabHWControl+Status\x0b\x00\x00\x00\x05state\x04mode\ndpp_status\x08dpp_info\x13cboardXRaman_status\nccd_status\x0craman_status\x08ccd_info\x0bwaitCounter\rmotors_status\x13dpp_start_timestamp\x04\x04\x04\x04\x04\x04\x04\x04\x00\x04\x00%XGLabHWLib.XGLabHWControl+DeviceState\x02\x00\x00\x00$XGLabHWLib.XGLabHWControl+DeviceMode\x02\x00\x00\x00\x1cXGLabHWLib.DPPLib+DPP_Status\x02\x00\x00\x00\x1aXGLabHWLib.DPPLib+DPP_info\x02\x00\x00\x00.XGLabHWLib.CBoardXRamanLib+CBoardXRamanPackage\x02\x00\x00\x00$XGLabHWLib.XGLabHWControl+CCD_status\x02\x00\x00\x00!XGLabHWLib.CCDLib+detector_status\x02\x00\x00\x00"XGLabHWLib.XGLabHWControl+CCD_info\x02\x00\x00\x00\x08(XGLabHWLib.MotorsLibClasses.MotorsStatus\x02\x00\x00\x00\x10\x02\x00\x00\x00\x05\xfd\xff\xff\xff%XGLabHWLib.XGLabHWControl+DeviceState\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x02\x00\x00\x00\x05\xfc\xff\xff\xff$XGLabHWLib.XGLabHWControl+DeviceMode\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x03\x00\x00\x00\x05\xfb\xff\xff\xff\x1cXGLabHWLib.DPPLib+DPP_Status\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x01\x00\x00\x00\x05\xfa\xff\xff\xff\x1aXGLabHWLib.DPPLib+DPP_info\x08\x00\x00\x00\x04name\x0efirmware_major\x0efirmware_minor\x10firmware_release\x02id\x08channels\x0blib_version"timestamps_conv_factor_ticks_to_us\x01\x00\x00\x00\x00\x00\x01\x00\x0f\x0f\x0f\x0f\x0f\x06\x02\x00\x00\x00\x06\x07\x00\x00\x00\x07SN02432\x02\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x08\x00\x00\x00\x072.4.3.0H\xe1z\x14\xaeG\xe1?\x05\xf7\xff\xff\xff.XGLabHWLib.CBoardXRamanLib+CBoardXRamanPackage;\x00\x00\x00\x05state\x0cflag_LED_RED\x0cflag_EXT_LED\rflag_EXT_LAMP\x15flag_X_TUBE_HV_ENABLE\x11flag_X_TUBE_POWER\x13flag_FILAMENT_READY\rflag_LASER_EN\x0eflag_POWER_SDD\x08flag_FAN\rflag_POWER_5V\x07flag_EV\x0eflag_INTERLOCK\x12flag_SERVO_COLL_EN\x14flag_SERVO_FILTER_EN\x12flag_reset_sw_flag\x0cflag_PC_SHDW\x0fflag_EXTLAMP_OK\x0eflag_ALARM_OUT\rflag_ALARM_IN\x11flag_ALARM_OUT_EN\x11flag_LIGHT_RED_ON\x13flag_LIGHT_GREEN_ON\x12flag_LIGHT_BLUE_ON\x13flag_LIGHT_WHITE_ON\x10flag_LIGHT_IR_ON\x10flag_LIGHT_UV_ON\x0fflag_LASER_1_ON\x0fflag_LASER_2_ON\x0eflag_BUZZER_ON\x0cflag_SHDW_ON\tTPM_value\x08HM_value\x0cMON_5V_value\rMON_12V_value\x0fX_TUBE_HV_value\x11X_TUBE_CURR_value\x10MON_5V_USB_value\x0eSDD_TEMP_value\x0cSDD_HV_value\x14CURR_12V_SENSE_value\x0efirm_maj_value\x0efirm_min_value\x0efirm_sub_value\rled_red_Value\x0eEXT_TEMP_value\x0eflag_DPP_POWER\x0fflag_LIGHT_1_ON\x0fflag_LIGHT_2_ON\x17flag_TUBE_BUZZER_ENABLE\x11flag_MOTOR_REJECT\x12flag_MOTOR_WARNING\x15flag_MOTOR_WAIT_REPLY\x14flag_MOTOR_REPLY_RDY\x13flag_MOTOR_X_MOVING\x13flag_MOTOR_Y_MOVING\x13flag_MOTOR_Z_MOVING\x0eflag_DPP_START\x0cflag_DPP_EOL\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-XGLabHWLib.CBoardXRamanLib+CBoardXRamanStatus\x02\x00\x00\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x02\x02\x02\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x00\x00\x00\x05\xf6\xff\xff\xff-XGLabHWLib.CBoardXRamanLib+CBoardXRamanStatus\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80=\xaaL@\x00\x00\x00\x00\x00\x00\x00\x00\xecQ\xb8\x1e\xc5E\xb3@\x00\x00\x00\x00\x00*\xc7@\xc5\xea\x8f0\x0c\xd8\xe5?\x1a\xa8\x8c\x7f\x9fq\xb9\xbf\xcd\xcc\xcc\xcc\xcc\xcc\x1f@\xd7\xa3p=\ngC\xc0\xed\x9e<,\xd4\x88c\xc0\x00\x00\x00\x00\x00V\xa3@\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xaf@\x01\x00\x01\x00\x01\x01\x00\x01\x00\x00\x00\x00\x00\x05\xf5\xff\xff\xff$XGLabHWLib.XGLabHWControl+CCD_status\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x00\x00\x00\x00\x05\xf4\xff\xff\xff!XGLabHWLib.CCDLib+detector_status\t\x00\x00\x00\x07present\x07enabled\x07running\x19required_integration_time\x15required_acquisitions\x18elapsed_integration_time\x14elapsed_acquisitions\x13exposed_acquisition\x10sum_acquisitions\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x0f\x0f\x0f\x0f\x0f\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\xf3\xff\xff\xff"XGLabHWLib.XGLabHWControl+CCD_info\x0f\x00\x00\x00\x06serial\x04name\ndet_number\ndev_number\rversion_major\rversion_minor\rversion_build\x08dna_high\x07dna_low\x14laserCaseTemperature\x15laserPhotodiodeOutput\x0epeltierCurrent\x0emonitorVoltage\x0claserCurrent\x0eccdTemperature\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19System.Text.StringBuilder\x19System.Text.StringBuilder\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x06\x06\x06\x06\x06\x06\x02\x00\x00\x00\t\x0e\x00\x00\x00\t\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x05\xf0\xff\xff\xff(XGLabHWLib.MotorsLibClasses.MotorsStatus\x03\x00\x00\x00\x07X_motor\x07Y_motor\x07Z_motor\x04\x04\x04\'XGLabHWLib.MotorsLibClasses.MotorStatus\x02\x00\x00\x00\'XGLabHWLib.MotorsLibClasses.MotorStatus\x02\x00\x00\x00\'XGLabHWLib.MotorsLibClasses.MotorStatus\x02\x00\x00\x00\x02\x00\x00\x00\x05\xef\xff\xff\xff\'XGLabHWLib.MotorsLibClasses.MotorStatus\x07\x00\x00\x00\x05state\x08Position\x06Moving\tHomeState\x04info\nlockedAxis\x0elockedJoystick\x04\x00\x04\x04\x04\x00\x00,XGLabHWLib.MotorsLibClasses.MotorsConnection\x02\x00\x00\x00\x08,XGLabHWLib.MotorsLibClasses.MotorMovingState\x02\x00\x00\x00*XGLabHWLib.MotorsLibClasses.MotorHomeState\x02\x00\x00\x00,XGLabHWLib.MotorsLibClasses.MotorInformation\x02\x00\x00\x00\x01\x01\x02\x00\x00\x00\x05\xee\xff\xff\xff,XGLabHWLib.MotorsLibClasses.MotorsConnection\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x01\x00\x00\x00\xec+\x1a\x00\x05\xed\xff\xff\xff,XGLabHWLib.MotorsLibClasses.MotorMovingState\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x00\x00\x00\x00\x05\xec\xff\xff\xff*XGLabHWLib.MotorsLibClasses.MotorHomeState\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x01\x00\x00\x00\x05\xeb\xff\xff\xff,XGLabHWLib.MotorsLibClasses.MotorInformation\x03\x00\x00\x00\x0eFirmware_Major\x0eFirmware_Minor\tDevice_ID\x00\x00\x00\x08\x08\x08\x02\x00\x00\x00\x07\x00\x00\x00\r\x00\x00\x00\x0ev\x00\x00\x00\x01\x01\xea\xff\xff\xff\xef\xff\xff\xff\x01\xe9\xff\xff\xff\xee\xff\xff\xff\x01\x00\x00\x00\xca\xa7\x17\x00\x01\xe8\xff\xff\xff\xed\xff\xff\xff\x00\x00\x00\x00\x01\xe7\xff\xff\xff\xec\xff\xff\xff\x01\x00\x00\x00\x01\xe6\xff\xff\xff\xeb\xff\xff\xff\x07\x00\x00\x00\r\x00\x00\x00\x0ev\x00\x00\x00\x01\x01\xe5\xff\xff\xff\xef\xff\xff\xff\x01\xe4\xff\xff\xff\xee\xff\xff\xff\x01\x00\x00\x00\xbd\x13\x07\x00\x01\xe3\xff\xff\xff\xed\xff\xff\xff\x00\x00\x00\x00\x01\xe2\xff\xff\xff\xec\xff\xff\xff\x01\x00\x00\x00\x01\xe1\xff\xff\xff\xeb\xff\xff\xff\x07\x00\x00\x00\r\x00\x00\x00\x0ev\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x04\x0e\x00\x00\x00\x19System.Text.StringBuilder\x04\x00\x00\x00\rm_MaxCapacity\x08Capacity\rm_StringValue\x0fm_currentThread\x00\x00\x01\x00\x08\x08\x08\xff\xff\xff\x7f\x10\x00\x00\x00\x06 \x00\x00\x00\x00\x00\x00\x00\x00\x01\x0f\x00\x00\x00\x0e\x00\x00\x00\xff\xff\xff\x7f\x10\x00\x00\x00\t \x00\x00\x00\x00\x00\x00\x00\x0b''
--------------------------------------------------------------------------------
[1] /Configuration/InitialSystemStatus:
+ATTRIBUTES:
- DateTime: 10/15/2021 14:20:06
- TubeTemperature: 57.33
+SHAPE: (1,) DTYPE: 'object' SUBSHAPES: [(4311,)] SUB_DTYPE: '|V1'
+VALUES:
'b'\x00\x01\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\x0c\x02\x00\x00\x00Bxglabhwlib, Version=3.2.4.18, Culture=neutral, PublicKeyToken=null\x05\x01\x00\x00\x00 XGLabHWLib.XGLabHWControl+Status\x0b\x00\x00\x00\x05state\x04mode\ndpp_status\x08dpp_info\x13cboardXRaman_status\nccd_status\x0craman_status\x08ccd_info\x0bwaitCounter\rmotors_status\x13dpp_start_timestamp\x04\x04\x04\x04\x04\x04\x04\x04\x00\x04\x00%XGLabHWLib.XGLabHWControl+DeviceState\x02\x00\x00\x00$XGLabHWLib.XGLabHWControl+DeviceMode\x02\x00\x00\x00\x1cXGLabHWLib.DPPLib+DPP_Status\x02\x00\x00\x00\x1aXGLabHWLib.DPPLib+DPP_info\x02\x00\x00\x00.XGLabHWLib.CBoardXRamanLib+CBoardXRamanPackage\x02\x00\x00\x00$XGLabHWLib.XGLabHWControl+CCD_status\x02\x00\x00\x00!XGLabHWLib.CCDLib+detector_status\x02\x00\x00\x00"XGLabHWLib.XGLabHWControl+CCD_info\x02\x00\x00\x00\x08(XGLabHWLib.MotorsLibClasses.MotorsStatus\x02\x00\x00\x00\x10\x02\x00\x00\x00\x05\xfd\xff\xff\xff%XGLabHWLib.XGLabHWControl+DeviceState\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x02\x00\x00\x00\x05\xfc\xff\xff\xff$XGLabHWLib.XGLabHWControl+DeviceMode\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x03\x00\x00\x00\x05\xfb\xff\xff\xff\x1cXGLabHWLib.DPPLib+DPP_Status\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x01\x00\x00\x00\x05\xfa\xff\xff\xff\x1aXGLabHWLib.DPPLib+DPP_info\x08\x00\x00\x00\x04name\x0efirmware_major\x0efirmware_minor\x10firmware_release\x02id\x08channels\x0blib_version"timestamps_conv_factor_ticks_to_us\x01\x00\x00\x00\x00\x00\x01\x00\x0f\x0f\x0f\x0f\x0f\x06\x02\x00\x00\x00\x06\x07\x00\x00\x00\x07SN02432\x02\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x08\x00\x00\x00\x072.4.3.0H\xe1z\x14\xaeG\xe1?\x05\xf7\xff\xff\xff.XGLabHWLib.CBoardXRamanLib+CBoardXRamanPackage;\x00\x00\x00\x05state\x0cflag_LED_RED\x0cflag_EXT_LED\rflag_EXT_LAMP\x15flag_X_TUBE_HV_ENABLE\x11flag_X_TUBE_POWER\x13flag_FILAMENT_READY\rflag_LASER_EN\x0eflag_POWER_SDD\x08flag_FAN\rflag_POWER_5V\x07flag_EV\x0eflag_INTERLOCK\x12flag_SERVO_COLL_EN\x14flag_SERVO_FILTER_EN\x12flag_reset_sw_flag\x0cflag_PC_SHDW\x0fflag_EXTLAMP_OK\x0eflag_ALARM_OUT\rflag_ALARM_IN\x11flag_ALARM_OUT_EN\x11flag_LIGHT_RED_ON\x13flag_LIGHT_GREEN_ON\x12flag_LIGHT_BLUE_ON\x13flag_LIGHT_WHITE_ON\x10flag_LIGHT_IR_ON\x10flag_LIGHT_UV_ON\x0fflag_LASER_1_ON\x0fflag_LASER_2_ON\x0eflag_BUZZER_ON\x0cflag_SHDW_ON\tTPM_value\x08HM_value\x0cMON_5V_value\rMON_12V_value\x0fX_TUBE_HV_value\x11X_TUBE_CURR_value\x10MON_5V_USB_value\x0eSDD_TEMP_value\x0cSDD_HV_value\x14CURR_12V_SENSE_value\x0efirm_maj_value\x0efirm_min_value\x0efirm_sub_value\rled_red_Value\x0eEXT_TEMP_value\x0eflag_DPP_POWER\x0fflag_LIGHT_1_ON\x0fflag_LIGHT_2_ON\x17flag_TUBE_BUZZER_ENABLE\x11flag_MOTOR_REJECT\x12flag_MOTOR_WARNING\x15flag_MOTOR_WAIT_REPLY\x14flag_MOTOR_REPLY_RDY\x13flag_MOTOR_X_MOVING\x13flag_MOTOR_Y_MOVING\x13flag_MOTOR_Z_MOVING\x0eflag_DPP_START\x0cflag_DPP_EOL\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-XGLabHWLib.CBoardXRamanLib+CBoardXRamanStatus\x02\x00\x00\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x02\x02\x02\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x00\x00\x00\x05\xf6\xff\xff\xff-XGLabHWLib.CBoardXRamanLib+CBoardXRamanStatus\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80=\xaaL@\x00\x00\x00\x00\x00\x00\x00\x00\xa4p=\n\x97B\xb3@\x00\x00\x00\x00\x00\x1c\xc7@\xa4\xff\xe5Z\xb4\x00\x9d?\x1a\xa8\x8c\x7f\x9fq\xb9\xbf\xcd\xcc\xcc\xcc\xcc\xcc\x1f@\xd7\xa3p=\ngC\xc04\x116<\xbd\x9cc\xc0\x00\x00\x00\x00\x00\xd6\xa3@\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xaf@\x01\x00\x01\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x05\xf5\xff\xff\xff$XGLabHWLib.XGLabHWControl+CCD_status\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x00\x00\x00\x00\x05\xf4\xff\xff\xff!XGLabHWLib.CCDLib+detector_status\t\x00\x00\x00\x07present\x07enabled\x07running\x19required_integration_time\x15required_acquisitions\x18elapsed_integration_time\x14elapsed_acquisitions\x13exposed_acquisition\x10sum_acquisitions\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x0f\x0f\x0f\x0f\x0f\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\xf3\xff\xff\xff"XGLabHWLib.XGLabHWControl+CCD_info\x0f\x00\x00\x00\x06serial\x04name\ndet_number\ndev_number\rversion_major\rversion_minor\rversion_build\x08dna_high\x07dna_low\x14laserCaseTemperature\x15laserPhotodiodeOutput\x0epeltierCurrent\x0emonitorVoltage\x0claserCurrent\x0eccdTemperature\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19System.Text.StringBuilder\x19System.Text.StringBuilder\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x06\x06\x06\x06\x06\x06\x02\x00\x00\x00\t\x0e\x00\x00\x00\t\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x05\xf0\xff\xff\xff(XGLabHWLib.MotorsLibClasses.MotorsStatus\x03\x00\x00\x00\x07X_motor\x07Y_motor\x07Z_motor\x04\x04\x04\'XGLabHWLib.MotorsLibClasses.MotorStatus\x02\x00\x00\x00\'XGLabHWLib.MotorsLibClasses.MotorStatus\x02\x00\x00\x00\'XGLabHWLib.MotorsLibClasses.MotorStatus\x02\x00\x00\x00\x02\x00\x00\x00\x05\xef\xff\xff\xff\'XGLabHWLib.MotorsLibClasses.MotorStatus\x07\x00\x00\x00\x05state\x08Position\x06Moving\tHomeState\x04info\nlockedAxis\x0elockedJoystick\x04\x00\x04\x04\x04\x00\x00,XGLabHWLib.MotorsLibClasses.MotorsConnection\x02\x00\x00\x00\x08,XGLabHWLib.MotorsLibClasses.MotorMovingState\x02\x00\x00\x00*XGLabHWLib.MotorsLibClasses.MotorHomeState\x02\x00\x00\x00,XGLabHWLib.MotorsLibClasses.MotorInformation\x02\x00\x00\x00\x01\x01\x02\x00\x00\x00\x05\xee\xff\xff\xff,XGLabHWLib.MotorsLibClasses.MotorsConnection\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x01\x00\x00\x00\xea+\x1a\x00\x05\xed\xff\xff\xff,XGLabHWLib.MotorsLibClasses.MotorMovingState\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x00\x00\x00\x00\x05\xec\xff\xff\xff*XGLabHWLib.MotorsLibClasses.MotorHomeState\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x01\x00\x00\x00\x05\xeb\xff\xff\xff,XGLabHWLib.MotorsLibClasses.MotorInformation\x03\x00\x00\x00\x0eFirmware_Major\x0eFirmware_Minor\tDevice_ID\x00\x00\x00\x08\x08\x08\x02\x00\x00\x00\x07\x00\x00\x00\r\x00\x00\x00\x0ev\x00\x00\x00\x00\x01\xea\xff\xff\xff\xef\xff\xff\xff\x01\xe9\xff\xff\xff\xee\xff\xff\xff\x01\x00\x00\x00=2\x11\x00\x01\xe8\xff\xff\xff\xed\xff\xff\xff\x00\x00\x00\x00\x01\xe7\xff\xff\xff\xec\xff\xff\xff\x01\x00\x00\x00\x01\xe6\xff\xff\xff\xeb\xff\xff\xff\x07\x00\x00\x00\r\x00\x00\x00\x0ev\x00\x00\x00\x00\x01\xe5\xff\xff\xff\xef\xff\xff\xff\x01\xe4\xff\xff\xff\xee\xff\xff\xff\x01\x00\x00\x00\xbd\x13\x07\x00\x01\xe3\xff\xff\xff\xed\xff\xff\xff\x00\x00\x00\x00\x01\xe2\xff\xff\xff\xec\xff\xff\xff\x01\x00\x00\x00\x01\xe1\xff\xff\xff\xeb\xff\xff\xff\x07\x00\x00\x00\r\x00\x00\x00\x0ev\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x0e\x00\x00\x00\x19System.Text.StringBuilder\x04\x00\x00\x00\rm_MaxCapacity\x08Capacity\rm_StringValue\x0fm_currentThread\x00\x00\x01\x00\x08\x08\x08\xff\xff\xff\x7f\x10\x00\x00\x00\x06 \x00\x00\x00\x00\x00\x00\x00\x00\x01\x0f\x00\x00\x00\x0e\x00\x00\x00\xff\xff\xff\x7f\x10\x00\x00\x00\t \x00\x00\x00\x00\x00\x00\x00\x0b''
--------------------------------------------------------------------------------
[2] /Configuration/Settings:
+ATTRIBUTES:
- Acceleration: 100.0
- Collimator: 0,5 mm
- Filter: No filter
- MapSetup: b'\x00\x01\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\x0c\x02\x00\x00\x00GXGLabMappingLib, Version=1.2.4.45, Culture=neutral, PublicKeyToken=null\x05\x01\x00\x00\x00\x18XGLabMappingLib.MapSetup\x14\x00\x00\x00\x1bASCII_optionalFiles_enabled\x15folder_images_enabled\x13hdf5_images_enabled\x06folder\x05speed\x0cacceleration\nx_map_size\ny_map_size\x0cspectra_time\r_rowsDistance\nx_map_left\x0cy_map_bottom\x18origin_width_height_mode\x13required_pixel_size\rrequired_time\x16manual_resolution_mode\x0bguided_mode\x0eline_dead_time\rbinningFactor\x13NyquistMarginFactor\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x01\x01\x01\x06\x06\x0f\x0f\x0f\x06\x08\x08\x01\x0f\x0c\x01%XGLabMappingLib.MapSetup+guided_modes\x02\x00\x00\x00\x06\x06\x06\x02\x00\x00\x00\x00\x00\x01\x06\x03\x00\x00\x00}C:\\Users\\CRONO\\Documents\\Maps - HoeveBlauweKei\\LinkerSchuur\\Optional files - inkttesten\\14200215102021 - blindTest2AgedDetailH\xe1z\x14\xae\xc7+@\x00\x00\x00\x00\x00\x00Y@&\x94\x00\x00\x07\xa6\x00\x00<\x00\x00\x00\x00\x00\x00\x00\x00@\x7f@\x9c\x04\x02\x00\xc9\xb4\x01\x00\x00\xf4\x01\x00\x00\x00F\xc3#\x00\x00\x00\x00\x01\x05\xfc\xff\xff\xff%XGLabMappingLib.MapSetup+guided_modes\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@333333\xf3?\x00\x00\x00\x00\x00\x00\xf0?\x0b'
- SpectraTime: 60
- TubekV: 40
- TubemA: 250
- XSize: 37926
- XSpeed: 13.89
- XStart: 132252
- YSize: 42503
- YStart: 111817
- YStep: 500.0
- ZStart: 46018
+SHAPE: (1,) DTYPE: 'object' SUBSHAPES: [(2778,)] SUB_DTYPE: '|V1'
+VALUES:
'b'\x00\x01\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\x0c\x02\x00\x00\x00Bxglabhwlib, Version=3.2.4.18, Culture=neutral, PublicKeyToken=null\x05\x01\x00\x00\x00"XGLabHWLib.XGLabHWControl+Settings\t\x00\x00\x00\x0cdpp_settings\x10dpp_opt_settings\x10dpp_input_offset\x0cccd_settings\x0fmotors_settings\x0fxrf_calibration\x0fram_calibration\x0cxrf_controls\x1btube_material_atomic_number\x04\x04\x04\x04\x04\x04\x04\x04\x00\x1eXGLabHWLib.DPPLib+DPP_settings\x02\x00\x00\x00\'XGLabHWLib.DPPLib+DPP_optional_settings\x02\x00\x00\x00*XGLabHWLib.DPPLib+DPP_configuration_offset\x02\x00\x00\x00\x1eXGLabHWLib.CCDLib+CCD_settings\x02\x00\x00\x00*XGLabHWLib.MotorsLibClasses.MotorsSettings\x02\x00\x00\x00-XGLabHWLib.XGLabHWControl+CalibrationSettings\x02\x00\x00\x00-XGLabHWLib.XGLabHWControl+CalibrationSettings\x02\x00\x00\x00*XGLabHWLib.XGLabHWControl+ControlsSettings\x02\x00\x00\x00\x08\x02\x00\x00\x00\x05\xfd\xff\xff\xff\x1eXGLabHWLib.DPPLib+DPP_settings\x0b\x00\x00\x00\rdetection_thr\npileup_thr\x04gain\x0cpeaking_time\x08flat_top\x11edge_peaking_time\redge_flat_top\x13reset_recovery_time\x0einverted_input\x0ezero_peak_freq\x0bother_param\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x08\x06\x0f\x0f\x0f\x0f\x0f\x01\x06\x0f\x02\x00\x00\x00#\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x08\x00\x00\x00\x07\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\xe8\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x05\xfc\xff\xff\xff\'XGLabHWLib.DPPLib+DPP_optional_settings\x07\x00\x00\x00\x06gain_2\x06gain_3\x0epeaking_time_2\x0epeaking_time_3\nflat_top_2\nflat_top_3\x06enable\x00\x00\x00\x00\x00\x00\x00\x06\x06\x0f\x0f\x0f\x0f\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\xfb\xff\xff\xff*XGLabHWLib.DPPLib+DPP_configuration_offset\x02\x00\x00\x00\x0boffset_val1\x0boffset_val2\x00\x00\x0f\x0f\x02\x00\x00\x00\x80\x00\x00\x00\x80\x00\x00\x00\x05\xfa\xff\xff\xff\x1eXGLabHWLib.CCDLib+CCD_settings\x04\x00\x00\x00\x08adc_gain\nadc_offset\x0fmax_power_laser\x0cpeltier_temp\x00\x00\x00\x00\x0b\x08\x0f\x08\x02\x00\x00\x00\x00\x00\x80?\n\x00\x00\x00,\x01\x00\x00\xf6\xff\xff\xff\x05\xf9\xff\xff\xff*XGLabHWLib.MotorsLibClasses.MotorsSettings\x03\x00\x00\x00\x07X_motor\x07Y_motor\x07Z_motor\x04\x04\x04)XGLabHWLib.MotorsLibClasses.MotorSettings\x02\x00\x00\x00)XGLabHWLib.MotorsLibClasses.MotorSettings\x02\x00\x00\x00)XGLabHWLib.MotorsLibClasses.MotorSettings\x02\x00\x00\x00\x02\x00\x00\x00\x05\xf8\xff\xff\xff)XGLabHWLib.MotorsLibClasses.MotorSettings\x02\x00\x00\x00\x07enabled\rconfiguration\x00\x04\x01.XGLabHWLib.MotorsLibClasses.MotorConfiguration\x02\x00\x00\x00\x02\x00\x00\x00\x01\x05\xf7\xff\xff\xff.XGLabHWLib.MotorsLibClasses.MotorConfiguration\x0b\x00\x00\x00\ttype_name\x07address\x04axis\nisLockStep\x04type\x15microsteps_resolution\tmax_speed\x0cacceleration\x0bunits2steps\x06offset\x10maximum_position\x01\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x0f\x0f\x01%XGLabHWLib.MotorsLibClasses.MotorType\x02\x00\x00\x00\x08\x08\x08\x06\x08\x08\x02\x00\x00\x00\x06\n\x00\x00\x00\x16Standard Linear 600 mm\x03\x00\x00\x00\x01\x00\x00\x00\x00\x05\xf5\xff\xff\xff%XGLabHWLib.MotorsLibClasses.MotorType\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00*\x95\n\x00\xe8\x03\x00\x00ffffff\xb9?\x00\x00\x00\x00\x00\x00\x00\x00\x01\xf4\xff\xff\xff\xf8\xff\xff\xff\x01\x01\xf3\xff\xff\xff\xf7\xff\xff\xff\x06\x0e\x00\x00\x00\x16Standard Linear 450 mm\x01\x00\x00\x00\x01\x00\x00\x00\x01\x01\xf1\xff\xff\xff\xf5\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb5Z\r\x00\xe8\x03\x00\x00ffffff\xb9?\x00\x00\x00\x00\x00\x00\x00\x00\x01\xf0\xff\xff\xff\xf8\xff\xff\xff\x01\x01\xef\xff\xff\xff\xf7\xff\xff\xff\x06\x12\x00\x00\x00\x16Standard Linear 075 mm\x03\x00\x00\x00\x02\x00\x00\x00\x00\x01\xed\xff\xff\xff\xf5\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb5Z\r\x00\xe8\x03\x00\x00ffffff\xb9?\x00\x00\x00\x00\x00\x00\x00\x00\x05\xec\xff\xff\xff-XGLabHWLib.XGLabHWControl+CalibrationSettings\t\x00\x00\x00\x0ecalib_p1_count\x0fcalib_p1_energy\x0ecalib_p2_count\x0fcalib_p2_energy\x0ccalib_counts\x0ecalib_energies\x0ecalib_channels\ncalib_mode\x0ecalib_equation\x00\x00\x00\x00\x07\x07\x00\x00\x00\x0b\x0b\x0b\x0b\x0b\x0b\x08\x08\x08\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x15\x00\x00\x00\t\x16\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xe9\xff\xff\xff\xec\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x18\x00\x00\x00\t\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\xe6\xff\xff\xff*XGLabHWLib.XGLabHWControl+ControlsSettings\x05\x00\x00\x00"limit_factor_single_spectra_enable\x1blimit_factor_mapping_enable\x12limit_factor_alert\x0climit_factor\x12tube_buzzer_enable\x00\x00\x00\x00\x00\x01\x01\x08\x06\x01\x02\x00\x00\x00\x00\x00\x02\x00\x00\x00333333\xc3?\x00-\x00\x00\x00\x0f\x15\x00\x00\x00\x02\x00\x00\x00\x0b\x00\xc0@D\x00\x00\xf4D\x0f\x16\x00\x00\x00\x02\x00\x00\x00\x0bj\xbc\x00A\xd3M\xb1A\x0f\x18\x00\x00\x00\x02\x00\x00\x00\x0b\x00\x00zC\x00\x00\x0cD\x0f\x19\x00\x00\x00\x02\x00\x00\x00\x0b\x00\x80\x8cC\x00\xe0\x87D\x0b''
--------------------------------------------------------------------------------
[3] /CreatedDateTime:
+ATTRIBUTES: (none)
+SHAPE: (50,) DTYPE: '|S1'
+VALUES:
'10/15/2021 14:20:02'
--------------------------------------------------------------------------------
[4] /CreatedWithSoftwareVersion:
+ATTRIBUTES: (none)
+SHAPE: (50,) DTYPE: '|S1'
+VALUES:
'CRONO 1.2.4.54'
--------------------------------------------------------------------------------
[5] /FileStructureVersion:
+ATTRIBUTES: (none)
+SHAPE: (2,) DTYPE: 'int32'
+VALUES:
'array([1, 6], dtype=int32)'
--------------------------------------------------------------------------------
[6] /Images/Documentation:
+ATTRIBUTES: (none)
+SHAPE: (1,) DTYPE: 'object' SUBSHAPES: [(0,)] SUB_DTYPE: '|V1'
+VALUES:
'b'''
--------------------------------------------------------------------------------
[7] /Images/ImageAdjusting/ImagePixelSizeRatio:
+ATTRIBUTES: (none)
+SHAPE: (1, 2) DTYPE: 'float32'
+VALUES:
'array([[11.085714, 11.085714]], dtype=float32)'
--------------------------------------------------------------------------------
[8] /Images/Static:
+ATTRIBUTES: (none)
+SHAPE: (13358,) DTYPE: 'object' SUBSHAPES: [(0,), (2565,), (2572,), (2525,), '....'] SUB_DTYPE: '|V1'
+VALUES:
'b'''
--------------------------------------------------------------------------------
[9] /Images/StitchedImage:
+ATTRIBUTES: (none)
+SHAPE: (1,) DTYPE: 'object' SUBSHAPES: [(0,)] SUB_DTYPE: '|V1'
+VALUES:
'b'''
--------------------------------------------------------------------------------
[10] /Images/VideoStreams:
+ATTRIBUTES: (none)
+SHAPE: (1,) DTYPE: 'object' SUBSHAPES: [(0,)] SUB_DTYPE: '|V1'
+VALUES:
'b'''
--------------------------------------------------------------------------------
[11] /XRF/CalibrationPoints:
+ATTRIBUTES:
- CalibrationBins: 4096
- CalibrationEquation: 0
+SHAPE: (2, 2) DTYPE: 'float32'
+VALUES:
'array([[ 771. , 8.046],
[1952. , 22.163]], dtype=float32)'
--------------------------------------------------------------------------------
[12] /XRF/DPPStartTimestamp:
+ATTRIBUTES: (none)
+SHAPE: (4284,) DTYPE: 'uint64'
+VALUES:
'array([125903380430, 125903380430, 125903380430, ..., 125903380430,
125903380430, 125903380430], dtype=uint64)'
--------------------------------------------------------------------------------
[13] /XRF/Detected:
+ATTRIBUTES: (none)
+SHAPE: (4284,) DTYPE: 'uint32'
+VALUES:
'array([515, 578, 567, ..., 635, 603, 622], dtype=uint32)'
--------------------------------------------------------------------------------
[14] /XRF/EnergyVector:
+ATTRIBUTES: (none)
+SHAPE: (4096,) DTYPE: 'float32'
+VALUES:
'array([-1.1700948, -1.1581414, -1.146188 , ..., 47.755295 , 47.767246 ,
47.7792 ], dtype=float32)'
--------------------------------------------------------------------------------
[15] /XRF/LiveTimes:
+ATTRIBUTES: (none)
+SHAPE: (4284,) DTYPE: 'uint64'
+VALUES:
'array([59436, 59356, 59368, ..., 59300, 59336, 59316], dtype=uint64)'
--------------------------------------------------------------------------------
[16] /XRF/Maps/ComputedMaps:
+ATTRIBUTES: (none)
+SHAPE: (85, 37, 27) DTYPE: 'float64'
+VALUES:
'array([[[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
...,
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan]],
[[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
...,
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan]],
[[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
...,
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan]],
...,
[[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
...,
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan]],
[[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
...,
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan]],
[[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
...,
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan]]])'
--------------------------------------------------------------------------------
[17] /XRF/MotorsPositions:
+ATTRIBUTES: (none)
+SHAPE: (4284, 3) DTYPE: 'uint32'
+VALUES:
'array([[132252, 111816, 46018],
[132252, 111816, 46018],
[132273, 111816, 46018],
...,
[169155, 153817, 46018],
[169832, 153817, 46018],
[170151, 153817, 46018]], dtype=uint32)'
--------------------------------------------------------------------------------
[18] /XRF/MotorsPositionsStats:
+ATTRIBUTES: (none)
+SHAPE: (4284,) DTYPE: 'uint8'
+VALUES:
'array([1, 1, 1, ..., 1, 1, 1], dtype=uint8)'
--------------------------------------------------------------------------------
[19] /XRF/MotorsTimestamps:
+ATTRIBUTES: (none)
+SHAPE: (4284, 3) DTYPE: 'uint64'
+VALUES:
'array([[ 8479, 11082, 13794],
[ 8479, 11082, 13794],
[ 8480, 11079, 13791],
...,
[ 8597, 11195, 13809],
[ 8594, 11195, 13809],
[ 8596, 11199, 13810]], dtype=uint64)'
--------------------------------------------------------------------------------
[20] /XRF/OutputCountRates:
+ATTRIBUTES: (none)
+SHAPE: (4284,) DTYPE: 'float64'
+VALUES:
'array([ 9.38333333, 10.31666667, 10.15 , ..., 11.25 ,
10.76666667, 11.11666667])'
--------------------------------------------------------------------------------
[21] /XRF/ROIs/ROIsEnergies:
+ATTRIBUTES: (none)
+SHAPE: (27, 2) DTYPE: 'float64'
+VALUES:
'array([[ 1.6389612 , 1.88998318],
[ 2.18881893, 2.39202714],
[ 3.51564956, 3.85034561],
[ 4.29262257, 4.65122557],
[ 5.05764198, 5.30866432],
[ 5.30866432, 5.61945343],
[ 5.69117403, 6.04977655],
[ 6.16931105, 6.611588 ],
[ 6.77893591, 7.24511957],
[ 7.54920769, 7.54920769],
[ 8.36874199, 8.87078571],
[10.35301113, 10.81919479],
[12.4209547 , 12.86323166],
[13.90318012, 14.45303822],
[18.20641518, 19.48980331],
[ 3.1809535 , 3.4678359 ],
[11.7412138 , 12.09821224],
[ 9.80000019, 10.10000038],
[11.01045036, 11.46468067],
[22.85629845, 23.54959869],
[16.92739868, 17.57288361],
[14.58452606, 14.95508194],
[19.83208084, 20.5731945 ],
[ 1.86607635, 2.12905169],
[ 7.31684017, 7.65153646],
[ 8.9664135 , 9.43259716],
[24.81232262, 25.71306229]])'
--------------------------------------------------------------------------------
[22] /XRF/ROIs/ROIsNames:
+ATTRIBUTES: (none)
+SHAPE: (27,) DTYPE: 'object' SUBSHAPES: [(4,), (3,), (4,), (8,), '....'] SUB_DTYPE: '|S1'
+VALUES:
'SiKa
SKa
CaKa
TiKaBaLa
BaLg
CrKaBaLl
MnKa
FeKa
FeKbCoKa
CuKa
ZnKa
PbLa
PbLb
SrKa
Compton
KKa
AsKb
HgLa
SeKa
CdKa
New ROI (1)
New ROI (2)
RhKa
PKa
NiKa
New ROI (3)
SnKa'
--------------------------------------------------------------------------------
[23] /XRF/ROIs/ROIsObjects:
+ATTRIBUTES: (none)
+SHAPE: (27,) DTYPE: 'object' SUBSHAPES: [(2138,), (2136,), (2138,), (2142,), '....'] SUB_DTYPE: '|V1'
+VALUES:
'b'\x00\x01\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\x0c\x02\x00\x00\x00GXGLabMappingLib, Version=1.2.4.45, Culture=neutral, PublicKeyToken=null\x05\x01\x00\x00\x00$XGLabMappingLib.ObservableROIWrapper\x01\x00\x00\x00\x04_roi\x04\x13XGLabMappingLib.ROI\x02\x00\x00\x00\x02\x00\x00\x00\t\x03\x00\x00\x00\x05\x03\x00\x00\x00\x13XGLabMappingLib.ROI\x08\x00\x00\x00\x15<name>k__BackingField\x18<element>k__BackingField\x1b<definition>k__BackingField\x15<type>k__BackingField\x16<start>k__BackingField\x14<end>k__BackingField\x18<palette>k__BackingField\x19<editable>k__BackingField\x01\x01\x04\x04\x00\x00\x04\x00\x1dXGLabMappingLib.ROIDefinition\x02\x00\x00\x00\x1fXGLabMappingLib.ROIAnalysisType\x02\x00\x00\x00\x05\x05\x17XGLabMappingLib.Palette\x02\x00\x00\x00\x01\x02\x00\x00\x00\x06\x04\x00\x00\x00\x04SiKa\x06\x05\x00\x00\x00\x00\x05\xfa\xff\xff\xff\x1dXGLabMappingLib.ROIDefinition\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x00\x00\x00\x00\x05\xf9\xff\xff\xff\x1fXGLabMappingLib.ROIAnalysisType\x01\x00\x00\x00\x07value__\x00\x08\x02\x00\x00\x00\x02\x00\x00\x00\x101.63896119594574\x101.88998317718506\t\x08\x00\x00\x00\x01\x05\x08\x00\x00\x00\x17XGLabMappingLib.Palette\x03\x00\x00\x00\x0b_colorSteps\x1b<autoMaxMin>k__BackingField\x17<smooth>k__BackingField\x04\x00\x00\x1cXGLabMappingLib.PaletteSteps\x02\x00\x00\x00\x01\x01\x02\x00\x00\x00\t\t\x00\x00\x00\x01\x01\x05\t\x00\x00\x00\x1cXGLabMappingLib.PaletteSteps\x01\x00\x00\x00\x06_steps\x03\x89\x01System.Collections.Generic.List`1[[XGLabMappingLib.PaletteStep, XGLabMappingLib, Version=1.2.4.45, Culture=neutral, PublicKeyToken=null]]\x02\x00\x00\x00\t\n\x00\x00\x00\x04\n\x00\x00\x00\x89\x01System.Collections.Generic.List`1[[XGLabMappingLib.PaletteStep, XGLabMappingLib, Version=1.2.4.45, Culture=neutral, PublicKeyToken=null]]\x03\x00\x00\x00\x06_items\x05_size\x08_version\x04\x00\x00\x1dXGLabMappingLib.PaletteStep[]\x02\x00\x00\x00\x08\x08\t\x0b\x00\x00\x00\t\x00\x00\x00\t\x00\x00\x00\x07\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x04\x1bXGLabMappingLib.PaletteStep\x02\x00\x00\x00\x0c\r\x00\x00\x00QSystem.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\x05\xf4\xff\xff\xff\x1bXGLabMappingLib.PaletteStep\x02\x00\x00\x00\x05value\x05color\x00\x04\x06\x14System.Drawing.Color\r\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\xf2\xff\xff\xff\x14System.Drawing.Color\x04\x00\x00\x00\x04name\x05value\nknownColor\x05state\x01\x00\x00\x00\t\x07\x07\r\x00\x00\x00\n@\x00@\xff\x00\x00\x00\x00\x00\x00\x02\x00\x01\xf1\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00@o@\x01\xf0\xff\xff\xff\xf2\xff\xff\xff\n\x80\x00\x80\xff\x00\x00\x00\x00\x00\x00\x02\x00\x01\xef\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00@\x7f@\x01\xee\xff\xff\xff\xf2\xff\xff\xff\n\xeeh{\xff\x00\x00\x00\x00\x00\x00\x02\x00\x01\xed\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00p\x87@\x01\xec\xff\xff\xff\xf2\xff\xff\xff\n\xed\x95d\xff\x00\x00\x00\x00\x00\x00\x02\x00\x01\xeb\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00@\x8f@\x01\xea\xff\xff\xff\xf2\xff\xff\xff\n2\xcd2\xff\x00\x00\x00\x00\x00\x00\x02\x00\x01\xe9\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00\x88\x93@\x01\xe8\xff\xff\xff\xf2\xff\xff\xff\n\x90\xee\x90\xff\x00\x00\x00\x00\x00\x00\x02\x00\x01\xe7\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00p\x97@\x01\xe6\xff\xff\xff\xf2\xff\xff\xff\n\x00\xff\xff\xff\x00\x00\x00\x00\x00\x00\x02\x00\x01\xe5\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00X\x9b@\x01\xe4\xff\xff\xff\xf2\xff\xff\xff\n\x00\xa5\xff\xff\x00\x00\x00\x00\x00\x00\x02\x00\x01\xe3\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00@\x9f@\x01\xe2\xff\xff\xff\xf2\xff\xff\xff\n\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x02\x00\x01\xe1\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\xe0\xff\xff\xff\xf2\xff\xff\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xdf\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\xde\xff\xff\xff\xf2\xff\xff\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xdd\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\xdc\xff\xff\xff\xf2\xff\xff\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xdb\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\xda\xff\xff\xff\xf2\xff\xff\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xd9\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\xd8\xff\xff\xff\xf2\xff\xff\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xd7\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\xd6\xff\xff\xff\xf2\xff\xff\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xd5\xff\xff\xff\xf4\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\xd4\xff\xff\xff\xf2\xff\xff\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b''
--------------------------------------------------------------------------------
[24] /XRF/RealTimes:
+ATTRIBUTES: (none)
+SHAPE: (4284,) DTYPE: 'uint64'
+VALUES:
'array([60000, 60000, 60000, ..., 60000, 60000, 60000], dtype=uint64)'
--------------------------------------------------------------------------------
[25] /XRF/ResetCounterValue:
+ATTRIBUTES: (none)
+SHAPE: (4284,) DTYPE: 'uint32'
+VALUES:
'array([ 9, 11, 11, ..., 11, 11, 11], dtype=uint32)'
--------------------------------------------------------------------------------
[26] /XRF/Spectra:
+ATTRIBUTES: (none)
+SHAPE: (4284, 4096) DTYPE: 'uint16'
+VALUES:
'array([[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]], dtype=uint16)'
--------------------------------------------------------------------------------
[27] /XRF/SpectraIDs:
+ATTRIBUTES: (none)
+SHAPE: (4284,) DTYPE: 'uint16'
+VALUES:
'array([20518, 20519, 20520, ..., 27568, 27569, 27570], dtype=uint16)'
--------------------------------------------------------------------------------
[28] /XRF/SpectraSelectedIndex:
+ATTRIBUTES: (none)
+SHAPE: (85, 37, 1) DTYPE: 'uint64'
+VALUES:
'array([[[ 4],
[ 5],
[ 6],
...,
[ 44],
[ 45],
[ 47]],
[[ 97],
[ 96],
[ 95],
...,
[ 56],
[ 55],
[ 54]],
[[ 104],
[ 106],
[ 107],
...,
[ 145],
[ 146],
[ 147]],
...,
[[4136],
[4138],
[4139],
...,
[4177],
[4178],
[4180]],
[[4230],
[4228],
[4227],
...,
[4189],
[4187],
[4186]],
[[4237],
[4239],
[4240],
...,
[4278],
[4279],
[4281]]], dtype=uint64)'
--------------------------------------------------------------------------------
[29] /XRF/Timestamps:
+ATTRIBUTES: (none)
+SHAPE: (4284,) DTYPE: 'uint64'
+VALUES:
'array([ 14880000, 14940000, 15000000, ..., 437880000, 437940000,
438000000], dtype=uint64)'
--------------------------------------------------------------------------------
[30] /XRF/XComputedMapsCoordinate:
+ATTRIBUTES: (none)
+SHAPE: (85, 37, 1) DTYPE: 'float64'
+VALUES:
'array([[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]],
[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]],
[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]],
...,
[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]],
[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]],
[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]]])'
--------------------------------------------------------------------------------
[31] /XRF/YComputedMapsCoordinate:
+ATTRIBUTES: (none)
+SHAPE: (85, 37, 1) DTYPE: 'float64'
+VALUES:
'array([[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]],
[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]],
[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]],
...,
[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]],
[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]],
[[nan],
[nan],
[nan],
...,
[nan],
[nan],
[nan]]])'
API
peek_inside
peek_inside (dataset, _print=True)
Summarize structure and content of a dataset
.
report
report (crono_filename)
Print info about structure and content of datasets in crono_filename
.
read_datasets
read_datasets (crono_filename)
Read all datasets in crono_filename
.