Training and Surgery Simulation Applications P15083: Virtual...

22
Design Review P15083: Virtual Visualization for Anatomy Teaching, Training and Surgery Simulation Applications

Transcript of Training and Surgery Simulation Applications P15083: Virtual...

Page 1: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Design Review

P15083: Virtual Visualization for Anatomy Teaching, Training and Surgery Simulation Applications

Page 2: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Agenda● Subsystem Design Overview

○ review of layer 1 - objective○ acquisition of BodyParts3D dataset○ UML - first iteration

● Detailed design - layer 1 breakdown○ model (3D mouse tutorial)○ control scheme○ selection method○ snap feature○ SME meeting - redesign

● detailed design - updated risks and tests○ risks○ tests○ future directions

Page 3: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Subsystem Design Overview

● only virtual components● An integrated stereo display● Surface models that are properly labeled● an interactive 3D interface via a 3d mouse.● creation of a preliminary anatomy visualization and learning module

Hardware integration is paramount during this layer, as it is essential for all other layers. Vizard was selected because of how easy hardware integration is reported to be.

Layer 1 prototype -

Page 4: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Skull Assembly prototype

● Implementation of a layer 1 prototype - skull assembly task○ skull pieces are distributed through the 3D

environment○ task is to assemble the pieces into the correct

relationship with each other○ student is provided with information about each

bone upon selection, correct bone positioning is rewarded with points, and a change in color.

Page 5: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

3D bodyparts data set

● Free and open source (BSD)● includes bone, muscle, vasculature● segmented from MRI dataset and

retouched by artists at the center for life science in Tokyo. ● obj files are vizard compatible

Page 6: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Body Parts in 3DS Max

Page 7: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

UML - first iteration● preliminary design of the overall structure of the game using UML formalism

Page 8: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Detailed Design - problem breakdown

● selection - how do we display what bone is selected, and toggle between manipulating the view and the bone?

● control scheme - what is the most intuitive control scheme, with the smallest learning curve possible?

● snap feature - when two pieces are brought in to coarse alignment, how to we make them snap together into a functional piece?

● data set, menu system to tie all together.

Page 9: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

model for task - 3D mouse trainer

● spherical coordinate control system, allowing only rotation about the center point / origin ( intuitive navigation) 3DOF

● piece manipulation example, translation and rotation 6DOF

● selection scheme highlighting, however 2d selection w/ mouse

Page 10: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Control Scheme - mainview camera

● uses spherical coordinate, currently with a constant radius ( could be made variable if desired)

● Implementation originally attempted from scratch with displacement vectors, but was then implemented using vizard functions and object positional inheritance (lesson learned)

● key press events currenly manipulate the view position● vizact.whilekeydown(viz.KEY_DOWN,camcenter.

setEuler,[0,vizact.elapsed(-90),0],viz.REL_LOCAL)

Page 11: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Control scheme - bones● each bone should to rotate

about its own center of mass, rather than its origin location

● the centers of mass were calculated in meshlab, and stored in a CSV, then parsed in the script and used as centers of rotation

Page 12: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Selection Problem● wanted a 3D selection method rather

than a 2D mouse pointer● the position and orientation of the

glove is manipulated via the 3D mouse

● glove is imported into the scene as a 3D object, and upon selection (with space bar), a link is formed between the glove and the object to be manipulated.

Page 13: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Snap feature● two piece that fit together should

snap together when brought into close proximity and orientation (30 degrees)

● a bounding sphere sensor was added to the hierarchy of each of the bones

● the built in vizard proximity detection was used to detect when two pieces were adjacent

Page 14: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

David Schwartz SME Meeting - the Game Loop

● event driven programming● encouraged to write functions in prototype, and then

refactor into class structure● encouraged to implement a single module first, instead

of fixating on creating the best general structure (analysis paralysis)

● discussion lead to:○ the push to develop menu system for skull game○ redesign of the UML chart

Page 15: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Menu system

Page 16: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

UML chart, revised

Page 17: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Updated Risks

Page 18: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Tests - code● more difficult to write test for code that manipulate a 3D environment than

a script with an output metric● code testing will consist of an iterative process of

○ defining ideal behavior ○ speculating where breakdowns may occur○ designing code to create that ideal behavior, avoid breakdowns○ interacting within the environment to observe behavior, and identify

errors that were not predicted○ repeat

● ex) when manipulating the view, when one passes over the zenith (directly above) the view is inverted

Page 19: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Tests - human factorsNASA TLX Based Survey● Subjective workload tool to perform assessments on operators of devices.● Derives an overall workload score based on a weighted average across 6

different subscales:1. Mental Demands2. Physical Demands3. Temporal Demands4. Own Performance5. Effort6. Frustration Levels

Derive a survey based on these standards to give to students before next review.

Page 20: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

Sample Survey

Page 21: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

future directions● Most of the pieces of the demo are implemented either

in part or full now. ● The goals for the gate review are to:

○ finish implementing all desired features○ merge code into a coherent whole with classes, and

proper structure (functions => classes)○ test code

Page 22: Training and Surgery Simulation Applications P15083: Virtual …edge.rit.edu/content/P15083/public/Detailed Design... · an interactive 3D interface via a 3d mouse. creation of a

DemonstrationDemonstration of current capabilities