How to speed up loading time of US movie ?

It takes several minutes to loading US movie. (ex. 1 study 500 frame takes around 5 minutes.)
Is there any configulation or solution to speed up to loading ?

I am running Orthanc on local ( v1.11.1 running on local windows11, not on docker).
It loads smoothly for CR, DX, CT and US ( single frame ) study.
Although CT study, which contains around 700 frame can be loaded within a minute.
But it takes a lot minutes for US ( movie ) to loading.

Windows machine Spec. is ;
OS windows11
CPU intel core-i3 10105 ( 4C8T / 3.7-4.4GHz / 6MB )
RAM 16GB
Strage 1TB SSD

Does loading speed depends on some configuration such as " Cache Size " ?
Or, it depends on CPU or GPU performance ?
Should we improve CPU and GPU ?

ORTHANCv1.11.1_US_loading.jpg

Hi,

That should be fine with the default cache settings.

If you enable verbose logs, you should see if files are loaded from disk or from cache. You may share your logs here.

HTH,

Alain

Hello,

Thank you so much for your reply about verbose logs.

Let me share it here. Please check attached files.
I opened two studies of US movie today.
Please refer after line #2331.

Your any advise or opinion can be much helpful for me.

2022年10月25日火曜日 13:54:58 UTC+9 a…@orthanc.team:

Sorry I failed to attach files.
Let me send again.

screenshot.jpg

2022年10月26日水曜日 11:35:21 UTC+9 VET Atoms:

Orthanc.log.20221024-154926.3736 (1.24 MB)

From what I see in your logs, all accesses to images are sequential while they should be interleaved like in the log extract Chrome Dev tools screenshot below.

This might happen if your image is in Jpeg2000 format in which case GDCM is used to decompress them and, GDCM decompression is still single-threaded I think. JP2K is very efficient in terms of storage but slow to compress/decompress and therefore not well suited for good viewer experience. JPEG lossless is usually the best compromise.

Other less plausible causes:

  • your browser only uses 1 HTTP client (while the default is 6)
  • there’s a proxy somewhere that limits the traffic
  • HttpThreadCounts is set to 1 in Orthanc

HTH

Alain.

image.png

I1026 09:21:44.572292 OrthancPlugins.cpp:3123] (plugins) Plugin making REST GET call on URI /instances/a36ce41f-da4b8fa5-4d7fb803-4636b321-24a0ef4c/simplified-tags (after plugins)
I1026 09:21:44.572292 StorageCache.cpp:101] Read attachment “028c267e-fee7-46ba-ae36-9e0bd61faad2” with content type 1 from cache
I1026 09:21:44.572292 StorageCache.cpp:101] Read attachment “afd9154e-3199-440d-b762-ab6a5656cbe9” with content type 1 from cache
I1026 09:21:44.572292 StorageCache.cpp:101] Read attachment “6e9dbb71-6ead-4133-a1ac-6ab84c00ec24” with content type 1 from cache
I1026 09:21:44.572292 HttpServer.cpp:1248] (http) GET /osimis-viewer/images/5cc85a3d-cf4fffdf-f5c653a4-217e2147-c79e4b3a/0/high-quality
I1026 09:21:44.572292 StorageCache.cpp:101] Read attachment “4f09d55c-4a97-4e64-a434-ad0d5f590e62” with content type 1 from cache
I1026 09:21:44.572292 OrthancPlugins.cpp:2443] (plugins) Delegating HTTP request to plugin for URI: /osimis-viewer/images/5cc85a3d-cf4fffdf-f5c653a4-217e2147-c79e4b3a/0/high-quality
I1026 09:21:44.572292 OrthancPlugins.cpp:3123] (plugins) Plugin making REST GET call on URI /instances/5cc85a3d-cf4fffdf-f5c653a4-217e2147-c79e4b3a/simplified-tags (after plugins)
I1026 09:21:44.573292 StorageCache.cpp:101] Read attachment “37272021-98c8-44b3-9937-a5b763e4678d” with content type 1 from cache
I1026 09:21:44.573292 StorageCache.cpp:101] Read attachment “65f7fef0-7168-4e4f-88d8-eb1a6ebb269f” with content type 1 from cache
I1026 09:21:44.576292 OrthancPlugins.cpp:3123] (plugins) Plugin making REST GET call on URI /instances/ef34b3ac-2c2032cb-f07c65b2-5530e8a4-45a18bc2/file (after plugins)
I1026 09:21:44.576292 StorageCache.cpp:101] Read attachment “028c267e-fee7-46ba-ae36-9e0bd61faad2” with content type 1 from cache
I1026 09:21:44.577293 OrthancPlugins.cpp:3123] (plugins) Plugin making REST GET call on URI /instances/a36ce41f-da4b8fa5-4d7fb803-4636b321-24a0ef4c/file (after plugins)
I1026 09:21:44.595291 StorageCache.cpp:101] Read attachment “4f09d55c-4a97-4e64-a434-ad0d5f590e62” with content type 1 from cache
I1026 09:21:44.596290 OrthancPlugins.cpp:3123] (plugins) Plugin making REST GET call on URI /instances/c317897e-f5a43f5c-84e1b2ef-667f3b22-59404f84/file (after plugins)
I1026 09:21:44.605290 StorageCache.cpp:101] Read attachment “6e9dbb71-6ead-4133-a1ac-6ab84c00ec24” with content type 1 from cache
I1026 09:21:44.607289 OrthancPlugins.cpp:3123] (plugins) Plugin making REST GET call on URI /instances/6b206699-d61f9e59-0c9b01ea-093aefb6-6af183b6/file (after plugins)
I1026 09:21:44.615320 StorageCache.cpp:101] Read attachment “37272021-98c8-44b3-9937-a5b763e4678d” with content type 1 from cache
I1026 09:21:44.616293 OrthancPlugins.cpp:3123] (plugins) Plugin making REST GET call on URI /instances/5cc85a3d-cf4fffdf-f5c653a4-217e2147-c79e4b3a/file (after plugins)
I1026 09:21:44.624330 StorageCache.cpp:101] Read attachment “65f7fef0-7168-4e4f-88d8-eb1a6ebb269f” with content type 1 from cache
I1026 09:21:44.625295 OrthancPlugins.cpp:3123] (plugins) Plugin making REST GET call on URI /instances/8e30d457-867f928a-1859ee5a-95125d9f-56555ef7/file (after plugins)
I1026 09:21:44.634321 StorageCache.cpp:101] Read attachment “afd9154e-3199-440d-b762-ab6a5656cbe9” with content type 1 from cache
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: HighQualityPolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: CompositePolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: PngConversionPolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: HighQualityPolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: HighQualityPolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: HighQualityPolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: CompositePolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: PngConversionPolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: CompositePolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: PngConversionPolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: CompositePolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: HighQualityPolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: CompositePolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: PngConversionPolicy
I1026 09:21:44.635320 PluginsManager.cpp:161] (plugins) ImageProcessingPolicy: PngConversionPolicy

screenshot.jpg

Hello, thank you so much for your advise.

I have confirmed Chrome Dev tool and attached here.
It seems that it is sequential.

Sorry I don’t understand GDCM. What GDCM mean ?
And is there anyway to confirm image format is JPEG2000 or JPEG lossless from dicom tags ?

screenshot.jpg

image.png

01.png

02.png

Hello, I investigated DICOM tags if the study.

Transfer Syntax and Lossy Image Compression is as attached.

Do you think image format of this study is JPEG2000 ?

Normally, we can change JPEG2000 or JPEG lossless on the modality side.

But this time, we can’t enter setting of US modality because we need password.

So we should have contact with US manufacturer.

screenshot.jpg

image.png

03.png

04.png

Hi,

Your image is not in JP2K so this is not related to the GDCM plugin (that is used to uncompress JP2K).

You should try to upload this study in your Orthanc and compares how it behaves wrt the demo server:
https://viewer-basic.osimis.io/app/explorer.html#study?uuid=5f987fc2-fd21d1c4-04db639a-f50ed5ac-74040cb5

HTH

Alain

screenshot.jpg

image.png

Hello,

If you don’t provide a sample DICOM study (possibly anonymized) of a problematic US movie, nobody will be able to provide you with any support:
https://book.orthanc-server.com/users/support.html#discussing-a-minimal-working-example

Regards,
Sébastien-