bioimage-io / core-bioimage-io-java

Java specific core utilities for interpretation of specification files of the bioimage model zoo
BSD 2-Clause "Simplified" License
2 stars 2 forks source link

Axes and lists not included in some processing classes #6

Open petebankhead opened 2 years ago

petebankhead commented 2 years ago

In <= v0.4.0 some information is missing from classes in the io.bioimage.specification.transformation.transformation package.

For example ZeroMeanUnitVarianceTransformation only permits a single mean and standard deviation. However the spec here suggests these these should be arrays/lists, and an axes value should be supported as well. This means that it's not currently possible to specify using mean/std on a per-channel basis.

ScaleLinearTransformation (a possible alternative) and ScaleMinMaxTransformation have similar limitations.

I can think of two main ways to fix it:

tomburke-rse commented 2 years ago

We can absolutely convert the Transformations in a way to handle lists. For the IO classes in anything <=0.4.0 we just have to make sure that we transfer from a PRIMITIVE to List and vice versa so that there is only a single implementation of each transformation that handles a list.