Today we are releasing OME Files C++ 0.2.1.
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
The major focus of this release was to port the most recent changes from the OME-TIFF reader and writer from Bio-Formats Java to OME Files C++. This means that the support for reading broken, non-standard and complex OME-XML and OME-TIFF files is much improved. It is now possible to read all OME-TIFF metadata using the 2007-06 schema and above.
Note that the predecessor to OME Files, Bio-Formats C++ 5.1, is no longer maintained or supported, and no further releases will be made. If you are using Bio-Formats C++, upgrading to OME Files is strongly recommended.
Major changes in this release include:
- OME-TIFF reader and writer updates
Downloads
The software release is available at the OME Files C++ 0.2.1 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 ome-files-cpp 0.2.0
OME Common
- Document all namespaces in API reference
OME XML
- Allow unit conversions for arbitrary value types
- Allow intermediate OME-XML transforms to fail gracefully with a warning
- Add metadata validation to source code generation
- Change license of the OME-XML specification and xsd-fu code generator to BSD
- Add BSD license file to C++ sources; all the source files already had a BSD license header
OME Files
- Add units and quantities examples and tutorial
- Document all namespaces in API reference
- Update OMETIFFReader and OMETIFFWriter to match current Bio-Formats Java behaviour:
- Read BinaryOnly companion metadata from TIFF or XML companion file; previously required an XML file
- Reduce the number of times the OME-XML metadata is parsed by caching the parsed metadata
- Cache the status of the existence and validity of TIFF files, to better handle incomplete or corrupt datasets by skipping repeated processing of known bad or nonexistent data
- Add additional logging of TIFF read failures
- Add additional validity checks of BinaryOnly metadata and for isThisType checks
- Always remove old TiffData elements when writing new OME-TIFF planes
OME QtWidgets
- Document all namespaces in API reference
Super-Build 0.2.1
- Add documentation contents page for all built documentation sets
- Update prerequisite and package information for Boost
- Package changes:
- ome-common 5.3.1: Updated package
- ome-files 0.2.1: Updated package
- ome-xml 5.2.2: Updated package (currently part of the Bio-Formats sources)
- ome-qtwidgets 5.3.1: Updated package
- png 1.6.25: Updated package
Future changes
Upcoming improvements include:
OME Files
- improvements to automated integration testing of OME-TIFF files
- additional improvements to support for advanced OME-XML features such as Modulo, and older OME-XML versions
Super-Build
- further improvements for building on Windows
- updating of the set of platforms binary builds are provided for
You can find further information on which features will be included in upcoming releases via the Trello boards for versions 0.2.2 and 0.3.0 (note that these are a work in progress and subject to change).
Errata
Support for building on Windows with msbuild is currently non-functional; please use Ninja for the time being.
Debug builds on Windows may display "Run-Time Check Failure #2 - S" when reading some OME-TIFF data; this will be addressed in the next point release.
On Windows, "ome-files info" will display an error if run from a directory containing a space in it. As a workaround, use "libexec\ome\files\info.exe" directly.
The "ome-files" command on Windows may not work fully on every single Windows version due to being new and having not been tested with every possible Windows configuration. If you encounter any problems, please let us know and we will correct them for the next release.
Support
For any problems or comments, please use the OME forums or mailing lists.
Kind regards,
Roger Leigh
on behalf of the OME team