Cut Detector
Automatic Cut Detector
Automatic micro-tubule cut detector.
https://github.com/user-attachments/assets/356efbf6-d78a-44a0-ad94-de3de83f01ed
This napari plugin was generated with Cookiecutter using @napari's cookiecutter-napari-plugin template.
Your browser does not support the video tag.Installation¶
Conda environment¶
It is highly recommended to create a dedicated conda environment, by following these few steps:
-
Install an Anaconda distribution of Python. Note you might need to use an anaconda prompt if you did not add anaconda to the path.
-
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.
conda create --name cut_detector python=3.10 conda=23.10.0
conda activate cut_detector
Package installation¶
Once in a dedicated environment, our package can be installed via pip:
pip install cut_detector
Alternatively, you can clone the github repo to access to playground scripts.
git clone https://github.com/15bonte/cut-detector.git
cd cut-detector
pip install -e .
GPU¶
We 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.
Next we need to remove the CPU version of torch:
pip uninstall torch
The GPU version of torch to be installed can be found here. 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:
conda install pytorch==1.12.1 torchvision pytorch-cuda=11.6 -c pytorch -c nvidia
Update¶
To update cut-detector to the latest version, open an Anaconda prompt and use the following commands:
conda activate cut_detector
pip install cut-detector --upgrade
Definitions¶
Each detected cell division is labeled with one of the following categories:
- NORMAL: Division happening as expected, where (at least) 1 micro-tubule cut is detected.
- 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.
- 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).
- 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.
- 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.
- TOO_SHORT_CUT: First micro-tubule cut detected before or at 50 minutes. Ignored as this is very unlikely, so it is probably caused by a wrong division detection.
Contributing¶
Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.
License¶
Distributed under the terms of the BSD-3 license, "cut-detector" is free and open source software
Issues¶
If you encounter any problems, please file an issue along with a detailed description.
Supported data:
- Information not submitted
Plugin type:
GitHub activity:
- Stars: 1
- Forks: 1
- Issues + PRs: 2
GitHub activity:
- Stars: 1
- Forks: 1
- Issues + PRs: 2
Requirements:
- 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