mammography-plugin/README.md

125 lines
3.8 KiB
Markdown

Mammography plugin for Orthanc
==============================
This plugin for [Orthanc](https://orthanc.uclouvain.be/) adds a **deep
learning algorithm to detect masses in scanned mammograms**. The inference
algorithm produces DICOM-SR (structured reports) instances that are
stored inside Orthanc. The DICOM-SR instance can then be displayed
using a version of the [Stone Web viewer for
Orthanc](https://www.orthanc-server.com/static.php?page=stone-web-viewer).
[Reference paper](https://ebooks.iospress.nl/doi/10.3233/SHTI240603),
in the BibTeX format:
```BibTeX
@inproceedings{OrthancMIE2024,
title = {Integrated and Interoperable Platform for Detecting Masses on Mammograms},
author = {Chatzopoulos, Edouard and Jodogne, S\'ebastien},
booktitle = {34th Medical Informatics Europe Conference (MIE 2024)},
address = {Athens, Greece},
journal = {Studies in Health Technology and Informatics},
volume = {316},
pages = {1103-1107},
issn = {1879-8365},
doi = {10.3233/SHTI240603},
publisher = {{IOS} Press},
year = {2024}
}
```
This plugin is copyrighted by the UCLouvain university, under the
AGPLv3+ license. It is a deliverable of the research lab led by
[Sébastien Jodogne](https://info.ucl.ac.be/~sjodogne/).
![Example](viewer/2024-03-09-FirstDicomSR.png)
Setup
-----
Make sure that Python 3 is installed with support of [virtual
environments](https://docs.python.org/3/library/venv.html). Under
Debian/Ubuntu distributions, this can be done by running:
```
$ sudo apt update
$ sudo apt install python3 python3-venv
```
Evidently, you also have to [install
Orthanc](https://www.orthanc-server.com/download.php). The mammography
plugin requires the two following plugins for Orthanc to be installed:
* [Python plugin](https://orthanc.uclouvain.be/book/plugins/python.html).
* [DICOMweb plugin](https://orthanc.uclouvain.be/book/plugins/dicomweb.html), if you want to use the DICOM-SR viewer.
Configuration
-------------
Firstly, clone this repository:
```
$ cd /tmp/
$ git clone https://github.com/jodogne/orthanc-mammography/
```
Secondly, setup the Python virtual environment with the required
dependencies:
```
$ cd /tmp/orthanc-mammography/
$ python3 -m venv venv
$ source ./venv/bin/activate
(venv) python3 -m pip install --upgrade pip
(venv) python3 -m pip install -r requirements.txt
```
Thirdly, create a [configuration
file](https://orthanc.uclouvain.be/book/plugins/dicomweb.html#installation)
for Orthanc with Python. A minimalist configuration file would look
like (make sure to adapt the path to the virtual environment,
depending on your version of Python):
```json
{
"Plugins" : [
"...list of paths to the Python and DICOMweb plugins..."
],
"Python" : {
"Path" : "./mammography.py"
},
"Mammography" : {
"VirtualEnv" : "./venv/lib/python3.10/site-packages/"
}
}
```
Finally, start Orthanc using this configuration file.
Usage
-----
Two samples images from the [CBIS-DDSM
dataset](https://wiki.cancerimagingarchive.net/pages/viewpage.action?pageId=22516629)
are available in the [`./sample-images/` folder](./sample-images/).
[Upload DICOM images of mammograms to
Orthanc](https://orthanc.uclouvain.be/book/users/cookbook.html#uploading-dicom-files).
Using the built-in [Orthanc
Explorer](http://localhost:8042/app/explorer.html) interface of
Orthanc, go down in the DICOM hierarchy until you reach a DICOM
instance whose modality is `MG` (mammogram). The yellow button `Deep
learning for mammography` will appear.
Clicking on the button will launch the deep learning inference. Once
the inference is done (this takes about 5 seconds on a standard
laptop), Orthanc Explorer is automatically redirected to the
newly-created DICOM series that contains the DICOM-SR instance with
the results of the inference.
You can then click on the yellow button `Stone Web viewer (for
mammography)` to display the content of the DICOM-SR.