Java application to convert a directory of tiles to an OME-TIFF pyramid. This is the second half of iSyntax/.mrxs => OME-TIFF conversion.
Java 8 or later is required.
libblosc (https://github.com/Blosc/c-blosc) version 1.9.0 or later must be installed separately. The native libraries are not packaged with any relevant jars. See also note in jzarr readme (https://github.com/bcdev/jzarr/blob/master/README.md)
- Mac OSX:
brew install c-blosc
- Ubuntu 18.04+:
apt-get install libblosc1
-
Download and unpack a release artifact:
-
Clone the repository:
git clone git@github.com:glencoesoftware/raw2ometiff.git
-
Run the Gradle build as required, a list of available tasks can be found by running:
./gradlew tasks
-
Run the Gradle Eclipse task:
./gradlew eclipse
Run the conversion (Bio-Formats 6.x):
raw2ometiff tile_directory pyramid.ome.tiff
or generate a 5.9.x-compatible pyramid:
raw2ometiff tile_directory pyramid.tiff --legacy
The input tile directory must contain a full pyramid in a Zarr container.
The compression can be changed using the --compression
option.
Valid compression types are Uncompressed
, LZW
, JPEG-2000
, JPEG-2000 Lossy
, JPEG
, and zlib
.
By default, LZW
compression will be used in the OME-TIFF file.
If the --compression
option is set to JPEG-2000 Lossy
, then
the --quality
option can be used to control encoded bitrate in bits per pixel.
The quality is a floating point number and must be greater than 0. A larger number implies less data loss but also larger file size.
By default, the quality is set to the largest positive finite value of type double (64 bit floating point).
This is equivalent to lossless compression, i.e. setting --compression
to JPEG-2000
.
To see truly lossy compression, the quality should be set to less than the bit depth of the input image (e.g. less than 8 for uint8 data).
We recommend experimenting with different quality values between 0.25 and the bit depth of the input image to find an acceptable tradeoff
between file size and visual appeal of the converted images.
Tile compression is performed in parallel. The number of workers can be changed using the --max_workers
option.
axes
and transformations
metadata in the input Zarr will be ignored. This metadata is assumed to be consistent
with the corresponding PhysicalSize*
, TimeIncrement
, and DimensionOrder
values in the input METADATA.ome.xml
.
- Compatibility with both iSyntax and .mrxs
- map JSON metadata to OME-XML (magnification etc.)
- fix tile sizes used when downsampling (TIFF input only)
The converter is distributed under the terms of the GPL license.
Please see LICENSE.txt
for further details.