VOXview is an easy-to-use function for visualizing small 3D scalar or RGB (i.e. MxNxO x3) arrays. This function was specifically designed to give the user independent control of voxel alpha, intensity, and color values, something that is currently not possible when using MATLAB's "volshow" command.
VOXview(rand(50, 50, 50, 3)); % Generate volume filled with voxels having random RGB values.
Additionally, the function gives users direct control of:
- Colormaps (for scalar fields)
- Patch properties (e.g. edge colors, reflectivity options)
- Alpha threshold (faces below this value are left un-drawn)
- Multiple types of transparency computation methods
- Voxel size
- Bounding boxes
And lastly it provides the patch-handle for the final object for efficient manipulation after the fact.
Run VOXview_demo.m for demonstrations of different input options.
Run Lamp_demo for an animation demonstration exploiting voxel patch handles.
Important performance note:
VOXview has been updated to use texture mapping, so like vol3d it can now render much larger volumes (e.g. 500 voxels on edge). This enables simple colormap updating as well, however there may be some backward compatibility issues. To improve backward compatibility set texturemapping to false, which will render the volume using a single call to patch as done originally. This enables some other features to be used and simplifies patch property modification using the returned handle, however the rendering slows down considerably for large volumes and in this mode is not suggested for volumes larger than 100 pixels on edge.
vol3d v2 inspired the inclusion of texture mapping as an option.
Tim (2022). VOXview (https://www.mathworks.com/matlabcentral/fileexchange/78745-voxview), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: vol3d v2
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!