dxfile¶
Subclasses the h5py module for interacting with Data Exchange files.
Functions:
File |
|
Entry(**kwargs) |
Interact with Data Exchange files. |
-
dxfile.dxtomo.File¶
-
class
dxfile.dxtomo.Entry(**kwargs)[source]¶ Bases:
objectInteract with Data Exchange files.
-
_generate_classes(self)[source]¶ This method is used to turn the Entry._entry_definitions into generate_classes which can be instantitated for hold data.
-
class
acquisition(**kwargs)¶ Bases:
object-
docstring= 'Tomography specific tag to store dynamic (per image) parameters.'¶
-
end_date= {'units': 'text', 'docstring': 'Date and time measurement ends.', 'value': None}¶
-
entry_name= 'acquisition'¶
-
image_date= {'units': 'time', 'docstring': 'Vector containing the date/time each image was acquired in iso 8601.', 'value': None}¶
-
image_exposure_time= {'units': None, 'docstring': 'Vector containin for each image the the measured exposure time in 1e-7 seconds (0.1us)', 'value': None}¶
-
image_is_complete= {'units': None, 'docstring': 'Vector containin for each image the boolen status of: is any pixel data missing?', 'value': None}¶
-
image_number= {'units': None, 'docstring': 'Vector containin for each image the the image serial number as assigned by the camera. Unique for each individual scan. Always starts at 0.', 'value': None}¶
-
image_theta= {'units': 'degree', 'docstring': 'Vector containing the rotary stage angular position read from the encoder at each image.', 'value': None}¶
-
image_type= {'units': None, 'docstring': 'Vector containin for each image contained in /exchange/data 0 for white, 1 for projection and 2 for dark', 'value': None}¶
-
root= '/process'¶
-
sample_image_shift_x= {'units': 'pixels', 'docstring': 'Vector containing the shift of the sample axis x at each projection on the detector plane.', 'value': None}¶
-
sample_image_shift_y= {'units': 'pixels', 'docstring': 'Vector containing the shift of the sample axis y at each projection on the detector plane.', 'value': None}¶
-
sample_position_x= {'units': 'mm', 'docstring': 'Vector containing the position of the sample axis x at each projection image collection.', 'value': None}¶
-
sample_position_y= {'units': 'mm', 'docstring': 'Vector containing the position of the sample axis y at each projection image collection.', 'value': None}¶
-
sample_position_z= {'units': 'mm', 'docstring': 'Vector containing the position of the sample axis z at each projection image collection.', 'value': None}¶
-
scan_date= {'units': None, 'docstring': 'Vector containing for each image the wall date/time at start of scan in iso 8601.', 'value': None}¶
-
scan_index= {'units': None, 'docstring': 'Vector containin for each image the identifier assigned by beamline controls to each individual series of images or scan.', 'value': None}¶
-
shutter= {'units': None, 'docstring': 'Vector containin for each image the beamline shutter status: 0 for closed, 1 for open', 'value': None}¶
-
start_date= {'units': 'text', 'docstring': 'Date and time measurement starts.', 'value': None}¶
-
time_stamp= {'units': None, 'docstring': 'Vector containin for each image the relative time since scan_date in 1e-7 seconds.', 'value': None}¶
-
-
acquisition_setup¶ alias of
setup
-
class
attenuator(**kwargs)¶ Bases:
object-
description= {'units': 'text', 'docstring': 'Description or composition of attenuator.', 'value': None}¶
-
docstring= 'X-ray beam attenuator.'¶
-
entry_name= 'attenuator'¶
-
name= {'units': 'text', 'docstring': 'Name of the attenuator.', 'value': None}¶
-
root= '/measurement/instrument'¶
-
thickness= {'units': 'm', 'docstring': 'Thickness of attenuator along beam direction.', 'value': None}¶
-
transmission= {'units': 'None', 'docstring': 'The nominal amount of the beam that gets through (transmitted intensity)/(incident intensity)', 'value': None}¶
-
-
data¶
-
class
detector(**kwargs)¶ Bases:
object-
actual_pixel_size_x= {'units': 'm', 'docstring': 'Pixel size on the sample plane (m).', 'value': None}¶
-
actual_pixel_size_y= {'units': 'm', 'docstring': 'Pixel size on the sample plane (m).', 'value': None}¶
-
basis_vectors= {'units': 'fps', 'docstring': 'A matrix with the basis vectors of the detector data.', 'value': None}¶
-
binning_x= {'units': 'pixels', 'docstring': 'If the data are collected binning the detector x binning and y binning store the binning factor.', 'value': None}¶
-
binning_y= {'units': 'dimensionless', 'docstring': 'If the data are collected binning the detector x binning and y binning store the binning factor.', 'value': None}¶
-
bit_depth= {'units': 'dimensionless', 'docstring': 'The detector ADC bit depth.', 'value': None}¶
-
corner_position= {'units': 'fps', 'docstring': 'The x, y and z coordinates of the corner of the first data element.', 'value': None}¶
-
counts_per_joule= {'units': 'counts', 'docstring': 'Number of counts recorded per each joule of energy received by the detector', 'value': None}¶
-
delay_time= {'units': 's', 'docstring': 'Detector delay time (s). This is used in combination with a mechanical shutter.', 'value': None}¶
-
description= {'units': 'text', 'docstring': 'Description of the detector', 'value': None}¶
-
dimension_x= {'units': 'pixels', 'docstring': 'The detector horiz. dimension.', 'value': None}¶
-
dimension_y= {'units': 'text', 'docstring': 'The detector vertical dimension.', 'value': None}¶
-
docstring= 'X-ray detector.'¶
-
entry_name= 'detector'¶
-
exposure_time= {'units': 's', 'docstring': 'The set detector exposure time (s).', 'value': None}¶
-
firmware_version= {'units': 'text', 'docstring': 'The detector firmware version.', 'value': None}¶
-
frame_rate= {'units': 'fps', 'docstring': 'The detector frame rate (fps).', 'value': None}¶
-
manufacturer= {'units': 'text', 'docstring': 'The detector manufacturer.', 'value': None}¶
-
model= {'units': 'text', 'docstring': 'The detector model', 'value': None}¶
-
name= {'units': 'text', 'docstring': 'Name of the detector.', 'value': None}¶
-
operating_temperature= {'units': 'dimensionless', 'docstring': 'The detector operating temperature (K).', 'value': None}¶
-
output_data= {'units': 'text', 'docstring': 'String HDF5 path to the exchange group where the detector output data is located.', 'value': None}¶
-
pixel_size_x= {'units': 'm', 'docstring': 'Physical detector pixel size (m).', 'value': None}¶
-
pixel_size_y= {'units': 'm', 'docstring': 'Physical detector pixel size (m).', 'value': None}¶
-
root= '/measurement/instrument'¶
-
serial_number= {'units': 'text', 'docstring': 'The detector serial number.', 'value': None}¶
-
shutter_mode= {'units': 'text', 'docstring': 'The detector shutter mode: global, rolling etc.', 'value': None}¶
-
software_version= {'units': 'text', 'docstring': 'The detector software version.', 'value': None}¶
-
stabilization_time= {'units': 's', 'docstring': 'Detector delay time (s). This is used during stop and go data collection to allow the sample to stabilize.', 'value': None}¶
-
-
exchange¶
-
class
experiment(**kwargs)¶ Bases:
object-
activity= {'units': 'text', 'docstring': 'Proposal scheduler id. For the APS this is the beamline scheduler activity id.', 'value': None}¶
-
docstring= 'This provides references to facility ids for the proposal, scheduled activity, and safety form.'¶
-
entry_name= 'experiment'¶
-
proposal= {'units': 'text', 'docstring': 'Proposal reference number. For the APS this is the General User Proposal number.', 'value': None}¶
-
root= '/measurement/sample'¶
-
safety= {'units': 'text', 'docstring': 'Safety reference document. For the APS this is the Experiment Safety Approval Form number.', 'value': None}¶
-
title= {'units': 'text', 'docstring': 'Experiment title. For the APS this is the proposal title assigned by the user.', 'value': None}¶
-
-
class
experimenter(**kwargs)¶ Bases:
object-
address= {'units': 'text', 'docstring': 'User address.', 'value': None}¶
-
affiliation= {'units': 'text', 'docstring': 'User affiliation.', 'value': None}¶
-
docstring= 'Description of a single experimenter.'¶
-
email= {'units': 'text', 'docstring': 'User email address.', 'value': None}¶
-
entry_name= 'experimenter'¶
-
facility_user_id= {'units': 'text', 'docstring': 'User badge number.', 'value': None}¶
-
name= {'units': 'text', 'docstring': 'User name.', 'value': None}¶
-
phone= {'units': 'text', 'docstring': 'User phone number.', 'value': None}¶
-
role= {'units': 'text', 'docstring': 'User role.', 'value': None}¶
-
root= '/measurement/sample'¶
-
-
class
instrument(**kwargs)¶ Bases:
object-
comment= {'units': 'text', 'docstring': 'comment', 'value': None}¶
-
docstring= 'All relevant beamline components status at the beginning of a measurement'¶
-
entry_name= 'instrument'¶
-
name= {'units': 'text', 'docstring': 'Name of the instrument.', 'value': None}¶
-
root= '/measurement'¶
-
-
class
interferometer(**kwargs)¶ Bases:
object-
description= {'units': 'text', 'docstring': 'Description of the interferometer.', 'value': None}¶
-
docstring= 'interferometer name'¶
-
entry_name= 'interferometer'¶
-
name= {'units': 'text', 'docstring': 'Descriptive name of the interferometer.', 'value': None}¶
-
root= '/measurement/instrument/'¶
-
-
interferometer_setup¶ alias of
setup
-
class
mirror(**kwargs)¶ Bases:
object-
angle= {'units': 'rad', 'docstring': 'Mirror incident angle', 'value': None}¶
-
description= {'units': 'text', 'docstring': 'Description of the mirror', 'value': None}¶
-
docstring= 'X-ray beam mirror.'¶
-
entry_name= 'mirror'¶
-
name= {'units': 'text', 'docstring': 'Name of the mirror.', 'value': None}¶
-
root= '/measurement/instrument'¶
-
-
class
monochromator(**kwargs)¶ Bases:
object-
description= {'units': 'text', 'docstring': 'Description of the monochromator', 'value': None}¶
-
docstring= 'X-ray beam monochromator.'¶
-
energy= {'units': 'J', 'docstring': 'Peak of the spectrum that the monochromator selects. When units is not defined this field is in J', 'value': None}¶
-
energy_error= {'units': 'J', 'docstring': 'Standard deviation of the spectrum that the monochromator selects. When units is not defined this field is in J.', 'value': None}¶
-
entry_name= 'monochromator'¶
-
mono_stripe= {'units': 'text', 'docstring': 'Type of multilayer coating or crystal.', 'value': None}¶
-
name= {'units': 'text', 'docstring': 'Name of the monochromator.', 'value': None}¶
-
root= '/measurement/instrument'¶
-
-
class
objective(**kwargs)¶ Bases:
object-
description= {'units': 'text', 'docstring': 'Lens description', 'value': None}¶
-
docstring= 'microscope objective lenses used.'¶
-
entry_name= 'objective'¶
-
magnification= {'units': 'dimensionless', 'docstring': 'Lens specified magnification', 'value': None}¶
-
manufacturer= {'units': 'text', 'docstring': 'Lens manufacturer', 'value': None}¶
-
model= {'units': 'text', 'docstring': 'Lens model.', 'value': None}¶
-
name= {'units': 'text', 'docstring': 'Lens name', 'value': None}¶
-
numerical_aperture= {'units': 'dimensionless', 'docstring': 'The numerical aperture (N.A.) is a measure of the light-gathering characteristics of the lens.', 'value': None}¶
-
root= '/measurement/instrument/detection_system'¶
-
-
process¶
-
class
roi(**kwargs)¶ Bases:
object-
description= {'units': 'text', 'docstring': 'ROI description', 'value': None}¶
-
docstring= 'region of interest (ROI) of the image actually collected, if smaller than the full CCD.'¶
-
entry_name= 'roi'¶
-
min_x= {'units': 'pixels', 'docstring': 'Top left x pixel position', 'value': None}¶
-
min_y= {'units': 'pixels', 'docstring': 'Top left y pixel position', 'value': None}¶
-
name= {'units': 'text', 'docstring': 'ROI name', 'value': None}¶
-
root= '/measurement/instrument/detector'¶
-
size_x= {'units': 'pixels', 'docstring': 'Horizontal image size', 'value': None}¶
-
size_y= {'units': 'pixels', 'docstring': 'Vertical image size', 'value': None}¶
-
-
class
sample(**kwargs)¶ Bases:
object-
chemical_formula= {'units': 'text', 'docstring': 'Sample chemical formula using the CIF format.', 'value': None}¶
-
comment= {'units': 'text', 'docstring': 'comment', 'value': None}¶
-
concentration= {'units': 'kgm^-3', 'docstring': 'Mass/volume.', 'value': None}¶
-
description= {'units': 'text', 'docstring': 'Description of the sample.', 'value': None}¶
-
docstring= 'The sample measured.'¶
-
entry_name= 'sample'¶
-
environment= {'units': 'text', 'docstring': 'Sample environment.', 'value': None}¶
-
fatigue_cycle= {'units': None, 'docstring': 'Sample fatigue cycles.', 'value': None}¶
-
mass= {'units': 'kg', 'docstring': 'Mass of the sample.', 'value': None}¶
-
name= {'units': 'text', 'docstring': 'Descriptive name of the sample.', 'value': None}¶
-
preparation_date= {'units': 'text', 'docstring': 'Date and time the sample was prepared.', 'value': None}¶
-
pressure= {'units': 'kPa', 'docstring': 'Sample pressure.', 'value': None}¶
-
root= '/measurement'¶
-
temperature= {'units': 'kelvin', 'docstring': 'Sample temperature.', 'value': None}¶
-
temperature_set= {'units': 'kelvin', 'docstring': 'Sample temperature set point.', 'value': None}¶
-
thickness= {'units': 'm', 'docstring': 'Sample thickness.', 'value': None}¶
-
tray= {'units': 'text', 'docstring': 'Sample position in the sample changer/robot.', 'value': None}¶
-
-
sample_stack_setup¶ alias of
setup
-
class
scintillator(**kwargs)¶ Bases:
object-
description= {'units': 'text', 'docstring': 'Scintillator description', 'value': None}¶
-
docstring= 'scintillator used.'¶
-
entry_name= 'scintillator'¶
-
manufacturer= {'units': 'text', 'docstring': 'Scintillator Manufacturer.', 'value': None}¶
-
name= {'units': 'text', 'docstring': 'Scintillator name', 'value': None}¶
-
root= '/measurement/instrument/detection_system'¶
-
scintillating_thickness= {'units': 'm', 'docstring': 'Scintillator thickness.', 'value': None}¶
-
serial_number= {'units': 'text', 'docstring': 'Scintillator serial number.', 'value': None}¶
-
substrate_thickness= {'units': 'm', 'docstring': 'Scintillator substrate thickness.', 'value': None}¶
-
-
class
source(**kwargs)¶ Bases:
object-
beam_intensity_incident= {'units': 'phs^-1', 'docstring': 'Incident beam intensity in (photons per s).', 'value': None}¶
-
beam_intensity_transmitted= {'units': 'phs^-1', 'docstring': 'Transmitted beam intensity (photons per s).', 'value': None}¶
-
beamline= {'units': 'text', 'docstring': 'Name of the beamline.', 'value': None}¶
-
current= {'units': 'A', 'docstring': 'Electron beam current (A).', 'value': None}¶
-
datetime= {'units': 'text', 'docstring': 'Date and time source was measured.', 'value': None}¶
-
docstring= 'The light source being used'¶
-
energy= {'units': 'J', 'docstring': 'Characteristic photon energy of the source (J). For an APS bending magnet this is 30 keV or 4.807e-15 J.', 'value': None}¶
-
entry_name= 'source'¶
-
mode= {'units': 'text', 'docstring': 'top-up', 'value': None}¶
-
name= {'units': 'text', 'docstring': 'Name of the facility.', 'value': None}¶
-
pulse_energy= {'units': 'J', 'docstring': 'Sum of the energy of all the photons in the pulse (J).', 'value': None}¶
-
pulse_width= {'units': 's', 'docstring': 'Duration of the pulse (s).', 'value': None}¶
-
root= '/measurement/instrument'¶
-
-