Page 1 of 1

Release of OME Files C++ 0.1.0

PostPosted: Tue Apr 05, 2016 3:28 pm
by rleigh
OME Files C++ 0.1.0

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 the OME Files C++ 0.1.0 download page. 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-cpp 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 boards for 0.1.1 and 0.2.0 outline planned changes over the next few weeks, and 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.

Kind regards,
Roger Leigh

on behalf of the OME team