You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Consolidate project config into pyproject and modernize CI
Remove legacy packaging and test config files (setup.cfg, requirements.txt, .isort.cfg, napari_cellseg3d/_tests/pytest.ini, and its conftest). Migrate and update metadata in pyproject.toml: bump supported Python classifiers to 3.10–3.12, add napari manifest entry-point, include napari.yaml in package data, simplify dynamic fields, adjust optional dependencies (add PyQt6, pyside6, move pydensecrf2 to crf extra) and streamline dev dependencies (remove black/isort as direct dev deps). Update tooling rules (ruff token change) and remove redundant tool configs. Update tox.ini to target py310/311/312 across linux/windows/macos, expose platform mappings for GH Actions, and switch to using extras for test/crf/pyqt6 while keeping usedevelop and running pytest as the test command.
* Modernize pyproject and update pre-commit hooks
Bump and extend pre-commit configuration and migrate pyproject to a PEP 621 style layout. .pre-commit-config.yaml: update pre-commit-hooks rev, replace/update ruff hook to astral-sh/ruff-pre-commit with auto-fix and unsafe-fixes, add ruff-format, mdformat (with mdformat-myst), pyproject-fmt and validate-pyproject hooks; keep napari-plugin-checks. pyproject.toml: add [build-system], normalize project metadata (name, license, requires-python, classifiers), move authors to [[project.authors]], declare dynamic version, reorganize and deduplicate dependencies and optional-dependencies, add project.urls and napari entry-point, add [tool.setuptools] packaging settings, move and refine ruff configuration under [tool.ruff.lint], and add [tool.pyproject-fmt] settings. Overall this modernizes packaging and enables enhanced linting/formatting via pre-commit hooks.
* Run updated pre-commit
* Re-run pre-commit on all
* Migrate pyproject.toml to PEP 621 tables
Rework pyproject.toml to use canonical PEP 621 / table-based metadata and tidy tool configs. Authors moved to [[project.authors]], entry points to [project.entry-points], and optional dependencies to [project.optional-dependencies]; project.urls was added. Setuptools package-data and packages entries were converted to table form. Cleaned up classifiers (removed 3.13/3.14) and relocated ruff/pydocstyle settings under [tool.ruff.*]. Added [tool.pyproject-fmt] formatting options. No functional dependency versions were changed—this is metadata/formatting only to improve packaging/tooling compatibility.
Copy file name to clipboardExpand all lines: .napari/DESCRIPTION.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
-
2
1
<!---->
2
+
3
3
<!--
4
4
TODO : complete
5
5
This file is designed to provide you with a starting template for documenting
@@ -10,6 +10,7 @@ The sections below are given as a guide for the flow of information only, and
10
10
are in no way prescriptive. You should feel free to merge, remove, add and
11
11
rename sections at will to make this document work best for your plugin.
12
12
-->
13
+
13
14
## Description
14
15
15
16
A napari plugin for 3D cell segmentation: training, inference, and data review. In particular, this project was developed for analysis of mesoSPIM-acquired (cleared tissue + lightsheet) datasets.
@@ -46,6 +47,7 @@ Here is an example of an mp4 video embedded this way.
**A package for 3D cell segmentation with deep learning, including a napari plugin**: training, inference, and data review. In particular, this project was developed for analysis of confocal and mesoSPIM-acquired (cleared tissue + lightsheet) tissue datasets, but is not limited to this type of data. [Check out our publication for more information!](https://elifesciences.org/articles/99848)
💻 See the [Installation page](https://adaptivemotorcontrollab.github.io/CellSeg3D/welcome.html) in the documentation for detailed instructions.
20
+
💻 See the [Installation page](https://adaptivemotorcontrollab.github.io/CellSeg3D/welcome.html) in the documentation for detailed instructions.
22
21
23
22
## Documentation
24
23
@@ -33,21 +32,22 @@ pip install napari_cellseg3d
33
32
```
34
33
35
34
To use the plugin, please run:
35
+
36
36
```
37
37
napari
38
38
```
39
+
39
40
Then go into `Plugins > napari_cellseg3d`, and choose which tool to use.
40
41
41
42
-**Review (label)**: This module allows you to review your labels, from predictions or manual labeling, and correct them if needed. It then saves the status of each file in a csv, for easier monitoring.
42
43
-**Inference**: This module allows you to use pre-trained segmentation algorithms on volumes to automatically label cells and compute statistics.
43
-
-**Train**: This module allows you to train segmentation algorithms from labeled volumes.
44
+
-**Train**: This module allows you to train segmentation algorithms from labeled volumes.
44
45
-**Utilities**: This module allows you to perform several actions like cropping your volumes and labels dynamically, by selecting a fixed size volume and moving it around the image; fragment images into smaller cubes for training; or converting labels from instance to segmentation and the opposite.
45
46
46
47
## Why use CellSeg3D?
47
48
48
49
The strength of our approach is we can match supervised model performance with purely self-supervised learning, meaning users don't need to spend (hundreds) of hours on annotation. Here is a quick look of our key results. TL;DR see panel **f**, which shows that with minmal input data we can outperform supervised models:
1. Launch napari, the plugin should be available in the plugins menu.
133
135
134
136
## Issues
135
137
136
138
**Help us make the code better by reporting issues and adding your feature requests!**
137
139
138
-
139
140
If you encounter any problems, please [file an issue] along with a detailed description.
140
141
141
142
## Testing
142
143
143
-
You can generate docs locally by running ``make html`` in the docs/ folder.
144
+
You can generate docs locally by running `make html` in the docs/ folder.
144
145
145
-
Before testing, install all requirements using ``pip install napari-cellseg3d[test]``.
146
+
Before testing, install all requirements using `pip install napari-cellseg3d[test]`.
146
147
147
-
``pydensecrf`` is also required for testing.
148
+
`pydensecrf` is also required for testing.
148
149
149
150
To run tests locally:
150
151
151
-
- Locally : run ``pytest napari_cellseg3d\_tests`` in the plugin folder.
152
-
- Locally with coverage : In the plugin folder, run ``coverage run --source=napari_cellseg3d -m pytest`` then ``coverage xml`` to generate a .xml coverage file.
153
-
- With tox : run ``tox`` in the plugin folder (will simulate tests with several python and OS configs, requires substantial storage space)
152
+
- Locally : run `pytest napari_cellseg3d\_tests` in the plugin folder.
153
+
- Locally with coverage : In the plugin folder, run `coverage run --source=napari_cellseg3d -m pytest` then `coverage xml` to generate a .xml coverage file.
154
+
- With tox : run `tox` in the plugin folder (will simulate tests with several python and OS configs, requires substantial storage space)
154
155
155
156
## Contributing
156
157
@@ -170,23 +171,6 @@ Distributed under the terms of the [MIT] license.
170
171
171
172
"napari-cellseg3d" is free and open source software.
Copy file name to clipboardExpand all lines: docs/source/guides/training_wnet.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ The WNet3D **does not require a large amount of data to train**, but **choosing
18
18
19
19
You may find below some guidelines, based on our own data and testing.
20
20
21
-
The WNet3D is a self-supervised learning approach for 3D cell segmentation, and relies on the assumption that structural and morphological features of cells can be inferred directly from unlabeled data. This involves leveraging inherent properties such as spatial coherence and local contrast in imaging volumes to distinguish cellular structures. This approach assumes that meaningful representations of cellular boundaries and nuclei can emerge solely from raw 3D volumes. Thus, we strongly recommend that you use WNet3D on stacks that have clear foreground/background segregation and limited noise. Even if your final samples have noise, it is best to train on data that is as clean as you can.
21
+
The WNet3D is a self-supervised learning approach for 3D cell segmentation, and relies on the assumption that structural and morphological features of cells can be inferred directly from unlabeled data. This involves leveraging inherent properties such as spatial coherence and local contrast in imaging volumes to distinguish cellular structures. This approach assumes that meaningful representations of cellular boundaries and nuclei can emerge solely from raw 3D volumes. Thus, we strongly recommend that you use WNet3D on stacks that have clear foreground/background segregation and limited noise. Even if your final samples have noise, it is best to train on data that is as clean as you can.
0 commit comments