A Framework for Dynamic Volume Rendering Ptolemy II EECS 290N – Final Project T. Crawford 12/04
Outline Motivation Overview Existing Framework in Ptolemy II Extending the Framework
Motivation Integrate two existing Ptolemy II libraries Medical Imaging Systems –MRI Scans 3D Image from 2D slices
Existing Framework Graphics Library –GRDirector –GRViewScreen –GRShadedShape –GRSceneGraphToken –GRTransform Image Library –Performs basic image processing functions FilePortParameter –Allows an actor to receive a file parameter via an input port
Java 3D Geometry Appearance Shape 3D Virtual Universe Locale BG TG From J3D Technical Overview Sun Microsystems VP ViewPlatform View Branch Group Transform Group
GRDirector All actors that use the Java 3D API must use this director Forms a topological sort of the actor graph –Directed Acyclic Graphs All GR models must contain a ViewScreen –Defines the Virtual Universe, Locale, and Branch Graph (BG) elements needed to form a Java 3D scene graph
GRShadedShape Creates a node to be added to the Scene Graph createmodel() –creates Appearance of Shape3D fire() –Sends a reference to a node to output port to be connected to the SceneGraph Extended by other actors which creates the geometry –Box3D, Sphere3D
More About GR GRTransform –Base class for Transform Groups –Translate, Scale, etc. GRSceneGraphToken –Token type for all non-parameter inputs and outputs in GR Domain
Considerations Dynamically updateable View Allow parameters to be updated during session Domain Hierarchy –GR CompositeActors within other domains
Changes to Existing Framework GRDirector – To allow view screen to be updated dynamically GRShadedShape – To allow parameters to be updated during rendering session ImageReader –To read in.dcm file format
New Actors (GR Domain) Will extend GRShadedShape Axis2DRenderer –Volume rendering using a stack of 2D images –Image can be updated, but will be redrawn Axis3DRenderer (optional) –Volume rendering using a 3D texture –Image can be updated without being redrawn –3D textures require
New Actors ImageStack –Places and stores images in a dynamical array to be referenced by Axis2DRenderer Other data handling actors as needed –How Axis2DRenderer will read in images is still being explored
Conclusion Java 3D does perform volume rendering using textures GRDirector provides the model of computation needed to work with scene graphs Changes need to be made to existing MoC to allow dynamical viewing