Page MenuHomePhabricator

Volume rendering takes huge amount of memory
Closed, WontfixPublic

Description

While working on T2845 we noticed that volume rendering uses up an enourmous amount of memory for preprocessing (or similar). This is especially annoying when volume rendering is used as a quick 3D preview of a segmentation. The quality requirements here are very low, the rendering should only provide a preview.

As a reference on numbers, here is the memory consumption of my machine. I started Mitk3M3 with the "volume rendering" preference option of the segmentation view turned OFF. Afterwards, I load /home/maleike/testimg.pic.gz, then create a new empty segmentation, then go to Window/Preferences and turn volume rendering on:

Opening Mitk3M3: 51.7 MB
Loading testimg: 222.5 MB
Creating a segmentation: 308.7 MB
Turning on volume rendering via Window/Preferences: 572 MB

i.e.

for testimg: 170.8 MB 100 %
for segmentation 86.2 MB 50 %
for volume rendering 263.3 MB 154 %

Is there any way the memory requirements could be lowered? Perhaps even with a special handling of binary images that require less quality?

Event Timeline

volume rendering requires that much memory

for testimg: 170.8 MB 100 %

170.8mb for a CT image (short) means 85.4 million voxels

the current volumemapper requires 5 bytes per voxel:
3 bytes - gradient direction
1 byte - gradient strength
1 byte - scalar strength

in fact volumerendering requires 5bytes*85million=418mb alone for that large ct,
though its only 263.3 mb

(In reply to comment #1)

volume rendering requires that much memory

for testimg: 170.8 MB 100 %

170.8mb for a CT image (short) means 85.4 million voxels

the current volumemapper requires 5 bytes per voxel:
3 bytes - gradient direction
1 byte - gradient strength
1 byte - scalar strength

in fact volumerendering requires 5bytes*85million=418mb alone for that large
ct,
though its only 263.3 mb

this does not actually answer my question: Is there any way the memory requirements could be lowered? Perhaps even with a special handling of binary images that require less quality?

for 3m3 there is no possibility to reduce further memory requirements.

fine. the default for the segmentation view is now that volume rendering is turned off and a very clear warning is displayed when the user volunteers to turn it on. I guess this is enough

kislinsk claimed this task.
kislinsk added a subscriber: kislinsk.
This task was automatically closed because it wasn't updated at least since July 2016 (over 2 years). Please re-open this task if you think that it is still relevant. This most probably means that you will resolve it.