Difference between revisions of "2016 Winter Project Week/Projects/CommonGL"
From NAMIC Wiki
(8 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
File:Warped-fiducials.png | File:Warped-fiducials.png | ||
File:Ruffles.png | File:Ruffles.png | ||
+ | File:sphere-subtraction.png | ||
</gallery> | </gallery> | ||
Line 15: | Line 16: | ||
==Project Description== | ==Project Description== | ||
{| class="wikitable" | {| class="wikitable" | ||
+ | ! style="text-align: left; width:27%" | Objective | ||
+ | ! style="text-align: left; width:27%" | Approach and Plan | ||
+ | ! style="text-align: left; width:27%" | Progress and Next Steps | ||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
− | ! | + | | |
+ | <!-- Objective bullet points --> | ||
* Move forward on a set of code to do GPU computing with multiple target platforms in mind as [https://docs.google.com/presentation/d/14FHNwZ4eZ222xZEqs1pAtygTcz3Cy6GYLXlk8ANyxnc/edit?usp=sharing described in these slides and videos]. | * Move forward on a set of code to do GPU computing with multiple target platforms in mind as [https://docs.google.com/presentation/d/14FHNwZ4eZ222xZEqs1pAtygTcz3Cy6GYLXlk8ANyxnc/edit?usp=sharing described in these slides and videos]. | ||
− | + | | | |
− | |||
− | |||
* Identify use cases that would be good for this approach | * Identify use cases that would be good for this approach | ||
** Visualization | ** Visualization | ||
Line 29: | Line 32: | ||
* Evaluate build and deployment issues on various platforms | * Evaluate build and deployment issues on various platforms | ||
* Test code performance on various platforms | * Test code performance on various platforms | ||
− | + | * Implement one or more sample image algorithms and compare with CPU implementation | |
− | + | ** Performance | |
− | + | ** Ease of development, readability, maintainability... | |
− | * | + | ** Scalability limits |
− | + | | | |
+ | * Discussed motivation and implementation options with many members of the community | ||
+ | ** Positive feedback on goals and opportunity | ||
+ | ** Potential use cases identified as possible points of collaboration (Sandy Wells, Terry Yoo, Dan Blezek, Curt Lisle, Sudhanshu Semwal...) | ||
+ | ** Additional motivation from IGT projects | ||
+ | *** Real-time brain shift visualization for AMIGO neurosurgery | ||
+ | *** Interactive segmentation/volume rendering for SlicerHeart and other applications | ||
+ | * Code and architecture review | ||
+ | * Experimental compositing options (see sphere-subtract image above) | ||
|} | |} | ||
Line 39: | Line 50: | ||
<!-- Use this space for information that may help people better understand your project, like links to papers, source code, or data --> | <!-- Use this space for information that may help people better understand your project, like links to papers, source code, or data --> | ||
+ | * A [https://docs.google.com/document/d/1-4Up_Shq6oFTGhwXIF5DuiXUYsdIMlAC1oK7eNHWP_o/edit?usp=sharing document describing some considerations on CommonGL] | ||
* Prototype code | * Prototype code | ||
** VTK Classes to support GLSL programming: https://github.com/pieper/Slicer/tree/add-commongl | ** VTK Classes to support GLSL programming: https://github.com/pieper/Slicer/tree/add-commongl | ||
**Scripted module for rendering: https://github.com/pieper/CommonGL/tree/master/ShaderComputation | **Scripted module for rendering: https://github.com/pieper/CommonGL/tree/master/ShaderComputation | ||
+ | * [https://www.youtube.com/watch?v=_0K9vxgdwUU Video showing CT + MR compositing, nonlinear spatial transform, and interactive positioning of geometric objects] | ||
+ | * [https://www.youtube.com/watch?v=MYx8xZstnPE Video showing smart editor tool implemented with GLSL] | ||
+ | * Babybrain collaboration (Boston XTK/SliceDrop/Children's Hospital, Nicolas, Steve, Rudolph, Daniel...) | ||
+ | ** VJS https://github.com/FNNDSC/vjs | ||
+ | ** WebGL ray cast demo: http://fnndsc.github.io/vjs/#shaders_raycasting_adibrain | ||
+ | |||
+ | === Other WebGL / GLSL references === | ||
+ | |||
+ | * Image processing in WebGL: https://www.gitbook.com/book/projectseptemberinc/gl-react/details | ||
+ | * Fun GLSL demos | ||
+ | ** http://glslsandbox.com | ||
+ | ** http://shadertoy.com | ||
+ | * WebGL graphics library: http://threejs.org |
Latest revision as of 16:00, 8 January 2016
Home < 2016 Winter Project Week < Projects < CommonGLKey Investigators
- Steve Pieper, Isomics, Inc.
- Jim Miller, GE
- Others are welcome to join!
Project Description
Objective | Approach and Plan | Progress and Next Steps |
---|---|---|
|
|
|
Background and References
- A document describing some considerations on CommonGL
- Prototype code
- VTK Classes to support GLSL programming: https://github.com/pieper/Slicer/tree/add-commongl
- Scripted module for rendering: https://github.com/pieper/CommonGL/tree/master/ShaderComputation
- Video showing CT + MR compositing, nonlinear spatial transform, and interactive positioning of geometric objects
- Video showing smart editor tool implemented with GLSL
- Babybrain collaboration (Boston XTK/SliceDrop/Children's Hospital, Nicolas, Steve, Rudolph, Daniel...)
- VJS https://github.com/FNNDSC/vjs
- WebGL ray cast demo: http://fnndsc.github.io/vjs/#shaders_raycasting_adibrain
Other WebGL / GLSL references
- Image processing in WebGL: https://www.gitbook.com/book/projectseptemberinc/gl-react/details
- Fun GLSL demos
- WebGL graphics library: http://threejs.org