Size of DICOM file is 10x what it should be when syncing via DICOMWeb

Hi all.

I am testing the following setup:

  • Orthanc running locally.
  • Cloud syncing using the DICOMWeb and GoogleCloudPlatform plugins (both of which are amazing, and very easy to setup)
    I am doing the following test:
  1. Upload via Orthanc Explorer, a DICOM file containing 1 study, and 1 instance, of size 28.4mb.
  2. Send the entire patient via DICOMWeb to the Google Healthcare DICOMWeb server.
  3. Delete the patient from my local Orthanc server
  4. Go to the DICOMWeb client and browse the Google Healthcare server for that newly added patient.
  5. Retrieve via WADO-RS
  6. Go back to the Orthanc Explorer, and download the patient Zip.

When I decompress the Zip, the single DICOM file contained within is now 300mb.

What is going on here? Is Orthanc doing this, or is Google Healthcare doing this?

Dom

Does Google Cloud uncompress it? Is the study JPEG Lossless for example before being sent to Google Cloud?

I will check this. Good suggestion

I see this mentioned in the docs, but I don’t fully understand it.

Warning: The response’s default transfer syntax is Little Endian Explicit. As a result, if the file was uploaded using a compressed transfer syntax, the returned object will be decompressed. This can negatively impact performance and lead to errors for transfer syntaxes that the Cloud Healthcare API doesn’t support. To avoid these issues, and if the returned object’s transfer syntax does not matter to your application, use the multipart/related; type=“application/dicom”; transfer-syntax=* Accept Header.

https://cloud.google.com/healthcare/docs/dicom

Looks like by default it returns uncompressed but looks like you can force it to send compressed.

Hello,

This should be fixed by the following changeset that is pending in the mainline of the DICOMweb plugin:
https://bitbucket.org/sjodogne/orthanc-dicomweb/commits/99b049b0eeca65f9733adf9eef6e39082680c375

This modification adds the “Accept” header, as pointed above by Dominic Bou-Samra.

Unfortunately, this change required by Google Cloud Platform breaks the compatibility with versions <= 1.0 of the DICOMweb server of Orthanc. We still need to find a way to achieve full compatibility.

HTH,
Sébastien-

Thanks Sébastien.

So I notice this is in master. Is there a release planned?

No release is planned for the time being.

In the meantime, you’ll have to build from sources or to use Linux Standard Base binaries:
https://book.orthanc-server.com/plugins/dicomweb.html#compilation

https://www.orthanc-server.com/download.php

Sébastien-

Hello,

We have finally settled on introducing a new client-related configuration option “HasWadoRsUniversalTransferSyntax” in the DICOMweb plugin.

As documented in the Orthanc Book, the default value of this option is “true”, which avoids transcoding if used against the Google Cloud Platform:

https://book.orthanc-server.com/plugins/dicomweb.html#client-related-options

Setting this option to “false” enables compatibility with versions <= 1.0 of the DICOMweb plugin for Orthanc.

A new official release of the plugin should soon be available.

HTH,
Sébastien-