bigdataviewer-omezarr releases are available via the AllenNeuralDynamics (unlisted) Fiji update site.
In Fiji, go to Update... -> Advanced mode -> Manage Update Sites -> Add Unlisted Site. Enter name AllenNeuralDynamics and URL https://sites.imagej.net/AllenNeuralDynamics/. After refreshing, jars/bigdataviewer-omezarr.jar will be available for installation.
For more information on Fiji update sites, please visit the imagej documentation.
Alternatively, the git repository checkout can be built by maven:
mvn clean installthen copy the compiled snapshot version jar (e.g. bigdataviewer-omezarr-0.2.2-SNAPSHOT.jar)
from the local target/ folder into Fiji's jars/ folder.
This package provides OME-Zarr reading support to bigdataviewer and BigStitcher. In addition to the OME-NGFF json metadata, a
bigdataviewer dataset.xml dataset definition is required that refers to the image format bdv.multimg.zarr. Currently,
two basic loader classes are provided: XmlIoZarrImageLoader and ZarrImageLoader.
The OME-NGFF layouts supported by this package is limited. Most notably:
- 
Only OME-NGFF v0.4. is supported.
 - 
Only full, 5 dimensional OME-Zarr (t,ch,z,y,x axes) images are supported.
 - 
In bigdataviewer the image is reduced to 3 dimensions at
t=0,ch=0. - 
In case of multiple images, all images in one
ViewSetupmust have the same data type and the same resolution levels. - 
unitinaxesdefinitions in.zattrsare ignored. The same units are implicitly assumed across images. UsevoxelSizeindataset.xmlto define physical units. - 
For multi-resolution images, the first dataset defined in the
.zattrsmust be the raw (finest) resolution. Anisotropy defined for the raw resolution in.zattrsare ignored, usevoxelSizeindataset.xmlinstead. Downsampling factors are determined fromcoordinateTransformationscompared to the raw resolution. Only factor of 2 downsampling sequences have been tested. - 
Multiple images must be located in separate zgroup folders. Only one image per top level
.zattrsfile is allowed (multiple entries in themultiscalessection are disregarded). 
The dataset.xml file should define the location of the zarr image for each view in the following format.
<ImageLoader format="bdv.multimg.zarr" version="1.0">
  <!-- type="relative" invokes path resolution that is relative to the xml file location itself. -->
  <zarr type="absolute">/absolute_path_to_zarr_root</zarr>
  <zgroups>
   <zgroup setup="0" timepoint="0">
     <path>relative_path_from_zarr_root</path>
   </zgroup>
   ...
  </zgroups>
</ImageLoader>Direct AWS S3 access is also supported. It is triggered by the presence of the <s3bucket> tag in the xml:
<ImageLoader format="bdv.multimg.zarr" version="1.0">
  <s3bucket>aind-open-data</s3bucket>
  <!-- Use type=absolute and never start with a leading slash. -->
  <zarr type="absolute">prefix_to_zarr_root_within_s3_bucket</zarr>
  <zgroups>
   <zgroup setup="0" timepoint="0">
     <path>relative_path_from_zarr_root</path>
   </zgroup>
   ...
  </zgroups>
</ImageLoader>Note: The xml file itself still must be a local filesystem file.
S3 credentials must be accessible to the default AWS authentication chain. In most cases, credentials may be set in environment variables. While there is a fallback to try anonymous access if none is provided, authentication is usually faster even to open data buckets with explicit credentials.
Also, AWS_REGION and AWS_DEFAULT_REGION must be set.
export AWS_REGION=us-west-2
export AWS_DEFAULT_REGION=us-west-2
This package uses saalfeldlab/n5-zarr for the actual data transfer.
The Multiscales class is copied from the mobie/mobie-io hackathon_prague_2022 branch.