MONAILabel: OHIF Viewer : Couldn't connect to Orthanc Server

Describe the bug I am trying to use OHIF viewer. When trying to run monailabel start_server --app apps\deepedit --studies http://127.0.0.1:8042/dicom-web this URL , it pops up with a dialogbox to enter the username and password.

I tried some default username and password, but it doesn’t signed into the Orthanc Server.

To Reproduce Steps to reproduce the behavior: For this, I followed the below steps which was mentioned in the document.

  1. Installed Orthanc using apt-get install orthanc orthanc-dicomweb.
  2. Upgraded to latest version by following steps mentioned here

Now the orthanc server setup is completed.

  1. Run the command monailabel start_server --app apps\deepedit --studies http://127.0.0.1:8042/dicom-web

Expected behavior

I expect that orthanc server should load without the authentication pop up.

Screenshots

orthancerror

Environment

================================
Printing MONAI config...
================================
MONAI version: 0.9.dev2149
Numpy version: 1.21.4
Pytorch version: 1.9.0+cu111
MONAI flags: HAS_EXT = False, USE_COMPILED = False
MONAI rev id: 1ad68787c35e259cb7704b56d679659104d2494c

Optional dependencies:
Pytorch Ignite version: 0.4.6
Nibabel version: 3.2.1
scikit-image version: 0.18.3
Pillow version: 8.4.0
Tensorboard version: 2.7.0
gdown version: 4.2.0
TorchVision version: 0.10.0+cu111
tqdm version: 4.62.3
lmdb version: 1.2.1
psutil version: 5.8.0
pandas version: NOT INSTALLED or UNKNOWN VERSION.
einops version: NOT INSTALLED or UNKNOWN VERSION.
transformers version: NOT INSTALLED or UNKNOWN VERSION.
mlflow version: NOT INSTALLED or UNKNOWN VERSION.

For details about installing the optional dependencies, please visit:
    https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies


================================
Printing system config...
================================
System: Linux
Linux version: Ubuntu 20.04.3 LTS
Platform: Linux-4.15.0-136-generic-x86_64-with-glibc2.10
Processor: x86_64
Machine: x86_64
Python version: 3.8.10
Process name: python
Command: ['python', '-c', 'import monai; monai.config.print_debug_info()']
Open files: []
Num physical CPUs: 20
Num logical CPUs: 40
Num usable CPUs: 40
CPU usage (%): [10.3, 11.3, 11.3, 11.9, 9.5, 11.8, 100.0, 9.4, 12.6, 8.9, 11.3, 10.7, 10.1, 13.3, 13.2, 10.2, 10.7, 16.9, 9.6, 9.5, 11.5, 10.1, 11.3, 9.5, 11.9, 8.9, 9.4, 10.1, 16.9, 11.9, 9.5, 10.1, 10.7, 10.1, 10.1, 10.1, 10.7, 10.1, 10.3, 14.6]
CPU freq. (MHz): 1461
Load avg. in last 1, 5, 15 mins (%): [1.7, 2.8, 4.1]
Disk usage (%): 73.7
Avg. sensor temp. (Celsius): UNKNOWN for given OS
Total physical memory (GB): 251.8
Available memory (GB): 237.8
Used memory (GB): 12.8

================================
Printing GPU config...
================================
Num GPUs: 4
Has CUDA: True
CUDA version: 11.1
cuDNN enabled: True
cuDNN version: 8005
Current device: 0
Library compiled for CUDA architectures: ['sm_37', 'sm_50', 'sm_60', 'sm_70', 'sm_75', 'sm_80', 'sm_86']
GPU 0 Name: Tesla V100-DGXS-32GB
GPU 0 Is integrated: False
GPU 0 Is multi GPU board: False
GPU 0 Multi processor count: 80
GPU 0 Total memory (GB): 31.7
GPU 0 CUDA capability (maj.min): 7.0
GPU 1 Name: Tesla V100-DGXS-32GB
GPU 1 Is integrated: False
GPU 1 Is multi GPU board: False
GPU 1 Multi processor count: 80
GPU 1 Total memory (GB): 31.7
GPU 1 CUDA capability (maj.min): 7.0
GPU 2 Name: Tesla V100-DGXS-32GB
GPU 2 Is integrated: False
GPU 2 Is multi GPU board: False
GPU 2 Multi processor count: 80
GPU 2 Total memory (GB): 31.7
GPU 2 CUDA capability (maj.min): 7.0
GPU 3 Name: Tesla V100-DGXS-32GB
GPU 3 Is integrated: False
GPU 3 Is multi GPU board: False
GPU 3 Multi processor count: 80
GPU 3 Total memory (GB): 31.7
GPU 3 CUDA capability (maj.min): 7.0

Additional context I installed the orthanc in DGX docker container.

Any suggestion and help is appreciated. Thank you

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 24 (2 by maintainers)

Most upvoted comments

Hi @Suchi97,

Once you redo the installation for Orthanc you might want to update a few fields in its configuration (/etc/orthanc/orthanc.json). To disable authentication you can set

"AuthenticationEnabled" : false,

but that’s not sufficient if your orthanc server isn’t on the same machine (or container) as the label server, s you’ll have to set

"RemoteAccessAllowed" : true,

and make sure that

"SslEnabled" : false,

If you don’t want to disable authentication to Orthanc, you can setup your own user

"AuthenticationEnabled" : true,
"RegisteredUsers" : {
    "orthanc" : "orthancpass"
  },

Furthermore you will want to double check that your dicomweb module is enabled, and that the configuration file exists (e…g /etc/orthanc/dicomweb.json). If you have a dicomweb config like

{
  /**
  * The following options control the configuration of the Orthanc
  * plugin adding support of WADO and DICOMweb.
  **/

  "DicomWeb" : {
    "Enable" : true,         // Whether DICOMweb support is enabled
    "Root" : "/dicom-web/",  // Root URI of the DICOMweb API (for QIDO-RS, STOW-RS and WADO-RS)
    "EnableWado" : true,     // Whether WADO-URI (aka. WADO) support is enabled
    "WadoRoot" : "/wado",    // Root URI of the WADO-URI (aka. WADO) API
    "Host" : "localhost",    // Hard-codes the name of the host for subsequent WADO-RS requests
    "Ssl" : false,            // Whether HTTPS should be used for subsequent WADO-RS requests
    "Servers": {
      "local": {
        "Url": "http://localhost:8042/dicom-web", 
        "Username": "orthanc", 
        "Password": "orthancpass"
      }
    }
  }
}

you should be able to check the URL: http://localhost:8042/dicom-web/app/client/index.html to see if your DICOMweb service is enabled and working.

As @SachidanandAlle explained you will have to set the args for username and password in version 0.2.0 or setup the env vars for 0.3.0.

You can also check whether things are working for you with dicomweb using

curl -X GET -H "accept: */*" -u orthanc:orthancpass http://localhost:8042/dicom-web/studies

Hi @diazandr3s, the issue has been resolved thanks to the documentation which I found online. Thanks

@aihsani @SachidanandAlle @diazandr3s Thanks for your suggestions. @aihsani Thanks for your detailed description.

I reinstalled the orthanc application and then edited the configuration files (/etc/orthanc/orthanc.json and /etc/orthanc/dicomweb.json) as @aihsani 's comment.

Now I am able to authenticate the orthanc server. Its working fine. Thanks again for your great help.

Sure @diazandr3s. Let me try this and I will let u know

Thanks @SachidanandAlle for your suggestions.

I am on vacation… so asking some one to help u… remove currect Orthanc… and try installing Orthanc from a docker or in another box… not able to guess what is wrong with your Orthanc…

@diazandr3s see if you can help…

Another thing… which version of monailabel you are trying…? I suspect you are using 0;2 version… And was giving solution based on 0.3

Because these args doesn’t exist in 0.3 and were part of 0.2 USING:: username = None USING:: password = None USING:: wado_prefix = USING:: qido_prefix = USING:: stow_prefix =

In that case, if you still want to user 0.2 version… then the correct way to pass username and password is monailabel start_server --app apps/deepedit --studies http://127.0.0.1:8042/dicom-web --username orthanc --password orthanc

If you want to run orthanc… with own config… you can do so… first you can stop the service… and then run orthanc binary (Orthanc)… https://book.orthanc-server.com/users/configuration.html#configuration

But if you have already auth configured and you are not able to disable… what is the username and password? I believe default is orthanc and orthanc

but what we have used day-in-day-out… you can always configure username and password… and send it to monailabel server…

export MONAI_LABEL_DICOMWEB_USERNAME=orthanc
export MONAI_LABEL_DICOMWEB_PASSWORD=orthanc

monailabel start_server --app apps/deepedit --studies http://127.0.0.1:8042/dicom-web

In the start logs… actually these flags are printed for debug reasons… you should see them instead of None You should be able to use this username when you access http://<my_ip>:8042/app/explorer.html (instead of localhost)

@Suchi97 were you able to resolve this issue?

The latest error says something different… some PIP package/env issue… earlier you were able to run everything but not able to use OHIF as it was requesting for auth… but now some import error…

Just to isolate the env problem vs orthanc… have you tried with few images in folder… and used 3D slicer instead of OHIF… to run e2e functionality