Closed tischi closed 1 year ago
@tischi I can confirm this now works as expected in the Open Image and Labels... case. 🚀
Unfortunately, it still doesn't in our MoBIE project where we added the segmentation as a merged grid view with multiple sources (from 240 wells). I still get:
There are duplicate columns: [label] Those columns will be replaced by the columns in the newly loaded table.
... and all the labels turn 0
.
If you don't have an immediate idea what might cause this, I'll try to set up a minimal example project to reproduce the issue.
@imagejan this is strange indeed.
I guess label
is the name of the label id column, correct?
Then those two lines of code:
final List< String > additionalColumnNames = additionalTable.columnNames().stream().filter( col -> ! mergeByColumnNames.contains( col ) ).collect( Collectors.toList() );
final List< String > duplicateColumnNames = additionalColumnNames.stream().filter( col -> columnNames.contains( col ) ).collect( Collectors.toList() );
...should be such that duplicateColumnNames
cannot contain label
, because it should be part of mergeByColumnNames
.
So, if you run in debug mode and set a breakpoint there and check what is going on, would probably allow us to figure out the issue.
@tischi I now uploaded an example dataset (ome-zarr and MoBIE) illustrating the issue here: https://doi.org/10.5281/zenodo.8141917
Please let me know if you can reproduce.
@imagejan
There are two segmentations: cellpose
and cellpose_1
, which one should I use?
And, to make sure you are going: Table > Load Columns
... Load from Project
... additional.tsv
, right?
@tischi wrote:
Table > Load Columns ...
Load fromProject
...additional.tsv
, right?
Yes, correct.
cellpose and cellpose_1, which one should I use?
This was just to illustrate segmentations from two different channels in the same labels group in the zarr file, and how we can share the same common table source for both of these segmentation sources.
It shouldn't matter for the 'Load Columns' step, as the existing label ids are the same in both channels.
@imagejan I think I found several bugs.
For me it works now for the example data that you attached. Could you please build from this PR (branch1044
) and confirm?
When loading the columns one gets errors like this:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 10 >= 10 at java.util.Vector.elementAt(Vector.java:479)
This is something I have been fighting with forever and still don't understand it, but I think you can simply ignore it.....
@tischi great, thanks a lot!
I confirm that the Load Columns...
step now works as expected 👍 🎉 with a mobie-viewer-fiji-4.0.7-SNAPSHOT.jar
built from the issue1044
branch.
@imagejan after the above fixes, using
Load Columns...
it looks now like this:I would say this is correct, you too?
However, I do have to click once into the table for it to update the display and show the new column. I am fighting with this already for a long time and never quite managed to fix it....