Difference between revisions of "2016 Winter Project Week/Projects/CommonGL"

From NAMIC Wiki
Jump to: navigation, search
 
(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;"
! style="text-align: left; width:27%" | Objective
+
|
 +
<!-- 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].
 
+
|
! style="text-align: left; width:27%" | Approach, Plan
 
 
 
 
* 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
! style="text-align: left; width:27%" | Progress
+
** 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 < CommonGL

Key Investigators

  • Steve Pieper, Isomics, Inc.
  • Jim Miller, GE
  • Others are welcome to join!

Project Description

Objective Approach and Plan Progress and Next Steps
  • Identify use cases that would be good for this approach
    • Visualization
    • Segmentation
    • Registration
  • Code review and refinement of Slicer OpenGL shader/texture classes
  • Evaluate build and deployment issues 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)

Background and References

Other WebGL / GLSL references