ANP-Granular / ParticleTracking

Library and GUI for tracking (rod-like) particles on camera images in 2D and 3D
https://particletracking.readthedocs.io/en/latest/
GNU General Public License v3.0
2 stars 2 forks source link

It is not possible to view all detected particles simultaneously #94

Closed merrygoat closed 2 months ago

merrygoat commented 4 months ago

Is your feature request related to a problem? Please describe. When particles of different colours have been detected, it is not possible to view the detections for different colours simultaneously. This means that it is very hard to work out if a particle has been missed from the detection and needs to be added manually.

Describe the solution you'd like In the top "particle colour" menu, either make the radio buttons multi select so that you can select to view the overlay for more than one colour at once or add an "all colours" button to show all overlays.

It would be helpful if the overlay of each colour was displayed using that colour.

There would have to be some sort of way to input a colour option when adding a new particle.

dmitrypuzyrev commented 3 months ago

@merrygoat Thank you for the suggestion! Due to the number of particles in our experiments, so far it was never helpful to overlay the particles of all colors simultaneously. Basically, it is only possible and makes sense to work with particles of one color at once. The point of the program is also to keep the mail menus/dialogs etc as minimal as possible to increase efficiency of annotation/correction workflow in given tasks.

Moreover, I think it is not a good idea to overlay particles with the lines of the same color (basically, it makes the overlay unseen), I have experimented with overlay color and only some subset of overlay colors is well visible on the screen for each experiment.

My suggestion is that if you think that the "all colors" option and multiple overlay colors are absolutely recommended to have, and @a-niem thinks it is relatively easy to program, then we can experiment with it. Otherwise, I think it would not be a priority to have this implemented.

a-niem commented 3 months ago

I've now added a mode that displays all rods available for a frame. It is attempted to display it each rod using the colour of its class and only chooses a different colour, if matplotlib does not directly support this colour.

The current implementation however is limited to have the rods as read-only in this display mode. In my opinion, this is sufficient for the case of verifying that all particles have been detected, that you have described above @merrygoat.

merrygoat commented 3 months ago

That sounds great. I have been a bit busy but I will try and pull dev and test this weekend/early next week.

merrygoat commented 3 months ago

I am on the develop branch and I see the new options on the top menu bar for plotting. However, when I do a detection, I am not getting particle lines. Particle detection completes and I see detected particles in the particle tab but in the log I am getting errors like:


[07/22 16:02:15] RodTracker.ui.loggerwidget INFO: (gp3, 500) Detected 200 rods.
[07/22 16:02:15] RodTracker.ui.rodimagewidget INFO: Couldn't extract rods. Didn't find columns: ['particle', 'frame', 'x1_gp3', 'x2_gp3', 'y1_gp3', 'y2_gp3', 'seen_gp3', 'color']
[07/22 16:02:15] RodTracker.ui.rodimagewidget INFO: Couldn't extract rods. Didn't find columns: ['particle', 'frame', 'x1_gp3', 'x2_gp3', 'y1_gp3', 'y2_gp3', 'seen_gp3', 'color']
[07/22 16:02:15] RodTracker.ui.rodimagewidget INFO: Couldn't extract rods. Didn't find columns: ['particle', 'frame', 'x1_gp3', 'x2_gp3', 'y1_gp3', 'y2_gp3', 'seen_gp3', 'color']
[07/22 16:02:15] RodTracker.ui.reconstruction INFO: Insufficient data for plotting given. Skipping...
[07/22 16:02:15] RodTracker.ui.reconstruction INFO: Insufficient data for plotting given. Skipping...
[07/22 16:02:15] RodTracker.ui.reconstruction INFO: Insufficient data for plotting given. Skipping...
[07/22 16:02:25] RodTracker.ui.loggerwidget INFO: (gp3, 501) Detected 200 rods.
[07/22 16:02:25] RodTracker.ui.reconstruction INFO: Insufficient data for plotting given. Skipping...
[07/22 16:02:25] RodTracker.ui.reconstruction INFO: Insufficient data for plotting given. Skipping...```

When I load positions from the CSV example files, the rod overlays are displayed correctly and switching between "all particles" and "selected class" works well. 
a-niem commented 3 months ago

The display issue after detection is fixed. The displaying of particles should work as expected now.

merrygoat commented 2 months ago

Yes. That works for me now.