{"id":29227319,"url":"https://github.com/royerlab/ultrack-imagej","last_synced_at":"2025-10-14T01:33:44.632Z","repository":{"id":230428552,"uuid":"761206913","full_name":"royerlab/ultrack-imagej","owner":"royerlab","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-08T00:06:12.000Z","size":2907,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-05T07:03:47.024Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/royerlab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"citation.md","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-21T12:49:15.000Z","updated_at":"2025-08-27T12:42:21.000Z","dependencies_parsed_at":"2025-07-03T09:10:28.129Z","dependency_job_id":"7ec75ef5-f8f7-4c10-ba97-fb13b0589d6e","html_url":"https://github.com/royerlab/ultrack-imagej","commit_stats":null,"previous_names":["royerlab/ultrack-imagej"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/royerlab/ultrack-imagej","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royerlab%2Fultrack-imagej","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royerlab%2Fultrack-imagej/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royerlab%2Fultrack-imagej/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royerlab%2Fultrack-imagej/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/royerlab","download_url":"https://codeload.github.com/royerlab/ultrack-imagej/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royerlab%2Fultrack-imagej/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017499,"owners_count":26086084,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-03T09:10:25.398Z","updated_at":"2025-10-14T01:33:44.613Z","avatar_url":"https://github.com/royerlab.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ultrack FIJI's plugin\n\nLarge-scale cell tracking under segmentation uncertainty.\n\n\n\n# Overview\n\n[Ultrack](https://github.com/royerlab/ultrack) is a method for large-scale 3D cell-tracking through a segmentation selection approach.\nIt is effective at tracking cells across large microscopy datasets on two fronts: (i) It can solve\nproblems containing millions of segmentation instances in terabyte-scale 3D+t datasets; (ii) It achieves competitive \nresults with or without deep learning, which requires 3D annotated data, that is scarce in the fluorescence microscopy \nfield. The proposed method computes cell tracks and segments using a hierarchy of segmentation hypotheses and selects \ndisjoint segments by maximizing the overlap between adjacent frames. We show that this method achieves state-of-the-art \nresults in 3D images from the cell tracking challenge and has a faster integer linear programming formulation. Moreover, \nour framework is flexible and supports segmentations from off-the-shelf cell segmentation models and can combine them \ninto an ensemble that improves tracking.\n\n# Description\n\n## Installation \n\nThe Ultrack plugin is a Java client for Python's Ultrack tracking software. The user needs to have\nPython installed in the system, preferably managed by [conda](https://conda.io/projects/conda/en/latest/index.html).\nThe FIJI plugin depends on Ultrack's optional functionalities.\nTherefore, installation must include `ultrack[api]`.\nFor example:\n```bash\npip install 'ultrack[api]'\n```\n\nFor additional installation instructions, please refer to the [Ultrack documentation](https://github.com/royerlab/ultrack).\n\nThis plugin will call the Ultrack routines under the hood, enabling cell tracking in 2D+t and 3D+t datasets.\n\n### FIJI integration\n\nThe ultrack plugin is available after selecting the update site for ultrack in FIJI by clicking **HELP** → **Update** \n→ **Manage Update Sites** and then searching for **Ultrack**. To activate the update site, click the checkbox in the\n**Activate** column, the leftmost one. Right after that, click **Apply and Close** and then **Apply Changes** in the now-enabled\nbutton at the bottom of the previous **ImageJ Update** window. That will trigger the download of the Ultrack\nplugin.\n\nAfter that, FIJI restart is required, and then the Ultrack plugin will be available in the **Plugins**→**Tracking**→\n**Ultrack** menu.\n\n## How to Use\n\nThe steps below describe how to use the Ultrack plugin:\n\n1. Open the image sequence to be tracked.\n\n2. Click on the **Plugins** → **Tracking** → **Ultrack** menu. The Ultrack GUI will open.\n\n![Ultrack GUI](media/plugins/ultrack/00_init.png)\n\n3. (Optional but required in the first run) If Ultrack is correctly installed and accessible through the system path, \n   the user can proceed to the next step. Otherwise, the user needs to set the path to the Ultrack executable in the \n   **Environment**→**Select Conda Path** menu. It will open a dialog to select the `conda` executable, and \n   then the user needs to select the preferred environment, which should be one indicated with the `[Ultrack found]` flag.\n\n4. Now you should be able to start the connection with the Ultrack software by clicking the **Start Ultrack Server** \n   button. The plugin will update its GUI to show the available tracking options, as shown in the figure below.\n\n![Ultrack GUI with server started](media/plugins/ultrack/01_gui.png)\n\n4. The user should now select the desired tracking workflow in this section:\n    \n![Ultrack GUI with tracking workflows](media/plugins/ultrack/03_workflows.png)\n    \nin which the user can select the desired tracking workflow. The options are:\n - **Auto Detection From Image**: which provides a way to track cells using solely the image as input;\n - **Foreground \u0026 edges from user**: which is suitable for tracking cells using **edge** detection and **foreground** \n   segmentation provided by the user;\n - and **Segmentation from user**: which is suitable for tracking cells using segmentation labels from your favorite \n   segmentation software, such as [Stardist](https://github.com/stardist/stardist), \n   [Cellpose](https://github.com/MouseLand/cellpose), \n   [MicroSAM](https://github.com/computational-cell-analytics/micro-sam) or any other.\n\n5. (Optional) After selecting your desired workflow, you can tune the tracking parameters in the **Settings** section. \n   The parameters are workflow-dependent, and the user can \n   [check here](https://github.com/royerlab/ultrack-dev/blob/main/ultrack/config/README.md) for more information about\n   the parameters. Not all of them are available in the FIJI interface, Python is required for full customization.\n\n![Ultrack GUI with tracking options](media/plugins/ultrack/02_options.png)\n\n6. After setting the parameters, the user can click the **Select Images** button to select the image to be tracked. \n   It is worth mentioning that some workflows, such as **Manual Detection**, require more than one image to be selected.\n\n![Ultrack GUI with image opening](media/plugins/ultrack/04_image_opening.png)\n![Ultrack GUI with image selector](media/plugins/ultrack/05_image_selection.png)\n\n7. Finally, the user can click the **Run** button to start the tracking process. The user can follow the tracking \n   process in the **Ultrack Log** section. \n\n![Ultrack GUI with tracking progress](media/plugins/ultrack/06_run.png)\n\n8. To visualize the tracking results, the user can click the **View Tracks** button. Then, it will request a \n   particular image to bind the tracks. In the end, The tracking results will be shown using the \n   [TrackMate](https://imagej.net/plugins/trackmate/) plugin. \n\n![Ultrack GUI with track image selection](media/plugins/ultrack/07_open_tracks.png)\n![Tracks Viewer it Trackmate](media/plugins/ultrack/08_trackmate.png)\n\n# Acknowledgments\n\nWe thank the ImageJ community for providing the necessary tools to develop this plugin, such as \nthe FIJI platform and integrations. We also acknowledge the developers from [Trackmate](https://imagej.net/plugins/trackmate/) plugin for their work \nin the tool, which we rely on to visualize the tracking results.\n\n# Citation\nIf you find ultrack useful, please cite Ultrack as follows:\n\n\n```\n@misc{bragantini2023ultrack,\n      title={Large-Scale Multi-Hypotheses Cell Tracking Using Ultrametric Contours Maps},\n      author={Jordão Bragantini and Merlin Lange and Loïc Royer},\n      year={2023},\n      eprint={2308.04526},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froyerlab%2Fultrack-imagej","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froyerlab%2Fultrack-imagej","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froyerlab%2Fultrack-imagej/lists"}