Project-MONAI / Project-MONAI/MONAILabel
MONAI Label fails to Run Segmentation
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 891
- Forks
- 269
- Avg merge
- 15h 41m
- Merged PRs (30d)
- 1
Description
Describe the bug
When I loaded a CT segmentation and run Auto Segmentation with the model segmentation_spleen , I get a notification on the lower right corner saying "Failed to run segmentation"
Server logs
App Init...
[2024-06-17 14:07:49,273] [1390926] [MainThread] [INFO] (monailabel.interfaces.utils.app:37) - Initializing App from: /data/Vikash/monailabel/apps/radiology; studies: http://127.0.0.1:8042/dicom-web; conf: {'models': 'segmentation_spleen'}
[2024-06-17 14:07:49,817] [1390926] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for MONAILabelApp Found: <class 'main.MyApp'>
[2024-06-17 14:07:49,820] [1390926] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepedit.DeepEdit'>
[2024-06-17 14:07:49,821] [1390926] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.localization_vertebra.LocalizationVertebra'>
[2024-06-17 14:07:49,821] [1390926] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepgrow_2d.Deepgrow2D'>
[2024-06-17 14:07:49,821] [1390926] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation_spleen.SegmentationSpleen'>
[2024-06-17 14:07:49,821] [1390926] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.localization_spine.LocalizationSpine'>
[2024-06-17 14:07:49,821] [1390926] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepgrow_3d.Deepgrow3D'>
[2024-06-17 14:07:49,822] [1390926] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation.Segmentation'>
[2024-06-17 14:07:49,822] [1390926] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation_vertebra.SegmentationVertebra'>
[2024-06-17 14:07:49,822] [1390926] [MainThread] [INFO] (main:95) - +++ Adding Model: segmentation_spleen => lib.configs.segmentation_spleen.SegmentationSpleen
[2024-06-17 14:07:49,868] [1390926] [MainThread] [INFO] (lib.configs.segmentation_spleen:79) - EPISTEMIC Enabled: False; Samples: 5
[2024-06-17 14:07:49,868] [1390926] [MainThread] [INFO] (main:98) - +++ Using Models: ['segmentation_spleen']
[2024-06-17 14:07:49,868] [1390926] [MainThread] [INFO] (monailabel.interfaces.app:135) - Init Datastore for: http://127.0.0.1:8042/dicom-web
[2024-06-17 14:07:49,868] [1390926] [MainThread] [INFO] (monailabel.interfaces.app:156) - Using DICOM WEB: http://127.0.0.1:8042/dicom-web
[2024-06-17 14:07:49,869] [1390926] [MainThread] [INFO] (monailabel.datastore.dicom:62) - DICOMWeb Datastore (cache) Path: /home/gupta/.cache/monailabel/dicom/488fca1f7f3f98331f6f7756beca0d35; FetchByFrame: False
[2024-06-17 14:07:49,869] [1390926] [MainThread] [INFO] (monailabel.datastore.dicom:63) - DICOMWeb Convert To Nifti: True
[2024-06-17 14:07:49,869] [1390926] [MainThread] [INFO] (monailabel.datastore.local:130) - Auto Reload: True; Extensions: ('*.nii.gz', '*.nii')
[2024-06-17 14:07:49,870] [1390926] [MainThread] [INFO] (monailabel.datastore.local:577) - Invalidate count: 0
[2024-06-17 14:07:49,870] [1390926] [MainThread] [INFO] (monailabel.datastore.local:151) - Start observing external modifications on datastore (AUTO RELOAD)
[2024-06-17 14:07:49,872] [1390926] [MainThread] [INFO] (main:128) - +++ Adding Inferer:: segmentation_spleen => <lib.infers.segmentation_spleen.SegmentationSpleen object at 0x7f8f2c223f10>
[2024-06-17 14:07:49,872] [1390926] [MainThread] [INFO] (main:194) - {'segmentation_spleen': <lib.infers.segmentation_spleen.SegmentationSpleen object at 0x7f8f2c223f10>, 'Histogram+GraphCut': <monailabel.scribbles.infer.HistogramBasedGraphCut object at 0x7f8f2c1ef2e0>, 'GMM+GraphCut': <monailabel.scribbles.infer.GMMBasedGraphCut object at 0x7f8f2c1ef520>}
[2024-06-17 14:07:49,872] [1390926] [MainThread] [INFO] (main:209) - +++ Adding Trainer:: segmentation_spleen => <lib.trainers.segmentation_spleen.SegmentationSpleen object at 0x7f8f2c1ef430>
[2024-06-17 14:07:49,872] [1390926] [MainThread] [INFO] (monailabel.utils.sessions:51) - Session Path: /home/gupta/.cache/monailabel/sessions
[2024-06-17 14:07:49,872] [1390926] [MainThread] [INFO] (monailabel.utils.sessions:52) - Session Expiry (max): 3600
[2024-06-17 14:07:49,872] [1390926] [MainThread] [INFO] (monailabel.interfaces.app:469) - App Init - completed
[2024-06-17 14:07:49,872] [timeloop] [INFO] Starting Timeloop..
[2024-06-17 14:07:49,872] [1390926] [MainThread] [INFO] (timeloop:60) - Starting Timeloop..
[2024-06-17 14:07:49,872] [timeloop] [INFO] Registered job <function MONAILabelApp.on_init_complete.<locals>.run_scheduler at 0x7f8f2c1f6040>
[2024-06-17 14:07:49,872] [1390926] [MainThread] [INFO] (timeloop:42) - Registered job <function MONAILabelApp.on_init_complete.<locals>.run_scheduler at 0x7f8f2c1f6040>
[2024-06-17 14:07:49,873] [timeloop] [INFO] Timeloop now started. Jobs will run based on the interval set
[2024-06-17 14:07:49,873] [1390926] [MainThread] [INFO] (timeloop:63) - Timeloop now started. Jobs will run based on the interval set
[2024-06-17 14:07:49,873] [1390926] [MainThread] [INFO] (uvicorn.error:62) - Application startup complete.
[2024-06-17 14:07:49,873] [1390926] [MainThread] [INFO] (uvicorn.error:214) - Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
[2024-06-17 14:12:52,521] [1390926] [MainThread] [INFO] (dicomweb_client.web:2128) - search for series
[2024-06-17 14:12:52,539] [1390926] [MainThread] [INFO] (dicomweb_client.web:2128) - search for series
[2024-06-17 14:13:01,781] [1390926] [MainThread] [INFO] (monailabel.endpoints.infer:171) - Infer Request: {'model': 'segmentation_spleen', 'image': '1.2.840.113704.1.111.7672.1256052685.11', 'device': ['NVIDIA RTX A6000:0', 'NVIDIA RTX A6000:1', 'NVIDIA RTX A6000:2'], 'result_extension': '.nrrd', 'result_dtype': 'uint16', 'result_compress': False, 'restore_label_idx': False}
[2024-06-17 14:13:01,781] [1390926] [MainThread] [INFO] (monailabel.datastore.dicom:78) - Image ID: 1.2.840.113704.1.111.7672.1256052685.11
[2024-06-17 14:13:01,781] [1390926] [MainThread] [INFO] (monailabel.datastore.dicom:80) - Image Dir (cache): /home/gupta/.cache/monailabel/dicom/488fca1f7f3f98331f6f7756beca0d35/1.2.840.113704.1.111.7672.1256052685.11
[2024-06-17 14:13:01,781] [1390926] [MainThread] [INFO] (dicomweb_client.web:2128) - search for series
[2024-06-17 14:13:01,795] [1390926] [MainThread] [INFO] (dicomweb_client.web:2175) - retrieve series "1.2.840.113704.1.111.7672.1256052685.11" of study "1.2.840.113711.7041813.4.5000.277653174.26.2116281012.115090"
[2024-06-17 14:13:01,850] [1390926] [MainThread] [ERROR] (uvicorn.error:412) - Exception in ASGI application
Traceback (most recent call last):
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py", line 407, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
return await self.app(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/fastapi/applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/applications.py", line 123, in __call__
await self.middleware_stack(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/errors.py", line 186, in __call__
raise exc
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/cors.py", line 93, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/cors.py", line 148, in simple_response
await self.app(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
raise exc
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 756, in __call__
await self.middleware_stack(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 776, in app
await route.handle(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 297, in handle
await self.app(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 77, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
raise exc
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 72, in app
response = await func(request)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/fastapi/routing.py", line 278, in app
raw_response = await run_endpoint_function(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
return await dependant.call(**values)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/endpoints/infer.py", line 206, in api_run_inference
return run_inference(background_tasks, model, image, session_id, params, file, label, output)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/endpoints/infer.py", line 172, in run_inference
result = instance.infer(request)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/interfaces/app.py", line 289, in infer
request["image"] = datastore.get_image_uri(request["image"])
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/datastore/dicom.py", line 83, in get_image_uri
dicom_web_download_series(None, image_id, image_dir, self._client, self._fetch_by_frame)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/datastore/utils/dicom.py", line 80, in dicom_web_download_series
instances = client.retrieve_series(study_id, series_id)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 2248, in retrieve_series
self._get_series(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 2191, in _get_series
return self._http_get_multipart_application_dicom(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 997, in _http_get_multipart_application_dicom
response = self._http_get(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 536, in _http_get
response.raise_for_status()
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://127.0.0.1:8042/dicom-web/studies/1.2.840.113711.7041813.4.5000.277653174.26.2116281012.115090/series/1.2.840.113704.1.111.7672.1256052685.11
[2024-06-17 14:26:06,303] [1390926] [MainThread] [INFO] (monailabel.endpoints.infer:171) - Infer Request: {'model': 'segmentation_spleen', 'image': '1.2.840.113704.1.111.7672.1256052685.11', 'device': ['NVIDIA RTX A6000:0', 'NVIDIA RTX A6000:1', 'NVIDIA RTX A6000:2'], 'result_extension': '.nrrd', 'result_dtype': 'uint16', 'result_compress': False, 'restore_label_idx': False}
[2024-06-17 14:26:06,303] [1390926] [MainThread] [INFO] (monailabel.datastore.dicom:78) - Image ID: 1.2.840.113704.1.111.7672.1256052685.11
[2024-06-17 14:26:06,303] [1390926] [MainThread] [INFO] (monailabel.datastore.dicom:80) - Image Dir (cache): /home/gupta/.cache/monailabel/dicom/488fca1f7f3f98331f6f7756beca0d35/1.2.840.113704.1.111.7672.1256052685.11
[2024-06-17 14:26:06,303] [1390926] [MainThread] [INFO] (dicomweb_client.web:2128) - search for series
[2024-06-17 14:26:06,319] [1390926] [MainThread] [INFO] (dicomweb_client.web:2175) - retrieve series "1.2.840.113704.1.111.7672.1256052685.11" of study "1.2.840.113711.7041813.4.5000.277653174.26.2116281012.115090"
[2024-06-17 14:26:06,374] [1390926] [MainThread] [ERROR] (uvicorn.error:412) - Exception in ASGI application
Traceback (most recent call last):
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py", line 407, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
return await self.app(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/fastapi/applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/applications.py", line 123, in __call__
await self.middleware_stack(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/errors.py", line 186, in __call__
raise exc
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/cors.py", line 93, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/cors.py", line 148, in simple_response
await self.app(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
raise exc
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 756, in __call__
await self.middleware_stack(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 776, in app
await route.handle(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 297, in handle
await self.app(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 77, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
raise exc
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 72, in app
response = await func(request)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/fastapi/routing.py", line 278, in app
raw_response = await run_endpoint_function(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
return await dependant.call(**values)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/endpoints/infer.py", line 206, in api_run_inference
return run_inference(background_tasks, model, image, session_id, params, file, label, output)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/endpoints/infer.py", line 172, in run_inference
result = instance.infer(request)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/interfaces/app.py", line 289, in infer
request["image"] = datastore.get_image_uri(request["image"])
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/datastore/dicom.py", line 83, in get_image_uri
dicom_web_download_series(None, image_id, image_dir, self._client, self._fetch_by_frame)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/datastore/utils/dicom.py", line 80, in dicom_web_download_series
instances = client.retrieve_series(study_id, series_id)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 2248, in retrieve_series
self._get_series(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 2191, in _get_series
return self._http_get_multipart_application_dicom(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 997, in _http_get_multipart_application_dicom
response = self._http_get(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 536, in _http_get
response.raise_for_status()
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://127.0.0.1:8042/dicom-web/studies/1.2.840.113711.7041813.4.5000.277653174.26.2116281012.115090/series/1.2.840.113704.1.111.7672.1256052685.11
[2024-06-17 14:33:07,029] [1390926] [MainThread] [INFO] (monailabel.endpoints.infer:171) - Infer Request: {'model': 'segmentation_spleen', 'image': '1.2.840.113704.1.111.7672.1256052685.11', 'device': ['NVIDIA RTX A6000:0', 'NVIDIA RTX A6000:1', 'NVIDIA RTX A6000:2'], 'result_extension': '.nrrd', 'result_dtype': 'uint16', 'result_compress': False, 'restore_label_idx': False}
[2024-06-17 14:33:07,029] [1390926] [MainThread] [INFO] (monailabel.datastore.dicom:78) - Image ID: 1.2.840.113704.1.111.7672.1256052685.11
[2024-06-17 14:33:07,029] [1390926] [MainThread] [INFO] (monailabel.datastore.dicom:80) - Image Dir (cache): /home/gupta/.cache/monailabel/dicom/488fca1f7f3f98331f6f7756beca0d35/1.2.840.113704.1.111.7672.1256052685.11
[2024-06-17 14:33:07,029] [1390926] [MainThread] [INFO] (dicomweb_client.web:2128) - search for series
[2024-06-17 14:33:07,046] [1390926] [MainThread] [INFO] (dicomweb_client.web:2175) - retrieve series "1.2.840.113704.1.111.7672.1256052685.11" of study "1.2.840.113711.7041813.4.5000.277653174.26.2116281012.115090"
[2024-06-17 14:33:07,094] [1390926] [MainThread] [ERROR] (uvicorn.error:412) - Exception in ASGI application
Traceback (most recent call last):
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py", line 407, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
return await self.app(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/fastapi/applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/applications.py", line 123, in __call__
await self.middleware_stack(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/errors.py", line 186, in __call__
raise exc
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/cors.py", line 93, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/cors.py", line 148, in simple_response
await self.app(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
raise exc
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 756, in __call__
await self.middleware_stack(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 776, in app
await route.handle(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 297, in handle
await self.app(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/routing.py", line 77, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
raise exc
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "/data/miniconda3/envs/monailabel/lib/py1thon3.8/site-packages/starlette/routing.py", line 72, in app
response = await func(request)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/fastapi/routing.py", line 278, in app
raw_response = await run_endpoint_function(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
return await dependant.call(**values)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/endpoints/infer.py", line 206, in api_run_inference
return run_inference(background_tasks, model, image, session_id, params, file, label, output)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/endpoints/infer.py", line 172, in run_inference
result = instance.infer(request)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/interfaces/app.py", line 289, in infer
request["image"] = datastore.get_image_uri(request["image"])
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/datastore/dicom.py", line 83, in get_image_uri
dicom_web_download_series(None, image_id, image_dir, self._client, self._fetch_by_frame)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/monailabel/datastore/utils/dicom.py", line 80, in dicom_web_download_series
instances = client.retrieve_series(study_id, series_id)
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 2248, in retrieve_series
self._get_series(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 2191, in _get_series
return self._http_get_multipart_application_dicom(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 997, in _http_get_multipart_application_dicom
response = self._http_get(
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/dicomweb_client/web.py", line 536, in _http_get
response.raise_for_status()
File "/data/miniconda3/envs/monailabel/lib/python3.8/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://127.0.0.1:8042/dicom-web/studies/1.2.840.113711.7041813.4.5000.277653174.26.2116281012.115090/series/1.2.840.113704.1.111.7672.1256052685.11
To Reproduce
- Install monailabel using
pip install monailabel - Upload a CT scan dicom image on orthanc
- Open the image using monai-label on
localhost:8000/ohif - Run Segmentation_spleen
Expected behavior
Should produce spleen segmentation
Screenshots
{
"Details" : "This WADO-RS plugin cannot generate the following content type: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
"HttpError" : "Bad Request",
"HttpStatus" : 400,
"Message" : "Bad request",
"Method" : "GET",
"OrthancError" : "Bad request",
"OrthancStatus" : 8,
"Uri" : "/dicom-web/studies/1.2.840.113711.7041813.4.5000.277653174.26.2116281012.115090/series/1.2.840.113704.1.111.7672.1256052685.11"
}
Environment
pip list produces
Package Version
---------------------------------- -----------
absl-py 2.1.0
alembic 1.13.1
aniso8601 9.0.1
annotated-types 0.7.0
anyio 4.3.0
attrs 23.2.0
bcrypt 4.1.2
beautifulsoup4 4.12.3
blinker 1.8.2
cachetools 5.3.3
certifi 2024.2.2
cffi 1.16.0
charset-normalizer 3.3.2
click 8.1.7
cloudpickle 3.0.0
contourpy 1.1.1
cryptography 42.0.7
cycler 0.12.1
Deprecated 1.2.14
dicomweb-client 0.59.1
diskcache 5.6.3
docker 7.0.0
ecdsa 0.19.0
einops 0.7.0
entrypoints 0.4
exceptiongroup 1.2.1
expiring-dict 1.1.0
expiringdict 1.2.2
fastapi 0.110.2
filelock 3.11.0
fire 0.6.0
Flask 3.0.3
fonttools 4.51.0
fsspec 2024.3.1
gdown 5.1.0
girder-client 3.2.3
gitdb 4.0.11
GitPython 3.1.43
google-auth 2.29.0
google-auth-oauthlib 1.0.0
google-oauth 1.0.1
graphene 3.3
graphql-core 3.2.3
graphql-relay 3.2.0
greenlet 3.0.3
grpcio 1.63.0
gunicorn 21.2.0
h11 0.14.0
httpcore 1.0.5
httpx 0.27.0
idna 3.7
imageio 2.34.1
importlib_metadata 7.1.0
importlib_resources 6.4.0
itk 5.3.0
itk-core 5.3.0
itk-filtering 5.3.0
itk-io 5.3.0
itk-numerics 5.3.0
itk-registration 5.3.0
itk-segmentation 5.3.0
itsdangerous 2.2.0
Jinja2 3.1.4
joblib 1.4.2
jsonschema 3.2.0
kiwisolver 1.4.5
lazy_loader 0.4
lmdb 1.4.1
Mako 1.3.3
Markdown 3.6
MarkupSafe 2.1.5
matplotlib 3.7.5
mlflow 2.13.2
monai 1.3.1
monailabel 0.8.3
mpmath 1.3.0
networkx 3.1
nibabel 5.2.1
ninja 1.11.1.1
nptyping 2.5.0
numpy 1.24.4
numpymaxflow 0.0.6
nvidia-cublas-cu12 12.1.3.1
nvidia-cuda-cupti-cu12 12.1.105
nvidia-cuda-nvrtc-cu12 12.1.105
nvidia-cuda-runtime-cu12 12.1.105
nvidia-cudnn-cu12 8.9.2.26
nvidia-cufft-cu12 11.0.2.54
nvidia-curand-cu12 10.3.2.106
nvidia-cusolver-cu12 11.4.5.107
nvidia-cusparse-cu12 12.1.0.106
nvidia-nccl-cu12 2.20.5
nvidia-nvjitlink-cu12 12.4.127
nvidia-nvtx-cu12 12.1.105
oauthlib 3.2.2
opencv-python-headless 4.7.0.72
openslide-python 1.1.2
opentelemetry-api 1.25.0
opentelemetry-sdk 1.25.0
opentelemetry-semantic-conventions 0.46b0
packaging 24.0
pandas 2.0.3
passlib 1.7.4
pillow 10.3.0
pip 23.3.1
protobuf 4.25.3
psutil 5.9.8
pyarrow 15.0.2
pyasn1 0.6.0
pyasn1_modules 0.4.0
pycparser 2.22
pydantic 2.7.0
pydantic_core 2.18.1
pydantic-settings 2.2.1
pydicom 2.4.4
pydicom-seg 0.4.1
PyJWT 2.8.0
pynetdicom 2.0.2
pynrrd 1.0.0
pyOpenSSL 24.1.0
pyparsing 3.1.2
pyplastimatch 0.4.5
pyrsistent 0.20.0
PySocks 1.7.1
python-dateutil 2.9.0.post0
python-dotenv 1.0.1
python-jose 3.3.0
python-multipart 0.0.9
pytorch-ignite 0.4.11
pytz 2024.1
PyWavelets 1.4.1
PyYAML 6.0.1
querystring-parser 1.2.4
requests 2.31.0
requests-oauthlib 2.0.0
requests-toolbelt 1.0.0
retrying 1.3.4
rfc3986 1.5.0
rsa 4.9
schedule 1.2.1
scikit-image 0.21.0
scikit-learn 1.3.2
scipy 1.10.1
setuptools 68.2.2
shapely 2.0.4
SimpleITK 2.3.1
six 1.16.0
smmap 5.0.1
sniffio 1.3.1
sortedcontainers 2.4.0
soupsieve 2.5
SQLAlchemy 2.0.30
sqlparse 0.5.0
starlette 0.37.2
sympy 1.12
tensorboard 2.14.0
tensorboard-data-server 0.7.2
termcolor 2.4.0
threadpoolctl 3.5.0
tifffile 2023.7.10
timeloop 1.0.2
torch 2.3.0
torchvision 0.18.0
tqdm 4.66.4
triton 2.3.0
typing_extensions 4.11.0
tzdata 2024.1
urllib3 2.2.1
uvicorn 0.29.0
watchdog 4.0.0
Werkzeug 3.0.3
wheel 0.43.0
wrapt 1.16.0
zipp 3.18.1
Additional context
I am running this on Ubuntu 20.04
Command used
monailabel start_server --app apps/radiology --studies http://127.0.0.1:8042/dicom-web --conf models segmentation_spleen
I have downloaded the radiology app the contents are as follows
radiology/
├── bin
│ └── itkimage2segimage
├── __init__.py
├── lib
│ ├── activelearning
│ │ ├── __init__.py
│ │ ├── last.py
│ │ └── __pycache__
│ │ ├── __init__.cpython-38.pyc
│ │ └── last.cpython-38.pyc
│ ├── configs
│ │ ├── deepedit.py
│ │ ├── deepgrow_2d.py
│ │ ├── deepgrow_3d.py
│ │ ├── __init__.py
│ │ ├── localization_spine.py
│ │ ├── localization_vertebra.py
│ │ ├── __pycache__
│ │ │ ├── deepedit.cpython-38.pyc
│ │ │ ├── deepgrow_2d.cpython-38.pyc
│ │ │ ├── deepgrow_3d.cpython-38.pyc
│ │ │ ├── __init__.cpython-38.pyc
│ │ │ ├── localization_spine.cpython-38.pyc
│ │ │ ├── localization_vertebra.cpython-38.pyc
│ │ │ ├── segmentation.cpython-38.pyc
│ │ │ ├── segmentation_spleen.cpython-38.pyc
│ │ │ └── segmentation_vertebra.cpython-38.pyc
│ │ ├── segmentation.py
│ │ ├── segmentation_spleen.py
│ │ └── segmentation_vertebra.py
│ ├── infers
│ │ ├── deepedit.py
│ │ ├── deepgrow_pipeline.py
│ │ ├── deepgrow.py
│ │ ├── __init__.py
│ │ ├── localization_spine.py
│ │ ├── localization_vertebra.py
│ │ ├── __pycache__
│ │ │ ├── deepedit.cpython-38.pyc
│ │ │ ├── deepgrow.cpython-38.pyc
│ │ │ ├── deepgrow_pipeline.cpython-38.pyc
│ │ │ ├── __init__.cpython-38.pyc
│ │ │ ├── localization_spine.cpython-38.pyc
│ │ │ ├── localization_vertebra.cpython-38.pyc
│ │ │ ├── segmentation.cpython-38.pyc
│ │ │ ├── segmentation_spleen.cpython-38.pyc
│ │ │ ├── segmentation_vertebra.cpython-38.pyc
│ │ │ └── vertebra_pipeline.cpython-38.pyc
│ │ ├── segmentation.py
│ │ ├── segmentation_spleen.py
│ │ ├── segmentation_vertebra.py
│ │ └── vertebra_pipeline.py
│ ├── __init__.py
│ ├── __pycache__
│ │ └── __init__.cpython-38.pyc
│ ├── trainers
│ │ ├── deepedit.py
│ │ ├── deepgrow.py
│ │ ├── __init__.py
│ │ ├── localization_spine.py
│ │ ├── localization_vertebra.py
│ │ ├── __pycache__
│ │ │ ├── deepedit.cpython-38.pyc
│ │ │ ├── deepgrow.cpython-38.pyc
│ │ │ ├── __init__.cpython-38.pyc
│ │ │ ├── localization_spine.cpython-38.pyc
│ │ │ ├── localization_vertebra.cpython-38.pyc
│ │ │ ├── segmentation.cpython-38.pyc
│ │ │ ├── segmentation_spleen.cpython-38.pyc
│ │ │ └── segmentation_vertebra.cpython-38.pyc
│ │ ├── segmentation.py
│ │ ├── segmentation_spleen.py
│ │ └── segmentation_vertebra.py
│ └── transforms
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-38.pyc
│ │ └── transforms.cpython-38.pyc
│ └── transforms.py
├── logs
│ └── app.log
├── main.py
├── model
│ ├── pretrained_segmentation.pt
│ └── pretrained_segmentation_spleen.pt
├── __pycache__
│ └── main.cpython-38.pyc
├── README.md
└── requirements.txt
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the traceback through monailabel/endpoints/infer.py, monailabel/datastore/dicom.py, and monailabel/datastore/utils/dicom.py, especially the retrieve_series call. Reproduce the segmentation request using the reported model and DICOM series, then identify why image retrieval raises the ASGI exception. Done means the request retrieves the image and segmentation completes without the failure notification.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fastapi, python
- Domain
- api, backend, machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100