NB: This scifio-imageio
provides the C++ side of SCIFIO-ITK integration. For the Java side, see scifio-itk-bridge.
This package provides an ImageIO plugin for the Insight Toolkit (ITK) that uses Bio-Formats to read and write supported file formats.
ITK provides an ImageIO plug-in structure that works via discovery through a dependency injection scheme. This allows a program built on ITK to load plug-ins for reading and writing different image types without actually linking to the ImageIO libraries required for those types. Such encapsulation automatically grants two major boons: firstly, programs can be easily extended just by virtue of using ITK (developers do not have to specifically accommodate or anticipate what plug-ins may be used). Secondly, the architecture provides a distribution method for open source software, like Bio-Formats, which have licenses that might otherwise exclude them from being used with other software suites.
The SCIFIO ImageIO plugin was developed by Gaetan Lehmann, Mark Hiner, Curtis Rueden, Melissa Linkert and Matt McCormick. Development of this module was funded in part by the FARSIGHT project, as well as the Open Microscopy Environment.
Special thanks to Alex Gouaillard, Sebastien Barre, Luis Ibanez and Jim Miller for fixes and suggestions.
You should have CMake installed, to allow the configuration of ITK builds. If you want the latest ITK development build, you will need Git as well.
Simply download ITK from the Kitware software page. Using CMake, set the following configuration flag:
Module_SCIFIO = ON
Note that this flag is only visible in "advanced" mode within CMake.
If you would like to use the utility classes included with the SCIFIO imageIO, also set the flag:
BUILD_TESTING = ON
Then build ITK as normal. It will automatically download and build the latest SCIFIO imageIO plugin.
Applications using the installed ITK should automatically defer to the SCIFIO ImageIO, and thus Bio-Formats, when reading or saving images not natively supported by ITK.
To use the SCIFIO test utility, run:
SCIFIOTestDriver
from your ${ITK_BUILD}/bin
directory. This program has four separate
applications that can be directly invoked using the syntax:
SCIFIOTestDriver [Program to run] [Program arguments]
The programs are as follows:
- itkSCIFIOImageInfoTest: Displays basic information to verify the SCIFIO imageIO works, using .fake images.
- itkSCIFIOImageIOTest: Reads an input image, and writes it out as a specified type
- itkRGBSCIFIOImageTest: Same as itkSCIFIOImageIOTest but for RGB types
- itkVectorImageSCIFIOImageIOTest: Same as itkSCIFIOImageIOTest but for VectorImage type
For example, to convert a .czi image to a .tif, you would use:
SCIFIOTestDriver itkSCIFIOImageIOTest in.czi out.tif
For general troubleshooting issues using this plugin, please e-mail the SCIFIO mailing list.
Any questions about the capabilities of Bio-Formats can be directed to the OME team.
For ITK questions, see the ITK mailing lists.