Skip to content

Commit d86c908

Browse files
authored
Merge branch 'main' into cy/v0.2.0
2 parents 9b35ded + 31db751 commit d86c908

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1229
-1646
lines changed

.github/workflows/test_and_deploy.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ on:
77
push:
88
branches:
99
- main
10-
- cy/training
1110
tags:
1211
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10
1312
pull_request:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ wandb/
126126
!napari_cellseg3d/_tests/res/wnet_test/*.tif
127127
!napari_cellseg3d/_tests/res/wnet_test/lab/*.tif
128128
!napari_cellseg3d/_tests/res/wnet_test/vol/*.tif
129+
!examples/*
129130

130131
#include docs images
131132
!docs/source/logo/*

.napari/DESCRIPTION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ this information here.
117117
## Getting Help
118118

119119
If you would like to report an issue with the plugin,
120-
please open an [issue on Github](https://github.com/AdaptiveMotorControlLab/CellSeg3d/issues)
120+
please open an [issue on Github](https://github.com/AdaptiveMotorControlLab/CellSeg3D/issues)
121121
<!--
122122
This section should point users to your preferred support tools, whether this be raising
123123
an issue on GitHub, asking a question on image.sc, or using some other method of contact.

.napari/config.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ visibility: public
22
# note : remember to add napari-hub preview app to repo
33

44
project_urls:
5-
Bug Tracker: https://github.com/AdaptiveMotorControlLab/CellSeg3d/issues
6-
Documentation: https://adaptivemotorcontrollab.github.io/CellSeg3d/res/welcome.html
7-
Source Code: https://github.com/AdaptiveMotorControlLab/CellSeg3d
8-
Project Site: https://github.com/AdaptiveMotorControlLab/CellSeg3d
9-
User Support: https://github.com/AdaptiveMotorControlLab/CellSeg3d/issues
5+
Bug Tracker: https://github.com/AdaptiveMotorControlLab/CellSeg3D/issues
6+
Documentation: https://adaptivemotorcontrollab.github.io/CellSeg3D/res/welcome.html
7+
Source Code: https://github.com/AdaptiveMotorControlLab/CellSeg3D
8+
Project Site: https://github.com/AdaptiveMotorControlLab/CellSeg3D
9+
User Support: https://github.com/AdaptiveMotorControlLab/CellSeg3D/issues
1010

1111
# Add labels from the EDAM Bioimaging ontology
1212
labels:

CODE_OF_CONDUCT.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [email protected]. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

README.md

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
[![PyPI](https://img.shields.io/pypi/v/napari-cellseg3d.svg?color=green)](https://pypi.org/project/napari-cellseg3d)
66
[![Downloads](https://static.pepy.tech/badge/napari-cellseg3d)](https://pepy.tech/project/napari-cellseg3d)
77
[![Downloads](https://static.pepy.tech/badge/napari-cellseg3d/month)](https://pepy.tech/project/napari-cellseg3d)
8-
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/AdaptiveMotorControlLab/CellSeg3d/raw/main/LICENSE)
8+
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/AdaptiveMotorControlLab/CellSeg3D/raw/main/LICENSE)
99
[![Python Version](https://img.shields.io/pypi/pyversions/napari-cellseg-annotator.svg?color=green)](https://python.org)
10-
[![codecov](https://codecov.io/gh/AdaptiveMotorControlLab/CellSeg3d/branch/main/graph/badge.svg?token=hzUcn3XN8F)](https://codecov.io/gh/AdaptiveMotorControlLab/CellSeg3d)
10+
[![codecov](https://codecov.io/gh/AdaptiveMotorControlLab/CellSeg3D/branch/main/graph/badge.svg?token=hzUcn3XN8F)](https://codecov.io/gh/AdaptiveMotorControlLab/CellSeg3D)
1111
[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-cellseg3d)](https://www.napari-hub.org/plugins/napari-cellseg3d)
1212

1313
- 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.
@@ -20,7 +20,7 @@
2020

2121
## Documentation
2222

23-
📚 A lot of documentation is available at https://AdaptiveMotorControlLab.github.io/CellSeg3d
23+
📚 A lot of documentation is available at https://AdaptiveMotorControlLab.github.io/CellSeg3D
2424

2525
You can also generate docs by running ``make html`` in the docs/ folder.
2626

@@ -62,39 +62,48 @@ Previous additions :
6262

6363

6464

65-
### Install note for M1/M2 Mac users
65+
### Install note for ARM64 (Silicon) Mac users
6666

6767
To avoid issues when installing on the ARM64 architecture, please follow these steps.
6868

69-
1) Create a new conda env using the provided conda/napari_cellseg3d_m1.yml file :
69+
1) Create a new conda env using the provided conda/napari_CellSeg3D_ARM64.yml file :
7070

7171
git clone https://github.com/AdaptiveMotorControlLab/CellSeg3d.git
7272
cd CellSeg3d
73-
conda env create -f conda/napari_cellseg3d_m1.yml
74-
conda activate napari_cellseg3d_m1
73+
conda env create -f conda/CellSeg3D_ARM64.yml
74+
conda activate napari_CellSeg3D_ARM64
7575

76-
2) Install the plugin.
77-
From repository root folder, run :
7876

79-
pip install -e .
80-
OR directly via PyPi :
77+
2) Install a Qt backend (PySide or PyQt5)
78+
3) Launch napari, the plugin should be available in the plugins menu.
8179

82-
pip install napari-cellseg3d
83-
84-
OR directly via [napari-hub] (see Installation section above)
8580

8681

8782
## Requirements
8883

8984
**Python 3.8 or 3.9 required.**
9085
Requires **[napari]**, **[PyTorch]** and **[MONAI]**.
86+
Compatible with Windows, MacOS and Linux.
87+
Installation should not take more than 30 minutes, depending on your internet connection.
9188

9289
For PyTorch, please see [the PyTorch website for installation instructions].
9390

9491
A CUDA-capable GPU is not needed but very strongly recommended, especially for training.
9592

9693
If you get errors from MONAI regarding missing readers, please see [MONAI's optional dependencies] page for instructions on getting the readers required by your images.
9794

95+
## Quick demo
96+
97+
After installation, you can run the plugin by running:
98+
99+
napari
100+
101+
and launching the plugin from the Plugins menu.
102+
You may use the test volume in the `examples` folder to test the inference and review tools.
103+
This should run in far less than five minutes on a modern computer.
104+
105+
You may also find a demo Colab notebook in the `notebooks` folder.
106+
98107
## Issues
99108

100109
**Help us make the code better by reporting issues and adding your feature requests!**
@@ -134,7 +143,7 @@ Distributed under the terms of the [MIT] license.
134143

135144
[napari-hub]: https://www.napari-hub.org/plugins/napari-cellseg3d
136145

137-
[file an issue]: https://github.com/AdaptiveMotorControlLab/CellSeg3d/issues
146+
[file an issue]: https://github.com/AdaptiveMotorControlLab/CellSeg3D/issues
138147
[napari]: https://github.com/napari/napari
139148
[Cookiecutter]: https://github.com/audreyr/cookiecutter
140149
[@napari]: https://github.com/napari
@@ -143,7 +152,7 @@ Distributed under the terms of the [MIT] license.
143152
[tox]: https://tox.readthedocs.io/en/latest/
144153
[pip]: https://pypi.org/project/pip/
145154
[PyPI]: https://pypi.org/
146-
[Installation page]: https://adaptivemotorcontrollab.github.io/CellSeg3d/source/guides/installation_guide.html
155+
[Installation page]: https://adaptivemotorcontrollab.github.io/CellSeg3D/source/guides/installation_guide.html
147156
[the PyTorch website for installation instructions]: https://pytorch.org/get-started/locally/
148157
[PyTorch]: https://pytorch.org/get-started/locally/
149158
[MONAI's optional dependencies]: https://docs.monai.io/en/stable/installation.html#installing-the-recommended-dependencies
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: napari_cellseg3d_m1
1+
name: napari_CellSeg3D_ARM64
22
channels:
33
- anaconda
44
- conda-forge
@@ -11,18 +11,14 @@ dependencies:
1111
- pip:
1212
- numpy
1313
- napari>=0.4.14
14-
# - opencv-python>=4.5.5
1514
- scikit-image>=0.19.2
1615
- matplotlib>=3.4.1
1716
- tifffile>=2022.2.9
18-
# - imageio-ffmpeg>=0.4.5
1917
- torch>=1.11
2018
- monai[nibabel, einops]>=0.9.0
2119
- tqdm
22-
# - nibabel
2320
- scikit-image
24-
# - pillow
2521
- pyclesperanto-prototype
2622
- tqdm
2723
- matplotlib
28-
# - vispy>=0.9.6
24+
- napari_cellseg3d

docs/_config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ bibtex_bibfiles:
2121

2222
# Information about where the book exists on the web
2323
repository:
24-
url: https://github.com/AdaptiveMotorControlLab/CellSeg3d # Online location of your book
24+
url: https://github.com/AdaptiveMotorControlLab/CellSeg3D # Online location of your book
2525
path_to_book: docs # Optional path to your book, relative to the repository root
2626
branch: main # Which branch of the repository should be used when creating links (optional)
2727

docs/source/guides/custom_model_template.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ To add a custom model, you will need a **.py** file with the following structure
3131
.. note::
3232
**WIP** : Currently you must modify :doc:`model_framework.py <../code/_autosummary/napari_cellseg3d.code_models.model_framework>` as well : import your model class and add it to the ``model_dict`` attribute
3333

34-
.. _file an issue: https://github.com/AdaptiveMotorControlLab/CellSeg3d/issues
34+
.. _file an issue: https://github.com/AdaptiveMotorControlLab/CellSeg3D/issues

docs/source/guides/detailed_walkthrough.rst

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ For quick model checks, check the "Inference" sections in our docs.
3232
If you need to start labeling volumes from scratch or correct initial labels, we recommend consulting the sections on :ref:`Review<walkthrough_reviewing>` section right after :ref:`Cropping <walkthrough_cropping>`.
3333

3434

35+
Launching the plugin
36+
************************
37+
38+
See `Usage section <https://adaptivemotorcontrollab.github.io/CellSeg3D/welcome.html#usage>`_ for instructions on launching the plugin.
39+
3540
Cropping
3641
*********
3742
.. _walkthrough_cropping:
@@ -202,7 +207,7 @@ To visualise some of the results when running on a folder, you can leave the **V
202207
.. note::
203208
Too plot your results, check out the `provided notebooks`_
204209

205-
.. _provided notebooks: https://github.com/AdaptiveMotorControlLab/CellSeg3d/tree/main/notebooks
210+
.. _provided notebooks: https://github.com/AdaptiveMotorControlLab/CellSeg3D/tree/main/notebooks
206211

207212

208213
You can then launch inference and the results will be saved in your specified folder.
@@ -266,6 +271,6 @@ for the plots to work.
266271
Example of the plot present in the notebooks.
267272
Coordinates are based on centroids, the size represents the volume, the color, and the sphericity.
268273

269-
.. _notebooks folder of the repository: https://github.com/AdaptiveMotorControlLab/CellSeg3d/tree/main/notebooks
274+
.. _notebooks folder of the repository: https://github.com/AdaptiveMotorControlLab/CellSeg3D/tree/main/notebooks
270275

271276
With this complete, you can repeat the workflow as needed.

docs/source/guides/inference_module_guide.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ Inference📊
1111
**Inference** allows you to use pre-trained segmentation algorithms, written in Pytorch,
1212
to automatically label cells in 3D volumes.
1313

14+
See `Usage section <https://adaptivemotorcontrollab.github.io/CellSeg3d/welcome.html#usage>`_ for instructions on launching the plugin.
15+
See :ref:`training_module_guide` for instructions on training your own models before inference.
16+
1417
.. important::
1518
Currently, the module supports inference on **3D volumes**. When running on folders, make sure that your image folder
1619
only contains a set of **3D image files** saved with the **`.tif`** extension.

0 commit comments

Comments
 (0)