-
Notifications
You must be signed in to change notification settings - Fork 76
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
Implemented KalmanTrackerFF for fast flows as a separate method #296
base: master
Are you sure you want to change the base?
Conversation
back to ubuntu-latest
Hello, |
Weird. Anyway I was thinking of another approach. How do you feel about making your tracker a TrackMate module? It would go in its own repo on which you would have full control, and would get a dedicated update site. A bit like |
I removed the tests for KalmanFF, which I created based on src/test/java/fiji/plugin/trackmate/tracking/Kalman/ . Maybe they were at the source of redundancy. |
Perfect. The tests are not needed for my contribution I think. If you agree I think this pull request is complete. |
Thanks :) And about the idea of making it a dedicated module? |
It is definitely appealing. However I won't have time to dedicate to it until after July. Right now I am already using this implementation in my thesis which is due soon. I do plan to continue working on particle tracking in the future. My future plans are to use not only a single value in all the domain, but also an expected velocity map. Also what you mentioned, augmenting it with optical flow to estimate the expected velocity. |
Yes in that case it is worthwhile to dedicate a module to it. We would try to rewrite the mother class to avoid duplicate code as well. |
Perfect! Thank you for making this code open-source btw! It is allowing me to do a bunch of work. |
In this version I made an improvement in the tracking of fast flows using the Kalman Tracker. Essentially, I added a new field in the tracker, which is called expectedMovement. It is an array, therefore representing the X;Y;Z displacement vector.
In the fast flows, initiating a track is not optimal, as the spots might move a lot in a preferential direction. In the Jaquaman linking step of the tracker, the origin spots are moved by the expected movement vector, therefore moving them closer to the expected position of the target spots. This allows for a much smaller initial search radius, mitigating the issue of spurious tracks that are initiated in the wrong direction and must be terminated after 1 or 2 steps. The presence of these artifact tracks also impedes the initiation of the true tracks, therefore some visually very clear cases are ignored.
After determining the relation between an origin and a target spot, the tracking can then proceed using the unmodified Kalman filter.