2cbf: Difference between revisions
m (add hint to the fact that .h5 files can be read without LIB=) |
m (another fix) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
#!/bin/bash | #!/bin/bash | ||
for j in $(seq 1 120); do | for j in $(seq 1 120); do | ||
echo Data_02_$(printf "%04d" "$j").sfrm | echo Data_02_$(printf "%04d" "$j").sfrm Data_02_$(printf "%04d" "$j").cbf | 2cbf | ||
done | done | ||
</pre> | </pre> | ||
Line 17: | Line 17: | ||
echo collect_01_000001.h5 collect_1.cbf LIB=/usr/local/lib64/dectris-neggia.so | 2cbf | echo collect_01_000001.h5 collect_1.cbf LIB=/usr/local/lib64/dectris-neggia.so | 2cbf | ||
It should work without LIB=, but then H5ToXds is required. | It should work without LIB=, but then H5ToXds is required. | ||
To convert a full data set, use e.g.: | |||
#!/bin/bash | |||
for j in $(seq 1 100); do | |||
echo x1_1_$(printf "%06d" "$j").h5 x1_1_$(printf "%04d" "$j").cbf LIB=/usr/local/bin/linux_bin/dectris-neggia.so | 2cbf | |||
done | |||
or just use GlobalPhasing's hdf2mini-cbf : | |||
hdf2mini-cbf x1_1_master.h5 -linkrange 1 100 | |||
which seems to convert batches of 100 frames - don't know how to restrict it to convert only frames 1 to 100. The advantage of hdf2mini-cbf is that it writes a proper mini-CBF header which is suitable for MOSFLM or DIALS. |
Latest revision as of 21:13, 12 June 2022
2cbf is part of the XDS distribution. It converts any image file format that is known to XDS to a miniCBF file. This program is also used by XDSGUI.
Single-line example (bash shell):
for i in ../images/*img ; do echo $i; echo $i `basename $i`.cbf | 2cbf ; done
This converts all .img files in ../images to miniCBF files with the extension .img.cbf in the current directory.
To have control over the number of digits encoding the frame number, one can use bash's printf command. Example:
#!/bin/bash for j in $(seq 1 120); do echo Data_02_$(printf "%04d" "$j").sfrm Data_02_$(printf "%04d" "$j").cbf | 2cbf done
To convert frames stored in Dectris-format .h5 files, one should replace "master" with a 6-digit framenumber, and use the LIB= keyword:
echo collect_01_000001.h5 collect_1.cbf LIB=/usr/local/lib64/dectris-neggia.so | 2cbf
It should work without LIB=, but then H5ToXds is required.
To convert a full data set, use e.g.:
#!/bin/bash for j in $(seq 1 100); do echo x1_1_$(printf "%06d" "$j").h5 x1_1_$(printf "%04d" "$j").cbf LIB=/usr/local/bin/linux_bin/dectris-neggia.so | 2cbf done
or just use GlobalPhasing's hdf2mini-cbf :
hdf2mini-cbf x1_1_master.h5 -linkrange 1 100
which seems to convert batches of 100 frames - don't know how to restrict it to convert only frames 1 to 100. The advantage of hdf2mini-cbf is that it writes a proper mini-CBF header which is suitable for MOSFLM or DIALS.