Extend Bdv .xml

Hi @tpietzsch

cc @schorb @NicoKiaru @joshmoore

We would like to encode more information in the bdv.xml files, e.g.

  • Modality: e.g., “EM” or “LM” or “LabelMask” (which we would use to determine different blending modes or LUTs)
  • Color (ARGBType index)
  • BitDepth (8 or 16)
  • Initial brightness settings mix and max (0 - 65535)

One option seems to be to use the logic of the *.settings.xml file, however the way this is structured it seems to me that this is supposed to reflect the complete viewer state of bdv for multiple sources. We would need however a way to specify above information for each source individually.
Looking at the structure of the *.xml there is an Attribute logic.

  • Would it be an option to add more of such attributes to encode above information?
  • I guess adding additional such attributes would not confuse the current XmlIoSpimData.load(), right?
  • But changing the XmlIoSpimData.load() and also SpimData to deal with above additional information might require too many changes in the current code and would also not be extensible in terms of adding even more attributes. Thus maybe we could instead write another function XmlIoSpimData.loadAdditionalMetadata() which would return the entries in the additional attribute tags? Like this our stuff would work and it would not impact any other peoples code?!