Open martinschorb opened 1 year ago
Hi Martin, I think I understand the issue and indeed that might be a corner case that is not supported in the python code (and maybe also not in the spec) yet. I will try to have a closer look at this later, but as this is quite complex it would help a lot to have a minimal reproducible example.
The following procedure generates a view that cannot be reproduced in mobie:
This view "twoseg_fromMoBIE" shows both segmentations at the same position, because the transform has no sourceNamesAfterTransform
.
When I manually add the sourceNamesAfterTransform
("twoseg_sourcenames"), I run into the table issue.
The project can be found in
/g/emcf/schorb/data/sourcenames
File "/g/emcf/schorb/code/mobie-utils-python/mobie/validation/utils.py", line 72, in _assert_true
raise ValueError(msg)
ValueError: The table source transformedseg is not present in the source metadata.
Hi, probably also a spec issue, but I run into this inconsistency when using MoBIE-Python.
sourceNamesAfterTransform
new source namesourceNamesAfterTransform
yet another source nameThe table data of the two displayed segmentations should stay the same as for the original segmentation source. Now, I run into the problem, that the "new"
segmentationDisplay
s do no longer point to the original table, so the view is not displayed and also validation fails (as expected) with :I thought of just pointing it to the original table but then I am back to:
that the names no longer match.
Now, the only solution/workaround I see at the moment is duplicating the tables and creating a new directory for each
segmentationDisplay
. This can easily become a pain with dozens if not hundreds of duplicate directories.Also, if something changes in the original table, ideally all derived tables or
segmentationDisplay
s should update accordingly.So I think we need a thorough re-think of how to deal with these "transient" or "virtual" sources created within a view with
sourceNamesAfterTransform
.Or we need to allow linking to another default table for a
segmentationDisplay
( and modify these checks inget_view
).Any ideas and thoughts?