silx convert#
Purpose#
The silx convert command is provided to help with archiving legacy file formats into HDF5 files.
You can refer to following tutorials for additional information about the output format:
Usage#
silx convert [-h] [--file-pattern FILE_PATTERN] [-o OUTPUT_URI]
[-m MODE] [--begin BEGIN] [--end END] [--add-root-group]
[--overwrite-data] [--min-size MIN_SIZE]
[--chunks [CHUNKS]] [--compression [COMPRESSION]]
[--compression-opts COMPRESSION_OPTS] [--shuffle]
[--fletcher32] [--debug]
[input_files [input_files ...]]
Options#
input_files Input files (EDF, TIFF, SPEC...). When specifying
multiple files, you cannot specify both fabio images
and SPEC files. Multiple SPEC files will simply be
concatenated, with one entry per scan. Multiple image
files will be merged into a single entry with a stack
of images.
-h, --help show this help message and exit
--file-pattern FILE_PATTERN
File name pattern for loading a series of indexed
image files (toto_%04d.edf). This argument is
incompatible with argument input_files. If an output
URI with a HDF5 path is provided, only the content of
the NXdetector group will be copied there. If no HDF5
path, or just "/", is given, a complete NXdata
structure will be created.
-o OUTPUT_URI, --output-uri OUTPUT_URI
Output file name (HDF5). An URI can be provided to
write the data into a specific group in the output
file: /path/to/file::/path/to/group. If not provided,
the filename defaults to a timestamp: YYYYmmdd-
HHMMSS.h5
-m MODE, --mode MODE Write mode: "r+" (read/write, file must exist), "w"
(write, existing file is lost), "w-" (write, fail if
file exists) or "a" (read/write if exists, create
otherwise)
--begin BEGIN First file index, or first file indices to be
considered. This argument only makes sense when used
together with --file-pattern. Provide as many start
indices as there are indices in the file pattern, separated
by commas. Examples: "--filepattern toto_%d.edf
--begin 100", "--filepattern toto_%d_%04d_%02d.edf
--begin 100,2000,5".
--end END Last file index, or last file indices to be
considered. The same rules as with argument --begin
apply. Example: "--filepattern toto_%d_%d.edf --end
199,1999"
--add-root-group This option causes each input file to be written to a
specific root group with the same name as the file.
When merging multiple input files, this can help
preventing conflicts when datasets have the same name
(see --overwrite-data). This option is ignored when
using --file-pattern.
--overwrite-data If the output path exists and an input dataset has the
same name as an existing output dataset, overwrite the
output dataset (in modes "r+" or "a").
--min-size MIN_SIZE Minimum number of elements required to be in a dataset
to apply compression or chunking (default 500).
--chunks <CHUNKS> Chunk shape. Provide an argument that evaluates as a
python tuple (e.g. "(1024, 768)"). If this option is
provided without specifying an argument, the h5py
library will guess a chunk for you. Note that if you
specify an explicit chunking shape, it will be applied
identically to all datasets with a large enough size
(see --min-size).
--compression <COMPRESSION>
Compression filter. By default, the datasets in the
output file are not compressed. If this option is
specified without argument, the GZIP compression is
used. Additional compression filters may be available,
depending on your HDF5 installation.
--compression-opts COMPRESSION_OPTS
Compression options. For "gzip", this may be an
integer from 0 to 9, with a default of 4. This is only
supported for GZIP.
--shuffle Enables the byte shuffle filter. This may improve the
compression ratio for block oriented compressors like
GZIP or LZF.
--fletcher32 Adds a checksum to each chunk to detect data
corruption.
--debug Set logging system in debug mode
Examples of usage#
Simple single file conversion to new output file:
silx convert 31oct98.dat -o 31oct98.h5
Concatenation of all SPEC files in the current directory:
silx convert *.dat -o all_SPEC.h5
Appending a file to an existing output file:
silx convert ch09__mca_0005_0000_0008.edf -o archive.h5::/ch09__mca_0005_0000_0008 -m a --compression
Merging a list of single frame EDF files into a multiframe HDF5 file:
silx convert --file-pattern ch09__mca_0005_0000_%d.edf -o ch09__mca_0005_0000_multiframe.h5