2cbf

Revision as of 12:42, 2 April 2020 by Kay (talk | contribs) (improve example)

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.

For 2cbf to work with the LIB= option, it is mandatory to have a filename like test_123456.xy, i.e. with a 6-digit number and a 2-letter extension. If you want to use LIB= and your filenames do not follow this pattern, just symlink them, and construct the symlinks accordingly: e.g.

#!/bin/bash
# purpose: create symlinks for xds_par
# usage: mklinks

for j in $(seq 1 120); do
  ln -sfn Data_02_$(printf "%04d" "$j").sfrm Data_02_$(printf "%06d" "$j").sf
done

echo ready

If you don't do this, you'll get an error message like

forrtl: severe (59): list-directed I/O syntax error, unit -5, file Internal List-Directed Read
Image              PC                Routine            Line        Source             
2cbf               000000000041DCDC  Unknown               Unknown  Unknown
2cbf               00000000004476AA  Unknown               Unknown  Unknown
2cbf               0000000000445C2B  Unknown               Unknown  Unknown
2cbf               00000000004059B8  getfrm_                  1713  MAIN_2CBF.f90
2cbf               0000000000404C6A  MAIN__                     58  MAIN_2CBF.f90
2cbf               0000000000402ADE  Unknown               Unknown  Unknown
libc-2.17.so       00007FB47339BB35  __libc_start_main     Unknown  Unknown
2cbf               00000000004029E9  Unknown               Unknown  Unknown