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

From NAMIC Wiki
Jump to: navigation, search
 
(13 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
<gallery>
 
<gallery>
 
Image:PW-MIT2016.png|[[2016_Winter_Project_Week#Projects|Projects List]]
 
Image:PW-MIT2016.png|[[2016_Winter_Project_Week#Projects|Projects List]]
 +
File:GradientSum.png
 +
File:Warped-fiducials.png
 +
File:Ruffles.png
 +
File:sphere-subtraction.png
 
</gallery>
 
</gallery>
  
 
==Key Investigators==
 
==Key Investigators==
  
Steve Pieper, Isomics, Inc.
+
* Steve Pieper, Isomics, Inc.
Jim Miller, GE
+
* Jim Miller, GE
 +
* Others are welcome to join!
  
 
==Project Description==
 
==Project Description==
<div style="margin: 20px;">
+
{| class="wikitable"
<div style="width: 27%; float: left; padding-right: 3%;">
+
! style="text-align: left; width:27%" |  Objective
<h3>Objective</h3>
+
! style="text-align: left; width:27%" |  Approach and Plan
 +
! style="text-align: left; width:27%" |  Progress and Next Steps
 +
|- 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].
</div>
+
|
<div style="width: 27%; float: left; padding-right: 3%;">
 
<h3>Approach, Plan</h3>
 
 
* Identify use cases that would be good for this approach
 
* Identify use cases that would be good for this approach
 
** Visualization
 
** Visualization
Line 24: 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
</div>
+
* Implement one or more sample image algorithms and compare with CPU implementation
<div style="width: 27%; float: left; padding-right: 3%;">
+
** Performance
<h3>Progress</h3>
+
** Ease of development, readability, maintainability...
*
+
** Scalability limits
</div>
+
|
</div>
+
* 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==
 +
<!-- 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
 +
** 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
 +
* [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