MATLAB: 3D structure not displaying correctly (volumeViewer) – example 3D data does not display properly.

3ddisplayerrorimageimage analysisimage processingimage segmentationMATLABvolumeviewer

I am using the volumeViewer to look at a CT scan of a beam.
I have a 3D data set for a binary image which is a 1000x1000x1000 logical. I have tried looking at unthresholded data which is a uint8 and have the same problem.
The 3D body is not displaying correctly, it looks as if the top and bottom slice display but the structure inbetween does not. (See attached image)
The object does display if the slice panes are used, but not for the volume.
I am using matlab 2019a. The structure displayed correctly on a colleagues computer (The entire beam is visible).
The same problem occurs when looking at example 3D data vol_001.mat found here:
load(fullfile(toolboxdir('images'),'imdata','BrainMRILabeled','images','vol_001.mat'));
load(fullfile(toolboxdir('images'),'imdata','BrainMRILabeled','labels','label_001.mat'));
So I assume this is some problem with my computer but I don't know what is wrong. I have played around with the rendering options but they only seem to affect the outside of the body, rather than the internal structure.
Any suggestions are appreciated.

Best Answer

Turns out my GPU is a bit old for the volumeViewer app.
The Matlab support team were very helpful to find a workaround.
The workaround is below, but if at all possible try find a solution which allows you to use your GPU as it is much faster than using the CPU.
1. Force volume viewer app to not use GPU
iptsetpref('VolumeViewerUseHardware',0);
2. Reduce the size of the data, so as to use the non-GPU volume rendering
vol = binary(1:2:end,1:2:end,1:2:end);
3. Convert data to uint8 as logical data is not supported for non-GPU method
vol = uint8(vol);
4. Load the app
volumeViewer(vol)