Support for "cub" image format

Please use this identifier to cite or link to this publication: http://hdl.handle.net/1926/303
VoxBo (www.voxbo.org) is a distributed processing framework, developed at the Center of Functional Neuroimaging at the University of Penssylvania, with the purpose of processing and analyzing brain functional MRI data.
VoxBo is written in C++, and it is escentially a fair translation of some SPM functionality, originally written in Matlab. Along with the software, VoxBo defines two new image formats:
1) .cub, a 3D image format, used for anatomical data and single EPI frames. It is important to notice that this format defines a proper origin field, lacking, for instance, in Analyze.
2) .tes, a 4D image format, designed to contain the temporal EPI information. It is worth noticing that this format organizes the voxels in such a way to optimize longitudinal (temporal) voxel access.
Furthermore, the tes format is compressed through encoding of the functional voxels alone, i.e., background voxels are not stored for each frame, but only for the first one.

In this work we present the necessary IO classes that allow ImageFileReader and ImageFileWriter to properly identify, read and write .cub files only. We will provide .tes support in a subsequent work.
This effort is carried out with the purpose of letting VoxBo implementors to take advantage of ITK's power and overcome the limitations currently afflicting VoxBo.
Data
minus 9 Files (15Mb)
Code
minus Automatic Testing Results by Insight-Journal Dashboard on Wed Sep 27 14:07:43 2006 for revision #2
starstarstarstarstar expertise: 5 sensitivity: 5
yellow This project passed 0 out of 1 tests.
Click here for more details.

Go here to access the main testing dashboard.
plus Automatic Testing Results by Insight-Journal Dashboard on Tue Sep 26 18:31:59 2006 for revision #1
starstarstarstarstar expertise: 5 sensitivity: 3.5

Reviews
minus Support for \"cub\" image format review by Josh Cates on 10-30-2006 for revision #2
starstarstarstarstar expertise: 5 sensitivity: 5
yellow

Summary:
This work is an itk file reader for the VoxBo CUB image format.  It supports compressed and uncompressed
files using zlib.  An imageIO class and IO factory are provided, along with a test .cub file and a simple test
program.  The code conforms to ITK style guidelines, follows the ITK Image IO design pattern and passes
the supplied tests.  Some additional work on the testing and documentation might be worth considering.

Open Science:
Both the source code and test data are provided.  Revision 2 of this submission includes a CMakeLists.txt file.

Reproducibility:
The code provided compiled without errors on 64-bit SUSE Linux
under gcc 4.1.0 and ITK 2.8.1.  I was able to run the test examples given in
the paper without error.  Unfortunately I do not have any way to validate the
files produced (see Additional Comments for some suggestions).  I did not find
inputTestImage.cub.gz included with the submission.  Should the line from page
3 reading "convertImage inputTestImage.cub.gz outputTestImage2.cub" be edited
to read "convertImage outputTestImage1.cub.gz outputTestImage2.cub" instead?

Open Source Contributions:
This code is certainly a valuable contribution for users of the VoxBo software, which is itself an open-source
project.

Code Quality:
The code is written to conform to the ITK style guidelines and is easy to read.  If this code is to be considered
for inclusion in ITK, the comment field for the itk::VoxBoCUBImageIO class should be expanded.  A
short paragraph that summarizes the Background section of the paper would probably suffice.

Additional Comments:
Note that ITK distributes a version of zlib, so you could use this one instead of relying on the system zlib.

For a more robust test that would be supported by the ITK Dartboard image diff system, you might consider
extracting a 2D slice from the output of convertImage to compare against a known reference image. 
Alternatively, you could compute a checksum from the output image data that you compare to a known value. 

plus Could not compile - Please check your code and include a CMakeLists.txt by Sylvain Jaume on 09-05-2006 for revision #1
starstarstarstarstar expertise: 2 sensitivity: 3.5
Add a new review
Quick Comments


Resources
backyellow
Download All

Statistics more
backyellow
Global rating: starstarstarstarstar
Review rating: starstarstarstarstar [review]
Code rating: starstarstarstarstar
Paper Quality: plus minus

Information more
backyellow
Categories: Data, Data Representation, Programming, Programming, Programming
Keywords: Image file format, VoxBo, cub
Toolkits: ITK (moved into the sandbox), CMake
Export citation:

Share
backyellow
Share

Linked Publications more
backyellow
ITK in Biomedical Research and Commercial Applications ITK in Biomedical Research and Commercial Applications
by McCormick M., Aylward S., Johnson H., Lowekamp B.
Efficient multithreading for manycore processor: Multidimensional domain decomposition using... Efficient multithreading for manycore processor: Multidimensional domain decomposition using...
by St-Onge E., Scherrer B., Warfield S.K.

View license
Loading license...

Send a message to the author
main_flat
Powered by Midas