Negating IngestTranscoding

Good morning all - I hope that this finds you well, enjoying life and generally loving using Orthanc and all that it allows us to do! Continued thanks to the team and this community!

I believe that the default configuration online lists all of the options available to the current version of Orthanc. I also believe that the settings shown also become the default setting of the software, unless otherwise specified in the notes accompanying each option.

I would like to focus on IngestTranscoding:

...
// If this option is set, Orthanc will transparently transcode any
// incoming DICOM instance to the given transfer syntax before
// storing it into its database....
"IngestTranscoding" : "1.2.840.10008.1.2",
...

So this poses a question: if I wanted Orthanc to be set up to accept instances exactly as they are presented to it, without any changes to the compression - if enabled - what value would I put in as ?

  • If I leave it out, I can only assume that it will automatically transcode to ILE (the DICOM default) as listed in the docs shown above.
  • If I list a Transfer Syntax, then Orthanc (obviously) transcodes to that value given.

Should I include the setting but omit a value? Would that allow me to receive the instance as it was sent to me?

Or would the following do what I want?

"IngestTranscodingOfUncompressed" : false,
"IngestTranscodingOfCompressed" : false,
"IngestTranscoding" : "1.2.840.10008.1.2", // this is effectively now ignored, irrespective of value entered

(Considering an instance is going to be either compressed or uncompressed, setting both to false will leave them exactly as they were received?)

Additionally, if I may be rude enough to ask a subsequent question: I’d like to understand how IngestTranscoding (if set to a compressed TS) is associated with the "StorageCompression" setting?

All comments / suggestions are most welcome!

Regards,

D

Hi Dave,

Every word counts in the documentation :wink:

// If this option is set, Orthanc will transparently transcode any
// incoming DICOM instance to the given transfer syntax before
// storing it into its database…

So if you just do not include it in your configuration file, Orthanc will not transcode incoming files. This is actually the default behavior since this option is commented out in the default configuration file.

Concerning your second question:
Transcoding only applies to PixelsData, not the DICOM Tags that are stored at the beginning of the DICOM file. Transcoding usually allows a gain of 3x or 4x in size but might be slower to compress/uncompress. E.g transcoding to JP2K is more efficient than transcoding to JPEG_LS but is much slower.

The StorageCompression is a zip compression of the whole DICOM file before saving it to disk. If the PixelsData of the DICOM file are already compressed, the StorageCompression will basically be useless since the zip compression will not work at all on the PixelsData but only on the DICOM Tags.

Hope this helps,

Alain

Alain,
As always, I sincerely appreciate your response. Thanks for the guidance on the Transcoding and the storage compression.

I remain your most humble servant,

D