Column names differ for Split Collection Column node

Following up on this previous topic (which has been auto-closed):

I noticed a strange behavior when splitting Double Vector columns using the Split Collection Column node. Depending on how the Double Vector was created (using the Line Chopper node from the Wide Data integration; or using a double[] output in an ImageJ2 plugin via the ImageJ integration), I end up with very different column names:

From Line Chopper:

From an ImageJ2 plugin:

These differences can create problems downstream when trying to merge/join/concatenate. Working around it is quite an effort, because it’s not sufficient to strip out the “Split Value” part, also the indices start counting at different values (0 for the wide data column, 1 for the ImageJ2 column), so a workaround (after transposing the table in my case) looks like this:

Is there anything we can do about this issue, or is my workaround the best possible solution?

Hi @imagejan,
this looks like a bug in the ImageJ2 integration, we should be creating the double arrays cells exactly like in the Line Chopper.
I will take a look at this, but can’t promise a quick fix.
Best,
Gabriel

4 Likes

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.

I had a second look at this topic and noticed that the Split Collection Column node in its default mode (Best Effort) calls getColSpecsByElementNames() here:

So it seems that Line Chopper adds element names {0, 1, 2, 3, ...} to the collection, while DoubleArrayOutputAdapter from the ImageJ2 integration doesn’t.


So a much easier workaround than what I wrote above is to configure the Split Collection Column node to Count in advance (instead of Best effort ). In this case, all columns will be named Split Value … and the element names from Line Chopper are ignored.

Just leaving this information here in case someone else stumbles upon a similar issue.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.