The
OsgVolume Project:
1.0 The OpenSceneGraph:
The OpenSceneGraph is a cross platform, scalable, real time, open source
scene graph that has over 1700 active developers world wide and users
such as NASA, European Space Agency, Boeing, Magic Earth, American Army,
and many others. Enabling the rapid development
of custom visualisation programs, the OSG is also the power behind OsgVolume
and Present3D.
2.0 OsgVolume:
Currently there is an opportunity to become involved in the new OSGVolume
project that will add high resolution volume rendering to the OSG.
This project would result in a suite of core volume rendering tools
being
developed to meet the joint aims of the Scottish Medical Schools and
other researchers, additional custom tools can then be created to meet
each Schools/researchers/practitioners individual requirements. Present3D
currently supports the OsgVolume project and will continue to be developed
to take advantage of new features as they become available.
The OSG, Present3D and OsgVolume are open source projects, this means that the source code
is freely available and shared with developers world wide and has
many advantages:
2.1 An open source license grants end users rights to use, and distribute
the software free of charge - this makes it cost effective and logistically
simple to make the software widely available.
2.2 An open source license grant developers the right to freely
develop applications on top of the open source product - this allows
many new
products to be developed that leverage the common open source base
.
2.3 An open source license grant developers the right to modify
the source code of the product, and to publish these modifications
for
folding back in to the core open source products.
2.4 The rights granted to developers and end users breaks the
dependancy on a single provider, reducing risk on the end user
from vendor lock
in, and the consequences that this has, such as when a vendor
stops supporting a particular product.
2.5 Open source projects create large communities of like
minded developers and users that can help provide support
and to contribute
to the open
source products development. For instance the OSG development
community is over 1000 strong, and composed of many industry
leading experts
in the field of real-time computer graphics.
2.6 The result of this project will not just be those directly
funded, but many other medical and research projects world
wide will benefit
from this work and contribute back to the original project
ensuring ongoing development and a growing community.
3.0 Present3D:
Present3D allows anyone to create amazing realtime, fully interactive stereo
presentations that include point cloud and polygonal models, images and stereo
pairs, movies and stereo movies, audio, text and bulleted text and combine
with animation paths, alpha blending and much much more..... there is no other
tool that allows all these different data types to be combined into a seamless
presentation with such simplicity and of course it all works in stereo as well.
Present3D can also be used to create stand alone programs or interactive kiosks.
The addition of volume rendering for MRI/CT scans and Confocal Microscopy to
Present3D allows this powerful tool to be used in the creation of medical education
materials, lectures and courseware. These can then be presented in stereo, using
projection based displays in lecture theatres and seminar rooms, and autostereoscopic monitors in libraries for individual study.
They can also be shared with students for use on their own hardware where it
will run in mono if a stereo system is not available
4.0 OsgVolume Project Outline:
Below is an outline for the volume rendering NodeKit for the
OpenSceneGraph. The project has partial funding approval. If you'd
like to help fund or contribute to this development please contact
us.
Phase one:
1) Interoperability:
1.a) DICOM reading
1.b) Integration with Present3D and other OpenSceneGraph based viewers.
1.c) ASCII and binary support for reading and writing osgVolume scene
graphs.
2) Rendering:
2.a) Multi texture bricks - arranged as a multi-resolution hierarchy
2.b) Transfer functions:
i) pre-computed on CPU,
ii) encoded into 1D textures
iii) computed on GPU as part of a shader
2.c) Handling of mixed data types - polygons, lines, text and volumes
in one space
2.d) Support for range of hardware/driver capabilities
i) Standard Texture3D, with a range of max texture sizes
ii) ARB vertex and fragment program
iii) OpenGL 2.0 Shader Language
iv) NVidia's compressed 3D textures
2.e) Clipping planes + boxes
2.f) Polygonal segmentation
2.g) Automatic quality control - render at high speed/lower quality when moving
vs high quality techniques when rendering slowly.
2.h) Dynamic Video Resizing.
3) Data processing:
3.a) Iso-surface generation
3.b) Length, Area and Volume computation
3.c) Image Processing:
i) Biasing / Transfer functions
ii) Flood fill segmentation
iii) Manifold segmentation
4) User interface:
4.a) Support for mouse, keyboard and gamepad in an interchangeable way
4.b) Control of eye point
4.c) Control of clipping planes/boxes
4.d) Control of transfer function curves and colours
4.e) Annotation
4.f) Flood fill segmentation control
4.g) Isosurface generation/segmentation control
4.h) Measurement of lengths, areas and volumes
4.i) File selection, quality specification
Second phase :
1) Interoperability
1.d) DICOM writing
1.e) Full DICOM system integration
1.f) 3rd Party tool integration i.e. browsers, other medical tools
2) Rendering
2.i) Volume Paging
2.j) Multiple GPU rendering + compositing
2.k) Cluster rendering
2.l) 3D video texturing via either of:
i) custom stream 3D texture format
ii) 2D video stream built to stream one or more slices at one time
to build up animated 3D texture.
3) Data processing
3.d) Image processing cont.
i) Sharpening
ii) Edge detection
iii) Smoothing
iv) Correlations
4) User Interface
j) Control of the above phase two items
Third phase :
Integration and use with haptic devices
Contact us
If you would like to host an event, more information
on stereoscopic visualisation or would like to support or join the OsgVolume
and Medical Visualisation projects our contact
information is here.
|