Journal:SCIFIO: An extensible framework to support scientific image formats

From LIMSWiki
Revision as of 21:33, 24 January 2017 by Shawndouglas (talk | contribs) (Saving and adding more.)
Jump to navigationJump to search
Full article title SCIFIO: An extensible framework to support scientific image formats
Journal BMC Bioinformatics
Author(s) Hiner, Mark C.; Rueden, Curtis T.; Eliceiri, Kevin W.
Author affiliation(s) University of Wisconsin at Madison, Morgridge Institute for Research
Primary contact Email: eliceiri at wisc dot edu
Year published 2016
Volume and issue 17
Page(s) 521
DOI 10.1186/s12859-016-1383-0
ISSN 1471-2105
Distribution license Creative Commons Attribution 4.0 International
Website http://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-016-1383-0
Download http://bmcbioinformatics.biomedcentral.com/track/pdf/10.1186/s12859-016-1383-0 (PDF)

Abstract

Background: No gold standard exists in the world of scientific image acquisition; a proliferation of instruments each with its own proprietary data format has made out-of-the-box sharing of that data nearly impossible. In the field of light microscopy, the Bio-Formats library was designed to translate such proprietary data formats to a common, open-source schema, enabling sharing and reproduction of scientific results. While Bio-Formats has proved successful for microscopy images, the greater scientific community was lacking a domain-independent framework for format translation.

Results: SCIFIO (SCientific Image Format Input and Output) is presented as a freely available, open-source library unifying the mechanisms of reading and writing image data. The core of SCIFIO is its modular definition of formats, the design of which clearly outlines the components of image I/O to encourage extensibility, facilitated by the dynamic discovery of the SciJava plugin framework. SCIFIO is structured to support coexistence of multiple domain-specific open exchange formats, such as Bio-Formats’ OME-TIFF, within a unified environment.

Conclusions: SCIFIO is a freely available software library developed to standardize the process of reading and writing scientific image formats.

Keywords: SCIFIO, image analysis, open-source, Bio-Formats, ImageJ

Background

Image formats are defined by the logical layout of metadata and pixel information across one or more data sources. Proprietary file formats (PFFs) are created when an imaging instrument, such as a microscope, records such data in a structure that is not publicly described. PFFs are especially problematic in scientific domains, as each company or even instrument brings the potential for a new file format, possibly requiring licensed software to decode, or the file format changing in structure without notice or recourse. The scientific method necessitates that data can be analyzed by others to verify and reproduce results; when said data is stored in a proprietary format, by definition, it cannot be freely shared and inspected.

In response to the proliferation of PFFs in the fields of life science, the Open Microscopy Environment (OME) consortium developed the Bio-Formats library to standardize the reading of microscopy data.[1] Bio-Formats provides an application programming interface (API) for reading and writing images, backed by a comprehensive collection of extensions to decode format-specific information and translate it into an open specification called the OME data model.[2] A translated image can then be written as OME-TIFF, an “open-exchange format” which combines the universal readability of the TIFF standard with an XML schema representing the OME data model (OME-XML). These OME-TIFF images can be freely shared, with pixel data accessible via standard libraries such as libtiff[3], and the complete metadata parseable by any standards-compliant XML reader. In this way, the Bio-Formats project greatly mitigates the PFF problem in microscopy.

Bio-Formats has become an essential tool for scientists worldwide; however, its metadata model specifically targets 5-dimensional images in microscopy and related life sciences disciplines. PFFs from other scientific domains — e.g., medical imaging, astronomy, industrial x-rays, materials science and geoscience — each have their own unique considerations with respect to the dimensionality and metadata of their images; as such, it would be infeasible for a single “one-size-fits-all” metadata model to fully address the needs of scientific imaging as a whole. With this conclusion in mind, we have developed the SCIFIO (SCientific Image Format Input and Output) library, generalizing the success of Bio-Formats to create a domain-independent image I/O framework enabling seamless and extensible translation between image metadata models. The goal of SCIFIO is to provide the architecture that will equally facilitate: 1) the conversion of additional formats into supported open-exchange formats such as OME-TIFF and 2) the integration of additional scientific open-exchange formats such as Digital Imaging and Communications in Medicine (DICOM)[4], Flexible Image Transport System (FITS)[5] and NetCDF[6] into a common image I/O framework.

Implementation

SCIFIO is implemented as a plugin suite for the SciJava plugin framework. Its core is written under the permissive BSD license to maximize freedom of inclusion in both open- and closed-source applications. The SciJava framework collects Plugins in an application Context which are typically accessed via Services. As such, SCIFIO defines a collection of Plugins and Services facilitating image I/O. Developers will typically start with the SCIFIO class itself: a Gateway to the SciJava Context providing convenient access methods for functional components of the SCIFIO framework.

The SciJava framework sorts Plugins by “type,” representing the role of a given Plugin. Extensibility and flexibility is achieved by providing a public Service API which organizes and delegates to available Plugins of each type. Thus, SCIFIO development is primarily concerned with adding new Plugin implementations to achieve a desired result. The following sections describe the key Plugin types in SCIFIO, and the behavior they control.

First and foremost is the Format. Formats are a collection of interface-driven components (Fig. 1) defining the steps for decoding an image source to its metadata and pixel values. In SCIFIO, the ImageJ Common data model is used to describe pixels; this data model is built on ImgLib2[7] due to its type and algorithmic flexibility, ensuring images opened with SCIFIO are universally recognized within the ImageJ ecosystem.[8] A Format must always include a Metadata component defining its unique fields and structures, such as acquisition instrument details, dimensional axis types, or detector emission wavelengths. Each Metadata implementation must also be able to express itself as a standard format-independent ImageMetadata object, establishing a common baseline for use within the framework.

References

  1. Linkert, M.; Rueden, C.T.; Allan, C. et al. (2010). "Metadata matters: Access to image data in the real world". Journal of Cell Biology 189 (5): 777–82. doi:10.1083/jcb.201004104. PMID 20513764. 
  2. Goldberg, I.G.; Allan, C.; Burel, J.M. et al. (2005). "The Open Microscopy Environment (OME) Data Model and XML file: Open tools for informatics and quantitative analysis in biological imaging". Genome Biology 6 (5): R47. doi:10.1186/gb-2005-6-5-r47. PMID 15892875. 
  3. Warmerdam, F.; Kiseley, A.; Welles, M.; Kelly, D.. "LibTIFF - TIFF Library and Utilities". http://www.libtiff.org/. Retrieved 29 November 2016. 
  4. Bidgood Jr., W.D.; Horii, S.C.; Prior, F.W.; Van Syckle, D.E. (1997). "Understanding and using DICOM, the data interchange standard for biomedical imaging". JAMIA 4 (3): 199–212. doi:10.1136/jamia.1997.0040199. PMID 9147339. 
  5. Pence, W.D.; Chiappetti, L.; Page, C.G. et al. (2010). "Definition of the Flexible Image Transport System (FITS), version 3.0". Astronomy & Astrophysics 524 (December 2010): A42. doi:10.1051/0004-6361/201015362. 
  6. Unidata. "Network Common Data Form (NetCDF)". University Corporation for Atmospheric Research. doi:10.5065/D6H70CW6. http://www.unidata.ucar.edu/software/netcdf/. Retrieved 29 November 2016. 
  7. Pietzsch, T.; Preisbisch, S.; Tomancák, P. et al. (2012). "ImgLib2: Generic image processing in Java". Bioinformatics 28 (22): 3009–11. doi:10.1093/bioinformatics/bts543. PMID 22962343. 
  8. Schindelin, J.; Rueden, C.T.; Hiner, M.C. et al. (2015). "The ImageJ ecosystem: An open platform for biomedical image analysis". Molecular Reproduction and Development 82 (7–8): 518-29. doi:10.1002/mrd.22489. PMID 26153368. 

Notes

This presentation is faithful to the original, with only a few minor changes to presentation. In some cases important information was missing from the references, and that information was added.