Orthanc cannot preview dicom

Hi Author,
I have a dicom file (see in the attachment). I can view this dicom by other software like: weasis or dcm4che. However I cannot preview it in Orthanc. Can you please help to investigate what happens with this dicom ?

Thanks,
Chris
1.dcm (196.8 KB)

Hi Chris

It works on my machine which is a pretty standard Windows installation of Orthanc 1.12.1.

You should check your logs and configuration…

Best regards,

Alain

When opening http://localhost:8042/instances/9791fed2-b8b31da0-38363f8e-3aed1cff-ed15735c/preview

Hi @alainmazy ,
It’s weird, I also use Orthanc version 1.12.1 downloaded from Index of /orthanc/1.12.1/ . I simply run Orthanc with below command

~/orthanc ⌚ 7:58:11
$ ./Orthanc --verbose

When opening http://localhost:8042/instances/9791fed2-b8b31da0-38363f8e-3aed1cff-ed15735c/preview

It shows up the Unsupported Icon as I described in previous message. Here is the verbose log

I0721 08:00:38.131517 HttpServer.cpp:1262] (http) GET /system
I0721 08:00:38.141579 HttpServer.cpp:1262] (http) GET /instances/9791fed2-b8b31da0-38363f8e-3aed1cff-ed15735c
I0721 08:00:38.150449 HttpServer.cpp:1262] (http) GET /series/d68e288c-7b4c33ed-f9a043bd-b52a9db8-bacab6d6
I0721 08:00:38.157335 HttpServer.cpp:1262] (http) GET /studies/971e3edc-9695ddc5-fd3b6b5a-6ad26ba7-675269af
I0721 08:00:38.163731 HttpServer.cpp:1262] (http) GET /patients/76616a30-537781f4-eb6ca453-ebf2f280-5469bd46
I0721 08:00:38.178776 HttpServer.cpp:1262] (http) GET /instances/9791fed2-b8b31da0-38363f8e-3aed1cff-ed15735c/tags
I0721 08:00:38.179108 StorageCache.cpp:101] Read attachment "155e6879-1b00-4fb3-a717-9a5f35b7efd0" with content type 1 from cache
I0721 08:00:38.191133 HttpServer.cpp:1262] (http) GET /instances/9791fed2-b8b31da0-38363f8e-3aed1cff-ed15735c/header
I0721 08:00:38.191264 StorageCache.cpp:101] Read attachment "155e6879-1b00-4fb3-a717-9a5f35b7efd0" with content type 1 from cache
I0721 08:00:38.199378 HttpServer.cpp:1262] (http) GET /instances/9791fed2-b8b31da0-38363f8e-3aed1cff-ed15735c/metadata
I0721 08:00:48.389850 HttpServer.cpp:1262] (http) GET /app/images/unsupported.png

Do I need to use other plugin like gdcm ?

Thanks,
Chris

Hi Chris,

That is really weird, I just downloaded the LSB 1.12.1 and ran it with this configuration file (which makes no difference from an empty configuration file):

{
    "Name": "Orthanc debug",
    "HttpPort": 8043,
    "StorageDirectory": "OrthancStorageDebugBis",
    "RemoteAccessAllowed": true
}

Here are my full logs

W0724 10:24:56.017191 main.cpp:2034] Orthanc version: 1.12.1
I0724 10:24:56.017322 main.cpp:2066] Architecture: 64-bit, little endian
W0724 10:24:56.017437 OrthancConfiguration.cpp:57] Reading the configuration from: "/home/alain/o/build/configs/orthanc-bis.json"
I0724 10:24:56.017663 Toolbox.cpp:1549] Setting up the ICU common data
I0724 10:24:56.162583 Toolbox.cpp:1528] Using locale: "en_US.UTF-8" for case-insensitive comparison of strings
I0724 10:24:56.162726 Toolbox.cpp:1824] OpenSSL version: OpenSSL 3.1.0
I0724 10:24:56.163028 FromDcmtkBridge.cpp:294] (dicom) Using DCMTK version: 367
I0724 10:24:56.163085 FromDcmtkBridge.cpp:302] (dicom) Loading the embedded dictionaries
I0724 10:24:56.176944 FromDcmtkBridge.cpp:314] (dicom) Loading the embedded dictionary of private tags
I0724 10:24:56.183840 FromDcmtkBridge.cpp:2461] (dicom) Registering JPEG Lossless codecs in DCMTK
I0724 10:24:56.183915 FromDcmtkBridge.cpp:2469] (dicom) Registering JPEG codecs in DCMTK
I0724 10:24:56.184001 FromDcmtkBridge.cpp:2476] (dicom) Registering RLE codecs in DCMTK
I0724 10:24:56.184052 Enumerations.cpp:2392] Default encoding for DICOM was changed to: Latin1
W0724 10:24:56.189309 OrthancInitialization.cpp:420] SQLite index directory: "/home/alain/o/build/configs/OrthancStorageDebugBis"
W0724 10:24:56.189608 OrthancInitialization.cpp:519] Storage directory: "/home/alain/o/build/configs/OrthancStorageDebugBis"
I0724 10:24:56.196122 SQLiteDatabaseWrapper.cpp:1399] Version of the Orthanc database: 6
W0724 10:24:56.196204 HttpClient.cpp:1194] HTTPS will use the CA certificates from this file: /home/alain/o/build/configs
I0724 10:24:56.196215 HttpClient.cpp:515] (http) Setting the default timeout for HTTP client connections: 0 seconds
I0724 10:24:56.196265 HttpClient.cpp:499] (http) Setting the default proxy for HTTP client connections: 
I0724 10:24:56.196280 DicomAssociationParameters.cpp:376] (dicom) Default timeout for DICOM connections if Orthanc acts as SCU (client): 10 seconds (0 = no timeout)
I0724 10:24:56.196450 ServerIndex.cpp:289] Starting the database flushing thread (sleep = 10 seconds)
I0724 10:24:56.196476 ServerIndex.cpp:446] Starting the monitor for stable resources (stable age = 60)
I0724 10:24:56.196558 LuaJobManager.cpp:68] (lua) Lua: DICOM associations will be closed after 5 seconds of inactivity
I0724 10:24:56.196780 LuaScripting.cpp:774] Initializing Lua for the event handler
W0724 10:24:56.196968 LuaContext.cpp:94] Lua says: Lua toolbox installed
I0724 10:24:56.197160 LuaJobManager.cpp:68] (lua) Lua: DICOM associations will be closed after 5 seconds of inactivity
I0724 10:24:56.197214 LuaScripting.cpp:774] Initializing Lua for the event handler
W0724 10:24:56.197362 LuaContext.cpp:94] Lua says: Lua toolbox installed
I0724 10:24:56.197432 ServerContext.cpp:410] Automated transcoding of incoming DICOM instances is disabled
I0724 10:24:56.197508 ServerContext.cpp:417] (dicom) Deidentification of log contents (notably for DIMSE queries) is enabled
I0724 10:24:56.197579 ServerContext.cpp:421] (dicom) Version of DICOM standard used for deidentification is 2023b
I0724 10:24:56.197740 ServerContext.cpp:440] (dicom) Preferred transfer syntax for Orthanc C-STORE SCU: 1.2.840.10008.1.2.1
I0724 10:24:56.197936 ServerContext.cpp:457] Your platform does not support malloc_trim(), not starting the memory trimming thread
I0724 10:24:56.197994 DcmtkTranscoder.cpp:76] Quality for lossy transcoding using DCMTK is set to: 90
W0724 10:24:56.198049 ServerContext.cpp:527] Disk compression is disabled
I0724 10:24:56.198121 ServerContext.cpp:1318] Storing MD5 for attachments: yes
W0724 10:24:56.198207 ServerIndex.cpp:381] No limit on the number of stored patients
W0724 10:24:56.198238 ServerIndex.cpp:401] No limit on the size of the storage area
W0724 10:24:56.198266 ServerIndex.cpp:420] Maximum Storage mode: Recycle
W0724 10:24:56.202962 ServerContext.cpp:256] Reloading the jobs from the last execution of Orthanc
I0724 10:24:56.241574 JobsRegistry.cpp:758] New job submitted with priority 0: 0b204639-8056-40f3-a42d-ce8f42ccb8db
I0724 10:24:56.250368 JobsRegistry.cpp:758] New job submitted with priority 0: 61fc376a-595d-4638-8397-486877f4e669
I0724 10:24:56.260267 JobsRegistry.cpp:758] New job submitted with priority 0: 6f4b139f-a7cd-4dd8-83ae-571409b9e49f
I0724 10:24:56.269208 JobsRegistry.cpp:758] New job submitted with priority 0: 75b7d311-7d40-44fb-8258-16288c973e36
I0724 10:24:56.279143 JobsRegistry.cpp:758] New job submitted with priority 0: 77adbb13-4eac-4fa0-ae12-3a918fe57cf7
I0724 10:24:56.288173 JobsRegistry.cpp:758] New job submitted with priority 0: 79b405b3-086c-4f2e-8395-55923aa2391a
I0724 10:24:56.298737 JobsRegistry.cpp:758] New job submitted with priority 0: 7a6f4403-92ba-4d3b-af72-45e1648950e7
I0724 10:24:56.308168 JobsRegistry.cpp:758] New job submitted with priority 0: 8742bdcf-3a8e-49ee-99ed-96d10627e04a
I0724 10:24:56.317520 JobsRegistry.cpp:758] New job submitted with priority 0: 8de3e5bc-8355-4b18-af44-514c3e480b31
I0724 10:24:56.327361 JobsRegistry.cpp:758] New job submitted with priority 0: da68d19a-1376-4fde-a3f5-64021e6650c4
W0724 10:24:56.335070 JobsEngine.cpp:272] The jobs engine has started with 2 threads
I0724 10:24:56.335108 JobsEngine.cpp:126] (jobs) Worker thread 0 has started
I0724 10:24:56.335124 JobsEngine.cpp:126] (jobs) Worker thread 1 has started
I0724 10:24:56.335200 DicomServer.cpp:134] (dicom) Setting timeout for DICOM connections if Orthanc acts as SCP (server): 30 seconds (0 = no timeout)
I0724 10:24:56.335558 DicomServer.cpp:422] (dicom) Orthanc SCP will *not* use DICOM TLS
I0724 10:24:56.335584 DicomServer.cpp:430] (dicom) The embedded DICOM server will use 4 threads
W0724 10:24:56.335868 main.cpp:1317] DICOM server listening with AET ORTHANC on port: 4242
I0724 10:24:56.335995 HttpServer.cpp:1604] (http) This Orthanc server uses CivetWeb as its embedded HTTP server
I0724 10:24:56.336076 HttpServer.cpp:2112] (http) The embedded HTTP server will use 50 threads
I0724 10:24:56.335948 DicomServer.cpp:64] (dicom) DICOM server started
I0724 10:24:56.336109 HttpServer.cpp:1953] (http) HTTP keep alive is enabled
I0724 10:24:56.336227 HttpServer.cpp:1967] (http) HTTP keep alive Timeout is now 1 seconds
W0724 10:24:56.336258 HttpServer.cpp:2036] HTTP compression is enabled
I0724 10:24:56.336264 HttpServer.cpp:2125] (http) TCP_NODELAY for the HTTP sockets is set to true
I0724 10:24:56.336314 HttpServer.cpp:2145] (http) Request timeout in the HTTP server is set to 30 seconds
W0724 10:24:56.336345 main.cpp:1058] Remote access is allowed but "AuthenticationEnabled" is not in the configuration, automatically enabling HTTP authentication for security
W0724 10:24:56.336375 main.cpp:1084] ====> HTTP authentication is enabled, but no user is declared. Creating a default user: Review your configuration option "RegisteredUsers". Your setup is INSECURE <====
I0724 10:24:56.336442 main.cpp:1161] Version of Lua: Lua 5.3
W0724 10:24:56.336470 main.cpp:1172] Remote LUA script execution is disabled
W0724 10:24:56.336514 main.cpp:1184] REST API cannot write to the file system.
I0724 10:24:56.336650 HttpServer.cpp:2192] (http) Branching WebDAV bucket at: /webdav
I0724 10:24:56.336699 HttpServer.cpp:1649] (http) Starting embedded Web server using Civetweb
I0724 10:24:56.340158 OrthancWebDav.cpp:1696] Starting the WebDAV upload thread
W0724 10:24:56.340278 HttpServer.cpp:1794] HTTP server listening on port: 8043 (HTTPS encryption is disabled, remote access is allowed)
W0724 10:24:56.340312 main.cpp:923] Orthanc has started
I0724 10:24:56.340336 LuaScripting.cpp:868] Starting the Lua engine
I0724 10:25:01.285584 HttpServer.cpp:1262] (http) GET /instances/9791fed2-b8b31da0-38363f8e-3aed1cff-ed15735c/preview
I0724 10:25:01.285771 FilesystemStorage.cpp:161] Reading attachment "2ad81342-91ad-43ef-a17f-027a734db450" of "DICOM" content type
I0724 10:25:01.286104 DicomImageDecoder.cpp:875] Decoding a JPEG baseline (process 1) DICOM image
I0724 10:25:01.389954 HttpServer.cpp:1262] (http) GET /app/images/favicon.ico

So, no plugins and the image shows correctly. Can you paste your full logs ?

Best regards,

Alain.

Thanks Alain,
I did test again with no plugin and I confirm that there is no issue with previewing this dicom. Orthanc works correctly. I do not know what happened with the first test. Please ignore this thread. Thanks again.