Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional info on blob values in raw mode #191

Open
aperkes opened this issue Feb 2, 2023 · 3 comments
Open

Additional info on blob values in raw mode #191

aperkes opened this issue Feb 2, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@aperkes
Copy link

aperkes commented Feb 2, 2023

Is your feature request related to a problem? Please describe.
This is some what minor complaint, but it would be very helpful to have some more options in the raw view to make parameter tuning easier. Specifically:

  1. I wish I knew the difference value of each blob (from background subtraction), so that I could set the threshold accordingly
  2. I would like to know the pixel intensity values, so that I could use that as an additional threshold
  3. The current first two values are obtuse, but I assume it's a blob identifier and the x,y coordinates, neither of which are actually very useful, I wish I could turn those off to reduce clutter.
  4. Similarly, when there are a lot of small blobs, they can clutter the screen and make it hard to read the info. An option to only show candidate blobs, or only show values during mouse over or something would be useful.

I'm guessing the easiest solution to implement would be to have an option in the little pop up window to "print additional information" when clicking a blob in raw view. Alternatively parameters that set the appearance of raw view could work.

Thanks for creating and continuing to improve this amazing tool!

This request was brought to you by a somewhat noisy background and very small fish.

@aperkes aperkes added the enhancement New feature or request label Feb 2, 2023
@mooch443
Copy link
Owner

mooch443 commented Feb 6, 2023

  1. I am not sure what you mean by that - there isn't really one difference value of each blob. Do you mean the minimum?
  2. As an additional threshold how? Pixel intensity values are used instead of difference values if you disable enable_difference, in case that's what you mean. Again, the same issue as 1., but of course it's possible to include some additional info in the description line.
  3. Yes, although I do look at the identifier and XY positions quite frequently. It's quite difficult to find defaults that suit everybody, but that's why you need options, yes :)
  4. Blob labels are hidden if they are less than 0.5 the minimum size in blob_size_ranges. Additionally, you can usually use a combination of zooming in on already tracked objects, and moving the mouse to a different position. There's a "hole" in the transparency curve, so if you're close by it displays the labels, then when you get farther away it hides them, before it displays them again. It's pretty difficult to find a perfect combination of when to display/hide, as you can probably appreciate. I will add a todo for an option that shows info only on mouse-over (although for very dense objects this might not help much?).

I'll have a think about this. Thanks for your suggestions! If you are dealing with very noisy backgrounds, you might like the 2.0 version that will appear at some point :)

mooch443 pushed a commit that referenced this issue Feb 10, 2023
* adding Prediction to blobs if available
* displaying full text only on blob-hover. this is kind of starting the work on #191
* unifying some pv::Frame -> blob things
@aperkes
Copy link
Author

aperkes commented Feb 17, 2023

  1. Ah good point, presumably minimum is usually going to be the threshold difference, so I guess maximum would actually be most helpful, since it would let you know the max threshold value you could have taken to still include (parts of) this blob, or maybe median, so you would keep at least half that blob. As long as I'm dreaming, a heatmap showing the difference for each pixel would be sweet.
  2. My understanding is the track_intensity_range excludes blobs with mean pixel intensity outside your range you set, but without knowing the mean intensity of each blob it's difficult to choose that range other than by trial and error. But maybe I'm not understanding what track_intensity_range is doing.

Ooo, looking forward to 2.0!

@mooch443
Copy link
Owner

mooch443 commented Jul 7, 2023

As an update for this issue - I have tried some stuff, especially regarding the ability the see all independent blobs even if they overlap, and all of their info in a more structured way. This means that blobs that are closeby each other will be summarized when the mouse gets close. Currently its still a bit janky, but I'm sure it'll turn out good:

Screenshot 2023-07-07 at 20 51 37

Finally what I want to do is a simple template functionality so you can set the max. detail / blob manually (e.g. mean_intensity). So there's a default and then you can do:

gui_blob_detail = "<key>{blob_id}</key> {blob_bounds} intensity:{mean_intensity} num_pixels:{num_pixels}"

This isn't too far away, since (except for the specific string parsing) all the functionality is essentially already there. What do you think?

PS: There is a gui_fish_color, if you set it to viridis it will show the pixel value in viridis color scheme - especially if you hide display->blobs :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants