Greetings everyone,
We had tried using both the images orthancteam/orthanc:26.4.2-full and orthancteam/orthanc:26.4.2. In the config of our orthanc.json we had set the value to 1.2.840.10008.1.2.4.201. The scans got uploaded, but the change of transfer syntax to 1.2.840.10008.1.2.4.201 did not happen. We noticed the following in the logs
Since we had a lot of log lines, I am going to attach only 2 sections
Grepped the logs with gdcm keyword in the startup section and this is the logs output
Gdcm is enabled
Applying defaults for Gdcm plugin
Installing .so file for Gdcm plugin
Linked /usr/share/orthanc/plugins-available/libOrthancGdcm.so → /usr/share/orthanc/plugins/libOrthancGdcm.so
“Gdcm”: {
I0507 13:23:01.237935 MAIN PluginsManager.cpp:329] (plugins) Found a shared library: “/usr/share/orthanc/plugins/libOrthancGdcm.so”
W0507 13:23:01.245910 MAIN PluginsManager.cpp:287] Registering plugin ‘gdcm’ (version 1.8)
I0507 13:23:01.245939 MAIN PluginsManager.cpp:163] (plugins) Initializing the decoder/transcoder of medical images using GDCM
T0507 13:23:01.245954 MAIN OrthancPlugins.cpp:6653] (plugins) Calling service 7 from plugin “/usr/share/orthanc/plugins/libOrthancGdcm.so”
T0507 13:23:01.245966 MAIN OrthancPlugins.cpp:6653] (plugins) Calling service 13 from plugin “/usr/share/orthanc/plugins/libOrthancGdcm.so”
T0507 13:23:01.246120 MAIN OrthancPlugins.cpp:6653] (plugins) Calling service 13 from plugin “/usr/share/orthanc/plugins/libOrthancGdcm.so”
W0507 13:23:01.246274 MAIN PluginsManager.cpp:159] Gdcm.RestrictTransferSyntaxes configuration is set and not empty, Orthanc will use GDCM to transcode SOME transfer syntaxes:
W0507 13:23:01.246285 MAIN PluginsManager.cpp:159] Orthanc will use GDCM to decode transfer syntax: 1.2.840.10008.1.2.4.90
W0507 13:23:01.246292 MAIN PluginsManager.cpp:159] Orthanc will use GDCM to decode transfer syntax: 1.2.840.10008.1.2.4.91
W0507 13:23:01.246298 MAIN PluginsManager.cpp:159] Orthanc will use GDCM to decode transfer syntax: 1.2.840.10008.1.2.4.92
W0507 13:23:01.246314 MAIN PluginsManager.cpp:159] Orthanc will use GDCM to decode transfer syntax: 1.2.840.10008.1.2.4.93
W0507 13:23:01.246321 MAIN PluginsManager.cpp:159] Throttling GDCM to 4 concurrent thread(s)
W0507 13:23:01.246334 MAIN PluginsManager.cpp:159] Version of GDCM: 3.0.24
T0507 13:23:01.246343 MAIN OrthancPlugins.cpp:6653] (plugins) Calling service 1006 from plugin “/usr/share/orthanc/plugins/libOrthancGdcm.so”
T0507 13:23:01.246357 MAIN OrthancPlugins.cpp:6653] (plugins) Calling service 1015 from plugin “/usr/share/orthanc/plugins/libOrthancGdcm.so”
I0507 13:23:01.329674 MAIN OrthancPlugins.cpp:3587] (plugins) Plugin making REST GET call on URI /plugins/gdcm (built-in API)
This is a portion of the logs where the transcoding by gdcm failed
I0507 13:36:08.718369 HTTP-0 OrthancRestApi.cpp:166] (http) Receiving a DICOM file of 144.18KB through HTTP
I0507 13:36:08.719350 HTTP-0 PluginsManager.cpp:163] (plugins) Cannot transcode image using GDCM: Not implemented yet
I0507 13:36:08.719371 HTTP-0 ServerContext.cpp:2161] The installed transcoding plugins cannot handle an image, fallback to the built-in DCMTK transcoder
I0507 13:36:08.719624 HTTP-0 DcmtkTranscoder.cpp:372] DCMTK transcoding from 1.2.840.10008.1.2.4.90 to one of: 1.2.840.10008.1.2.4.201
W0507 13:36:08.719640 HTTP-0 DcmtkTranscoder.cpp:419] DCMTK was unable to transcode from 1.2.840.10008.1.2.4.90 to one of: 1.2.840.10008.1.2.4.201
In the orthanc release notes
Version 1.12.11 (2026-04-14)
I see the following in the General section
Basic support for High Throughput JPEG 2000 transfer syntaxes. Orthanc will not be able to
compress/decompress or preview these images without a plugin.
So tried using the above mentioned docker images to check if we can use 1.2.840.10008.1.2.4.201 for IngestTranscoding, but then we have got the above logs lines.
This the config orthanc.json used
{
“Name”: “Orthanc inside Docker”,
“PostgreSQL” : {
“EnableIndex” : true,
“EnableStorage” : false,
“Host” : “xyz”,
“Port” : xyz,
“Database” : “xyz”,
“Username” : “xyz”,
“Password” : “xyz”,
“IndexConnectionsCount” : 20,
“Lock”: false,
“EnableSsl” : false
},
“StorageDirectory”: “/etc/orthanc/OrthancStorage”,
“StorageCompression”: false,
“MaximumStorageSize”: 0,
“MaximumPatientCount”: 0,
“LuaScripts”:
,
“Plugins”: [“/usr/share/orthanc/plugins”, “/usr/local/share/orthanc/plugins”],
“BuiltinDecoderTranscoderOrder”: “After”,
“Gdcm” : {
“Enable”: true,
“Throttling”: 4
},
“ConcurrentJobs”: 2,
“HttpServerEnabled”: true,
“HttpPort”: 8043,
“HttpDescribeErrors”: true,
“HttpCompressionEnabled”: true,
“DicomServerEnabled”: true,
“DicomAet”: “AIKENIST”,
“DicomCheckCalledAet”: false,
“DicomPort”: 4243,
“DefaultEncoding”: “Latin1”,
“DeflatedTransferSyntaxAccepted”: true,
“JpegTransferSyntaxAccepted”: true,
“Jpeg2000TransferSyntaxAccepted”: true,
“JpegLosslessTransferSyntaxAccepted”: true,
“JpipTransferSyntaxAccepted”: true,
“Mpeg2TransferSyntaxAccepted”: true,
“RleTransferSyntaxAccepted”: true,
“UnknownSopClassAccepted”: false,
“DicomScpTimeout”: 30,
“RemoteAccessAllowed”: true,
“SslEnabled”: false,
“SslCertificate”: “certificate.pem”,
“AuthenticationEnabled”: false,
“RegisteredUsers”: {
“test”: “test”
},
“DicomModalities”: {
},
“DicomModalitiesInDatabase”: true,
“DatabaseServerIdentifier” : “Orthanc_quickrad”,
“DicomAlwaysAllowEcho”: true,
“DicomAlwaysAllowStore”: true,
“DicomCheckModalityHost”: false,
“DicomScuTimeout”: 30,
“OrthancPeers”: {},
“OrthancPeersInDatabase”: false,
“HttpProxy”: “”,
“HttpVerbose”: true,
“HttpTimeout”: 60,
“HttpsVerifyPeers”: true,
“HttpsCACertificates”: “”,
“UserMetadata”: {},
“UserContentType”: {},
“StableAge”: 60,
“StrictAetComparison”: false,
“StoreMD5ForAttachments”: true,
“LimitFindResults”: 0,
“LimitFindInstances”: 0,
“LimitJobs”: 10,
“LogExportedResources”: false,
“KeepAlive”: true,
“TcpNoDelay”: true,
“HttpThreadsCount”: 50,
“StoreDicom”: true,
“DicomAssociationCloseDelay”: 5,
“QueryRetrieveSize”: 10,
“CaseSensitivePN”: false,
“LoadPrivateDictionary”: true,
“Dictionary”: {},
“SynchronousCMove”: true,
“JobsHistorySize”: 10,
“SaveJobs”: true,
“OverwriteInstances”: true,
“MediaArchiveSize”: 1,
“StorageAccessOnFind”: “Always”,
“MetricsEnabled”: true,
“IngestTranscoding”: “1.2.840.10008.1.2.4.201”,
“DicomWeb”: {
“Enable”: true,
“Root”: “/dicom-web/”,
“EnableWado”: true,
“WadoRoot”: “/wado”,
“Host”: “xyz”,
“Ssl”: true,
“StowMaxInstances”: 10,
“StowMaxSize”: 10,
“QidoCaseSensitive”: false,
“StudiesMetadata” : “MainDicomTags”,
“SeriesMetadata” : “Full”
},
}
Kindly let us know what could we do to use 1.2.840.10008.1.2.4.201 for IngestTranscoding