Skip to content

Commit df9de94

Browse files
Release 0.5 (#1001)
* Prepare for 0.5 release Signed-off-by: Sachidanand Alle <[email protected]> * temp decrease for code cov threshold Signed-off-by: Sachidanand Alle <[email protected]> * fix target url Signed-off-by: Sachidanand Alle <[email protected]> * add deprecation for tta Signed-off-by: Sachidanand Alle <[email protected]> * add links Signed-off-by: Sachidanand Alle <[email protected]> * fix pathology training Signed-off-by: Sachidanand Alle <[email protected]> * fix readme Signed-off-by: Sachidanand Alle <[email protected]> Signed-off-by: Sachidanand Alle <[email protected]>
1 parent d5a8805 commit df9de94

File tree

14 files changed

+141
-144
lines changed

14 files changed

+141
-144
lines changed

.github/codecov.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ coverage:
1313
status:
1414
project:
1515
default:
16-
target: 60%
16+
target: 45%
1717
threshold: 10
1818
base: parent
1919
if_no_uploads: error

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# to use different version of MONAI pass `--build-arg MONAI_IMAGE=...`
1515
# to exclude ORTHANC pass `--build-arg ORTHANC=false`
1616

17-
ARG MONAI_IMAGE=projectmonai/monai:1.0.0rc3
17+
ARG MONAI_IMAGE=projectmonai/monai:1.0.0
1818
ARG ORTHANC=false
1919
ARG BUILD_OHIF=true
2020

README.md

Lines changed: 41 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,12 @@ with [MONAI](https://github.com/Project-MONAI). Refer to full [MONAI Label docum
3737

3838
## Sample Apps in MONAILabel
3939

40-
![DEMO](https://raw.githubusercontent.com/Project-MONAI/MONAILabel/main/docs/images/sampleApps_index.jpeg)
40+
![image](https://raw.githubusercontent.com/Project-MONAI/MONAILabel/main/docs/images/sampleApps_index.jpeg)
4141

42-
Demo on labeling tasks with visualization tools 3D Slicer, OHIF, and QuPath
42+
[MONAI Label](https://youtu.be/m2rYorVwXk4) | [Demo Videos](https://www.youtube.com/c/ProjectMONAI)
4343

44-
[MONAI Label](https://youtu.be/m2rYorVwXk4) | [Demo](https://youtu.be/o8HipCgSZIw?t=1319)
45-
46-
47-
![DEMO](https://raw.githubusercontent.com/Project-MONAI/MONAILabel/main/docs/images/demo.png)
44+
MONAI Label with visualization tools 3D Slicer, OHIF, DSA, QuPath, CVAT etc..
45+
![image](https://raw.githubusercontent.com/Project-MONAI/MONAILabel/main/docs/images/demo.png)
4846
<table>
4947
<tr>
5048
<td><img src="https://raw.githubusercontent.com/Project-MONAI/MONAILabel/main/docs/images/ohif.png" alt="drawing" width="150"/></td>
@@ -58,6 +56,19 @@ Demo on labeling tasks with visualization tools 3D Slicer, OHIF, and QuPath
5856

5957
> _The codebase is currently under active development._
6058
59+
- Framework for developing and deploying MONAI Label Apps to train and infer AI models
60+
- Compositional & portable APIs for ease of integration in existing workflows
61+
- Customizable labeling app design for varying user expertise
62+
- Annotation support via [3DSlicer](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/slicer)
63+
& [OHIF](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/ohif) for radiology
64+
- Annotation support via [QuPath](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/qupath)
65+
, [Digital Slide Archive](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/dsa)
66+
& [CVAT](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/cvat) for
67+
pathology
68+
- Annotation support via [CVAT](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/cvat) for Endoscopy
69+
- PACS connectivity via [DICOMWeb](https://www.dicomstandard.org/using/dicomweb)
70+
- Automated Active Learning workflow for endoscopy using [CVAT](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/cvat)
71+
6172
**Radiology App**
6273
This app has example models to do both interactive and automated segmentation over radiology (3D)
6374
images. Including auto segmentation with the latest deep learning models (e.g., UNet, UNETR) for multiple abdominal
@@ -73,28 +84,16 @@ Demo on labeling tasks with visualization tools 3D Slicer, OHIF, and QuPath
7384
anatomies. The specification for MONAILabel integration of the Bundle app links archived Model-Zoo for customized labeling
7485
(e.g., the third-party transformer model for labeling renal cortex, medulla, and pelvicalyceal system. Interactive tools such as DeepEdits).
7586

76-
- Framework for developing and deploying MONAI Label Apps to train and infer AI models
77-
- Compositional & portable APIs for ease of integration in existing workflows
78-
- Customizable labeling app design for varying user expertise
79-
- Annotation support via [3DSlicer](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/slicer)
80-
& [OHIF](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/ohif) for radiology
81-
- Annotation support via [QuPath](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/qupath)
82-
, [Digital Slide Archive](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/dsa)
83-
& [CVAT](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/cvat) for
84-
pathology
85-
- Annotation support via [CVAT](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/cvat) for Endoscopy
86-
- PACS connectivity via [DICOMWeb](https://www.dicomstandard.org/using/dicomweb)
87+
**Endoscopy App**
88+
The Bundle app enables users to use interactive, automated segmentation and classification models over 2D images for endoscopy usecase.
89+
Combined with CVAT, it will demonstrate the fully automated Active Learning workflow to train + fine-tune a model.
8790

8891
## Installation
8992

9093
Start using MONAI Label with just three steps:
91-
92-
![DEMO](https://raw.githubusercontent.com/Project-MONAI/MONAILabel/main/docs/images/install_steps.jpeg)
93-
94-
94+
![image](https://raw.githubusercontent.com/Project-MONAI/MONAILabel/main/docs/images/install_steps.jpeg)
9595

9696
MONAI Label supports following OS with **GPU/CUDA** enabled.
97-
9897
- Ubuntu: Please see the [installation guide](https://docs.monai.io/projects/label/en/latest/installation.html).
9998
- [Windows](https://docs.monai.io/projects/label/en/latest/installation.html#windows)
10099

@@ -116,6 +115,7 @@ git clone https://github.com/Project-MONAI/MONAILabel
116115
pip install -r MONAILabel/requirements.txt
117116
export PATH=$PATH:`pwd`/MONAILabel/monailabel/scripts
118117
```
118+
If you are using DICOM-Web + OHIF then you have to build OHIF package separate. Please refer [here](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/ohif#development-setup).
119119

120120
#### [Weekly Release](https://pypi.org/project/monailabel-weekly/)
121121

@@ -174,7 +174,6 @@ algorithms, develpoment and integration.
174174
MONAI Label is most currently tested and supported with stable release of 3D Slicer every version. Preview version of 3D Slicer is not fully tested and supported.
175175

176176
To install stable released version of 3D Slicer, see [3D Slicer installation](https://download.slicer.org/).
177-
178177
Currently, Windows and Linux version are supported.
179178

180179
### OHIF (Web-based)
@@ -183,19 +182,24 @@ The Open Health Imaging Foundation (OHIF) Viewer is an open source, web-based, m
183182
It aims to provide a core framework for building complex imaging applications.
184183

185184
At this point OHIF can be used to annotate the data in the DICOM server via the MONAI Label server.
186-
187185
To use OHIF web-based application, refer to [extensible web imaging platform](https://ohif.org/)
188186

189187
### QuPath
190188

191-
Quantitative Pathology & Bioimage Analysis (QuPath)
192-
193-
QuPath is an open, powerful, flexible, extensible software platform for bioimage analysis.
189+
Quantitative Pathology & Bioimage Analysis (QuPath) is an open, powerful, flexible, extensible software platform for bioimage analysis.
194190

195191
To install stable released version of QuPath, see [QuPath installation](https://qupath.github.io/).
196-
197192
Currently, Windows and Linux version are supported. Detailed documentation can be found [QuPath Doc](https://qupath.readthedocs.io/en/stable/).
198193

194+
195+
### CVAT
196+
197+
CVAT is an interactive video and image annotation tool for computer vision.
198+
199+
To install stable released version of CVAT, see [CVAT installation](https://github.com/opencv/cvat).
200+
Currently, Windows and Linux version are supported. Detailed documentation can be found [CVAT Doc](https://opencv.github.io/cvat/docs/).
201+
202+
199203
## Plugins
200204

201205
### [3D Slicer](https://download.slicer.org/) (radiology)
@@ -258,9 +262,14 @@ Install [CVAT](https://openvinotoolkit.github.io/cvat/docs/getting_started) and
258262
enable [Semi-Automatic and Automatic Annotation](https://openvinotoolkit.github.io/cvat/docs/administration/advanced/installation_automatic_annotation/)
259263
.
260264
Refer [CVAT Instructions](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/cvat) for deploying available MONAILabel
261-
pathology models into CVAT.
265+
pathology/endoscopy models into CVAT.
262266

263-
![image](https://raw.githubusercontent.com/Project-MONAI/MONAILabel/main/docs/images/cvat_detector.jpeg)
267+
<table>
268+
<tr>
269+
<td><img src="https://raw.githubusercontent.com/Project-MONAI/MONAILabel/main/docs/images/cvat_detector.jpeg" width="300"/></td>
270+
<td><img src="https://raw.githubusercontent.com/Project-MONAI/MONAILabel/main/docs/images/cvat_active_learning.jpeg" width="300"/></td>
271+
</tr>
272+
</table>
264273

265274
## Cite
266275

@@ -319,3 +328,5 @@ on [MONAI Label's GitHub Discussions tab](https://github.com/Project-MONAI/MONAI
319328
- PyPI package: https://pypi.org/project/monailabel/
320329
- Weekly previews: https://pypi.org/project/monailabel-weekly/
321330
- Docker Hub: https://hub.docker.com/r/projectmonai/monailabel
331+
- Client API: https://www.youtube.com/watch?v=mPMYJyzSmyo
332+
- Demo Videos: https://www.youtube.com/c/ProjectMONAI

docs/source/installation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ and supported visualization tools with latest release of MONAI Label. Weekly pre
2121

2222
Current Milestone Release of MONAI Label:
2323

24-
* `0.4.2 <https://pypi.org/project/monailabel/>`_
24+
* `0.5.0 <https://pypi.org/project/monailabel/>`_
2525

2626
MONAI Label Supported Stable Visualization Tools:
2727

docs/source/modules.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ discretization.
101101
def post_transforms(self, data=None):
102102
return [
103103
Activationsd(keys="pred", sigmoid=True),
104-
AsDiscreted(keys="pred", threshold_values=True, logit_thresh=0.5),
104+
AsDiscreted(keys="pred", threshold=0.5),
105105
ToNumpyd(keys="pred"),
106106
]
107107
@@ -142,7 +142,7 @@ in this example they follow the default behavior in the base class.
142142
def train_post_transforms(self, context: Context):
143143
return Compose([
144144
Activationsd(keys="pred", sigmoid=True),
145-
AsDiscreted(keys="pred", threshold_values=True, logit_thresh=0.5),
145+
AsDiscreted(keys="pred", threshold=0.5),
146146
])
147147
148148
def val_pre_transforms(self, context: Context):

docs/source/whatsnew.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,26 @@
1515
What's New
1616
==========
1717

18+
0.5.0
19+
=====
20+
- Endoscopy Sample App
21+
22+
- Tool Tracking segmentation model
23+
- InBody vs OutBody (DeID) classification model
24+
- DeepEdit interaction model for annotating tool
25+
- CVAT Integration to support automated workflow to run Active Learning Iterations
26+
- Improving performance for Radiology App
27+
28+
- Support cache for pre-transforms in case repeated inference for interaction models
29+
- Support cache for DICOM Web API responses
30+
- Fix DICOM Proxy for wado/qido
31+
32+
- Multi Stage `vertebra <https://github.com/Project-MONAI/MONAILabel/tree/main/sample-apps/radiology#multistage-vertebra-segmentation>`_ segmentation
33+
- Improvements for Epistemic based active learning strategy
34+
- Support for MONAI `1.0.0 <https://github.com/Project-MONAI/MONAI/releases/tag/1.0.0>`_
35+
36+
37+
1838
0.4.2
1939
=====
2040
- MONAI Bundle App - Pull `compatible <https://github.com/Project-MONAI/MONAILabel/tree/main/sample-apps/monaibundle>`_ bundles from `MONAI Zoo <https://github.com/Project-MONAI/model-zoo>`_

monailabel/tasks/scoring/epistemic.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@
1818
import torch
1919
from monai.inferers import sliding_window_inference
2020
from monai.transforms import Compose
21+
from monai.utils import deprecated
2122

2223
from monailabel.interfaces.datastore import Datastore
2324
from monailabel.interfaces.tasks.scoring import ScoringMethod
2425

2526
logger = logging.getLogger(__name__)
2627

2728

29+
@deprecated(since="0.5.0", msg_suffix="please use Epistemic v2 based strategy instead")
2830
class EpistemicScoring(ScoringMethod):
2931
"""
3032
First version of Epistemic computation used as active learning strategy

monailabel/tasks/scoring/tta.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
from monai.transforms.inverse_batch_transform import BatchInverseTransform
4040
from monai.transforms.transform import Randomizable
4141
from monai.transforms.utils import allow_missing_keys_mode
42+
from monai.utils import deprecated
4243
from monai.utils.enums import CommonKeys, InverseKeys
4344
from tqdm import tqdm
4445

@@ -48,6 +49,7 @@
4849
logger = logging.getLogger(__name__)
4950

5051

52+
@deprecated(since="0.5.0", msg_suffix="please use Epistemic based strategy instead")
5153
class TTAScoring(ScoringMethod):
5254
"""
5355
First version of test time augmentation active learning
@@ -236,7 +238,7 @@ class TestTimeAugmentation:
236238
.. code-block:: python
237239
238240
transform = RandAffined(keys, ...)
239-
post_trans = Compose([Activations(sigmoid=True), AsDiscrete(threshold_values=True)])
241+
post_trans = Compose([Activations(sigmoid=True), AsDiscrete()])
240242
241243
tt_aug = TestTimeAugmentation(
242244
transform, batch_size=5, num_workers=0, inferrer_fn=lambda x: post_trans(model(x)), device=device

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# limitations under the License.
1111

1212
torch>=1.7
13-
monai[nibabel, skimage, pillow, tensorboard, gdown, ignite, torchvision, itk, tqdm, lmdb, psutil, openslide, fire]>=1.0.0rc3
13+
monai[nibabel, skimage, pillow, tensorboard, gdown, ignite, torchvision, itk, tqdm, lmdb, psutil, openslide, fire]>=1.0.0
1414
uvicorn==0.17.6
1515
pydantic==1.9.1
1616
python-dotenv==0.20.0

0 commit comments

Comments
 (0)