embl-cba / imagej-utils

BSD 2-Clause "Simplified" License
2 stars 4 forks source link

Segments3DView TimePointChangedListener #37

Closed tischi closed 3 years ago

tischi commented 3 years ago

@K-Meech @constantinpape

We have to decide what we want to happen to the segments that are shown in the 3D Viewer when the timepoint is changed in BDV. I would think maybe only show the segments that are visible within the current time point. What do you think?

We have to see how to best communicate this to the Segments3dView. One can register a TimePointChangedListener to BDV, we should somehow use this, but ideally in a way that the Segments3dView does not know that a BDV exists (for the sake of separation of concerns on the code level).

tischi commented 3 years ago

Turns out that it looks straight-forward to add this functionality: https://github.com/tischi/imagej-utils/commit/5f56b9ac6524a392bbd225b4d3ed963a0cdb986b Probably should work after couple of debugging rounds.

constantinpape commented 3 years ago

If I understand you correctly, we are discussing the following scenario:

I am not sure if we should show anything selected in the previous timestep in the next one, because the ids might not have any meaningful relation between the timesteps. For example in the dataset I uploaded, they are not directly connected to each other; only the track_id (which is in the table) is constant across timesteps.

tischi commented 3 years ago

I am not sure if we should show anything selected in the previous timestep in the next one, because the ids might not have any meaningful relation between the timesteps.

Yes, I agree. I will implement it for now such that it only shows the selected segments of the timepoint that is currently shown in BDV.

If one is interested in exploring the tracking, one can sort the table by trackID and then select all segments of one trackID in the table and then with the arrow keys move in the table. This should create a nice "movie" of the tracked segment in the 3D viewer.