ome / omero-romio

Gradle project for the ROMIO library of OMERO
GNU General Public License v2.0
0 stars 13 forks source link

Allow floating point data pixels pyramid bypass to be configurable #36

Closed chris-allan closed 2 years ago

chris-allan commented 2 years ago

Since ome/openmicroscopy#3368 floating point data bypasses pixels pyramid requirements checks. It would be nice to allow this behaviour to be configurable on a server wide basis. What follows is a series of changes that could be performed in order to enable this:

  1. Add a new server configuration property to omero-model (src/main/resources/omero-model.properties) omero.pixeldata.max_plane_float_override defaulting to true
  2. In omero-romio add an accessor for the property to src/main/java/ome/io/nio/TileSizes.java
  3. In omero-romio add property storage, defaulting to true, as well as a new constructor to src/main/java/ome/io/nio/ConfiguredTileSizes.java
  4. In omero-server update the Spring XML configuration for the configuredTileSizes bean to use the new constructor and populate the provided omero.pixeldata.max_plane_float_override property
  5. In omero-common allow for the property to be visible to all clients via IConfig (src/main/resources/ome/config.xml)
  6. In omero-romio add a conditional surrounding the floating point pixel type check in PixelsService.requiredPixelsPyramid() utilizing the aforementioned property
  7. In omero-romio do not allow floating point pyramid creation to take place in PixelsService.makePyramid()

(7) will require a little bit of testing to ensure that the user experience is not substantially affected if omero.pixeldata.max_plane_float_override=false and PixelData-0 is turned on.

NOTE: Just for the record, all OMERO Plus installations have PixelData-0 turned off by default and we recommend that our customers keep it off.

chris-allan commented 2 years ago

@kkoz is going to prototype these changes to make sure there are no obvious gotchas or bad assumptions that I have made. This is especially important as updates to at least three repositories need to be made in order to test the fundamental change.

imagesc-bot commented 2 years ago

This issue has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/loading-and-visualization-of-ome-zarr-into-omero/67389/2