Hello Orthanc Community,
We are currently integrating Orthanc with the OHIF Viewer for our PACS solution. While most DICOM studies display correctly, we are facing issues when trying to view Presentation State (PR) objects through the OHIF Viewer using Orthanc’s DICOMweb plugin.
Problem:
- PR studies loaded via OHIF Viewer result in HTTP 400 or 500 errors.
- This appears related to incomplete support for the
/rendered
and /frames/{frame}
endpoints in Orthanc’s DICOMweb plugin.
- PR overlays or annotations are critical for our clinical workflows, and the lack of support is a major blocker.
What we know:
- The Orthanc DICOMweb plugin implements a reference/basic level of WADO-RS but lacks full support for PR modalities.
- Other backends like DCM4CHEE reportedly handle PR objects properly with OHIF Viewer.
- Orthanc’s native web viewer can display these studies, but it does not integrate with OHIF’s features.
Our questions:
- Are there any plans to enhance Orthanc’s DICOMweb plugin to support full PR modality rendering?
- Is there a recommended workaround or plugin to improve PR handling via DICOMweb in Orthanc?
- Would you recommend custom development on Orthanc or switching to another backend for full OHIF compatibility?
- Any community experience with successfully integrating OHIF Viewer and Orthanc for overlays and PR?
We appreciate any insights, advice, or pointers to ongoing efforts or plugins addressing this issue.
Hi @jemitsanghvi
Could you share some sample images. We don’t have any available for testing.
thanks,
Alain.
What is it supposed to look like in OHIF ?
In my understanding, PRs are referencing images (and you have not shared any images).
Also note that you should anonymize your images before sharing them and make sure the PRs are still referencing the right images.
Dear Alain,
I have checked the above message. Attached is the required ZIP file containing the anonymized study with PR and PT modality images:
Drive Link : https://drive.google.com/file/d/1AMTNTYVnGnmHXTW7owYq5dr8MdVQQFud/view?usp=sharing
What is it supposed to look like once opened in OHIF with DCM4CHEE as a backend ?
What url do you use to open OHIF ?
We open the OHIF Viewer in your browser using a URL like:
https://domain:8001/viewer?StudyInstanceUIDs=1.2.276.0.7230010.3.1.2.0.1896390.1749060355.672467
OHIF will load and display the study from DICOMweb (Orthanc Plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so → Version 1.10 )
Implementation of DICOMweb (QIDO-RS, STOW-RS and WADO-RS) and WADO-URI. (QIDO-RS, WADO-RS) services
OHIF will load its web viewer interface.
It will list all series/images in that study UID.
DICOM images will load in the viewport for viewing.
What URL do you use to open OHIF?
https://domain:8001/viewer?StudyInstanceUIDs=1.2.276.0.7230010.3.1.2.0.1896390.1749060355.672467
OHIF viewer URL is /viewer
StudyInstanceUIDs is passed as a query param
domain is our server
Port 8001 is what we have exposed via nginx
Nginx server configuration
server {
listen 8001 ssl;
server_name myviewer;
client_max_body_size 1024M;
ssl_certificate /etc/ssl/certs/selfsigned.crt;
ssl_certificate_key /etc/ssl/private/selfsigned.key;
location / {
root /var/www/html/myviewer;
index index.html index.htm;
try_files $uri /index.html;
}
location /dicom-web {
proxy_pass 'http://localhost:8042/dicom-web';
add_header 'Access-Control-Allow-Origin' '*';
}
}
OHIF default.js config: OHIF config (default.js) references the reverse-proxied /dicom-web path:
dataSources: [
{
namespace: ‘@ohif/extension-default.dataSourcesModule.dicomweb’,
sourceName: ‘live’,
configuration: {
name: ‘Dcm4chee’,
wadoUriRoot: ‘https://domain:8001/dicom-web’,
wadoRoot: ‘same as above’, (Not sending link, as it does now allow more than 2 links),
qidoRoot: ‘same as above’, (Not sending link, as it does now allow more than 2 links)
imageRendering: ‘wadors’,
thumbnailRendering: ‘wadors’,
enableStudyLazyLoad: true,
dicomUploadEnabled: true,
supportsReject: false,
qidoSupportsIncludeField: true,
supportsFuzzyMatching: false,
supportsWildcard: true,
omitQuotationForMultipartRequest: false,
acceptHeader: [‘multipart/related; type=application/octet-stream; transfer-syntax=*’],
bulkDataURI: {
enabled: true,
},
},
},
]
Attached is the screenshot (Ignore the study which is in displayed, its blurred from our end and also when we try to LOAD PR study, we have displayed the error we see in the Console.
This error does not appear with the files you have shared (there is only 2 PR and 1 PT instances) and there are no 500 errors in the logs.
But we are seeing this issue. Can you throw some light where can the issue be ?
Also, can we get details about what configurations and versions of orthanc or ohif viewer or other viewer (and its details) which you have used to test this out ?
Can we get a temporary access to test it out, play around and understand ?
No since I don’t have the issue.
No. It’s a stupid default installation.
No
I already told you twice that you did only share a tiny subset of the data which does not allow us to reproduce anything.