imshow3D

imshow3D:(3D imshow) Displays 3D images slice by slice.Intensity adjusting & slice browsing by mouse
17.2K Downloads
Updated 29 Oct 2018

View License

imshow3D displays 3D grayscale or RGB images in a slice by slice fashion with mouse-based slice browsing and window and level adjustment control, and auto slice browsing control.
Usage:
imshow3D ( Image )
imshow3D ( Image , [] )
imshow3D ( Image , [LOW HIGH] )
imshow3D ( Image , [] , initsn )

Image: 3D image MxNxKxC (K slices of MxN images) C is either 1 for grayscale images) or 3 (for RGB images)
[LOW HIGH]: display range that controls the display intensity range of a grayscale image (default: the broadest available range)
initsn: The slice number to be displayed initially (default: mid-slice number)
Use the scroll bar or mouse scroll wheel to switch between slices. To adjust window and level values keep the mouse right button pressed, and drag the mouse up and down (for level adjustment) or right and left (for window adjustment). Window and level adjustment control works only for grayscale images.
"Play" button displays all the slices as a sequence of frames. The time interval value can also be adjusted (default time interval is 100 ms).
"Auto W/L" button adjust the window and level automatically for grayscale images.

While "Fine Tune" checkbox is checked the window/level adjustment gets 16 times less sensitive to mouse movement, to make it easier to control
display intensity rang.

Note: The sensitivity of mouse-based window and level adjustment is set based on the user-defined display intensity range; the wider the range, the more sensitivity to mouse drag.

Note: IMSHOW3DFULL is a newer version of IMSHOW3D (also available on MathWorks) that displays 3D grayscale or RGB images from three perpendicular views (i.e., axial, sagittal, and coronal).

Example
--------
% To display an image (MRI example)
load mri
Image = squeeze(D);
figure,
imshow3D(Image)

% To display the image, and adjust the display range
figure,
imshow3D(Image,[20 100]);

% To define the initial slice number
figure,
imshow3D(Image,[],5);

Cite As

Maysam Shahedi (2024). imshow3D (https://www.mathworks.com/matlabcentral/fileexchange/41334-imshow3d), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2017b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Display Image in Help Center and MATLAB Answers
Acknowledgements

Inspired: BiofilmQ, Visualize 3D data

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.6.1.0

Bug fixed; the previous figure is now cleared before displaying a new image.

1.6.0.0

An auto sequential display option has been added.

1.5.0.0

Title revised
Now it can also display 3D RGB images.

1.4.0.0

New Version of imshow3D has been released under imshow3Dfull name. It displays 3 orthogonal views (axial, sagittal, and coronal views) one by one.

1.3.0.0

Display intensity range option has been added.
Minor bugs have been fixed.
It is more similar to Matlab imshow function now.
One example has been added to the help page.

1.1.0.0

This function needs image processing toolbox too.

1.0.0.0