1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
[GENERAL_SECTION]
# general information.
# input file if not provided must be provided from the command line
input_file =
# output file name. if not provided will use the input file basename and the file extension
output_file =
# overwrite output files if exists without asking
overwrite = False
# file extension. ignored if the output file is provided and contains an extension
file_extension = .nx
# log level. valid levels are "debug", "info", "warning" and "error"
log_level = warning
# raise an error when met one. otherwise continue and display an error log
raises_error = False
# ask or not the user for any inputs (if missing information)
no_input = False
# if true then will create a single file for all found sequences. if false create one nexus file per sequence and one master file with links to each sequence
single_file = False
# acquisition type. if not provided will try to guess it. valid values are "standard", "xrd-ct" and "" if undetermined
format = standard
# force output to be a `full` or a `half` acquisition. if not provided we parse raw data to try to find this information.
field_of_view =
[KEYS_SECTION]
# identify specific path and datasets names to retrieve information from the bliss file.
# nxtomomill will try to deduce cameras from dataset metadata and shape if none provided (default).if provided take the one requested. unix shell-style wildcards are managed
valid_camera_names =
# list of key to look for in order to find rotation angle
rotation_angle_keys = ('rotm', 'mhsrot', 'hsrot', 'mrsrot', 'hrsrot', 'srot', 'srot_eh2', 'diffrz', 'hrrz_trig', 'rot')
# list of keys / paths to look for in order to find translation in x
x_translation_keys = ('sx', 'd3tx', 'tfx', 'px')
# list of keys / paths to look for in order to find translation in y
y_translation_keys = ('sy', 'd3ty', 'hry', 'py')
# list of /paths keys to look for in order to find translation in z
z_translation_keys = ('sz', 'd3tz', 'hrz', 'pz', 'mrsz')
# key used to deduce the estimated center of rotation for half acquisition
y_rot_keys = instrument/positioners/yrot
# list of keys to look for diode (if any)
diode_keys = ('fpico3',)
# list of keys to look for the exposure time
exposure_time_keys = ('acq_expo_time',)
# list of keys / paths to look for the x pixel size
x_pixel_keys = ('technique/optic/sample_pixel_size ', 'technique/optic/sample_pixel_size', 'technique/detector/pixel_size', 'hry_step_size')
# list of keys / paths to look for the y pixel size
y_pixel_keys = ('technique/optic/sample_pixel_size ', 'technique/optic/sample_pixel_size', 'technique/detector/pixel_size', 'hry_step_size')
# list of keys / paths to look for sample to detector distance
sample_detector_distance = ('technique/scan/sample_detector_distance',)
[ENTRIES_AND_TITLES_SECTION]
# optional section
# define titles meaning. titles allows frame type deduction for each group.
# list of root entries (sequence initialization) to convert. if not provided will convert all root entries
entries =
# list of sub entries (non-root) to ignore
sub_entries_to_ignore =
# list of title to consider the group/entry as a initialization (sequence start). ignored if dark_groups, flat_groups, projection_groups ... are provided.
init_titles = ('tomo:basic', 'tomo:fullturn', 'sequence_of_scans', 'tomo:halfturn', 'tomo:multiturn')
# list of title to consider the group/entry as a zserie initialization (sequence start). ignored if dark_groups, flat_groups, projection_groups ... are provided.
zserie_init_titles = ('tomo:zseries',)
# list of title to consider the group/entry as a dark. ignored if dark_groups, flat_groups, projection_groups ... are provided.
dark_titles = ('dark images', 'dark')
# list of title to consider the group/entry as a reference / flat. ignored if dark_groups, flat_groups, projection_groups ... are provided.
flat_titles = ('flat', 'reference images', 'ref', 'refend')
# list of title to consider the group/entry as a projection. ignored if dark_groups, flat_groups, projection_groups ... are provided.
proj_titles = ('projections', 'ascan rot 0 ', 'ascan diffrz 0 180 1600 0.1')
# list of title to consider the group/entry as an alignment. ignored if dark_groups, flat_groups, projection_groups ... are provided.
alignment_titles = ('static images', 'ascan diffrz 180 0 4 0.1')
[FRAME_TYPE_SECTION]
# optional section
# allows to define scan to be used for nxtomo conversion
# the sequence order will follow the order provided.
# list of scans to be converted. frame type should be provided for each scan.
# expected format is:
# data_scans = (
# (frame_type=projections, entry=silx:///path/to/file?/path/to/scan/node, copy=true),
# (frame_type=projections, entry=/path_relative_to_file),
# )
# * `frame_type` (mandatory): values can be `projection`, `flat`, `dark`, `alignment` or `init`.
# * `entry` (mandatory): dataurl with path to the scan to integrate. if the scan is contained in the input_file then you can only provide path/name of the scan.
# * copy (optional): you can provide a different behavior for the this scan (should we duplicate data or not)
# more details are available here: todo: provide link
data_scans =
# you can duplicate data inside the input file or create a link to the original frames. in this case you should keep the relative position of the files
default_data_copy = False
[PCOTOMO_SECTION]
# pcotomo specific section
# if provided then acquisition parameters `nb_loop` and `nb_tomo` will be ignored. instead `tomo_n` nxtomo will be created from pcotomo. all angles before `start_angle_offset_in_degree` will be ignored
start_angle_offset_in_degree = None
# if 'start_angle_offset_in_degree' provided then specify the number of nxtomo to create. if -1 provided then will create as much nxtomo as possible
tomo_n = -1
# angle interval - range to create if 'start_angle_offset_in_degree' is provided. 180 or 360 is expected
angle_interval_in_degree = 360
# shift all angle nxtomo angle to `angle_interval_in_degree` interval by shifting them of start_angle_offset_in_degree + angle_interval_in_degree
shift_angles = False
[EXTRA_PARAMS_SECTION]
# optional section
# you can predefined values which are missing in the input .h5 file
# handled parameters are ('energy_kev', 'x_pixel_size_m', 'y_pixel_size_m', 'detector_sample_distance_m')
|