Closed michalogit closed 1 year ago
Hi Michal,
Could you try the following please?
dicomweb_client
command with the flag -vvvv
(four v
s) to set the DEBUG log leveldicomweb_client --url=http://localhost:8008/dcm4chee-arc/aets/DCM4CHEE/rs search instances
You can download test WSI instances from the IDC by following the instructions here.
Hope this helps!
@michalogit thank you for your interest in Slim and for reporting the issue you are experiencing. I hope you will be able to get it to work by following @cgorman's suggestions.
To your specific questions:
What to do exactly to send the DICOM/study to slim? Can you eg send me or publish an end-to-end example command line with an example DICOM file/study that actually does storing DICOM files that is compatible with the dockerized slim and makes DICOM visible in the webapp?
As @cgorman pointed out, Slim only lists studies that contain slide microscopy images (i.e., DICOM image instances with modality "SM"
). Therefore, make sure that your file 0003.DCM
contains such an image instance.
In addition, I suggest omitting the --study
option to ensure that the content of the file gets posted. The test123
value you provided does not appear to be a valid DICOM Study Instance UID and it's hence possible that the DICOMweb client didn't post anything. Running dicomweb_client
with increased verbosity - as suggested by @cgorman - will help in this regard as well.
How to check if/where the DICOM is stored, what folder, where it is in the app?
The easiest way to check the content of the archive is via the DICOMweb Study Service as suggested by @cgorman.
Is my dcm4chee up and running or not? How to check it? What can be wrong with empty https://localhost:9990/
Note that the docker-compose configuration does not expose the admin web interface of the DCM4CHE archive. Only the DICOMweb Study Service is exposed.
Thank you Chris, Thank you Markus!
Yes, not being a specialist in the imaging, have missed the story that slim is created for the microscope slides and those are those with SM in DICOM.
So in fact my instance is working as expected, just did not have a proper SM example at hand. Now, I've done
michalo$ dicomweb_client -vvvv --url http://localhost:8008/dcm4chee-arc/aets/DCM4CHEE/rs store instances --study test_4 test_SM.dcm
2023-04-24 15:45:45,952 | DEBUG | dicomweb_client.session_utils | 20 | initialize HTTP session
2023-04-24 15:45:45,970 | INFO | dicomweb_client.web | 2651 | store instances
2023-04-24 15:45:45,983 | INFO | dicomweb_client.web | 1489 | store data in chunks using chunked transfer encoding
2023-04-24 15:45:45,983 | DEBUG | dicomweb_client.web | 1485 | POST: http://localhost:8008/dcm4chee-arc/aets/DCM4CHEE/rs/studies {'Content-Type': 'multipart/related; type="application/dicom"; boundary="0f3cf5c0-70e0-41ef-baef-c6f9f65ec3e1"', 'Transfer-Encoding': 'chunked', 'Cache-Control': 'no-cache', 'Connection': 'Keep-Alive'}
2023-04-24 15:45:45,991 | DEBUG | urllib3.connectionpool | 232 | Starting new HTTP connection (1): localhost:8008
2023-04-24 15:45:45,992 | DEBUG | dicomweb_client.web | 1471 | serve data chunk #0
2023-04-24 15:45:46,002 | DEBUG | dicomweb_client.web | 1471 | serve data chunk #1
2023-04-24 15:45:46,035 | DEBUG | dicomweb_client.web | 1471 | serve data chunk #2
2023-04-24 15:45:46,076 | DEBUG | dicomweb_client.web | 1471 | serve data chunk #3
2023-04-24 15:45:46,747 | DEBUG | dicomweb_client.web | 1504 | request status code: 200
then confirmed that it is in there with the command
dicomweb_client --url=http://localhost:8008/dcm4chee-arc/aets/DCM4CHEE/rs search instances | grep SM
and at the same time I can see it in the web-UI. That's what I needed at that poing I think! I see also a bit better how the docker compose setup is done.
The use case is that I've been triaging Slim, asked by one of the labs, I work for the Scientific IT Services of ETH Zurich. I know that some groups doing medical imaging use eg SlideViewer, but imaging is not my daily business. Chances are that when the people from the lab start testing and using it, me an them may have other questions, now thank you for all the explanations!
Btw, what is your recommendation for an easy tool for conversion of OME-TIFF into DICOM?
I do not think there is an "easy tool", but may find materials on this page helpful in learning about some of the tools that are available: https://projectweek.na-mic.org/PW38_2023_GranCanaria/Projects/IDC_DICOM_WSI_workflow/.
@michalogit glad you got it to work. It appears we may want to further improve the documentation for storing data in an archive and checking whether data was stored correctly.
@cgorman would it make sense to add your suggestions to the README?
Dear slim developers,
I have tried running slim with docker-compose. Locally, on a mac. Have some issues with starting it and storing example DICOM files. Or maybe do not understand something from your descriptions/documentation. Would be grateful for hints and/or answers to the questions below.
The docker-compose from the release versions seems to be up happily:
At the http://localhost:8008/ can see the empty starting page of the slim app with "Accession number" and other table headers.
At https://localhost:9990/ where I'd expect according to its docs the admin interface of dcm4chee-arc-light there is ERR_CONNECTION_REFUSED
The example of storing the DICOM images in your description is actually the default help command line of dicomweb_client:
So I run it on an example DICOM that way, which seems to be accepted:
So I guess the webservices do the job somehow. But then, do not see this DICOM in the table at http://localhost:8008/
Questions:
What to do exactly to send the DICOM/study to slim? Can you eg send me or publish an end-to-end example command line with an example DICOM file/study that actually does storing DICOM files that is compatible with the dockerized slim and makes DICOM visible in the webapp?
How to check if/where the DICOM is stored, what folder, where it is in the app?
Is my dcm4chee up and running or not? How to check it? What can be wrong with empty https://localhost:9990/
All the best, Michal