Skip to content

Commit

Permalink
6 CPUs and README
Browse files Browse the repository at this point in the history
  • Loading branch information
elisabettai committed Feb 9, 2024
1 parent e67c045 commit ee36856
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 20 deletions.
2 changes: 1 addition & 1 deletion .osparc/runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ settings:
type: Resources
value:
Limits:
NanoCPUs: 8000000000
NanoCPUs: 6000000000
MemoryBytes: 32000000000
GenericResources:
- DiscreteResourceSpec:
Expand Down
72 changes: 53 additions & 19 deletions README.md
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

0 comments on commit ee36856

Please sign in to comment.