Skip to content

Rework the helper tool. #14

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

Merged
merged 49 commits into from
Mar 4, 2025
Merged

Rework the helper tool. #14

merged 49 commits into from
Mar 4, 2025

Conversation

tinevez
Copy link
Member

@tinevez tinevez commented Mar 4, 2025

Integrate future modules:

  • TrackMate-Trackastra
  • TrackMate-YOLO
  • TrackMate-Omnipose

Can perform parameter sweep over spot and track filters.

Large refactoring.

tinevez and others added 30 commits July 4, 2024 13:40
Right now, it lives in the branch 'omnipose' of the TrackMate-Cellpose
repo.
PretrainedModel is now an interface, with PretrainedModelCellpose
a concrete implementation as an enum.
…s versions.

This kind of error is very likely to happen in the near future, we
might as well give a hint to the user.
Simply delete the parameter file and relaunch the GUI.
Happens in Trackastra for the save folder settings. It might
be better not including them in the settings map at all.
The list of modules is somewhat long now.
There are now many detectors and trackers, we need to fit everything
in a convenient manner.
so that the parent config panel can be scrolled.
It's possible to make a tracking configuration that will generate
a branching event in a track. With this we will have two spots
in the same timepoint and in the same track. This is ok for the CTC
metrics but not for the SPT metrics, that trigger an exception.
With this commit we gracefully catch it and write that the tracking
parameters generate an invalid tracking results for SPT. And continue
the sweep.
Spot filters and track filters are stored in the results tables if
present. They are used to compare settings against others, and are
properly reported in the results table.
This has become especially important in the light of the new SPT
metrics integration, that has a metric for penalizing false positive.
Using a JSON file to specify where and what, like this:
{
    "metrics": "SPT",
    "ground_truth_path": "/Users/tinevez/Desktop/HPyloriGT/SHicham_Video1_crop_GT_05.xml",
    "source_image_path": "/Users/tinevez/Desktop/HPyloriGT/SHicham_Video1_crop.tif",
    "save_folder": "/Users/tinevez/Desktop/HPyloriGT/",
    "helper_task_definition_path": "/Users/tinevez/Desktop/HPyloriGT/helperrunnersettings.json",
    "log_file": "/Users/tinevez/Desktop/HPyloriGT/log.txt",
    "spt_max_linking_distance": 2.0,
    "target_channel": 1
}
So that we can use a param sweep model with classes that are not
a TrackMateModule.
However the runner seems to get it wrong. Investigate.
Now the TrackMate helper targets the new v8 of TrackMate.
This helped fix an error that resulted in skipping computation
when no filters were set.
when comparing detector settings. The hash code of the logger does
not affect the tracking accuracy, and should not be relevant when
deciding whether a parameter set has already been tested.
When iterating over spot and track filter configurations, we were
passing the feature *name* instead of the feature *key* to TrackMate.
This caused TrackMate to actually skip all filtering, but silently,
and printing a meaningful message to the user stating that it was done.
This commit fixes the issue.
@tinevez tinevez merged commit cbeed1c into master Mar 4, 2025
1 check failed
@tinevez tinevez deleted the filter-sweep branch March 4, 2025 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant