Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Option to save DICOM SEG in OHIF is missing #1805

Open
chezhia opened this issue Jan 10, 2025 · 4 comments
Open

Option to save DICOM SEG in OHIF is missing #1805

chezhia opened this issue Jan 10, 2025 · 4 comments

Comments

@chezhia
Copy link

chezhia commented Jan 10, 2025

Describe the bug
Evaluating the use of OHIF instead of 3D slicer for a project. The segmentation is returned fine as a DICOM-SEG, but not able to see the save label option under the Active Learning tab.

To Reproduce

  1. Running latest monailabel docker image.
  2. Model is in monaibundle format and works perfectly fine with 3D slicer.
  3. Command Used: monailabel start_server --app apps/monaibundle --studies http://HOSTIP:8042/dicom-web --conf models tcv_heartlung_ct_bundle

Expected behavior
Ability to save DICOM-SEG under the Active-Learning Tab. Only Next Sample and Update Model options are seen.

Screenshots
image

Environment
Docker and Windows with Nvidia GPU.

@Joeycho
Copy link

Joeycho commented Feb 19, 2025

@chezhia Does active learning work? Did you check segmentation mode from OHIF?

@chezhia
Copy link
Author

chezhia commented Feb 19, 2025

@Joeycho - Active learning seems to work, as in, it selects the next image and loads it if I hit next sample. I did not select segmentation mode, as that does not give me options to interact with the MONAI Label server. I selected the MONAILabel mode from OHIF front page to get to the view in the screen shot.

@Joeycho
Copy link

Joeycho commented Feb 20, 2025

@chezhia How is the log from MONAI Label? Probably, you can find the path of the generated DICOM-SEG file. Usually saved at tmp location.

@steve-phenomx
Copy link

steve-phenomx commented Mar 14, 2025

@chezhia @Joeycho

is it solved? i cant find segmentation toolbox on ohif monai-label plugins when i using current docker image and latest version of monai-label 0.8.5. is it not provide?

im try to follow radiograpy tutorial with orthanc server. and showing like abobe screenshot.

Using PYTHONPATH=/home/phenomx/Projects/MONAI_LABEL:

[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: version = False
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: app = /home/phenomx/Projects/MONAI_LABEL/radiology
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: studies = http://localhost:8042/dicom-web
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: verbose = INFO
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: conf = [['models', 'segmentation'], ['modes', 'segmentation']]
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: host = 0.0.0.0
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: port = 8000
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: uvicorn_app = monailabel.app:app
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: ssl_keyfile = None
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: ssl_certfile = None
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: ssl_keyfile_password = None
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: ssl_ca_certs = None
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: workers = None
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: limit_concurrency = None
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: access_log = False
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: root_path = 
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: log_level = info
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: log_config = None
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: dryrun = False
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:285) - USING:: action = start_server
[2025-03-14 17:52:10,842] [876880] [MainThread] [INFO] (__main__:296) - 
Allow Origins: ['*']
[2025-03-14 17:52:11,179] [876880] [MainThread] [INFO] (uvicorn.error:83) - Started server process [876880]
[2025-03-14 17:52:11,179] [876880] [MainThread] [INFO] (uvicorn.error:48) - Waiting for application startup.
App Init...
[2025-03-14 17:52:11,179] [876880] [MainThread] [INFO] (monailabel.interfaces.utils.app:37) - Initializing App from: /home/phenomx/Projects/MONAI_LABEL/radiology; studies: http://localhost:8042/dicom-web; conf: {'models': 'segmentation', 'modes': 'segmentation'}
[2025-03-14 17:52:11,420] [876880] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for MONAILabelApp Found: <class 'main.MyApp'>
[2025-03-14 17:52:11,423] [876880] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation.Segmentation'>
[2025-03-14 17:52:11,423] [876880] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.localization_vertebra.LocalizationVertebra'>
[2025-03-14 17:52:11,423] [876880] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.localization_spine.LocalizationSpine'>
[2025-03-14 17:52:11,423] [876880] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepgrow_2d.Deepgrow2D'>
[2025-03-14 17:52:11,423] [876880] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepgrow_3d.Deepgrow3D'>
[2025-03-14 17:52:11,424] [876880] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation_spleen.SegmentationSpleen'>
[2025-03-14 17:52:11,424] [876880] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation_vertebra.SegmentationVertebra'>
[2025-03-14 17:52:11,425] [876880] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepedit.DeepEdit'>
[2025-03-14 17:52:11,425] [876880] [MainThread] [INFO] (main:95) - +++ Adding Model: segmentation => lib.configs.segmentation.Segmentation
[2025-03-14 17:52:11,513] [876880] [MainThread] [INFO] (main:98) - +++ Using Models: ['segmentation']
[2025-03-14 17:52:11,513] [876880] [MainThread] [INFO] (monailabel.interfaces.app:135) - Init Datastore for: http://localhost:8042/dicom-web
[2025-03-14 17:52:11,513] [876880] [MainThread] [INFO] (monailabel.interfaces.app:156) - Using DICOM WEB: http://localhost:8042/dicom-web
[2025-03-14 17:52:11,514] [876880] [MainThread] [INFO] (monailabel.datastore.dicom:62) - DICOMWeb Datastore (cache) Path: /home/phenomx/.cache/monailabel/dicom/e6414d4049f71ab28e6f9528a15f294e; FetchByFrame: False
[2025-03-14 17:52:11,514] [876880] [MainThread] [INFO] (monailabel.datastore.dicom:63) - DICOMWeb Convert To Nifti: True
[2025-03-14 17:52:11,514] [876880] [MainThread] [INFO] (monailabel.datastore.local:130) - Auto Reload: True; Extensions: ('*.nii.gz', '*.nii')
[2025-03-14 17:52:11,515] [876880] [MainThread] [INFO] (monailabel.datastore.local:577) - Invalidate count: 0
[2025-03-14 17:52:11,515] [876880] [MainThread] [INFO] (monailabel.datastore.local:151) - Start observing external modifications on datastore (AUTO RELOAD)
[2025-03-14 17:52:11,564] [876880] [MainThread] [INFO] (main:128) - +++ Adding Inferer:: segmentation => <lib.infers.segmentation.Segmentation object at 0x7f31607ca2d0>
[2025-03-14 17:52:11,564] [876880] [MainThread] [INFO] (main:194) - {'segmentation': <lib.infers.segmentation.Segmentation object at 0x7f31607ca2d0>, 'Histogram+GraphCut': <monailabel.scribbles.infer.HistogramBasedGraphCut object at 0x7f314ffb0ad0>, 'GMM+GraphCut': <monailabel.scribbles.infer.GMMBasedGraphCut object at 0x7f314fcff4d0>}
[2025-03-14 17:52:11,564] [876880] [MainThread] [INFO] (main:209) - +++ Adding Trainer:: segmentation => <lib.trainers.segmentation.Segmentation object at 0x7f314fe79890>
[2025-03-14 17:52:11,564] [876880] [MainThread] [INFO] (monailabel.utils.sessions:51) - Session Path: /home/phenomx/.cache/monailabel/sessions
[2025-03-14 17:52:11,565] [876880] [MainThread] [INFO] (monailabel.utils.sessions:52) - Session Expiry (max): 3600
[2025-03-14 17:52:11,565] [876880] [MainThread] [INFO] (monailabel.interfaces.app:469) - App Init - completed
[2025-03-14 17:52:11,565] [timeloop] [INFO] Starting Timeloop..
[2025-03-14 17:52:11,565] [876880] [MainThread] [INFO] (timeloop:60) - Starting Timeloop..
[2025-03-14 17:52:11,565] [timeloop] [INFO] Registered job <function MONAILabelApp.on_init_complete.<locals>.run_scheduler at 0x7f314fd7ab60>
[2025-03-14 17:52:11,565] [876880] [MainThread] [INFO] (timeloop:42) - Registered job <function MONAILabelApp.on_init_complete.<locals>.run_scheduler at 0x7f314fd7ab60>
[2025-03-14 17:52:11,565] [timeloop] [INFO] Timeloop now started. Jobs will run based on the interval set
[2025-03-14 17:52:11,565] [876880] [MainThread] [INFO] (timeloop:63) - Timeloop now started. Jobs will run based on the interval set
[2025-03-14 17:52:11,565] [876880] [MainThread] [INFO] (uvicorn.error:62) - Application startup complete.
[2025-03-14 17:52:11,565] [876880] [MainThread] [INFO] (uvicorn.error:215) - Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
[2025-03-14 17:52:25,164] [876880] [MainThread] [INFO] (dicomweb_client.web:2174) - search for series
[2025-03-14 17:52:25,182] [876880] [MainThread] [INFO] (dicomweb_client.web:2174) - search for series
[2025-03-14 17:52:25,185] [876880] [MainThread] [INFO] (dicomweb_client.web:2378) - retrieve metadata of series "1.2.276.0.7230010.3.1.3.346817536.333.1741934446.696621" of study "1.2.826.0.1.3680043.8.274.1.1.346817792.11491.1741921696.170467"
No bulk data URI handler provided for retrieval of value of data element "7FE00010"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants