The Bsoft command lineThe prototype command line for a Bsoft program is:
Unix command lineBsoft programs are designed to conform to Unix-style command lines, starting with the program name, followed by any number of options to set parameters, and ending with data file names, e.g., to truncate the data in an image between the values 0 and 100 and with verbose output:
bimg -verbose 7 -truncate 0,100 input.img output.img
Note that all data files are recognized by their extensions.
Option tags are words aiming at describing the action or
to be set. The user can truncate these tags as long as they remain
unique within the context of a program. E.g., "-v 7" will set the
verbosity level to 7 in most programs, as long as no other tag for
those programs begin with a "v". There must be a space between the
option tag and the value.
Data file recognitionData file formats are recognized by the file extension following the last period (".") in the file name. A file can be read using a particular format by specifying this format's extension after a colon (":"), e.g.:
bimg -verbose 7 file.img:mrc file.img:tif
Brun: Command line construction aidBrun is a Tcl/Tk script which presents the options and data I/O of a program in a graphical user interface for ease of command line construction. Here is a quick example to show the header parameters in an image file:
- To start the script, type "brun".
- Click the "Program" button, select the program "/usr/local/bsoft/bin/bhead".
- Click the top "Browse" button and select an image file.
- Click the check box next to "input.img". This adds the file name to the command line.
- Click the check box next to "-verbose" to insert this option with its current value into the command line.
- Click the "Execute" button, which should result in an output of the image header parameters in the C-shell window.
On MacOSX there is a little wrapper script that needs to be run called "brunX".
Bshow is a Tcl/Tk script tightly interfaced with the Bsoft library to be able to display images and do many interactive processing tasks. The main documentation is here.
Many processing tasks can be broken up into subtasks and executed on different processors or on one processor at different times to avoid exceeding memory limitations.