Medical MPR Viewer
Medical MPR Viewer Summary:
This example shows a number of display and interaction techniques combined to create a basic DICOM MPR (4 view) viewer using multiple viewports.
This example is effectively the same as the MedicalMPRViewerRemote example except running as a desktop application.
Primary features include:
-
3D Volume rendering view plus Axial, Coronal and Sagittal slice views.
-
View layout can be changed.
-
Any view can be "maximized" to fill the window.
-
Camera and window center/width are synchronized for slice views.
-
Supports both mouse input and touch input (on a touch screen device).
Secondary features are similar to the DicomImageViewer demo:
-
DICOM information (patient, study, series, etc) is displayed using screen locked annotation text.
-
The image number and number of images are displayed.
-
The window level and width values are displayed.
-
Orientation markers are (letters near edge of window) are displayed.
Mouse buttons
-
In Volume View (viewing mode by default):
-
Button 1: Rotate
-
Button 2: Pan
-
Button 1+2: Zoom
-
Wheel: Zoom
-
In Slice Views (selection mode by default):
-
Button 1: Image number (changes as mouse moves up and down).
-
Button 2: Window center/width (changes as mouse moves).
-
Wheel: Image number.
Touch
-
In Volume View (viewing mode by default):
-
1 finger drag: Rotate
-
2 finger drag: Zoom
-
Double tap: Maximize
-
In Slice Views (selection mode by default):
-
1 finger drag: Image number
-
2 finger drag: Window center/width
-
Double tap: Maximize
Hot keys:
-
I: Reset image numbers (slice views).
-
L: Toggle move-as-low-res (volume view).
-
M: Maximize current view.
-
R: Reset camera (all views).
-
W: Reset window center/width (slice views).
-
1: 2x2 square layout.
-
2: 1x3 side layout
-
3: 1x3 below layout
FILES:
-
Medical/Input/medicalMPRViewer/MedicalMPRViewer.cxx
-
Medical/Input/medicalMPRViewer/MySceneExaminer.h
-
Medical/Input/medicalMPRViewer/MySceneExaminer.cxx
SEE ALSO
MedicalHelper, SoVolumeData, SoDataRange, SoTransferFunction, SoOrthoSlice, SoVolumeRender
SCREENSHOT: