<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LisaAvila</id>
	<title>Slicer Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LisaAvila"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/wiki/Special:Contributions/LisaAvila"/>
	<updated>2026-04-07T02:41:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:GPURayCaster&amp;diff=11718</id>
		<title>Slicer3:GPURayCaster</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:GPURayCaster&amp;diff=11718"/>
		<updated>2010-01-04T16:28:51Z</updated>

		<summary type="html">&lt;p&gt;LisaAvila: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== GPU Ray Caster ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project involves moving the GPU Ray Caster from VTKEdge into VTK, then making this volume mapper available from Slicer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Overview of GPU Ray Casting'''&lt;br /&gt;
&lt;br /&gt;
VTK supports several volume rendering techniques for both regular, rectilinear grids (vtkImageData), and tetrahedral meshes (represented by vtkUnstructuredGrid). Some of these volume mappers primarily utilize the CPU (relying on the GPU only for the final display of the resulting image), while other mappers make use of the resources available on the GPU such as 2D and 3D texture memory and texture mapping functionality. The new vtkKWEGPURayCastMapper in VTKEdge uses the latest advancements available on recent GPUs including fragment programs with conditional and loop operations, multi-texturing and frame buffer objects in order to deliver significantly improved performance over the CPU-based ray casting, while still maintaining high rendering quality.&lt;br /&gt;
&lt;br /&gt;
The basic ray casting concept is quite simple. For each pixel in the final image a ray is traced from the camera through the pixel and into the scene. As the ray passes through a volume in the scene the scalar data is sampled along the ray and those samples are processed and combined to form a final RGBA result for the pixel. The implementation of the ray casting algorithm within an object-oriented visualization system, such as VTK, that utilizes object-order rendering (polygonal projection) for other data objects in the scene is a bit more complex, requiring the ray casting process to consider the current state of the frame buffer in order to intermix the volume data with other geometric data in the scene. In our GPU implementation of ray casting, the volume data is stored on the GPU in 3D texture memory. Ray casting is initiated by rendering a polygonal representation of the outer surface of the volume. A fragment program is executed at each pixel to traverse the data and determine a resulting value that is combined with the existing pixel value in the frame buffer computed during the opaque geometry phase of rendering.&lt;br /&gt;
&lt;br /&gt;
For more detailed information, please see the July 2008 edition of The Source, which can be found here: http://kitware.com/products/archive/kitware_quarterly0708.pdf.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Integration into VTK'''&lt;br /&gt;
&lt;br /&gt;
The GPU Ray Caster was initially funded by the following SBIR projects:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Visualization of Massive Multivariate AMR Data&amp;quot;&lt;br /&gt;
National Science Foundation&lt;br /&gt;
Contract Number OII-0548729 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Rapid, Hardware Accelerated, Large Data Visualization&amp;quot;&lt;br /&gt;
Department of Defense / Army Research Laboratory&lt;br /&gt;
Contract Number W911NF-06-C-0179&lt;br /&gt;
&lt;br /&gt;
The output of these projects was a new toolkit under GPL terms called VTKEdge. As part of this project, the GPU Ray Caster will be moved out of the VTKEdge toolkit into the BSD licensed Visualization Toolkit (VTK). In the process, the names of the classes will be changed to follow VTK conventions. &lt;br /&gt;
&lt;br /&gt;
This relocation is currently in process and is expected to be complete by January 11th. The new classes will be located in the VolumeRendering kit of VTK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Integration into Slicer'''&lt;/div&gt;</summary>
		<author><name>LisaAvila</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:GPURayCaster&amp;diff=11717</id>
		<title>Slicer3:GPURayCaster</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:GPURayCaster&amp;diff=11717"/>
		<updated>2010-01-04T16:28:41Z</updated>

		<summary type="html">&lt;p&gt;LisaAvila: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== GPU Ray Caster ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project involves moving the GPU Ray Caster from VTKEdge into VTK, then making this volume mapper available from Slicer. &lt;br /&gt;
&lt;br /&gt;
'''Overview of GPU Ray Casting'''&lt;br /&gt;
&lt;br /&gt;
VTK supports several volume rendering techniques for both regular, rectilinear grids (vtkImageData), and tetrahedral meshes (represented by vtkUnstructuredGrid). Some of these volume mappers primarily utilize the CPU (relying on the GPU only for the final display of the resulting image), while other mappers make use of the resources available on the GPU such as 2D and 3D texture memory and texture mapping functionality. The new vtkKWEGPURayCastMapper in VTKEdge uses the latest advancements available on recent GPUs including fragment programs with conditional and loop operations, multi-texturing and frame buffer objects in order to deliver significantly improved performance over the CPU-based ray casting, while still maintaining high rendering quality.&lt;br /&gt;
&lt;br /&gt;
The basic ray casting concept is quite simple. For each pixel in the final image a ray is traced from the camera through the pixel and into the scene. As the ray passes through a volume in the scene the scalar data is sampled along the ray and those samples are processed and combined to form a final RGBA result for the pixel. The implementation of the ray casting algorithm within an object-oriented visualization system, such as VTK, that utilizes object-order rendering (polygonal projection) for other data objects in the scene is a bit more complex, requiring the ray casting process to consider the current state of the frame buffer in order to intermix the volume data with other geometric data in the scene. In our GPU implementation of ray casting, the volume data is stored on the GPU in 3D texture memory. Ray casting is initiated by rendering a polygonal representation of the outer surface of the volume. A fragment program is executed at each pixel to traverse the data and determine a resulting value that is combined with the existing pixel value in the frame buffer computed during the opaque geometry phase of rendering.&lt;br /&gt;
&lt;br /&gt;
For more detailed information, please see the July 2008 edition of The Source, which can be found here: http://kitware.com/products/archive/kitware_quarterly0708.pdf.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Integration into VTK'''&lt;br /&gt;
&lt;br /&gt;
The GPU Ray Caster was initially funded by the following SBIR projects:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Visualization of Massive Multivariate AMR Data&amp;quot;&lt;br /&gt;
National Science Foundation&lt;br /&gt;
Contract Number OII-0548729 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Rapid, Hardware Accelerated, Large Data Visualization&amp;quot;&lt;br /&gt;
Department of Defense / Army Research Laboratory&lt;br /&gt;
Contract Number W911NF-06-C-0179&lt;br /&gt;
&lt;br /&gt;
The output of these projects was a new toolkit under GPL terms called VTKEdge. As part of this project, the GPU Ray Caster will be moved out of the VTKEdge toolkit into the BSD licensed Visualization Toolkit (VTK). In the process, the names of the classes will be changed to follow VTK conventions. &lt;br /&gt;
&lt;br /&gt;
This relocation is currently in process and is expected to be complete by January 11th. The new classes will be located in the VolumeRendering kit of VTK.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Integration into Slicer'''&lt;/div&gt;</summary>
		<author><name>LisaAvila</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:GPURayCaster&amp;diff=11716</id>
		<title>Slicer3:GPURayCaster</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:GPURayCaster&amp;diff=11716"/>
		<updated>2010-01-04T16:28:23Z</updated>

		<summary type="html">&lt;p&gt;LisaAvila: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== GPU Ray Caster ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project involves moving the GPU Ray Caster from VTKEdge into VTK, then making this volume mapper available from Slicer. &lt;br /&gt;
&lt;br /&gt;
'''Overview of GPU Ray Casting'''&lt;br /&gt;
&lt;br /&gt;
VTK supports several volume rendering techniques for both regular, rectilinear grids (vtkImageData), and tetrahedral meshes (represented by vtkUnstructuredGrid). Some of these volume mappers primarily utilize the CPU (relying on the GPU only for the final display of the resulting image), while other mappers make use of the resources available on the GPU such as 2D and 3D texture memory and texture mapping functionality. The new vtkKWEGPURayCastMapper in VTKEdge uses the latest advancements available on recent GPUs including fragment programs with conditional and loop operations, multi-texturing and frame buffer objects in order to deliver significantly improved performance over the CPU-based ray casting, while still maintaining high rendering quality.&lt;br /&gt;
&lt;br /&gt;
The basic ray casting concept is quite simple. For each pixel in the final image a ray is traced from the camera through the pixel and into the scene. As the ray passes through a volume in the scene the scalar data is sampled along the ray and those samples are processed and combined to form a final RGBA result for the pixel. The implementation of the ray casting algorithm within an object-oriented visualization system, such as VTK, that utilizes object-order rendering (polygonal projection) for other data objects in the scene is a bit more complex, requiring the ray casting process to consider the current state of the frame buffer in order to intermix the volume data with other geometric data in the scene. In our GPU implementation of ray casting, the volume data is stored on the GPU in 3D texture memory. Ray casting is initiated by rendering a polygonal representation of the outer surface of the volume. A fragment program is executed at each pixel to traverse the data and determine a resulting value that is combined with the existing pixel value in the frame buffer computed during the opaque geometry phase of rendering.&lt;br /&gt;
&lt;br /&gt;
For more detailed information, please see the July 2008 edition of The Source, which can be found here: http://kitware.com/products/archive/kitware_quarterly0708.pdf.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Integration into VTK'''&lt;br /&gt;
&lt;br /&gt;
The GPU Ray Caster was initially funded by the following SBIR projects:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Visualization of Massive Multivariate AMR Data&amp;quot;&lt;br /&gt;
National Science Foundation&lt;br /&gt;
Contract Number OII-0548729 &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Rapid, Hardware Accelerated, Large Data Visualization&amp;quot;&lt;br /&gt;
Department of Defense / Army Research Laboratory&lt;br /&gt;
Contract Number W911NF-06-C-0179&lt;br /&gt;
&lt;br /&gt;
The output of these projects was a new toolkit under GPL terms called VTKEdge. As part of this project, the GPU Ray Caster will be moved out of the VTKEdge toolkit into the BSD licensed Visualization Toolkit (VTK). In the process, the names of the classes will be changed to follow VTK conventions. &lt;br /&gt;
&lt;br /&gt;
This relocation is currently in process and is expected to be complete by January 11th. The new classes will be located in the VolumeRendering kit of VTK.&lt;br /&gt;
&lt;br /&gt;
'''Integration into Slicer'''&lt;/div&gt;</summary>
		<author><name>LisaAvila</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:GPURayCaster&amp;diff=11715</id>
		<title>Slicer3:GPURayCaster</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:GPURayCaster&amp;diff=11715"/>
		<updated>2010-01-04T16:21:45Z</updated>

		<summary type="html">&lt;p&gt;LisaAvila: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GPU Ray Caster&lt;br /&gt;
&lt;br /&gt;
This project involves moving the GPU Ray Caster from VTKEdge into VTK, then making this volume mapper available from Slicer. &lt;br /&gt;
&lt;br /&gt;
Overview of GPU Ray Casting&lt;br /&gt;
&lt;br /&gt;
VTK supports several volume rendering techniques for both regular, rectilinear grids (vtkImageData), and tetrahedral meshes (represented by vtkUnstructuredGrid). Some of these volume mappers primarily utilize the CPU (relying on the GPU only for the final display of the resulting image), while other mappers make use of the resources available on the GPU such as 2D and 3D texture memory and texture mapping functionality. The new vtkKWEGPURayCastMapper in VTKEdge uses the latest advancements available on recent GPUs including fragment programs with conditional and loop operations, multi-texturing and frame buffer objects in order to deliver significantly improved performance over the CPU-based ray casting, while still maintaining high rendering quality.&lt;br /&gt;
&lt;br /&gt;
The basic ray casting concept is quite simple. For each pixel in the final image a ray is traced from the camera through the pixel and into the scene. As the ray passes through a volume in the scene the scalar data is sampled along the ray and those samples are processed and combined to form a final RGBA result for the pixel. The implementation of the ray casting algorithm within an object-oriented visualization system, such as VTK, that utilizes object-order rendering (polygonal projection) for other data objects in the scene is a bit more complex, requiring the ray casting process to consider the current state of the frame buffer in order to intermix the volume data with other geometric data in the scene. In our GPU implementation of ray casting, the volume data is stored on the GPU in 3D texture memory. Ray casting is initiated by rendering a polygonal representation of the outer surface of the volume. A fragment program is executed at each pixel to traverse the data and determine a resulting value that is combined with the existing pixel value in the frame buffer computed during the opaque geometry phase of rendering.&lt;br /&gt;
&lt;br /&gt;
For more detailed information, please see the July 2008 edition of The Source, which can be found here: http://kitware.com/products/archive/kitware_quarterly0708.pdf.&lt;/div&gt;</summary>
		<author><name>LisaAvila</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:GPURayCaster&amp;diff=11714</id>
		<title>Slicer3:GPURayCaster</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:GPURayCaster&amp;diff=11714"/>
		<updated>2010-01-04T16:20:39Z</updated>

		<summary type="html">&lt;p&gt;LisaAvila: Created page with ' GPU Ray Caster  This project involves moving the GPU Ray Caster from VTKEdge into VTK, then making this volume mapper available from Slicer.   Overview of GPU Ray Casting  VTK s…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
GPU Ray Caster&lt;br /&gt;
&lt;br /&gt;
This project involves moving the GPU Ray Caster from VTKEdge into VTK, then making this volume mapper available from Slicer. &lt;br /&gt;
&lt;br /&gt;
Overview of GPU Ray Casting&lt;br /&gt;
&lt;br /&gt;
VTK supports several volume rendering techniques for both regular, rectilinear grids (vtkImageData), and tetrahedral meshes (represented by vtkUnstructuredGrid). Some of these volume mappers primarily utilize the CPU (relying on the GPU only for the final display of the resulting image), while other mappers make use of the resources available on the GPU such as 2D and 3D texture memory and texture mapping functionality. The new vtkKWEGPURayCastMapper in VTKEdge uses the latest advancements available on recent GPUs including fragment programs with conditional and loop operations, multi-texturing and frame buffer objects in order to deliver significantly improved performance over the CPU-based ray casting, while still maintaining high rendering quality.&lt;br /&gt;
&lt;br /&gt;
The basic ray casting concept is quite simple. For each pixel in the final image a ray is traced from the camera through the pixel and into the scene. As the ray passes through a volume in the scene the scalar data is sampled along the ray and those samples are processed and combined to form a final RGBA result for the pixel. The implementation of the ray casting algorithm within an object-oriented visualization system, such as VTK, that utilizes object-order rendering (polygonal projection) for other data objects in the scene is a bit more complex, requiring the ray casting process to consider the current state of the frame buffer in order to intermix the volume data with other geometric data in the scene. In our GPU implementation of ray casting, the volume data is stored on the GPU in 3D texture memory. Ray casting is initiated by rendering a polygonal representation of the outer surface of the volume. A fragment program is executed at each pixel to traverse the data and determine a resulting value that is combined with the existing pixel value in the frame buffer computed during the opaque geometry phase of rendering.&lt;br /&gt;
&lt;br /&gt;
For more detailed information, please see the July 2008 edition of The Source, which can be found here: [http://kitware.com/products/archive/kitware_quarterly0708.pdf].&lt;/div&gt;</summary>
		<author><name>LisaAvila</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:Developers&amp;diff=11713</id>
		<title>Slicer3:Developers</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:Developers&amp;diff=11713"/>
		<updated>2010-01-04T16:13:01Z</updated>

		<summary type="html">&lt;p&gt;LisaAvila: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
= Slicer 3 Developer Page =&lt;br /&gt;
[[Image:3DSlicerLogo-H-Color-212x121.png|right]]&lt;br /&gt;
This page contains links to Slicer3 developer resources and events.&lt;br /&gt;
&lt;br /&gt;
Click here for &amp;lt;big&amp;gt;&amp;lt;big&amp;gt;'''[[Slicer3:Events|Slicer3 Events]]'''&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
Several books are available on the core topics related to slicer programming:&lt;br /&gt;
&lt;br /&gt;
* [http://kitware.com/products/books.html Kitware's books on VTK, ITK, CMake]&lt;br /&gt;
* [http://www.akpeters.com/product.asp?ProdCode=2175 the ITK theory book]&lt;br /&gt;
* [http://bioimagesuite.org/vtkbook5/index.html Xenios's book on Medical Imaging and VTK - many useful examples in tcl]&lt;br /&gt;
&lt;br /&gt;
== Slicer 3 Architecture Overview ==&lt;br /&gt;
For more details on the slicer architecture see: [[media:Slicer 3-beta-2007-04-16.ppt | Architecture Slides]] (updated April, 2007).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Highlights of the new architecture&amp;quot; widths=&amp;quot;200px&amp;quot;  perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
Image:Slicer3-Architecture.jpg&lt;br /&gt;
Image:Slicer3-Architecture-MRML.jpg&lt;br /&gt;
Image:Slicer3-Architecture-Layers.jpg&lt;br /&gt;
Image:ExecutionModelPlugins.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quick Links for Developers ==&lt;br /&gt;
This section centrally locates many existing (and developing) wiki pages useful to Slicer3 developers.  The content developed for the January 2007 AHM.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; width=&amp;quot;1200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Introduction to Slicer3'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Media:SlicerHistoricalTimeline.ppt | Slicer3 Historical Timeline]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Status_Summary | Status overview]] and [http://slicerl.bwh.harvard.edu/tmp/slicer3-PreAHMBeta%20Demo/slicer3-PreAHMBeta.htm Demo]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[[Media:GUIMap.png|Schematic of application interface &amp;amp; functionality]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[[Media:SliceGUI.png|Schematic of slice GUI]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Build_Instructions | Getting the software and troubleshooting]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[[media:Slicer 3-beta-2007-01-10.ppt | Overall Architecture]] and [[Slicer3:Style|Slicer 3 Coding Style]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Contributing_codes_to_Slicer3| Contributing codes to Slicer3]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot;|'''Two module types (Command line and Interactive)'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Execution_Model_Documentation | Command line modules and how to implement one]]&lt;br /&gt;
||Jim and Bill [[media:Slicer3-ExecutionModelJune2006.ppt| Intro]]&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:How_to_implement_an_Interactive_Module_GUI | How to implement an interactive module]]&lt;br /&gt;
||Wendy&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot;|'''MRML'''&amp;lt;br/&amp;gt;Medical Reality Modeling Language (MRML) is a language implemented as a type of XML document, with new tags defined to handle medical image data types such as volumes, models or coordinate transforms. [http://www.na-mic.org/Wiki/images/e/e3/Slicer3_MRML.ppt MRML Slides]&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Data_Model#Creating_Custom_MRML_Node_Classes | Creating and using new MRML node types]]&lt;br /&gt;
||Alex&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Data_Model#References_to_MRML_Nodes | Keeping references to MRML nodes ]]&lt;br /&gt;
||Alex&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Data_Model#Undo/Redo_Mechanism  | How undo/redo works, and how to enable it in your code]]&lt;br /&gt;
||Alex&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot;|'''GUI'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:StatelessGUI | Keeping the GUI stateless]]&lt;br /&gt;
||Wendy&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:EventBindings | Adding keyboard shortcuts]]&lt;br /&gt;
||Wendy&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Human_Interface_and_Style_Guide_for_Developers | GUI style guidelines]]&lt;br /&gt;
||Wendy&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Usability#User-centered_design_practice_for_3DSlicer | User-centered design practice]]&lt;br /&gt;
||Wendy&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Slicer3Brand | 3DSlicer's logo and visual communication guidelines]]&lt;br /&gt;
||Wendy&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Execution_Model_Documentation#Adding_Module_Logos_to_Slicer3 | Incorporating your group's logo and attributions]]&lt;br /&gt;
||Jim&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:GUI_Experiments | Some experiments/advanced techniques for developing slicer3 interfaces]]&lt;br /&gt;
||Steve&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot;|'''Engineering'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&lt;br /&gt;
|-&lt;br /&gt;
||Tips for avoiding memory leaks:  Current Practice&lt;br /&gt;
||Steve&lt;br /&gt;
|-&lt;br /&gt;
||Tips for avoiding memory leaks:  [[Slicer3:Memory Management | Suggested change to SmartPointers]]&lt;br /&gt;
||Jim&lt;br /&gt;
|-&lt;br /&gt;
||Generating tests&lt;br /&gt;
||Bill&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Testing | Setting up Testing]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Builds | Build Information]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Launcher| The Launcher]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot;|'''Documenting your module'''&amp;lt;br/&amp;gt;As soon as the wiki page template is finalized, and the infrastructure is added to link to this wiki page from the &amp;quot;Help &amp;amp; Acknowledgment&amp;quot; panel in your module's GUI, we will ask developers to fill out a brief document describing your module and its use. Stay tuned for developments...&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:DocumentationWink|Documenting a module with wink]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot;|'''Integrate Slicer3 into a development environment'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3::Eclipse | Eclipse]]&lt;br /&gt;
||Michael Keilhack&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3::MSVS200X | Microsoft Visual Studio 200x]]&lt;br /&gt;
||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Quick Links to Slicer3 Projects ==&lt;br /&gt;
Projects should correspond to the outstanding issues listed on the '''[[Slicer3:Status_Summary|Status Summary]]'''. Please refer to the '''[[Slicer3:FeatureRequests|Feature Requests]]''' from users when planning your implementations.&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; width=&amp;quot;1200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''Slicer3 Projects'''&lt;br /&gt;
|bgcolor=&amp;quot;#ddf&amp;quot; valign=&amp;quot;top&amp;quot;|'''Key People'''&amp;lt;br/&amp;gt;Bold names are responsible for an aspect of the project.&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Architecture/Features|Architecture/Features]]&lt;br /&gt;
||'''Steve Pieper''', Group: Bill Lorensen, Ron Kikinis, Mike Halle, Noby Hata&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Data_Model|Data Model / libMRML]]&lt;br /&gt;
||'''Alex''', Steve&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Execution_Model|Execution Model / Command Line Modules]]&lt;br /&gt;
||'''Jim Miller''', Bill Lorensen&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Interface_Design|Interface Design and Usability ]]&lt;br /&gt;
||'''Wendy Plesniak''', KWWidgets: Sebastien Barre, Yumin Yuan&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Transition_of_Slicer2.x_Modules|Transition of Selected Slicer2.x Modules to Slicer3]]&lt;br /&gt;
||'''Nicole''', Katie, Wendy, Mathieu&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:DTMRI|DTMRI]]&lt;br /&gt;
||'''Alex''' with help from Diffusion Images:  '''Raul''', Tractography: '''Lauren''' [http://lmi.bwh.harvard.edu LMI]&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Editor|Editor]]&lt;br /&gt;
||'''Steve'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:ColorsFiducialsFreesurferModelmaker|Colors, Fiducials, FreeSurfer, ModelMaker]]&lt;br /&gt;
||'''Nicole'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:_Image_Guided_Therapy_%28IGT%29|IGT, Trackers]]&lt;br /&gt;
||'''Haiying'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:EM|EMSegment Interface]]&lt;br /&gt;
||'''Brad Davis'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Slicer_Daemon|SlicerDaemon Interface (for unu, matlab)]]&lt;br /&gt;
||'''Steve Pieper'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Build/Test/Deploy|Build/Test/Deploy System]]&lt;br /&gt;
||'''Andy''', Katie&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Pipeline_Integration|Loni Pipeline Integration]]&lt;br /&gt;
||'''Jags'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Batchmake_Integration|Batchmake/GRID Integration]]&lt;br /&gt;
||'''Julien Jomier'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Registration|Registration Modules]]&lt;br /&gt;
||'''Jim Miller''', Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[http://www.na-mic.org/Wiki/index.php/ITK_Registration_Optimization Improvements to the registration framework]&lt;br /&gt;
||'''Casey Goodlett''', Stephen Aylward&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Python|Python Integration]]&lt;br /&gt;
||'''Dan Blezek'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Grid_Interface|Grid Integration]]&lt;br /&gt;
||'''Jeff Grethe''', Neil&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Performance_Analysis|Slicer3:Performance Analysis]]&lt;br /&gt;
||'''Katie'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:ThreadingToolKit|Threading ToolKit]]&lt;br /&gt;
||'''Dan Blezek, James Miller, Stephen Aylward'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Volume Rendering |Volume Rendering]]&lt;br /&gt;
||'''Andy'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Volume Rendering With Cuda|Volume Rendering With CUDA (currently suspended)]]&lt;br /&gt;
||'''Ben'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:XNAT |XNAT Interface]]&lt;br /&gt;
||'''Steve''', Wendy, Dan Marcus, Tim Olsen&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:LDDMM |LDDMM Interface]]&lt;br /&gt;
||'''Steve''', Anthony Kolasny&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Web Presence |Web Presence]]&lt;br /&gt;
||'''Nicole Aucoin''', Zack Galbreath&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Loadable Modules |Loadable Modules]]&lt;br /&gt;
||'''Alex Yarmarkovich''', Steve Pieper&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Extensions |Extensions]]&lt;br /&gt;
||Steve Peiper&lt;br /&gt;
|-&lt;br /&gt;
||[http://www.slicer.org/slicerWiki/index.php/Modules:Volumes:Diffusion_Editor-Documentation Diffusion Editor]&lt;br /&gt;
||'''Kerstin'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:TimeSeries and Multi-Volume Data | TimeSeries and Multi-Volume Data]]&lt;br /&gt;
||Steve Pieper, Daniel Blezek, Dominik Meier, Wendy Plesniak&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Remote Data Handling | Remote Data Handling]]&lt;br /&gt;
||Steve Pieper, Nicole Aucoin, Wendy Plesniak&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Module:QueryAtlas |Query Atlas]]&lt;br /&gt;
||'''Wendy Plesniak'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:MistSlicer | MistSlicer]]&lt;br /&gt;
||'''Yuichiro Hayashi''', Kensaku Mori, Nobuhiko Hata&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:RadiologicalReview | Radiological review]]&lt;br /&gt;
||'''Jim Miller'''&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:GPURayCaster | GPU Ray Caster]]&lt;br /&gt;
||'''Lisa Avila / Sebastien Barre'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Slicer 3 Quick links to the Source code ==&lt;br /&gt;
The Slicer3 svn repository:&lt;br /&gt;
&lt;br /&gt;
 svn co http://svn.slicer.org/Slicer3/trunk Slicer3&lt;br /&gt;
&lt;br /&gt;
{|align=&amp;quot;left&amp;quot; width=&amp;quot;1200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;60%&amp;quot;|'''General Slicer3 Quick Links'''&lt;br /&gt;
|style=&amp;quot;background:#ddf&amp;quot; width=&amp;quot;40%&amp;quot;|'''Debugging Slicer3 Quick Links'''&lt;br /&gt;
|-&lt;br /&gt;
||[http://www.na-mic.org/Wiki/index.php/Engineering:SandBox Instructions for NA-MIC svn]&lt;br /&gt;
||[http://www.cdash.org/CDash/index.php?project=Slicer3 Slicer3 Dashboard (As Of May 2, 2008)]&lt;br /&gt;
|-&lt;br /&gt;
||Use [http://viewvc.slicer.org ViewVC to browse the repository]&lt;br /&gt;
||[http://www.na-mic.org/Slicer3/Dashboard Slicer3 Dashboard (Before May 2, 2008)]&lt;br /&gt;
|-&lt;br /&gt;
||[[Slicer3:Build_Instructions|Slicer3 build instructions]]&lt;br /&gt;
||[http://na-mic.org/Mantis/main_page.php Slicer Bug Tracker]&lt;br /&gt;
|-&lt;br /&gt;
||[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Doxygen documentation for Slicer3].&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||The [[Slicer3:VisualBlog|Slicer3 VisualBlog]] shows screenshots of slicer developments.&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
||Developers should follow the [[Slicer3:Style|Slicer 3 Coding Style]].&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== ====&lt;br /&gt;
Discussion of Slicer3 takes place on the slicer-devel at massmail.spl.harvard.edu list. To join developer's mailing list, send a request to: slicer-devel-request at massmail.spl.harvard.edu  with the keyword '''''subscribe''''' as the subject.  Or access the [http://massmail.spl.harvard.edu/mailman/listinfo/slicer-devel slicer-devel archives and web administration interface].&lt;br /&gt;
&lt;br /&gt;
== Design Information ==&lt;br /&gt;
*May 23, 2006: [http://www.na-mic.org/Wiki/index.php/Algorithms:Core1Visit_May06 Algorithm Core workshop.]&lt;br /&gt;
*April 3, 2006: [[Media:Slicer_3-alpha-2006-04-03.ppt| Slicer 3 alpha]] technical powerpoint presentation.&lt;br /&gt;
*Discussion page about using [[Qt in Slicer3|Slicer3:Qt]].&lt;/div&gt;</summary>
		<author><name>LisaAvila</name></author>
		
	</entry>
</feed>