nxtomomill.converter.hdf5.acquisition.zseriesacquisition.ZSeriesBaseAcquisition#
- class nxtomomill.converter.hdf5.acquisition.zseriesacquisition.ZSeriesBaseAcquisition(*args, **kwargs)[source]#
Bases:
BaseAcquisitionA ‘z series acquisition’ is considered as a series of _StandardAcquisition. Registered scan can be split according to translation_z value.
At the moment there is three version of z-series:
- version 1: each z is part of the same sequence. bliss .h5 will look like:
1.1 tomo:zserie -> define the beginning of the sequence
2.1 reference images1 (flats) -> start of the first z level
3.1 projections 1 -7000 (flats)
4.1 static images (alignment / return projections)
5.1 reference images1 (flats)
6.1 dark images
7.1 reference images1 (flats) -> start of the second z level. using get_z to know the different levels
8.1 projections 1 -7000 (flats)
…
in this case an instance of ZSeriesBaseAcquisition will create N NXtomo (one nxtomo per sequence)
- version 2: each z is part of a new sequence. So each sequence will instantiate ZSeriesBaseAcquisition and each with a single z.
1.1 tomo:zserie -> define the beginning of the sequence
2.1 reference images1 (flats) -> start of the first z level
3.1 projections 1 -7000 (flats)
4.1 static images (alignment / return projections)
5.1 reference images1 (flats)
6.1 dark images
7.1 tomo:zserie -> define the beginning of the sequence
8.1 reference images1 (flats) -> start of the second z level. using get_z to know the different levels
9.1 projections 1 -7000 (flats)
…
in this case an instance of ZSeriesBaseAcquisition will create one NXtomo (one NXtomo per sequence)
#. version 3: same as version 2 but dark / flat can only be done in a at the beginning or at the end of the series. And we want to copy those. To keep compatibility and design this part is done in post-processing.
in this case an instance of ZSeriesBaseAcquisition will also create one NXtomo (one NXtomo per sequence)
The goal of this class is mostly to handle the version 1. For version 2 and 3 it will be instantiated but _acquisition will contain a single acquisition. But to manipulate the series in the case of version 2 and especially version 3 the converter will group them inside _z_series_v2_v3
Methods
__init__(*args, **kwargs)Return axis display for the detector data to be used by silx view
get_dark_flat_pos_info()- rtype:
tuple
get_detector_roi()Return the expected number of nxtomo created for this acquisition.
Return the tuple of all
StandardAcquisitioncomposing _acquisitionsget_translation_z_frm(root_node, n_frame, ...)- rtype:
Quantity
get_z(entry)is_different_sequence(entry)Can we have several entries 1.1, 1.2, 1.3.
is_part_of_same_series(other)- rtype:
bool
read_entry()register_step(url, entry_type[, copy_frames])Add a bliss entry to the acquisition :type url:
DataUrl:param url: :param entry_type:to_NXtomos(request_input, input_callback[, ...])- rtype:
tuple
write_as_nxtomo(shift_entry, ...[, ...])This function will dump the acquisition to disk as an NXtomo
Attributes
TITLE_PATHSconfigurationShould we raise an error if we encounter or an issue or should we just log an error message
root_urlstart_index- rtype:
int
- get_axis_scale_types()#
Return axis display for the detector data to be used by silx view
- get_expected_nx_tomo()[source]#
Return the expected number of nxtomo created for this acquisition. This is required to get consistent entry and file name. At lest for automation
- get_standard_sub_acquisitions()[source]#
Return the tuple of all
StandardAcquisitioncomposing _acquisitions- Return type:
tuple
- is_different_sequence(entry)#
Can we have several entries 1.1, 1.2, 1.3… to consider.
- property raise_error_if_issue#
Should we raise an error if we encounter or an issue or should we just log an error message
- register_step(url, entry_type, copy_frames=False)[source]#
Add a bliss entry to the acquisition :type url:
DataUrl:param url: :param entry_type:- Return type:
None
- write_as_nxtomo(shift_entry, input_file_path, request_input, divide_into_sub_files, input_callback=None)#
This function will dump the acquisition to disk as an NXtomo
- Parameters:
shift_entry (
int) – index of the entry to start saving new nxtomos.input_file_path (
str) – output file pathrequest_input (
bool) – if True the conversion can ask user some missing metadatadivide_into_sub_files (
bool) – if True then create one file per NXtomoinput_callback – function to call for users to provide missing metadata
- Return type:
tuple