{"name":"motile-tracker","display_name":"Motile Tracker","visibility":"public","icon":"","categories":["Utilities"],"schema_version":"0.2.1","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"motile-tracker.main_app","title":"Open the motile main application","python_name":"motile_tracker.application_menus.main_app:MainApp","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"motile-tracker.tree_widget","title":"Open the lineage view widget","python_name":"motile_tracker.data_views.views.tree_view.tree_widget:TreeWidget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"motile-tracker.menus_widget","title":"Open the motile menus widget","python_name":"motile_tracker.application_menus.menu_widget:MenuWidget","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"motile-tracker.solve","title":"Run motile tracking (backend only)","python_name":"motile_tracker.motile.backend.solve:solve","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"motile-tracker.Fluo_N2DL_HeLa","title":"Load Fluo-N2DL-HeLa tracking dataset","python_name":"motile_tracker.example_data:Fluo_N2DL_HeLa","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"motile-tracker.Fluo_N2DL_HeLa_crop","title":"Load Fluo-N2DL-HeLa tracking dataset (crop)","python_name":"motile_tracker.example_data:Fluo_N2DL_HeLa_crop","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"motile-tracker.Mouse_Embryo_Membrane","title":"Load Mouse Embryo_Membrane tracking dataset","python_name":"motile_tracker.example_data:Mouse_Embryo_Membrane","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":null,"widgets":[{"command":"motile-tracker.main_app","display_name":"All","autogenerate":false},{"command":"motile-tracker.menus_widget","display_name":"Menus","autogenerate":false},{"command":"motile-tracker.tree_widget","display_name":"Lineage View","autogenerate":false}],"sample_data":[{"command":"motile-tracker.Fluo_N2DL_HeLa","key":"Fluo-N2DL-HeLa","display_name":"Fluo-N2DL-HeLa (2D)"},{"command":"motile-tracker.Fluo_N2DL_HeLa_crop","key":"Fluo-N2DL-HeLa-crop","display_name":"Fluo-N2DL-HeLa crop (2D)"},{"command":"motile-tracker.Mouse_Embryo_Membrane","key":"Mouse_Embryo_Membrane","display_name":"Mouse Embryo Membranes (3D)"}],"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.4","name":"motile-tracker","version":"4.7.0","dynamic":["license-file"],"platform":null,"supported_platform":null,"summary":"Application for interactive tracking with global optimization","description":"# Motile Tracker\n\n[![tests](https://github.com/funkelab/motile_tracker/workflows/tests/badge.svg)](https://github.com/funkelab/motile_tracker/actions)\n[![codecov](https://codecov.io/gh/funkelab/motile_tracker/branch/main/graph/badge.svg)](https://codecov.io/gh/funkelab/motile_tracker)\n\n\nAn application for interactive tracking with [motile](https://github.com/funkelab/motile).\nThe full documentation of the plugin can be found [here](https://funkelab.github.io/motile_tracker/).\n\nMotile is a library that makes it easy to solve tracking problems using optimization\nby framing the task as an Integer Linear Program (ILP).\nSee the motile [documentation](https://funkelab.github.io/motile)\nfor more details on the concepts and method.\n\n----------------------------------\n\n## Installation\n\nUsers can download and install an executable application from the github release, or\ninstall from `pypi` in the environment of their choice (e.g. `venv`, `conda`) with the command\n`pip install motile-tracker`.\nCurrently, the motile_tracker requires python >=3.11.\n\n### Recommended extras\n\nFor better performance, you can install optional extras:\n\n- **numba**: Speeds up candidate graph construction significantly.\n  ```bash\n  pip install motile-tracker[numba]\n  ```\n\n- **gurobi**: Uses the Gurobi solver instead of the default open-source solver. Gurobi is\n  much faster but requires a license (free for academics).\n  ```bash\n  pip install motile-tracker[gurobi]\n  ```\n\nYou can install multiple extras at once: `pip install motile-tracker[numba,gurobi]`\n\n### Gurobi license version mismatch\n\nIf you have a Gurobi license and encounter an error about license version mismatch,\nyou may need to install a specific version of `gurobipy` that matches your license.\nUse one of the version-specific extras:\n\n```bash\npip install motile-tracker[gurobi12]  # For Gurobi 12.x licenses\npip install motile-tracker[gurobi13]  # For Gurobi 13.x licenses\n```\n\nDevelopers can clone the GitHub repository and then  use `uv` to install and run the code.\nSee the developer guide in `DEVELOPER.md` for more information.\n\n## Usage\n\nStart napari and call the main widget via Plugins > Motile > Motile Main Widget.\n2D+time and 3D+time sample data can be loaded via File > Open Sample > Motile. You can\ntrack objects in napari Labels or Points layers. For details, please read the\n[documentation](https://funkelab.github.io/motile_tracker/).\n\n![motile_tracker_quick_demo](https://github.com/user-attachments/assets/07a4a954-3d2d-4d67-8f75-aec11ee14697)\n\nIf you are new to using motile-tracker, you can follow this [tutorial](./assets/motile-tracker_tutorial.pdf) to learn the basics.\n\n## Package the application into an executable and create the installer\n\nTagging any branch will automatically trigger the deploy.yml workflow,\nwhich pushes the tagged version to PyPi and creates a github release; draft release if the tag contains \"-dev\", pre-release if the tag contains \"-rc' or a full release otherwise. In case of a draft or pre release, when the user updates the release notes and promotes it to a published release, github will trigger `make_bundle_app.yml` workflow which will create the Linux, Mac and Windows installer and will upload them as release artifacts to github.\n\n## Issues\n\nIf you encounter any problems, please\n[file an issue](https://github.com/funkelab/motile_tracker/issues)\nalong with a detailed description.\n","description_content_type":"text/markdown","keywords":null,"home_page":null,"download_url":null,"author":null,"author_email":"Caroline Malin-Mayor <malinmayorc@janelia.hhmi.org>","maintainer":null,"maintainer_email":null,"license":"BSD 3-Clause License","classifier":["Development Status :: 5 - Production/Stable","Framework :: napari","Intended Audience :: Developers","Intended Audience :: End Users/Desktop","Intended Audience :: Science/Research","License :: OSI Approved :: BSD License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["napari<1,>=0.6.2","funtracks<3,>=1.9.1","appdirs<2,>=1","numpy<3,>=2","magicgui>=0.10.1","qtpy<3,>=2.4","scikit-image>=0.25","motile>=0.3","pydantic<3,>=2","tifffile[all]>=2025.1.10","tqdm<5,>=4","dask[array]>=2021.10.0","fonticon-fontawesome6<7,>=6","pyqtgraph<1,>=0.13","napari-orthogonal-views>=0.2.1","lxml_html_clean<1,>=0.4","zarr<4,>=2.18.7","numba>=0.62.1; extra == \"numba\"","gurobipy; extra == \"gurobi\"","gurobipy<13,>=12; extra == \"gurobi12\"","gurobipy<14,>=13; extra == \"gurobi13\"","pyqt6<7,>=6.7; extra == \"all\""],"requires_python":">=3.11","requires_external":null,"project_url":["Bug Tracker, https://github.com/funkelab/motile_tracker/issues","Documentation, https://funkelab.github.io/motile_tracker/"],"provides_extra":["numba","gurobi","gurobi12","gurobi13","all"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}