mobie / mobie.github.io

1 stars 3 forks source link

Composite views / meta views #59

Open constantinpape opened 3 years ago

constantinpape commented 3 years ago

We may want to support views that specify a list of other views and opens all of them. This could be called "meta view" or "composite view" and could look something like this:

"myView": {
  "viewList": ["nuclei", "serum", "marker"],  # list of the views to show, must be defined in "views"
   "isExclusive": false,  # same as for normal views
   "uiSelectionGroup": "plate",  # same as for normal views
   "viewerTransform": ...  # overrides any viewer transforms in the original views 
}

There would need to be some handling of 'incosistent' options in the listed views though, e.g. if a single source is listed multiple times, if one of the views has isExclusive: true or if multiple views specify viewerTransforms.

I am not really sure if we want to do this now. On the one hand this would be really helpful to keep the json metadata for the plate project manageable (that's why I brought this up in the context of grid views). On the other hand we might need to handle a lot of corner cases if the listed views are conflicting. And the plate project is still a prototype, so for the single plate I will add it would be fine to have to store more metadata and table this discussion for when we improve support for HTM data.

(I moved the discussion from #58 in a separate issue here to keep that discussion focused on more specific problems with the grid views.)

constantinpape commented 3 years ago

We decided to table this for now, gonna leave this issue open to keep a reminder that this could go into future iterations of the spec.