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

235 views
Skip to first unread message

Po...@PoMec.Net

unread,
Aug 14, 2022, 8:34:09 PM8/14/22
to Orthanc Users
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"
  }
}

Po...@PoMec.Net

unread,
Aug 15, 2022, 11:35:21 AM8/15/22
to Orthanc Users
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

Po...@PoMec.Net

unread,
Aug 15, 2022, 6:16:32 PM8/15/22
to Orthanc Users
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
Reply all
Reply to author
Forward
0 new messages