OME Files is a reference implementation of the OME Data Model and
OME-TIFF file format for the storage and interchange of biological
imaging data and metadata. It provides support for:
- The OME Data Model (model objects, metadatastore, XSL transforms and XML validation)
- OME-TIFF reader
- OME-TIFF writer
Major changes in this release include:
- Support for transparent model upgrades and downgrades when reading an OME-TIFF
- Splitting of the codebase into a separate repository for each component
OME Files C++ was previously named “Bio-Formats C++” and was part of
the Bio-Formats Java source repository. With this initial release of
OME Files, the C++ source code has been moved from the Java source
repository into a set of C++ source repositories, which can be
released independently of the Java implementation. The Common, Files
and QtWidgets components were split out into separate repositories,
using “git filter-branch” to retain the history. The XML component
continues to reside in bioformats.git for the moment, but will also be
split out in a future release. The components may be built
individually, or as a collection using the OME Super-Build. This
release is a first step in our
strategy
to build a native reference implementation for the OME Data Model,
OME-TIFF, and hopefully more modern formats like HDF5, etc.
Downloads
The software release is available at archived downloads. This
page includes links to the individual repositories and source
releases, as well as the documentation and binary builds of the
collection for several common platforms, including Windows, Linux and
MacOS X.
Changes since Bio-Formats C++ 5.1.8
OME Common
- move cpp/ directory to top level
- rename all uses of bioformats to ome-common
- use external gtest
- use CMake imported targets
- generate exported CMake configuration
- replace bf_prefixes with ome_
- get version information from git
- install using relative paths
- add Xalan-C CMake support
- add xsl wrappers for Xalan
- refactor common module support to work with multiple packages
- providing different sets of paths
- add source-archive script to generate a source release
OME XML
- disable pixel buffer bounds checking by default
- set default log level by hand (to work with static linking on Windows)
- document use of Ninja for building
- document superbuild package maintenance
- remove embedded gtest
- use external gtest
- use CMake imported targets
- generate exported CMake configuration
- replace bf_prefixes with ome_
- install using relative paths
- use doxygen tag files from ome-common
- install XSL transforms for model upgrade and downgrade
- add XSL transform resolver
- correct UUID plane index in OME-TIFF writer
- add transform support to OME-TIFF reader; the XML will be transformed to the 2013-06 schema currently supported by OME Files correctly preserve model root (OME) attributes on transformation
- remove C++ documentation (now in ome-files-cpp)
- remove ome-common component (now in ome-common-cpp)
- remove ome-files component (now in ome-files-cpp)
- remove ome-qtwidgets component (now in ome-qtwidgets)
- use enum value list macros to simplify model enum switch statements register runtime paths with ome-common module support
- add public API to query supported model version
OME Files
- move cpp/ directory to top level
- rename all use of bioformats to ome-files
- use external gtest
- use CMake imported targets
- generate exported CMake configuration
- replace bf_prefixes with ome_
- get version information from git
- install using relative paths
- use doxygen tag files from ome-common and ome-xml
- use enum value list macros to simplify model enum switch statements
- add source-archive script to generate a source release
OME QtWidgets
- move cpp/ directory to top level
- rename all use of bioformats to ome-qtwidgets
- use external gtest
- use CMake imported targets
- generate exported CMake configuration
- replace bf_prefixes with ome_
- get version information from git
- install using relative paths
- use doxygen tag files from ome-common, ome-xml and ome-files
- add source-archive script to generate a source release
Super-Build 0.1.0
- project name renamed to “ome-superbuild”
- added support for disabling building of third-party dependencies
- added support for building with Ninja on Unix and Windows
- added support for selecting the packages to build; the default is ome-files (build-packages option)
- use relative rather than absolute install paths
- removed embedded-gtest option (replaced by gtest package)
- added jenkins-build.bat script to allow building on Windows with the jenkins CI system
- added source-archive script to generate source releases
- use the same git tag-based versioning scheme used for bioformats and the other C++ git repositories
- building with VS2012 is now possible; VS2013 remains the supported version
- Package changes:
- boost-1.60: New package (replacing boost-1.59)
- gtest 1.7.0: New package (replacing embedded version in bioformats)
- xalan 1.11: New package
- ome-common 5.2.0-m2: New package
- ome-files 0.1.0: New package
- ome-qtwidgets 5.2.0-m2: New package
- ome-xml 5.2.0-m2.5: New package (was bioformats)
Future changes
The planned changes over the next few weeks include:
OME XML
- 2015-01 model support (includes unit conversion support)
OME Files
- documentation rework, including updates for the new CMake options for building and the supported versions of all components
- porting of recent Java fixes to the OME-TIFF reader and writer
Super-Build
- VS2015 support
- building and packaging of Sphinx documentation
- updating of the set of platforms binary builds are provided for
Errata
Support for building on Windows with msbuild is currently
non-functional; please use Ninja for the time being.
Support
For any problems or comments, please use the OME forums or mailing lists.