Docker Orthanc with Postgres and Stone viewer - Unable to see iimages

I am a newbie with docker files, but decided to try my hand at it I am trying to create an orthanc server using osimis/orthnac and postgres. I also want to add tls, but have not got that far yet.

I have been able to create a container that accepts images from one of my other orthanc servers. When I try to display the image using Stone Web Viewer, I get the small icons of the dicom files. When I try to drop the icons in the main viewer I do get the meta data of teh dicom file appearing in the window, but the dicom image does not appear. The little red box in the right lower hand corner remains red and does not turn green.

So far I have not found a way to debug this. I did try using ‘jodogne/orthanc-python’ instead of ‘osimis/orthanc’ wiith the result of the same symptoms. Any help would be appreciated.

Thank you

Greg Ennis

The details of the docker commands is below :
The container was created with docker-compose up --built

I modified the *.yml files from the sample files for docker found for postgres and stone-viewer

docker-compose.yml :

version: “2”
services:

first setup through configuration file and build step

orthanc:
build: orthanc
image: osimis/orthanc
depends_on: [orthanc-index]
restart: unless-stopped
ports: [“104:4242”, “8042:8042”]
volumes: [“orthanc-storage:/var/lib/orthanc/db:Z”]
environment:
VERBOSE_STARTUP: “true”
VERBOSE_ENABLED: “true”

you must enable the StoneViewer and the DicomWeb plugins

STONE_WEB_VIEWER_PLUGIN_ENABLED: “true”
DICOM_WEB_PLUGIN_ENABLED: “true”

ORTHANC__DICOM_WEB__SERIES_METADATA: “MainDicomTags”
ORTHANC__DICOM_WEB__STUDIES_METADATA: “MainDicomTags”

ORTHANC__EXTRA_MAIN_DICOM_TAGS: |
{
“Instance” : [
“Rows”,
“Columns”,
“ImageType”,
“SOPClassUID”,
“ContentDate”,
“ContentTime”,
“FrameOfReferenceUID”,
“PixelSpacing”,
“SpecificCharacterSet”,
“BitsAllocated”,
“BitsStored”,

“RescaleSlope”,
“RescaleIntercept”,
“SliceThickness”,
“WindowCenter”,
“WindowWidth”,
“PhotometricInterpretation”,
“PixelRepresentation”
],
“Series” : [
“TimezoneOffsetFromUTC”,
“PerformedProcedureStepStartDate”,
“PerformedProcedureStepStartTime”,
“RequestAttributesSequence”
],
“Study”: [
“TimezoneOffsetFromUTC”
],
“Patient”: []
}

StoneViewer configurations

ORTHANC__STONE_WEB_VIEWER__DATE_FORMAT: “MM/DD/YYYY”
ORTHANC__REGISTERED_USERS: |
{“demo”: “demo”}

orthanc-index:
image: postgres
restart: unless-stopped
ports: [“5432:5432”]
volumes: [“orthanc-index:/var/lib/postgresql/data:Z”]
environment:
POSTGRES_PASSWORD: “postgres”

Secod setup through enviromnt variables

orthanc-b:
image: osimis/orthanc
restart: unless-stopped
depends_on: [orthanc-index-b]
ports: [“81:8042”]
environment:
ORTHANC__POSTGRESQL__HOST: “orthanc-index-b”
ORTHANC__REGISTERED_USERS: |
{“demo”: “demo”}

orthanc-index-b:
image: postgres:14
restart: unless-stopped

environment:
POSTGRES_HOST_AUTH_METHOD: “trust”

volumes:
orthanc-storage:
orthanc-index:

In the orthanc sub directory :
Dockerfile :
FROM osimis/orthanc
COPY orthanc.json /etc/orthanc/

orthanc.json :
{
“Name”: “HmCd Docker Orthanc with Postgres”,
“StorageCompression” : false,
“StorageCompression” : false,
“Plugins” : [
“/usr/share/orthanc/plugins”, “/usr/local/share/orthanc/plugins”
],
“StorageAccessOnFind” : “Always”,
“BuiltinDecoderTranscoderOrder” : “After”,

“DicomAet”: “ORTHANC”,
“DicomModalities”: {
“bar”: [ “BAR”, “bar”, 104 ]
},
“RemoteAccessAllowed”: true,
“AuthenticationEnabled”: true,
“RegisteredUsers”: {
“demo”: “demo”
},
“PostgreSQL”: {
“EnableIndex”: true,
“EnableStorage”: false, // DICOM files are stored in the Orthanc container in /var/lib/orthanc/db/
“Host”: “orthanc-index”, // the name of the PostgreSQL container
“Database”: “postgres”, // default database name in PostgreSQL container (no need to create it)
“Username”: “postgres”, // default user name in PostgreSQL container (no need to create it)
“Password”: “postgres”
}
}

I forgot to add that I performed the attempt to view with and without software rendering with the same negative results. Stone Viewer created the small icons to the left, but would not display the full dicom fiile when it was dropped into the main viiewer. I do not think this is a problem with the docker file or files because I have used the same docker files on a different machine and was able to get iit to work properly. I did not have a problem until I tried to use ‘volumes’ to store the images while creating a *.yml fiile and used docker-compose with the addition of postgres. My perception at this point is that I have a problem with the *.yml file

Greg Ennis

I am not sure what I did but it appears to be working now. I made the observation I could see the image after sending the dicom file a second time. There must have been some configuration change I made in the new pac server that allowed the visualization of the dicom image in the Stone viewer ?

Thank you for setting up Orthanc as a docker image. This will definitely make Orthanc updates easier !!!

Greg Ennis