Hi Authors,
In ORTHANC, I noticed that the quality of JPEG/PNG image retrieved by WADO-URI is somehow different from other methods like: ORTHANC RENDERED INSTANCE or DCM4CHEE WADO-URI or CornerStone WADO-RS. I dont know if the quality is better or worsen, but here is what I compared and observed:
So, methods number 2 (Orthanc rendered instance) and number 3 (DCM4CHEE WADO-URI) return same image quality, but different from method number 1 (ORTHANC WADO-URI). I did dig more into the source code (OrthancDicomWeb:
https://hg.orthanc-server.com/orthanc-dicomweb/file/tip) and notice that when client calling to WADO-URI, the plugin redirects it to the preview url
static bool RetrievePngPreview(OrthancPlugins::MemoryBuffer& png,
const std::string& instance)
{
std::string uri = "/instances/" + instance + "/preview";
if (png.RestApiGet(uri, true))
{
return true;
}
else
{
OrthancPlugins::LogError("WADO-URI: Unable to generate a preview image for " + uri);
return false;
}
}
This is the log when calling ORTHANC WADO-URI:
I0812 10:34:42.419103 HttpServer.cpp:824] GET /wado
I0812 10:34:42.419144 OrthancPlugins.cpp:1811] Delegating HTTP request to plugin for URI: /wado
I0812 10:34:42.419933 OrthancPlugins.cpp:2384] Plugin making REST GET call on URI /instances/efe24a75-8feafc74-fc83584b-0f133128-60304d7c/preview (after plugins)
I0812 10:34:42.420170 FilesystemStorage.cpp:155] Reading attachment "f704e1a0-5c0a-44e6-af0e-dace2ebc662e" of "DICOM" content type
I0812 10:34:42.420248 PluginsManager.cpp:172] Decoding one DICOM instance of 0.1MB using GDCM
I tried to change "/preview" to "/rendered" and all three methods above result in the same image. I dont know if you guys can change the source code so the result of WADO-URI is consistent among vendors.
P/S I attached 4 files:
1- JPEG file from ORTHANC WADO-URI (1.jpeg)
2- PNG file from ORTHANC RENDERED INSTANCE (2.png)
3- JPEG file from DCM4CHEE (3.JPEG)
4- DICOM file (1.2.840.113704.9.1000.16.2.20190613104005642000100010001.dcm)
Thanks,
Chris