Hello everyone, I am hoping someone can help me with this configuration. My overall goal is to get Orthanc running using Postgres, the OHIF Plugin and be able to make API calls to Orthanc.
A few questions. I am trying to keep my configs as minimal as possible, and I have a feeling I am missing something here. I also feel like my configs contain more than I need.
- Are these configurations correct for dicom-web to work properly with the OHIF Plugin?
- In my Orthanc config, is the
DicomWebsection necessary if all I want to use is the OHIF Plugin? Or do I need that block to be able to make API calls to Orthanc? - In my
ohif.jsconfig file, I read thatwindow.config.dataSourcesis overwritten by the OHIF plugin. This may be a dumb question, but does that mean there’s no point in defining that section in the file at all? In other words, is the entiredataSourcessection effectively ignored? I’m asking because I’d like to enable options such asenableStudyLazyLoad,supportsFuzzyMatching, andsupportsWildcard. Since those settings are defined inside thedataSourcessection, I’m concerned they are not actually being loaded or applied by OHIF.
I have been going through the documentation and forums posts, but I am still a little confused on those few things. Below are my configs. Any help would be greatly appreciated!
Orthanc Config:
{
"Name": "OrthancTEST1",
"DicomAet": "TESTS1",
"RemoteAccessAllowed": true,
"AuthenticationEnabled": true,
"WebDavEnabled": false,
"DefaultEncoding": "Utf8",
"PostgreSQL": {
"EnableIndex": true,
"EnableStorage": false,
"Port": 5432,
"Host": "orthanc-index",
"Database": "test",
"Username": "test",
"Password": "test",
"Lock": false
},
"RegisteredUsers": {
"user1": "user1",
"user2": "user2"
},
"DicomWeb": {
"Enable": true,
"Root": "/dicom-web/",
"EnableWado": true,
"WadoRoot": "/wado",
"Ssl": false,
"QidoCaseSensitive": true,
"StudiesMetadata": "Full",
"SeriesMetadata": "Full",
"EnableMetadataCache": true,
"EnablePerformanceLogs": false,
"MetadataWorkerThreadsCount": 4,
"WadoRsLoaderThreadsCount": 0,
"PublicRoot": "/dicom-web/"
},
"OHIF": {
"DataSource": "dicom-web",
"UserConfiguration": "/etc/orthanc/ohif.js"
}
}
docker compose file:
services:
orthanc:
image: orthancteam/orthanc
depends_on: [orthanc-index]
restart: unless-stopped
ports: ["4242:4242", "8042:8042"]
volumes: ["./orthanc-storage:/var/lib/orthanc/db", "./ohif.js:/etc/orthanc/ohif.js:ro"]
environment:
VERBOSE_STARTUP: "true"
VERBOSE_ENABLED: "true"
OHIF_PLUGIN_ENABLED: "true"
STONE_WEB_VIEWER_PLUGIN_ENABLED: "true"
DICOM_WEB_PLUGIN_ENABLED: "true"
POSTGRESQL_PLUGIN_ENABLED: "true"
GDCM_PLUGIN_ENABLED: "true"
secrets:
- configuration.json
orthanc-index:
image: postgres:15
restart: unless-stopped
ports: ["5432:5432"]
volumes: ["./orthanc-index:/var/lib/postgresql/data"]
environment:
POSTGRES_HOST_AUTH_METHOD: "trust"
secrets:
configuration.json:
file: configuration.json
volumes:
orthanc-storage:
orthanc-index:
Finally, my ohif.js configuration file:
window.config = {
extensions: [],
modes: [],
showStudyList: true,
useNorm16Texture: true,
investigationalUseDialog: {
value: "never"
},
dataSources: [
{
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
name: 'ohif3',
wadoUriRoot: 'http://192.168.0.1/pacs//wado',
qidoRoot: 'http://192.168.0.1/pacs/rs',
wadoRoot: 'http://192.168.0.1/pacs/rs',
qidoSupportsIncludeField: true,
supportsReject: true,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
supportsFuzzyMatching: true,
supportsWildcard: true,
},
},
],
defaultDataSourceName: 'dicomweb',
};