Camino technical documentation
On this page... (hide)
This is the main page for general information about using Camino. For pipeline examples with real data, see the tutorials.
1. I/O in Camino
Main page: Data I/O
Covers data import and general I/O capabilities for image and raw data. For specific information on the contents of Camino data files, see below.
2. File formats
Main page: Camino file formats
The file formats are documented in the man page of the various programs. Generally, output is raw binary, voxel-ordered data, without headers or file name dependence, to facilitate streaming and parallelization. Some support for NIfTI image I/O is provided transparently, but specific converter programs provide more options.
Scheme files have their own page, see below.
3. Scheme files
Main page: Camino scheme files
Scheme files are text files containing details of the MRI acquisition. Most users will only need to specify gradient directions and b-values. More detailed formats are available for advanced users.
4. Tests
Main page: Camino tests
There are two levels of testing, unit tests for individual classes and methods inside the code, and application tests that are calls to the Camino commands. All of these tests live in the camino/test
directory.
Unit tests
The unit tests are written in the JUnit test framework. They are not compiled by default, compile them using the makefile in camino/test
. Then execute
./runTest.sh
You can test particular packages by specifying the package name as an option, eg
./runTest.sh -numerics
Application tests
The application tests are in the file camino/test/ScriptTest
. It basically runs various Camino commands and outputs results as text to stdout, or diffs against a known result. This makes it easy to write tests but makes the results machine dependent. The main purpose of these tests is for regression testing - making sure that new features don't alter existing results unexpectedly.
Because of the machine dependence of the results, it's necessary to generate results on a clean copy of the code before making local modifications. To do this, cd to camino/ and run
test/ScriptTest > ScriptTest.out.mymachine
Then make your changes and run test/ScriptTest
again, capturing stdout to a new file as above. Then diff the output from your modified code against ScriptTest.out.mymachine
.
5. Camino development guidelines
Main page: Camino code organization
The Camino code is written in Java, and organized into packages by theme. The user-accessible executables (mostly bash shell scripts) live in the camino/bin/ directory. Please see the main page for details on how to organize code and documentation. See the test page for testing information.