-
Notifications
You must be signed in to change notification settings - Fork 7
/
cut-detector.json
120 lines (120 loc) · 9.13 KB
/
cut-detector.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
{
"name": "cut-detector",
"display_name": "Cut Detector",
"visibility": "public",
"icon": "",
"categories": [],
"schema_version": "0.2.1",
"on_activate": null,
"on_deactivate": null,
"contributions": {
"commands": [
{
"id": "cut-detector.whole_process",
"title": "Single Video",
"python_name": "cut_detector._widget:whole_process",
"short_title": null,
"category": null,
"icon": null,
"enablement": null
},
{
"id": "cut-detector.whole_process_folder",
"title": "Folder",
"python_name": "cut_detector._widget:whole_process_folder",
"short_title": null,
"category": null,
"icon": null,
"enablement": null
}
],
"readers": null,
"writers": null,
"widgets": [
{
"command": "cut-detector.whole_process",
"display_name": "Single Video",
"autogenerate": false
},
{
"command": "cut-detector.whole_process_folder",
"display_name": "Folder",
"autogenerate": false
}
],
"sample_data": null,
"themes": null,
"menus": {},
"submenus": null,
"keybindings": null,
"configuration": []
},
"package_metadata": {
"metadata_version": "2.1",
"name": "cut-detector",
"version": "1.2.1",
"dynamic": null,
"platform": null,
"supported_platform": null,
"summary": "Automatic Cut Detector",
"description": "# Cut Detector\n\n[![License BSD-3](https://img.shields.io/pypi/l/cut-detector.svg?color=green)](https://github.com/15bonte/cut-detector/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/cut-detector.svg?color=green)](https://pypi.org/project/cut-detector)\n[![Python Version](https://img.shields.io/pypi/pyversions/cut-detector.svg?color=green)](https://python.org)\n[![tests](https://github.com/15bonte/cut-detector/workflows/tests/badge.svg)](https://github.com/15bonte/cut-detector/actions)\n[![codecov](https://codecov.io/gh/15bonte/cut-detector/branch/main/graph/badge.svg)](https://codecov.io/gh/15bonte/cut-detector)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/cut-detector)](https://napari-hub.org/plugins/cut-detector)\n\nAutomatic micro-tubule cut detector.\n\nhttps://github.com/user-attachments/assets/89d63336-729c-43c1-8fa3-43a4ec4cfc87\n\n---\n\nThis [napari] plugin was generated with [Cookiecutter] using [@napari]'s [cookiecutter-napari-plugin] template.\n\n<!--\nDon't miss the full getting started guide to set up your new package:\nhttps://github.com/napari/cookiecutter-napari-plugin#getting-started\n\nand review the napari docs for plugin developers:\nhttps://napari.org/stable/plugins/index.html\n-->\n\n<video width=\"640\" height=\"480\" controls>\n <source src=\"https://github.com/15bonte/cut-detector-models/blob/main/demo.mp4\" type=\"video/mp4\">\n Your browser does not support the video tag.\n</video>\n\n## Installation\n\n### Conda environment\n\nIt is highly recommended to create a dedicated conda environment, by following these few steps:\n\n1. Install an [Anaconda] distribution of Python. Note you might need to use an anaconda prompt if you did not add anaconda to the path.\n\n2. Open an Anaconda prompt as admin to create a new environment using [conda]. We advice to use python 3.10 and conda 23.10.0, to get conda-libmamba-solver as default solver.\n\n```\nconda create --name cut_detector python=3.10 conda=23.10.0\nconda activate cut_detector\n```\n\n### Package installation\n\nOnce in a dedicated environment, our package can be installed via [pip]:\n\n```\npip install cut_detector\n```\n\nAlternatively, you can clone the github repo to access to playground scripts.\n\n```\ngit clone https://github.com/15bonte/cut-detector.git\ncd cut-detector\npip install -e .\n```\n\n### GPU\n\nWe highly recommend to use GPU to speed up segmentation. To use your NVIDIA GPU, the first step is to download the dedicated driver from [NVIDIA].\n\nNext we need to remove the CPU version of torch:\n\n```\npip uninstall torch\n```\n\nThe GPU version of torch to be installed can be found [here](https://pytorch.org/get-started/locally/). You may choose the CUDA version supported by your GPU, and install it with conda. This package has been developed with the version 11.6, installed with this command:\n\n```\nconda install pytorch==1.12.1 torchvision pytorch-cuda=11.6 -c pytorch -c nvidia\n```\n\n## Update\n\nTo update cut-detector to the latest version, open an Anaconda prompt and use the following commands:\n\n```\nconda activate cut_detector\npip install cut-detector --upgrade\n```\n\n## Definitions\n\nEach detected cell division is labeled with one of the following categories:\n\n- NORMAL: Division happening as expected, where (at least) 1 micro-tubule cut is detected.\n- NO_MID_BODY_DETECTED: Along the cell division, no mid-body was detected on the MKLP1 channel. This category encompasses different cases: the detection may have failed, the mid-body may not express the fluorescence, or this may not actually be a division.\n- MORE_THAN_TWO_DAUGHTER_TRACKS: Tripolar division. This category encompasses both actual tripolar divisions and wrong identifications of daughter cells (mainly caused by segmentation issues).\n- NEAR_BORDER: Division close to the border of the image, hence ignored as it is likely to be difficult to detect micro-tubule cuts. A division is classified as NEAR_BORDER as soon as the distance between 1 detected mid-body and the border of the image is less than 20px.\n- NO_CUT_DETECTED: Division whose mid-body was detected, but with all micro-tubule bridges classified as \"No cut\". Likely to be at the end of the video, cells dying before the end of division, or cells going out of frame.\n- TOO_SHORT_CUT: First micro-tubule cut detected before 50 minutes. Ignored as this is very unlikely, so it is probably caused by a wrong division detection.\n\n## Contributing\n\nContributions are very welcome. Tests can be run with [tox], please ensure\nthe coverage at least stays the same before you submit a pull request.\n\n## License\n\nDistributed under the terms of the [BSD-3] license,\n\"cut-detector\" is free and open source software\n\n## Issues\n\nIf you encounter any problems, please [file an issue] along with a detailed description.\n\n[napari]: https://github.com/napari/napari\n[Cookiecutter]: https://github.com/audreyr/cookiecutter\n[@napari]: https://github.com/napari\n[MIT]: http://opensource.org/licenses/MIT\n[BSD-3]: http://opensource.org/licenses/BSD-3-Clause\n[GNU GPL v3.0]: http://www.gnu.org/licenses/gpl-3.0.txt\n[GNU LGPL v3.0]: http://www.gnu.org/licenses/lgpl-3.0.txt\n[Apache Software License 2.0]: http://www.apache.org/licenses/LICENSE-2.0\n[Mozilla Public License 2.0]: https://www.mozilla.org/media/MPL/2.0/index.txt\n[cookiecutter-napari-plugin]: https://github.com/napari/cookiecutter-napari-plugin\n[file an issue]: https://github.com/15bonte/cut-detector/issues\n[napari]: https://github.com/napari/napari\n[tox]: https://tox.readthedocs.io/en/latest/\n[pip]: https://pypi.org/project/pip/\n[PyPI]: https://pypi.org/\n[Anaconda]: https://www.anaconda.com/products/distribution\n[Fiji]: https://imagej.net/software/fiji/\n[NVIDIA]: https://www.nvidia.com/Download/index.aspx?lang=en-us\n[conda]: https://docs.conda.io/en/latest/\n",
"description_content_type": "text/markdown",
"keywords": null,
"home_page": "https://github.com/15bonte/cut-detector",
"download_url": null,
"author": "Thomas Bonte",
"author_email": "[email protected]",
"maintainer": null,
"maintainer_email": null,
"license": "BSD-3-Clause",
"classifier": [
"Development Status :: 2 - Pre-Alpha",
"Framework :: napari",
"Intended Audience :: Developers",
"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.9",
"Programming Language :: Python :: 3.10",
"Topic :: Scientific/Engineering :: Image Processing"
],
"requires_dist": [
"cellpose==3.0.9",
"pyimagej",
"cnn-framework==0.0.16",
"magicgui",
"pydantic==1.10.12",
"xmltodict",
"shapely",
"aicsimageio==4.14.0",
"fsspec==2023.6.0",
"charset-normalizer==3.3.0",
"napari[all]",
"laptrack==0.16.2",
"scikit-learn==1.5.0",
"numba>=0.59.1",
"tox; extra == \"testing\"",
"pytest; extra == \"testing\"",
"pytest-cov; extra == \"testing\"",
"pytest-qt; extra == \"testing\"",
"napari; extra == \"testing\"",
"pyqt5; extra == \"testing\""
],
"requires_python": ">=3.9",
"requires_external": null,
"project_url": [
"Bug Tracker, https://github.com/15bonte/cut-detector/issues",
"Documentation, https://github.com/15bonte/cut-detector#README.md",
"Source Code, https://github.com/15bonte/cut-detector",
"User Support, https://github.com/15bonte/cut-detector/issues"
],
"provides_extra": [
"testing"
],
"provides_dist": null,
"obsoletes_dist": null
},
"npe1_shim": false
}