-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e67c045
commit ee36856
Showing
2 changed files
with
54 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,61 @@ | ||
# | ||
# AxonDeepSeg GUI on o²S²PARC | ||
|
||
AxonDeepSeg in JupyterLab | ||
![](https://github.com/axondeepseg/axondeepseg/blob/master/docs/source/_static/logo_ads-alpha.png?raw=true) | ||
|
||
## Usage | ||
This repository packages AxonDeepSeg as part of a JupyterLab Service on o²S²PARC. It also adds support for pytorch+GPU/CUDA. | ||
|
||
```console | ||
$ make help | ||
AxonDeepSeg is an open-source software using deep learning and aiming at automatically segmenting axons and myelin sheaths from microscopy images. It performs 3-class semantic segmentation using a convolutional neural network. AxonDeepSeg was developed at NeuroPoly Lab, Polytechnique Montreal, University of Montreal, Canada. See [GitHub repository](https://github.com/axondeepseg/axondeepseg/) and [Documentation](https://axondeepseg.readthedocs.io/en/latest/index.html) for more information. | ||
|
||
The base of the Service was built with the [cookiecutter-osparc-ui-module](https://git.speag.com/oSparc/cookiecutter-osparc-ui-module), using [supervisord](http://supervisord.org/), [xtigervnc](https://tigervnc.org/), [novnc](https://novnc.com/info.html) and [openbox](http://openbox.org/wiki/Main_Page) | ||
|
||
## Citation | ||
|
||
If you use this work in your research, please cite: | ||
|
||
Zaimi, A., Wabartha, M., Herman, V., Antonsanti, P.-L., Perone, C. S., & Cohen-Adad, J. (2018). AxonDeepSeg: automatic axon and myelin segmentation from microscopy data using convolutional neural networks. Scientific Reports, 8(1), 3816. [Link to the paper](https://doi.org/10.1038/s41598-018-22181-4). | ||
|
||
## How to develop this o²S²PARC Service | ||
|
||
### Usage | ||
|
||
Build the module: | ||
```console | ||
$ make build | ||
$ make run-local | ||
``` | ||
To run locally at and visit http://127.0.0.1:8888 | ||
```console | ||
make run-local | ||
``` | ||
To publish in local throw-away registry: | ||
```console | ||
make publish-local | ||
``` | ||
|
||
|
||
### Versioning | ||
Service version is updated with ``make version-*`` | ||
|
||
### CI/CD Integration | ||
A template ci config file is created in ```.github/workflows/check-image.yml```, it checks that the image builds. When the workflow runs successfully for a new version (on the main branch), this is automatically detected and published on the internal registry (see also "Deployment on o²S²PARC" in this README) | ||
|
||
### Deployment on o²S²PARC | ||
|
||
The required CI is already packaged. | ||
To build and push to the internal registry you must add it to the [oSparc/docker-publisher-osparc-services](https://git.speag.com/oSparc/docker-publisher-osparc-services) repository. | ||
|
||
## How to test the Application | ||
Run locally and visit http://127.0.0.1:8888: | ||
```console | ||
make run-local | ||
``` | ||
Or publish it in a local o²S²PARC deploy: | ||
```console | ||
make publish-local | ||
``` | ||
Perform a test segmentation as shown in this [video tutorial](https://youtu.be/zibDbpko6ko). You can use as input the image from this repository (from ```validation/inputs/input_1```) or others provided by AxonDeepSeg (e.g. [in this repository](https://github.com/axondeepseg/default-SEM-model/tree/main/model_seg_rat_axon-myelin_sem/data_test)). The input folder will be mounted in ```tmp/inputs``` | ||
|
||
## Changelog | ||
|
||
|
||
## Workflow | ||
1. The [Dockerfile](jupyter-axondeepseg/src/Dockerfile) shall be modified to install additional packages and/or Jupyter kernels | ||
2. The [.osparc](.osparc) is the configuration folder and source of truth for metadata: describes service info and expected inputs/outputs of the service. | ||
3. The service docker image may be built with ``make build`` (see usage above) | ||
4. The service docker image may be built with ``make run-local`` (see usage above) | ||
5. If the image works correctly, you'll be able to access the JupyterLab interface in your browser at ``localhost:8888`` | ||
|
||
## Have an issue or question? | ||
Please open an issue [in this repository](https://github.com/ITISFoundation/cookiecutter-osparc-service/issues/). | ||
--- | ||
<p align="center"> | ||
<image src="https://github.com/ITISFoundation/osparc-simcore-python-client/blob/4e8b18494f3191d55f6692a6a605818aeeb83f95/docs/_media/mwl.png" alt="Made with love at www.z43.swiss" width="20%" /> | ||
</p> | ||
### [1.0.0] - 2023-12-22 | ||
First version |