<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.na-mic.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pkarasev</id>
	<title>NAMIC Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.na-mic.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pkarasev"/>
	<link rel="alternate" type="text/html" href="https://www.na-mic.org/wiki/Special:Contributions/Pkarasev"/>
	<updated>2026-04-27T12:28:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=80036</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=80036"/>
		<updated>2013-01-11T16:27:47Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:TBI1.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:FiducialSnapshotX.png|&lt;br /&gt;
Image:FiducialSnapshotTendon.png|&lt;br /&gt;
Image:TendonSegment.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Peter Karasev, GT/UAB;   Ivan Kolesov, GT/UAB;   Allen Tannenbaum, UAB; Phillip Mitchell, Emory;   John Xerogeanes, Emory&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Video Demo 1: Femur Epyphisis [http://youtu.be/gW675lEOByc (youtube link)] &lt;br /&gt;
&lt;br /&gt;
Video Demo 2: Brain White + Grey matter [http://youtu.be/buodA3FiAsQ (youtube link)]    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Improve Slicer interactive segmentation workflow &lt;br /&gt;
* Add useful integral-like functionality to Slicer that have been useful in external matlab/c++&lt;br /&gt;
* Port new theoretical developments into Slicer segmentation tool&lt;br /&gt;
* Add coupled interactive level sets, use coupling matrix that pivots on the &amp;quot;active&amp;quot; surface&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Verify lack of current integral functions in Slicer&lt;br /&gt;
* Integrate bug fixes from Ivan Kolesov and Karl Fritscher&lt;br /&gt;
* Try to separate CLI-like functions in interactive segmentation tool into separate own modules&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* bugfix for vanishing contour when image is ~constant or very noisy&lt;br /&gt;
* generate and [https://github.com/pkarasev3/kslice/tree/master/data  some synthetic data to stress the segmentor]&lt;br /&gt;
* gained some better understanding of python modules, planning on having kslice get instantiated from python script, although this might be limited to linux/mac. &lt;br /&gt;
* see video demo 1 above; very tight coupling with QT, VTK, user feedback/display. &lt;br /&gt;
* with integration functions, technically Slicer python + numpy can do this but requires a programmer with python knowledge. Prototyped a small parser for matlab-like syntax to be applied to Volumes in Slicer. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=80018</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=80018"/>
		<updated>2013-01-11T16:16:38Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:TBI1.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:FiducialSnapshotX.png|&lt;br /&gt;
Image:FiducialSnapshotTendon.png|&lt;br /&gt;
Image:TendonSegment.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Peter Karasev, GT/UAB;   Ivan Kolesov, GT/UAB;   Allen Tannenbaum, UAB; Phillip Mitchell, Emory;   John Xerogeanes, Emory&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Improve Slicer interactive segmentation workflow &lt;br /&gt;
* Add useful integral-like functionality to Slicer that have been useful in external matlab/c++&lt;br /&gt;
* Port new theoretical developments into Slicer segmentation tool&lt;br /&gt;
* Add coupled interactive level sets, use coupling matrix that pivots on the &amp;quot;active&amp;quot; surface&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Verify lack of current integral functions in Slicer&lt;br /&gt;
* Integrate bug fixes from Ivan Kolesov and Karl Fritscher&lt;br /&gt;
* Try to separate CLI-like functions in interactive segmentation tool into separate own modules&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* bugfix for vanishing contour when image is ~constant or very noisy&lt;br /&gt;
* generate and [https://github.com/pkarasev3/kslice/tree/master/data  some synthetic data to stress the segmentor]&lt;br /&gt;
* gained some better understanding of python modules, planning on having kslice get instantiated from python script, although this might be limited to linux/mac. &lt;br /&gt;
* with integration functions, technically Slicer python + numpy can do this but requires a programmer with python knowledge. Prototyped a small parser for matlab-like syntax to be applied to Volumes in Slicer. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=80006</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=80006"/>
		<updated>2013-01-11T16:07:50Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:TBI1.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:FiducialSnapshotX.png|&lt;br /&gt;
Image:FiducialSnapshotTendon.png|&lt;br /&gt;
Image:TendonSegment.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Peter Karasev, GT/UAB;   Ivan Kolesov, GT/UAB;   Allen Tannenbaum, UAB; Phillip Mitchell, Emory;   John Xerogeanes, Emory&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Improve Slicer interactive segmentation workflow &lt;br /&gt;
* Add useful integral-like functionality to Slicer that have been useful in external matlab/c++&lt;br /&gt;
* Port new theoretical developments into Slicer segmentation tool&lt;br /&gt;
* Add coupled interactive level sets, use coupling matrix that pivots on the &amp;quot;active&amp;quot; surface&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Verify lack of current integral functions in Slicer&lt;br /&gt;
* Integrate bug fixes from Ivan Kolesov and Karl Fritscher&lt;br /&gt;
* Try to separate CLI-like functions in interactive segmentation tool into separate own modules&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* bugfix for vanishing contour when image is ~constant or very noisy&lt;br /&gt;
* generate and [https://github.com/pkarasev3/kslice/tree/master/data  some synthetic data to stress the segmentor]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79444</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79444"/>
		<updated>2013-01-07T20:19:38Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:TBI1.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:FiducialSnapshotX.png|&lt;br /&gt;
Image:FiducialSnapshotTendon.png|&lt;br /&gt;
Image:TendonSegment.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Peter Karasev, GT/UAB;   Ivan Kolesov, GT/UAB;   Allen Tannenbaum, UAB; Phillip Mitchell, Emory;   John Xerogeanes, Emory&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Improve Slicer interactive segmentation workflow &lt;br /&gt;
* Add useful integral-like functionality to Slicer that have been useful in external matlab/c++&lt;br /&gt;
* Port new theoretical developments into Slicer segmentation tool&lt;br /&gt;
* Add coupled interactive level sets, use coupling matrix that pivots on the &amp;quot;active&amp;quot; surface&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Verify lack of current integral functions in Slicer&lt;br /&gt;
* Integrate bug fixes from Ivan Kolesov and Karl Fritscher&lt;br /&gt;
* Try to separate CLI-like functions in interactive segmentation tool into separate own modules&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79430</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79430"/>
		<updated>2013-01-07T19:52:56Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:TBI1.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:FiducialSnapshotX.png|&lt;br /&gt;
Image:FiducialSnapshotTendon.png|&lt;br /&gt;
Image:TendonSegment.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Peter Karasev, GT/UAB;   Ivan Kolesov, GT/UAB;   Allen Tannenbaum, UAB&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Improve Slicer interactive segmentation workflow &lt;br /&gt;
* Add useful integral-like functionality to Slicer that have been useful in external matlab/c++&lt;br /&gt;
* Port new theoretical developments into Slicer segmentation tool&lt;br /&gt;
* Add coupled interactive level sets, use coupling matrix that pivots on the &amp;quot;active&amp;quot; surface&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Verify lack of current integral functions in Slicer&lt;br /&gt;
* Integrate bug fixes from Ivan Kolesov and Karl Fritscher&lt;br /&gt;
* Try to separate CLI-like functions in interactive segmentation tool into separate own modules&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79429</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79429"/>
		<updated>2013-01-07T19:50:56Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:TBI1.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Peter Karasev, GT/UAB;   Ivan Kolesov, GT/UAB;   Allen Tannenbaum, UAB&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:FiducialSnapshotX.png|&lt;br /&gt;
Image:FiducialSnapshotTendon.png|&lt;br /&gt;
Image:TendonSegment.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Improve Slicer interactive segmentation workflow &lt;br /&gt;
* Add useful integral-like functionality to Slicer that have been useful in external matlab/c++&lt;br /&gt;
* Port new theoretical developments into Slicer segmentation tool&lt;br /&gt;
* Add coupled interactive level sets, use coupling matrix that pivots on the &amp;quot;active&amp;quot; surface&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Verify lack of current integral functions in Slicer&lt;br /&gt;
* Integrate bug fixes from Ivan Kolesov and Karl Fritscher&lt;br /&gt;
* Try to separate CLI-like functions in interactive segmentation tool into separate own modules&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:TendonSegment.png&amp;diff=79428</id>
		<title>File:TendonSegment.png</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:TendonSegment.png&amp;diff=79428"/>
		<updated>2013-01-07T19:50:10Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: final segmentation of tendon.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;final segmentation of tendon.&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:FiducialSnapshotTendon.png&amp;diff=79427</id>
		<title>File:FiducialSnapshotTendon.png</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:FiducialSnapshotTendon.png&amp;diff=79427"/>
		<updated>2013-01-07T19:46:53Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: incremental progress segmenting tendon. hard because of weird aspect ratio and intensity distribution overlapping nearby tissue.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;incremental progress segmenting tendon. hard because of weird aspect ratio and intensity distribution overlapping nearby tissue.&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:FiducialSnapshotX.png&amp;diff=79426</id>
		<title>File:FiducialSnapshotX.png</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:FiducialSnapshotX.png&amp;diff=79426"/>
		<updated>2013-01-07T19:42:54Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79425</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79425"/>
		<updated>2013-01-07T19:37:30Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:TBI1.png|&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Peter Karasev, GT/UAB;   Ivan Kolesov, GT/UAB;   Allen Tannenbaum, UAB&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Improve Slicer interactive segmentation workflow &lt;br /&gt;
* Add useful integral-like functionality to Slicer that have been useful in external matlab/c++&lt;br /&gt;
* Port new theoretical developments into Slicer segmentation tool&lt;br /&gt;
* Add coupled interactive level sets, use coupling matrix that pivots on the &amp;quot;active&amp;quot; surface&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Verify lack of current integral functions in Slicer&lt;br /&gt;
* Integrate bug fixes from Ivan Kolesov and Karl Fritscher&lt;br /&gt;
* Try to separate CLI-like functions in interactive segmentation tool into separate own modules&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79350</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79350"/>
		<updated>2013-01-07T16:41:57Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:TBI1.png|&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Peter Karasev, GT/UAB;   Ivan Kolesov, GT/UAB;   Allen Tannenbaum, UAB&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Project_Week_Template&amp;diff=79349</id>
		<title>2013 Project Week Template</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Project_Week_Template&amp;diff=79349"/>
		<updated>2013-01-07T16:41:12Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: doh fix misplaced edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Name, Institute&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Project_Week_Template&amp;diff=79348</id>
		<title>2013 Project Week Template</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Project_Week_Template&amp;diff=79348"/>
		<updated>2013-01-07T16:40:25Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:TBI2.png|&lt;br /&gt;
Image:TBI1.png|&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Name, Institute&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79347</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79347"/>
		<updated>2013-01-07T16:33:57Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Peter Karasev, GT/UAB;   Ivan Kolesov, GT/UAB;   Allen Tannenbaum, UAB&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79346</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79346"/>
		<updated>2013-01-07T16:33:35Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Peter Karasev, GT/UAB&lt;br /&gt;
&lt;br /&gt;
Ivan Kolesov, GT/UAB&lt;br /&gt;
&lt;br /&gt;
Allen Tannenbaum, UAB&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79345</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79345"/>
		<updated>2013-01-07T16:33:00Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Peter Karasev, GT/UAB&lt;br /&gt;
Ivan Kolesov, GT/UAB&lt;br /&gt;
Allen Tannenbaum, UAB&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79344</id>
		<title>2013 Winter Project Week:InteractiveSegmentation</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week:InteractiveSegmentation&amp;diff=79344"/>
		<updated>2013-01-07T16:30:18Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: Created page with '__NOTOC__ &amp;lt;gallery&amp;gt; Image:PW-SLC2013.png|Projects List &amp;lt;/gallery&amp;gt;  ==Key Investigators==  Name, Institute  ==Project Description==  &amp;lt;div sty…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2013.png|[[2013_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
&lt;br /&gt;
Name, Institute&lt;br /&gt;
&lt;br /&gt;
==Project Description==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week&amp;diff=79343</id>
		<title>2013 Winter Project Week</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2013_Winter_Project_Week&amp;diff=79343"/>
		<updated>2013-01-07T16:29:51Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* add interactive seg page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Project Events]], [[Events]]&lt;br /&gt;
 Back to [[Project Events]], [[AHM_2013]], [[Events]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[image:PW-SLC2013.png|300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Project Week is a hands on activity -- programming using the open source [[NA-MIC-Kit|NA-MIC Kit]], algorithm design, and clinical application -- that has become one of the major events in the NA-MIC, NCIGT, and NAC calendars. It is held in the summer at MIT, typically the last week of June, and a shorter version is held in Salt Lake City in the winter, typically the second week of January.   &lt;br /&gt;
&lt;br /&gt;
Active preparation begins 6-8 weeks prior to the meeting, when a kick-off teleconference is hosted by the NA-MIC Engineering, Dissemination, and Leadership teams, the primary hosts of this event.  Invitations to this call are sent to all na-mic members, past attendees of the event, as well as any parties who have expressed an interest in working with NA-MIC. The main goal of the kick-off call is to get an idea of which groups/projects will be active at the upcoming event, and to ensure that there is sufficient NA-MIC coverage for all. Subsequent teleconferences allow the hosts to finalize the project teams, consolidate any common components, and identify topics that should be discussed in breakout sessions. In the final days leading upto the meeting, all project teams are asked to fill in a template page on this wiki that describes the objectives and plan of their projects.&lt;br /&gt;
&lt;br /&gt;
The event itself starts off with a short presentation by each project team, driven using their previously created description, and allows all participants to be acquainted with others who are doing similar work. In the rest of the week, about half the time is spent in breakout discussions on topics of common interest of subsets of the attendees, and the other half is spent in project teams, doing hands-on programming, algorithm design, or clinical application of NA-MIC kit tools.  The hands-on activities are done in 10-20 small teams of size 3-5, each with a mix of experts in NA-MIC kit software, algorithms, and clinical.  To facilitate this work, a large room is setup with several tables, with internet and power access, and each team gathers on a table with their individual laptops, connects to the internet to download their software and data, and is able to work on their projects.  On the last day of the event, a closing presentation session is held in which each project team presents a summary of what they accomplished during the week.&lt;br /&gt;
&lt;br /&gt;
A summary of all past NA-MIC Project Events is available [[Project_Events#Past|here]].&lt;br /&gt;
= Dates.Venue.Registration =&lt;br /&gt;
&lt;br /&gt;
Please [[AHM_2013#Dates_Venue_Registration|click here for Dates, Venue, and Registration]] for this event.&lt;br /&gt;
&lt;br /&gt;
= [[AHM_2013#Agenda|'''AGENDA''']] and Project List=&lt;br /&gt;
&lt;br /&gt;
Please:&lt;br /&gt;
*  [[AHM_2013#Agenda|'''Click here for the agenda for AHM 2013 and Project Week''']].&lt;br /&gt;
*  [[#Projects|'''Click here to jump to Project list''']]&lt;br /&gt;
&lt;br /&gt;
=Background and Preparation=&lt;br /&gt;
&lt;br /&gt;
A summary of all past NA-MIC Project Events is available [[Project_Events#Past|here]].&lt;br /&gt;
&lt;br /&gt;
Please make sure that you are on the [http://public.kitware.com/cgi-bin/mailman/listinfo/na-mic-project-week na-mic-project-week mailing list]&lt;br /&gt;
&lt;br /&gt;
=Projects=&lt;br /&gt;
* [[2013_Project_Week_Template | Template for project pages]]&lt;br /&gt;
&lt;br /&gt;
==TBI==&lt;br /&gt;
* [[4D DTI tractography in Slicer for TBI | Coregistration of structural and diffusion MRI towards 4D modeling of TBI]] (Bo Wang, Andrei Irimia, Micah Chambers, Jack Van Horn, Marcel Prastawa, Guido Gerig)&lt;br /&gt;
* [[Clinically oriented TBI connectivity analysis in Slicer]] (Andrei Irimia, Bo Wang, Micah Chambers, Jack Van Horn, Marcel Prastawa, Guido Gerig)&lt;br /&gt;
* [[Geometric metamorphosis for TBI]] (Danielle Pace, Stephen Aylward, Andrei Irimia, Micah Chambers)&lt;br /&gt;
* [[UKF Tractography in Slicer 4]] (Ryan Eckbo, Yogesh Rathi, Demian Wassermann, C.F Westin, Ron Kikinis)&lt;br /&gt;
* [[4D DTI analysis via longitudinal modeling of tract diffusivities]] (Anuja Sharma, Bo Wang, Andrei Irimia, Micah Chambers, Jack Van Horn, Marcel Prastawa, Guido Gerig)&lt;br /&gt;
&lt;br /&gt;
==Atrial Fibrillation==&lt;br /&gt;
* [[2013_Project_Week:CARMA_Scar_Segmentation|Scar Identification (LiangJia Zhu, Yi Gao, Josh Cates, Rob MacLeod, Allen Tannenbaum)]]&lt;br /&gt;
* [[2013_Project_Week:CARMA_PV_Antrum_Cut|SLICER MODULE: PV Antrum Cut Filter (Salma Bengali, Alan Morris, Josh Cates, Rob MacLeod)]]&lt;br /&gt;
* [[2013_Project_Week:CARMA_LA_Seg_Gopal|SLICER MODULE: Automated LA Segmentation by Gopal (Gopal Veni, Salma Bengali, Greg Gardner, Alan Morris, Josh Cates, Rob MacLeod)]]&lt;br /&gt;
* [[2013_Project_Week:CARMA_2D_Dilate|SLICER MODULE: 2D Dilate Filter (Salma Bengali, Greg Gardner, Alan Morris, Josh Cates, Rob MacLeod)]]&lt;br /&gt;
* [[2013_Project_Week:CARMA_PractialLASeg|SLICER WORKFLOW: Practical Manual LA Segmentation in Slicer (Salma Bengali, Greg Gardner, Alan Morris, Josh Cates, Rob MacLeod)]]&lt;br /&gt;
* [[2013_Project_Week:CARMA_RT_MRI|PROJECT PLANNING: Real Time MRI in Slicer with OpenIGT (Alan Morris, Ashvin George, Josh Cates, Rob MacLeod)]]&lt;br /&gt;
&lt;br /&gt;
==Slicer4 Extensions==&lt;br /&gt;
* [[2013_Project_Week:DTIExtension|Diffusion Tensor Images processing tools as Slicer4 extensions (Francois Budin, Adrien Kaiser, Martin Styner)]]&lt;br /&gt;
&lt;br /&gt;
==Huntington's Disease==&lt;br /&gt;
* [[2013_Project_Week:QualityAssuranceModule|Quality assurance module enhancements]] (Dave Welch, Hans Johnson)&lt;br /&gt;
* [[2013_Project_Week:PythonModules|Slicer interface to add Python modules to Slicer environment]] (Dave Welch)&lt;br /&gt;
* [[2013_Project_Week:FastFiducialRegistrationModule|Fast fiducial registration module]] (Dave Welch, Nicole Aucoin)&lt;br /&gt;
* [[2013_Project_Week:4DShapeAnalysis | 4D shape analysis: application to HD]] (James Fishbaugh, Marcel Prastawa, Hans Johnson, Guido Gerig)&lt;br /&gt;
&lt;br /&gt;
==Head and Neck Cancer==&lt;br /&gt;
* [[2013_Winter_Project_Week:MABS|Multi atlas-based segmentation]] (Sharp, Shusharina, Golland)&lt;br /&gt;
* [[2013_Winter_Project_Week:Hybrid_registration|Hybrid interactive-automatic registration]] (Shusharina, Sharp, Pieper)&lt;br /&gt;
* [[2013_Winter_Project_Week:PointSetRegistration|Constrained Point Set Registration]] (Kolesov, Karasev, Sharp, Tannenbaum)&lt;br /&gt;
* [[2013_Winter_Project_Week:InteractiveSegmentation|Interactive Segmentation and Supporting Utilities]] (Karasev, Kolesov, Tannenbaum)&lt;br /&gt;
&lt;br /&gt;
==Stroke==&lt;br /&gt;
* [[2013_Project_Week:WMH_Segmentation_for_Stroke|White Matter Hyperintensity Segmentation in Stroke (Adrian Dalca, Ramesh Sridharan, Polina Golland)]]&lt;br /&gt;
* [[2013_Project_Week:Imaging_Genetic_for_Stroke|Imaging Genetics for Stroke (Adrian Dalca, Kayhan Batmanghelich, Polina Golland)]]&lt;br /&gt;
&lt;br /&gt;
==Image-Guided Interventions==&lt;br /&gt;
* [[2013_Project_Week:UnitedSlicerIGTExtension|United SlicerIGT extension, repository, website]] (Tamas Ungi, Junichi Tokuda, Adam Rankin)&lt;br /&gt;
* [[2013_Project_Week:BRAINSFit_new_features|BRAINSFit in ITK4: extra functionality and testing for prostate MR registration (Andrey, Hans)]]&lt;br /&gt;
* [[2013_Project_Week:PkModeling_for_prostate_DCE_MRI|PkModeling for prostate DCE MRI (Jim, Andrey)]]&lt;br /&gt;
* [[2013_Winter_Project_Week_Gyne_Brachy|iGyne Needle Digitalization]] (Alireza Mehrtash, Csaba Pinter)&lt;br /&gt;
* [[2013_Project_Week:AbdominalNavigationModule|Abdominal navigation module (Junichi Tokuda, Atsushi Yamada)]]&lt;br /&gt;
* [[2013_Project_Week:MobileImageOverlay|Mobile image overlay augmented reality needle guidance]] (Adam Rankin, Tamas Ungi)&lt;br /&gt;
* [[2013_Project_Week:MRIAblation|Thermal monitoring tools for MRI-guided laser ablation therapy of brain tumor]] (Laurent Chauvin)&lt;br /&gt;
&lt;br /&gt;
==Radiation Therapy==&lt;br /&gt;
* [[2013_Project_Week:DicomRtExport|SlicerRT: DICOM RT export]] (Kevin Wang, Greg Sharp, Csaba Pinter)&lt;br /&gt;
* [[2013_Project_Week:RtBeamGeometry|SlicerRT: Beam geometry widgets]] (Csaba Pinter, Greg Sharp)&lt;br /&gt;
&lt;br /&gt;
==Medical Robotics==&lt;br /&gt;
* [[Configurable fiducial-based device to image registration]] (Junichi Tokuda)&lt;br /&gt;
* Reviving ultrasound integration for visual servoing (Laurent Chauvin, Noby Hata)&lt;br /&gt;
* [[2013_Project_Week:AgileMedicalRobot | Agile medical robotics development with Slicer: Case study with MRI compatible robot(Taka Kato, Atsushi Yamada, Noby Hata, Kazuhumi Onuma)]]&lt;br /&gt;
* [[2013_Project_Week:InvestigatingRoleOfOpenSourceInTranslationalResearch | Investigating role of open source in translational research (Miki Kumekawa)]]&lt;br /&gt;
&lt;br /&gt;
==NA-MIC Kit Internals==&lt;br /&gt;
*[[2013_Project_Week:WebbasedAnatomicalTeachingFramework|Web-based anatomical teaching framework for mi2b2]] (Daniel Haehn, Steve Pieper, Sonia Pujol, Randy Gollub, Rudolph Pienaar, Ellen Grant)&lt;br /&gt;
*[[2013_Project_Week:ITKv4Default|ITKv4 Default in Superbuild]] - [http://www.na-mic.org/Bug/search.php?project_id=3&amp;amp;sticky_issues=on&amp;amp;sortby=last_updated&amp;amp;dir=DESC&amp;amp;hide_status_id=80&amp;amp;tag_string=ITKv4 Issues] (Matt McCormick, Luis Ibanez, Hans Johnson, Jc, Bill Lorensen, Bradley Lowekamp)&lt;br /&gt;
*[[2013_Project_Week:MarkupsModule|Slicer4 Markups Module]] (Nicole Aucoin)&lt;br /&gt;
*[[2013_Project_Week:ColorHierarchies|Slicer4 Color Hierarchies]] (Nicole Aucoin)&lt;br /&gt;
*[[2013_Project_Week:PatientHierarchy|Slicer4 Patient Hierarchy]] (Csaba Pinter, Andrey Fedorov?, Nicole Aucoin, Steve Pieper)&lt;br /&gt;
*[[2013_Project_Week:ScalarBar|Slicer4 Scalar bar improvements]] (Kevin Wang, Nicole Aucoin Csaba Pinter)&lt;br /&gt;
*[[2013_Project_Week:CliMatlabInterface|Slicer4 CLI Matlab interface]] (Kevin Wang, Steve Pieper, Csaba Pinter)&lt;br /&gt;
*[[2013_Project_Week:PETStandardUptakeValueComputation| PET/CT SUV Module for Clinicians]] (Sonia Pujol, Markus Van Tol, Nicole Aucoin)&lt;br /&gt;
*[[2013_Project_Week:SelfTests|Slicer4 Self Test and Sample Data Refactor]] (Steve Pieper, Jim Miller, Jc)&lt;br /&gt;
*[[2013_Project_Week:SimplifyMRMLReference|Simplify MRML References]] - Issue [http://www.na-mic.org/Bug/view.php?id=2727 #2727] (Alex Yarmarkovich, Andras Lasso?, Steve Pieper, Julien Finet ?, Jc ?)&lt;br /&gt;
*[[2013_Project_Week:SlicerIPythonIntegration|Integration of IPython]] (Jc, Hans Johnson, Dave Welch, Steve Pieper, Matt McCormick)&lt;br /&gt;
*[[2013_Project_Week:SlicerDebianPackage|Slicer Debian package]] (Jc, Dominique Belhachemi ?, Greg Sharp)&lt;br /&gt;
*[[2013_Project_Week:SimplifyRendererMouseInteraction|Simplify renderer window mouse interaction]] - Mailing list [http://slicer-devel.65872.n3.nabble.com/Left-mouse-button-changes-window-level-Is-it-good-tt4026815.html thread] (Csaba, Greg?, Andriy?, Steve, Jc)&lt;br /&gt;
*[[2013_Project_Week:PotentialSolutionForDefiningRoleAttributesForVolumes|Potential solutions for defining roles and/or attributes for volumes that are preserved when the volume is processed.]] - Mailing list [http://slicer-devel.65872.n3.nabble.com/Volume-node-subclass-tt4026807.html thread] (Andras?, Greg?, Andriy?, Steve, Jc)&lt;br /&gt;
*[[2013_Project_Week:SteeredRegistration|Interactive Registration for Image Guided Therapy]] (Dirk Padfield, Jim Miller, Steve Pieper, Kunlin Cao)&lt;br /&gt;
*[[2013_Project_Week:Threaded SimpleITK Modules|Threaded SimpleITK Modules]] (Brad Lowekamp, Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
*[[2013_Project_Week:XNATSlicer|XNATSlicer]] (Sunil Kumar, Dan Marcus, Steve Pieper, etc.)&lt;br /&gt;
*[[2013_Project_Week:PGP_Keysigning|PGP Keysigning]] (Matt McCormick, Luis Ibanez, Bradley Lowekamp)&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2012_Winter_Project_Week:UserInTheLoop_InteractiveSegmn&amp;diff=73767</id>
		<title>2012 Winter Project Week:UserInTheLoop InteractiveSegmn</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2012_Winter_Project_Week:UserInTheLoop_InteractiveSegmn&amp;diff=73767"/>
		<updated>2012-01-13T16:31:34Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2012.png|[[2012_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:KVoutSegTightMod.png|&lt;br /&gt;
Image:TBI2.png|&lt;br /&gt;
Image:TBI1.png|&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
* Peter Karasev, Ivan Kolesov : Georgia Institute of Technology&lt;br /&gt;
* Karl Fritscher : BWH at Harvard and UMIT (Austria)&lt;br /&gt;
* Allen Tannenbaum : Boston University&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Goal: Improve the usability (speed, visualization, resource management) of the KSlice interactive segmentation algorithm.&lt;br /&gt;
*Determine suggested energies to be used on different modalities/anatomic structures&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Test the algorithm on more data sets (so far, experiments on orthopedic MRI and limited CT datasets have been performed)&lt;br /&gt;
*Experiment different energies on different modalities.&lt;br /&gt;
*Reduce the memory consumption for multiple label maps.&lt;br /&gt;
*Allow new users (you!) to try the algorithm on your data sets (to obtain feedback on its usability).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Successfully segment some TBI and AF images on first try. TBI works great, AF a bit less so due to the region-based nominal dynamics. &lt;br /&gt;
*Profile with valgrind the bottlenecks in 3D application.&lt;br /&gt;
*Generate some synthetic 3D test data to best align matlab and c++ codes' testing.&lt;br /&gt;
*Video demo link:   http://www.youtube.com/watch?v=gW675lEOByc&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 97%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Delivery Mechanism==&lt;br /&gt;
&lt;br /&gt;
This work will be delivered to the NA-MIC Kit as a&lt;br /&gt;
&lt;br /&gt;
#Slicer Module (via PLUS and OpenIGTLink)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
I. Kolesov, P. Karasev, G. Muller, K. Chudy, J. Xerogeanes,A. Tannenbaum. Human supervisory control framework for interactive medical image segmentation.Proceedings of MICCAI Computational Biomechanics for Medicine Workshop, 2011.&lt;br /&gt;
&lt;br /&gt;
P.Karasev, I.Kolesov, K.Chudy, G.Muller, J.Xerogeanes, A.Tannenbaum. Interactive MRI Segmentation with Controlled Active Vision. IEEE Conference on Decision and Control, 2011.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2012_Winter_Project_Week:UserInTheLoop_InteractiveSegmn&amp;diff=73766</id>
		<title>2012 Winter Project Week:UserInTheLoop InteractiveSegmn</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2012_Winter_Project_Week:UserInTheLoop_InteractiveSegmn&amp;diff=73766"/>
		<updated>2012-01-13T16:30:45Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2012.png|[[2012_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:KVoutSegTightMod.png|&lt;br /&gt;
Image:TBI2.png|&lt;br /&gt;
Image:TBI1.png|&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
* Peter Karasev, Ivan Kolesov : Georgia Institute of Technology&lt;br /&gt;
* Karl Fritscher : BWH at Harvard and UMIT (Austria)&lt;br /&gt;
* Allen Tannenbaum : Boston University&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Goal: Improve the usability (speed, visualization, resource management) of the KSlice interactive segmentation algorithm.&lt;br /&gt;
*Determine suggested energies to be used on different modalities/anatomic structures&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Test the algorithm on more data sets (so far, experiments on orthopedic MRI and limited CT datasets have been performed)&lt;br /&gt;
*Experiment different energies on different modalities.&lt;br /&gt;
*Reduce the memory consumption for multiple label maps.&lt;br /&gt;
*Allow new users (you!) to try the algorithm on your data sets (to obtain feedback on its usability).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Successfully segment some TBI and AF images on first try. TBI works great, AF a bit less so. &lt;br /&gt;
*Profile with valgrind the bottlenecks in 3D application.&lt;br /&gt;
*Generate some synthetic 3D test data to best align matlab and c++ codes' testing.&lt;br /&gt;
*Video demo link:   http://www.youtube.com/watch?v=gW675lEOByc&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 97%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Delivery Mechanism==&lt;br /&gt;
&lt;br /&gt;
This work will be delivered to the NA-MIC Kit as a&lt;br /&gt;
&lt;br /&gt;
#Slicer Module (via PLUS and OpenIGTLink)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
I. Kolesov, P. Karasev, G. Muller, K. Chudy, J. Xerogeanes,A. Tannenbaum. Human supervisory control framework for interactive medical image segmentation.Proceedings of MICCAI Computational Biomechanics for Medicine Workshop, 2011.&lt;br /&gt;
&lt;br /&gt;
P.Karasev, I.Kolesov, K.Chudy, G.Muller, J.Xerogeanes, A.Tannenbaum. Interactive MRI Segmentation with Controlled Active Vision. IEEE Conference on Decision and Control, 2011.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:TBI2.png&amp;diff=73763</id>
		<title>File:TBI2.png</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:TBI2.png&amp;diff=73763"/>
		<updated>2012-01-13T16:29:41Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:TBI1.png&amp;diff=73761</id>
		<title>File:TBI1.png</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:TBI1.png&amp;diff=73761"/>
		<updated>2012-01-13T16:29:12Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2012_Winter_Project_Week:UserInTheLoop_InteractiveSegmn&amp;diff=73740</id>
		<title>2012 Winter Project Week:UserInTheLoop InteractiveSegmn</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2012_Winter_Project_Week:UserInTheLoop_InteractiveSegmn&amp;diff=73740"/>
		<updated>2012-01-13T16:22:54Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2012.png|[[2012_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:KVoutSegTightMod.png|&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
* Peter Karasev, Ivan Kolesov : Georgia Institute of Technology&lt;br /&gt;
* Karl Fritscher : BWH at Harvard and UMIT (Austria)&lt;br /&gt;
* Allen Tannenbaum : Boston University&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Goal: Improve the usability (speed, visualization, resource management) of the KSlice interactive segmentation algorithm.&lt;br /&gt;
*Determine suggested energies to be used on different modalities/anatomic structures&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Test the algorithm on more data sets (so far, experiments on orthopedic MRI and limited CT datasets have been performed)&lt;br /&gt;
*Experiment different energies on different modalities.&lt;br /&gt;
*Reduce the memory consumption for multiple label maps.&lt;br /&gt;
*Allow new users (you!) to try the algorithm on your data sets (to obtain feedback on its usability).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Successfully segment some TBI and AF images on first try. TBI works great, AF a bit less so. &lt;br /&gt;
*Profile with valgrind the bottlenecks in 3D application.&lt;br /&gt;
*Generate some synthetic 3D test data to best align matlab and c++ codes' testing.&lt;br /&gt;
*Video demo link:   http://www.youtube.com/watch?v=gW675lEOByc&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 97%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Delivery Mechanism==&lt;br /&gt;
&lt;br /&gt;
This work will be delivered to the NA-MIC Kit as a&lt;br /&gt;
&lt;br /&gt;
#Slicer Module (via PLUS and OpenIGTLink)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
I. Kolesov, P. Karasev, G. Muller, K. Chudy, J. Xerogeanes,A. Tannenbaum. Human supervisory control framework for interactive medical image segmentation.Proceedings of MICCAI Computational Biomechanics for Medicine Workshop, 2011.&lt;br /&gt;
&lt;br /&gt;
P.Karasev, I.Kolesov, K.Chudy, G.Muller, J.Xerogeanes, A.Tannenbaum. Interactive MRI Segmentation with Controlled Active Vision. IEEE Conference on Decision and Control, 2011.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2012_Winter_Project_Week:UserInTheLoop_InteractiveSegmn&amp;diff=73734</id>
		<title>2012 Winter Project Week:UserInTheLoop InteractiveSegmn</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2012_Winter_Project_Week:UserInTheLoop_InteractiveSegmn&amp;diff=73734"/>
		<updated>2012-01-13T16:20:32Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2012.png|[[2012_Winter_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:Slicer_KSlice_brain.png|&lt;br /&gt;
Image:KVoutSegTightMod.png|&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Investigators==&lt;br /&gt;
* Peter Karasev, Ivan Kolesov : Georgia Institute of Technology&lt;br /&gt;
* Karl Fritscher : BWH at Harvard and UMIT (Austria)&lt;br /&gt;
* Allen Tannenbaum : Boston University&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Goal: Improve the usability (speed, visualization, resource management) of the KSlice interactive segmentation algorithm.&lt;br /&gt;
*Determine suggested energies to be used on different modalities/anatomic structures&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Test the algorithm on more data sets (so far, experiments on orthopedic MRI and limited CT datasets have been performed)&lt;br /&gt;
*Experiment different energies on different modalities.&lt;br /&gt;
*Reduce the memory consumption for multiple label maps.&lt;br /&gt;
*Allow new users (you!) to try the algorithm on your data sets (to obtain feedback on its usability).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
*Successfully segment some TBI and AF images on first try. TBI works great, AF a bit less so. &lt;br /&gt;
*Profile with valgrind the bottlenecks in 3D application.&lt;br /&gt;
*Generate some synthetic 3D test data to best align matlab and c++ codes' testing.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 97%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Delivery Mechanism==&lt;br /&gt;
&lt;br /&gt;
This work will be delivered to the NA-MIC Kit as a&lt;br /&gt;
&lt;br /&gt;
#Slicer Module (via PLUS and OpenIGTLink)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
I. Kolesov, P. Karasev, G. Muller, K. Chudy, J. Xerogeanes,A. Tannenbaum. Human supervisory control framework for interactive medical image segmentation.Proceedings of MICCAI Computational Biomechanics for Medicine Workshop, 2011.&lt;br /&gt;
&lt;br /&gt;
P.Karasev, I.Kolesov, K.Chudy, G.Muller, J.Xerogeanes, A.Tannenbaum. Interactive MRI Segmentation with Controlled Active Vision. IEEE Conference on Decision and Control, 2011.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2012_Winter_Project_Week&amp;diff=72540</id>
		<title>2012 Winter Project Week</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2012_Winter_Project_Week&amp;diff=72540"/>
		<updated>2011-12-16T18:12:16Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* add 3d interactive segmentation one-liner. todo: resolve apparent overlap with other item in list.  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Project Events]], [[Events]]&lt;br /&gt;
 Back to [[Project Events]], [[AHM_2012]], [[Events]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[image:PW-SLC2012.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Dates.Venue.Registration ==&lt;br /&gt;
&lt;br /&gt;
Please [[AHM_2012#Dates_Venue_Registration|click here for Dates, Venue, and Registration]] for this event.&lt;br /&gt;
&lt;br /&gt;
== Agenda==&lt;br /&gt;
&lt;br /&gt;
Please [[AHM_2012#Agenda|click here for the agenda for AHM 2012 and Project Week]].&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
From January 9-13, 2012, the 14th project week for hands-on research and development activity in Neuroscience and Image-Guided Therapy applications will be hosted in Salt Lake City, Utah. Participant engage in open source programming using the [[NA-MIC-Kit|NA-MIC Kit]], algorithms, medical imaging sequence development, tracking experiments, and clinical applications. The main goal of this event is to further the translational research deliverables of the sponsoring centers ([http://www.na-mic.org NA-MIC], [http://www.ncigt.org NCIGT], [http://nac.spl.harvard.edu NAC], [http://catalyst.harvard.edu/home.html Harvard Catalyst], and [http://www.cimit.org CIMIT]) and their collaborators by identifying and solving programming problems during planned and ad hoc break-out sessions.  &lt;br /&gt;
&lt;br /&gt;
Active preparation for this conference begins with a kick-off teleconference. Invitations to this call are sent to members of the sponsoring communities, their collaborators, past attendees of the event, as well as any parties expressing an interest in working with these centers. The main goal of the initial teleconference is to gather information about which groups/projects would be active at the upcoming event to ensure that there were sufficient resources available to meet everyone's needs. Focused discussions about individual projects are conducted during several subsequent teleconferences and permits the hosts to finalize the project teams, consolidate any common components, and identify topics that should be discussed in break-out sessions. In the final days leading up to the meeting, all project teams are asked to complete a template page on the wiki describing the objectives and research plan for each project.  &lt;br /&gt;
&lt;br /&gt;
On the first day of the conference, each project team leader delivers a short presentation to introduce their topic and individual members of their team. These brief presentations serve to both familiarize other teams doing similar work about common problems or practical solutions, and to identify potential subsets of individuals who might benefit from collaborative work.  For the remainder of the conference, about 50% time is devoted to break-out discussions on topics of common interest to particular subsets and 50% to hands-on project work.  For hands-on project work, attendees are organized into 30-50 small teams comprised of 2-4 individuals with a mix of multi-disciplinary expertise.  To facilitate this work, a large room is setup with ample work tables, internet connection, and power access. This enables each computer software development-based team to gather on a table with their individual laptops, connect to the internet, download their software and data, and work on specific projects.  On the final day of the event, each project team summarizes their accomplishments in a closing presentation.&lt;br /&gt;
&lt;br /&gt;
A summary of all past NA-MIC Project Events is available [[Project_Events#Past|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
&lt;br /&gt;
===Traumatic Brain Injury ===&lt;br /&gt;
&lt;br /&gt;
* [[2012_Winter_Project_Week:TBIClinicalAnalysis|Segmentation of Serial MRI of TBI patients &lt;br /&gt;
using Personalized Atlas Construction]] (Bo Wang, Marcel Prastawa, Andrei Irimia, Micah Chambers, Jack van Horn, Guido Gerig, Danielle Pace, Stephen Aylward)&lt;br /&gt;
* [[2012_Winter_Project_Week:TBIDTIAnalysis|Registration and analysis of white matter tract changes in TBI]] (Clement Vachet, Anuja Sharma, Marcel Prastawa, Andrei Irimia, Jack van Horn, Guido Gerig, Martin Styner, Danielle Pace, Stephen Aylward)&lt;br /&gt;
* [[2012_Winter_Project_Week:TBIValidation|Validation, visualization and analysis of segmentation for TBI]] (Bo Wang, Marcel Prastawa, Andrei Irimia, Micah Chambers, Jack van Horn, Guido Gerig, Danielle Pace, Stephen Aylward)&lt;br /&gt;
*Geometric Metamorphosis for TBI (Danielle Pace, Marc Niethammer, Marcel Prastawa, Andrei Irimia, Jack van Horn, Danielle Pace, Stephen Aylward)&lt;br /&gt;
* [[2012_Winter_Project_Week:TBIRegistration|Multimodal Deformable Registration of Traumatic Brain Injury MR Volumes using Graphics Processing Units]] (Yifei Lou, Andrei Irimia, Patricio Vela, Allen Tannenbaum, Micah C. Chambers, Jack Van Horn and Paul M. Vespa, Danielle Pace, Stephen Aylward)&lt;br /&gt;
* [[2012_Winter_Project_Week:TBIRegistration|Integration of unscented Kalman filter (UKF) based multi-tensor tractography in Slicer]] (Christian Baumgartner, Yogesh Rathi, Carl-Fredrik Westin)&lt;br /&gt;
&lt;br /&gt;
===Predict Huntington's Disease===&lt;br /&gt;
* [[2012_Winter_Project_Week:SPIEWorkshop|SPIE DTI Workshop Preparation: Perform DTI Quality Control]] (Jean-Baptiste Berger, Sonia Pujol, Guido Gerig, Clement Vachet, Martin Styner)&lt;br /&gt;
* [[2012_Winter_Project_Week:DWIPhantom|DTI tractography phantom: a software for evaluating tractography algorithms]] (Gwendoline Roger,Yundi Shi, Clement Vachet, Martin Styner, Sylvain Gouttard)&lt;br /&gt;
* [[2012_Winter_Project_Week:FVLight|FiberViewerLight: a fiber bundle visualization and clustering tool]] (Jean-Baptiste Berger, Clement Vachet, Martin Styner)&lt;br /&gt;
* [[2012_Winter_Project_Week:DTIAFA|DTIAtlasFiberAnalyzer]] (Jean-Baptiste Berger, Yundi Shi, Clement Vachet, Martin Styner)&lt;br /&gt;
* [[2012_Winter_Project_Week:PairWiseDTIRegistration|Pairwise DTI registration: DTI-Reg]] (Clement Vachet, Hans Johnson, Martin Styner)&lt;br /&gt;
* [[2012_Winter_Project_Week:ShapeAnalysisSubcorticalStructuresHD|Morphometric analysis in subcortical structures in HD]] (Beatriz Paniagua, Clement Vachet, Hans Johnson, Martin Styner)&lt;br /&gt;
* [[2012_Winter_Project_Week:DTI pipeline|Applying our DTI pipeline to analyse HD data]] (Gopalkrishna Veni, Hans Johnson, Martin Styner, Ross Whitaker)&lt;br /&gt;
* [[2012_Winter_Project_Week: DTI Change Modeling | Longitudinal change modeling of fiber tracts in serial HD DTI data]] (Anuja Sharma, Hans Johnson, Guido Gerig)&lt;br /&gt;
* [[2012_Winter_Project_Week: Continuous 4D shapes | Continuous 4d shape models from time-discrete data: Subcortical structures in HD]] (James Fishbaugh, Hans Johnson, Guido Gerig)&lt;br /&gt;
&lt;br /&gt;
===Atrial fibrillation ===&lt;br /&gt;
* [[2012_Winter_Project_Week:EndoSeg|Endocardial Segmentation in DE-MRI for AFib]] (Yi Gao, Liang-Jia Zhu, Josh Cates, Greg Gardner, Alan Morris, Danny Perry, Rob MacLeod, Sylvain Bouix, Allen Tannenbaum)&lt;br /&gt;
* [[2012_Winter_Project_Week:LAWallRegistration|Longitudinal Alignment and Visualization of Left-Atrial Wall from DEMRI and MRA]] (Josh Cates, Yi Gao, Liang-Jia Zhu, Greg Gardner, Alan Morris, Danny Perry, Rob MacLeod, Sylvain Bouix, Allen Tannenbaum)&lt;br /&gt;
* [[2012_Winter_Project_Week:PVRegistration|Longitudinal Alignment and Visualization of Pulmonary Veins from DEMRI and MRA]] (Josh Cates, Yi Gao, Liang-Jia Zhu, Greg Gardner, Alan Morris, Danny Perry, Rob MacLeod, Sylvain Bouix, Allen Tannenbaum)&lt;br /&gt;
* [[2012_Winter_Project_Week:RealTime|OpenIGT for realtime MRI-guided RF ablation]] (Gene Payne, Rob MacLeod, and Junichi Tokuda)&lt;br /&gt;
&lt;br /&gt;
===Head and Neck Cancer ===&lt;br /&gt;
* A patch-based approach to the segmentation of organs of risk (Christian Wachinger, Polina Golland)&lt;br /&gt;
* RT dose comparison tool for Slicer (Nadya Shusharina, Greg Sharp)&lt;br /&gt;
* [[2012_Winter_Project_Week:InteractiveSegmentation|Interactive editing tools for segmentation]] (Greg Sharp, Steve Pieper)&lt;br /&gt;
* [[2012_Winter_Project_Week:UserInTheLoop_InteractiveSegmn|Interactive 3D Level-Set Segmentation]] (Peter Karasev, Karl Fritscher, Ivan Kolesov, Allen Tannenbaum)&lt;br /&gt;
&lt;br /&gt;
===IGT for Surgery and Radiation Treatments===&lt;br /&gt;
*[[2012_Winter_Project_Week:PelvicRegistration|Deformable prostate registration: 3D ultrasound to MRI]] (Mehdi Moradi, Jan Egger, Andrey Fedorov)&lt;br /&gt;
*iGyne (Jan Egger, Xiaojun Chen, Radhika Tibrewal, Mehdi Moradi)&lt;br /&gt;
*[[2012_Winter_Project_Week:OpenIGTLink_Interface_for_Slicer4| OpenIGTLink interface for Slicer4]] (Junichi Tokuda, Clif Burdette/Jack Blevins, Tamas Ungi, Andras Lasso)&lt;br /&gt;
*[[2012_Winter_Project_Week:Needle Detection in MR Images for Brachytherapy in AMIGO|Needle Detection in MR Images for Brahytherapy in AMIGO]] (Radhika Tibrewal, Jan Egger, Xiaojun Chen, Stephen Aylward)&lt;br /&gt;
*[[2012_Winter_Project_Week:LiveUltrasound|Live ultrasound in Slicer4 using Plus and OpenIGTLink]] (Tamas Ungi, Elvis Chen)&lt;br /&gt;
*[[2012_Winter_Project_Week:4DUltrasound|4D Ultrasound Storage and Volume Rendering on Slicer 3.6]] (Laurent, Noby)&lt;br /&gt;
*Generating a hybrid MR Spectroscopic Dataset under Slicer (Isaiah Norton, Jan Egger, Tina Kapur)&lt;br /&gt;
* [[2012_Winter_Project_Week:RTTools|RT tools for Slicer4]] (Csaba Pinter, Kevin Wang, Andras Lasso, Greg Sharp)&lt;br /&gt;
* [[2012_Winter_Project_Week:RTSS|RT structure set data representation]] (Greg Sharp, Andras Lasso, Steve Pieper, etc.)&lt;br /&gt;
&lt;br /&gt;
===Musculoskeletal System===&lt;br /&gt;
* [[2012_Winter_Project_Week:Radnostics|Spine Segmentation &amp;amp; Osteoporosis Screening In CT Imaging Studies]] (Anthony Blumfield)&lt;br /&gt;
&lt;br /&gt;
===Registration===&lt;br /&gt;
* [[2012_Winter_Project_Week:CMFreg|Framework for Cranio-Maxillo Facial registration in Slicer3]] (Beatriz Paniagua, Lucia Cevidanes, Martin Styner)&lt;br /&gt;
* [[2012_Winter_Project_Week:SlidingOrgans|Registration in the presence of sliding between organs (Danielle Pace, Marc Neithammer, Stephen Aylward)]]&lt;br /&gt;
* [[2012_Winter_Project_Week:GeometricMetamorphosis|Estimating the infiltration / recession of pathologies independent of background deformations (Danielle Pace, Stephen Aylward, Marc Niethammer)]]&lt;br /&gt;
&lt;br /&gt;
===Shape Analysis===&lt;br /&gt;
* [[2012_Winter_Project_Week:PNSnormals|Principal Nested Spheres Normal Consistency in ShapeWorks]] (Beatriz Paniagua, Josh Cates, Manasi Datar, Ross Whitaker, Martin Styner)&lt;br /&gt;
* [[2012_Winter_Project_Week:GeomIndicesSlicer4|Porting of White Matter Geometric Indices Module to Slicer4]] (Peter Savadjiev)&lt;br /&gt;
* [[2012_Winter_Project_Week:ParticleWrapper|Slicer end-to-end particle correspondence wrapper module]] (Ipek Oguz, Beatriz Paniagua, Josh Cates, Manasi Datar, Ross Whitaker, Martin Styner)&lt;br /&gt;
&lt;br /&gt;
===NA-MIC Kit Internals===&lt;br /&gt;
*Slicer4 release (Jean-Christophe Fillion-Robin (JC), and Julien Finet (J2))&lt;br /&gt;
*Slicer4 extensions (JC)&lt;br /&gt;
*Slicer4 documentation (JC)&lt;br /&gt;
*Slicer4 GUI Testing (Benjamin Long, J2, JC)&lt;br /&gt;
*Slicer4 data on MIDAS (Josh Cates, Patrick Reynolds)&lt;br /&gt;
*Slicer4 Scene Views Module (Nicole Aucoin)&lt;br /&gt;
*Slicer4 Annotations Module&lt;br /&gt;
** File format refactor (Nicole Aucoin)&lt;br /&gt;
** QT 3D Text rendering proof of concept (Julien Finet, Steve Pieper, Nicole Aucoin)&lt;br /&gt;
*[[2012_Project_Week:DICOM|DICOM Networking, Database, and Slicer Integration]] (Steve, Andrey, Andras)&lt;br /&gt;
*[[2012_Project_Week:EditorExtensions|Editor Extension Examples and Debugging]] (Steve, Andrey, Jc, Hans, Satra)&lt;br /&gt;
*[[2012_Project_Week:ViewerControls|Redesign of the slice viewer control panels]] (Julien Finet, Ron Kikinis, Hans Johnson, Greg Sharp)&lt;br /&gt;
* [[2012_Project_Week:AutomatedTesting |Automated Testing (Sonia Pujol, Steve Pieper, Jc, Benjamin)]]&lt;br /&gt;
* Remove legacy code from slicer4 (itk, modules, build scripts) (Hans, Jim, Steve, J2, JC)&lt;br /&gt;
*[[2012_Project_Week:BatchProcessing|Batch Processing with Slicer Modules]] (Steve, Andrey, JC, Hans, Satra)&lt;br /&gt;
*[[2012_Project_Week:4DImageSlicer4|Support for 4D Images in Slicer4]] (Andrey, Steve, Junichi, Alex)&lt;br /&gt;
* AIM, DICOM SR and Slicer annotations (Andrey, Steve, Nicole, Jayashree)&lt;br /&gt;
&lt;br /&gt;
=== Preparation ===&lt;br /&gt;
&lt;br /&gt;
#Please make sure that you are on the [http://public.kitware.com/cgi-bin/mailman/listinfo/na-mic-project-week na-mic-project-week mailing list] &lt;br /&gt;
#Starting Thursday, October 27th, part of the weekly Thursday 3pm NA-MIC Engineering TCON will be used to prepare for this meeting.  The schedule for these preparatory calls is as follows:&lt;br /&gt;
#*October 27: MGH DBP&lt;br /&gt;
#*November 3: Iowa DBP Huntingtons, Engineering Infrastructure Topics&lt;br /&gt;
#*November 10:  Utah Atrial Fibrillation DBP&lt;br /&gt;
#*November 17: UCLA TBI DBP&lt;br /&gt;
#*November 24:  No call.  thanksgiving.&lt;br /&gt;
#*December 1: &lt;br /&gt;
#*December 8: &lt;br /&gt;
#*December 15:Finalize Projects &lt;br /&gt;
#*January 5: Loose Ends&lt;br /&gt;
#By December 15: [[Project_Week/Template|Complete a templated wiki page for your project]]. Please do not edit the template page itself, but create a new page for your project and cut-and-paste the text from this template page.  If you have questions, please send an email to tkapur at bwh.harvard.edu.&lt;br /&gt;
#By December 15: Create a directory for each project on the [[Engineering:SandBox|NAMIC Sandbox]] (Zack)&lt;br /&gt;
##[https://www.kitware.com/Admin/SendPassword.cgi Ask Zack for a Sandbox account]&lt;br /&gt;
##Commit on each sandbox directory the code examples/snippets that represent our first guesses of appropriate methods. (Luis and Steve will help with this, as needed)&lt;br /&gt;
##Gather test images in any of the Data sharing resources we have (e.g. MIDAS, xNAT). These ones don't have to be many. At least three different cases, so we can get an idea of the modality-specific characteristics of these images. Put the IDs of these data sets on the wiki page. (the participants must do this.)&lt;br /&gt;
##Setup nightly tests on a separate Dashboard, where we will run the methods that we are experimenting with. The test should post result images and computation time. (Zack)&lt;br /&gt;
#Please note that by the time we get to the project event, we should be trying to close off a project milestone rather than starting to work on one...&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2011_Summer_Project_Week&amp;diff=68773</id>
		<title>2011 Summer Project Week</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2011_Summer_Project_Week&amp;diff=68773"/>
		<updated>2011-06-20T19:33:32Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: add another panorama&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  Back to [[Events]]&lt;br /&gt;
&lt;br /&gt;
[[image:PW-MIT2011.png|right|204px]]&lt;br /&gt;
&lt;br /&gt;
[[image:Panorama-summer-2011.png|left|thumb|200px|[http://360.io/Afjepd Interactive Panorama of Project Week] (Works on chrome, maybe not on other browsers)]]&lt;br /&gt;
[[image:Pano2summer2011namic.jpg|left|thumb|200px|[http://botview.appspot.com/viewer/pan0.swf?panoSrc=/media/4104002&amp;amp;FOV=52 Interactive Panorama of Project Week] (Works on chrome, maybe not on other browsers)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Dates:''' June 20-24, 2011&lt;br /&gt;
*'''Location:''' MIT ([http://whereis.mit.edu/?go=34 Grier Rooms Location on MIT Campus Map])&lt;br /&gt;
&lt;br /&gt;
==Preliminary Agenda==&lt;br /&gt;
==Agenda==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#b0d5e6;color:#02186f&amp;quot; &lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; |Time&lt;br /&gt;
!style=&amp;quot;width:18%&amp;quot; |Monday, June 20&lt;br /&gt;
!style=&amp;quot;width:18%&amp;quot; |Tuesday, June 21&lt;br /&gt;
!style=&amp;quot;width:18%&amp;quot; |Wednesday, June 22&lt;br /&gt;
!style=&amp;quot;width:18%&amp;quot; |Thursday, June 23&lt;br /&gt;
!style=&amp;quot;width:18%&amp;quot; |Friday, June 24&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|bgcolor=&amp;quot;#dbdbdb&amp;quot;|'''Project Presentations'''&lt;br /&gt;
|bgcolor=&amp;quot;#6494ec&amp;quot;|'''NA-MIC Update Day'''&lt;br /&gt;
|&lt;br /&gt;
|bgcolor=&amp;quot;#88aaae&amp;quot;|'''IGT Day'''&lt;br /&gt;
|bgcolor=&amp;quot;#faedb6&amp;quot;|'''Reporting Day'''&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=&amp;quot;#ffffdd&amp;quot;|'''8:30am'''&lt;br /&gt;
|&lt;br /&gt;
|bgcolor=&amp;quot;#ffffaa&amp;quot;|Breakfast&lt;br /&gt;
|bgcolor=&amp;quot;#ffffaa&amp;quot;|Breakfast&lt;br /&gt;
|bgcolor=&amp;quot;#ffffaa&amp;quot;|Breakfast&lt;br /&gt;
|bgcolor=&amp;quot;#ffffaa&amp;quot;|Breakfast&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=&amp;quot;#ffffdd&amp;quot;|'''9am-12pm'''&lt;br /&gt;
|&lt;br /&gt;
|'''9am-11am:''' Slicer4 Extension Writing Tutorial (Finet, Fillion-Robin) &lt;br /&gt;
&amp;lt;br&amp;gt;----------------------------------------&amp;lt;br&amp;gt;&lt;br /&gt;
'''11-12pm: &amp;lt;font color=&amp;quot;#4020ff&amp;quot;&amp;gt;Breakout Session:'''&amp;lt;/font&amp;gt; [[2011 Summer Project Week Breakout Session Slicer4 Annotation|Slicer4 Annotations]] (Nicole Aucoin)&amp;lt;br&amp;gt;&lt;br /&gt;
[[MIT_Project_Week_Rooms#Star|Star Room]]&lt;br /&gt;
|'''9am-12pm: &amp;lt;font color=&amp;quot;#4020ff&amp;quot;&amp;gt;Breakout Session:'''&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt; [[2011 Project Week Breakout Session: ITK|ITK]] (Luis Ibanez)&lt;br /&gt;
&amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Kiva_32-G449|Kiva Room]]&lt;br /&gt;
|'''9am-4pm: &amp;lt;font color=&amp;quot;#4020ff&amp;quot;&amp;gt;Breakout Session:'''&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt; [[2011 Summer Project Week Breakout Session:OpenIGTLink|OpenIGTLink]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Kiva_32-G449|Kiva Room]]&lt;br /&gt;
|'''10am-12pm:''' [[#Projects|Project Progress Updates]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Grier_34-401_AB|Grier Rooms]]&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=&amp;quot;#ffffdd&amp;quot;|'''12pm-1pm'''&lt;br /&gt;
|bgcolor=&amp;quot;#ffffaa&amp;quot;|Lunch&lt;br /&gt;
|bgcolor=&amp;quot;#ffffaa&amp;quot;|Lunch&lt;br /&gt;
|bgcolor=&amp;quot;#ffffaa&amp;quot;|Lunch&lt;br /&gt;
|bgcolor=&amp;quot;#ffffaa&amp;quot;|Lunch&lt;br /&gt;
|bgcolor=&amp;quot;#ffffaa&amp;quot;|Lunch boxes; Adjourn by 1:30pm&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=&amp;quot;#ffffdd&amp;quot;|'''1pm-5:30pm'''&lt;br /&gt;
|'''1-1:05pm: &amp;lt;font color=&amp;quot;#503020&amp;quot;&amp;gt;Ron Kikinis: Welcome&amp;lt;/font&amp;gt;'''&lt;br /&gt;
[[MIT_Project_Week_Rooms#Grier_34-401_AB|Grier Rooms]]&lt;br /&gt;
&amp;lt;br&amp;gt;----------------------------------------&amp;lt;br&amp;gt;&lt;br /&gt;
'''1:05-3:30pm:''' [[#Projects|Project Introductions]] (all Project Leads)&lt;br /&gt;
&amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Grier_34-401_AB|Grier Rooms]]&lt;br /&gt;
&amp;lt;br&amp;gt;----------------------------------------&amp;lt;br&amp;gt;&lt;br /&gt;
'''3:30-4:15pm''' Slicer4 Developers Guided Tour (Pieper) ([[media:2011 Summer-Slicer4.ppt|Slides]]). &amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Grier_34-401_AB|Grier Rooms]]&amp;lt;br&amp;gt;---&amp;lt;br&amp;gt;'''4:15-5:00pm''' [[2011 Project Week Breakout Session: Slicer4|Slicer 4 Core Modules Usability Review]] &amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Star|Star Room]] &amp;lt;br&amp;gt;---&amp;lt;br&amp;gt;'''4:15-5:00pm''' How to get DBP Data &lt;br /&gt;
&amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Grier_34-401_AB|Grier Rooms]]&lt;br /&gt;
|'''1-3pm: &amp;lt;font color=&amp;quot;#4020ff&amp;quot;&amp;gt;Breakout Session:'''&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt; [http://wiki.slicer.org/slicerWiki/index.php/Slicer4:MultiVolumeContainer#Summer_2011_Project_Week_Breakout_Session Slicer4 MultiVolume Containers] (Nicole Aucoin)&lt;br /&gt;
&amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Grier_34-401_AB|Star Room]]&lt;br /&gt;
&amp;lt;br&amp;gt;----------------------------------------&amp;lt;br&amp;gt;&lt;br /&gt;
'''3-4pm:''' [[Summer_2011_Tutorial_Contest|Tutorial Contest Presentations]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Grier_34-401_AB|Grier Rooms]]&lt;br /&gt;
&amp;lt;br&amp;gt;----------------------------------------&amp;lt;br&amp;gt;&lt;br /&gt;
'''4-5pm:''' [[2011 Summer Project Week Breakout Session VTKCharts|VTK Charts]] (Marcus Hanwell)&lt;br /&gt;
&amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Grier_34-401_AB|Star Room]]&lt;br /&gt;
|'''12:45-1pm:''' [[Events:TutorialContestJune2011|Tutorial Contest Winner Announcement]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Grier_34-401_AB|Grier Rooms]]&lt;br /&gt;
&amp;lt;br&amp;gt;----------------------------------------&amp;lt;br&amp;gt;&lt;br /&gt;
'''3-4pm: &amp;lt;font color=&amp;quot;#4020ff&amp;quot;&amp;gt;Breakout Session:'''&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;[[2011_Summer_Project_Week_Breakout_Session_EMRegistration|Inter-subject Registration for EM segmenter]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Kiva_32-G449|Kiva Room]]&lt;br /&gt;
|'''1-4pm: &amp;lt;font color=&amp;quot;#4020ff&amp;quot;&amp;gt;Breakout Session:'''&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt; [[2011 Summer Project Week Breakout Session:OpenIGTLink|OpenIGTLink]] &lt;br /&gt;
&amp;lt;br&amp;gt;[[MIT_Project_Week_Rooms#Kiva_32-G449|Kiva Room]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|bgcolor=&amp;quot;#ffffdd&amp;quot;|'''5:30pm'''&lt;br /&gt;
|bgcolor=&amp;quot;#f0e68b&amp;quot;|Adjourn for the day&lt;br /&gt;
|bgcolor=&amp;quot;#f0e68b&amp;quot;|Adjourn for the day&lt;br /&gt;
|bgcolor=&amp;quot;#f0e68b&amp;quot;|Adjourn for the day&lt;br /&gt;
|bgcolor=&amp;quot;#f0e68b&amp;quot;|Adjourn for the day&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
&lt;br /&gt;
* Please make a link for your project to a new page based on the [[2011_Summer_Project_Week_Template| 2011 Summer Project Page Template]]&lt;br /&gt;
&lt;br /&gt;
'''Neurosurgery, Brain and Spine, Traumatic Brain Injury'''&lt;br /&gt;
&lt;br /&gt;
#[[2011_Summer_Project_Week_Segmentation_TBI|Segmentation of Longitudinal TBI data]] (Bo Wang, Jack Van Horn, Andrei Irimia, Marcel Prastawa, Guido Gerig)&lt;br /&gt;
#[[Multimodality Image Registration for TBI]] (Yifei Lou, Danielle Pace, Jack Van Horn, Micah Chambers)&lt;br /&gt;
#[[2011_Summer_Project_Week_White_Matter_Laterality|White Matter Laterality in Python/Slicer4]] (Lauren O'Donnell)&lt;br /&gt;
#[[2011_Summer_Project_Week_Intraoperative_Brain_Shift_Monitor|Intraoperative Brain Shift Monitor]] (Jason White, Alex Golby, Steve Pieper, Junichi Tokuda)&lt;br /&gt;
#[[2011_Summer_Project_Week_GBM_Masks|Obtaining and Evaluation of Glioblastoma Multiforme (GBM) Segmentation Masks]] (Jan Egger,Tina Kapur, Andriy Fedorov, Rivka Colen, Ron Kikinis, Alex Golby, Christopher Nimsky)&lt;br /&gt;
#[[2011_Summer_Project_Week_NerveSeg|Segmentation of Nerve and Nerve Ganglia in the Spine]] (Adrian Dalca, Giovanna Danagoulian, Ron Kikinis, Ehud Schmidt, Polina Golland)&lt;br /&gt;
#[[2011_Summer_Project_Week_Spine_Segmentation_And_Osteoporosis_Screening_CT|Spine Segmentation &amp;amp; Osteoporosis Screening In CT Imaging Studies]] (Anthony Blumfield)&lt;br /&gt;
#[[2011_Summer_Project_Week_Quantitative_Magnetic_Susceptibility_Mapping|Quantitative Magnetic Susceptibility Mapping ]] (Clare Poynton)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Radiation Therapy'''&lt;br /&gt;
#[[2011_Summer Project Week_Non-rigid_inter-patient_registration_of_bone_masks_derived_from_CT_for_Head_and_Neck_Cancer_Radiation_Therapy|Non-rigid, inter-patient registration of bone masks derived from CT for Head and Neck Cancer Radiation Therapy]] (Ivan Kolesov, Yi Gao, Gregory Sharp,Xiaodong Tao,Nadya Shusharina, Jan Egger, and Allen Tannenbaum)&lt;br /&gt;
#[[2011_Summer_Project_Week_Contouring_Gyne_Structures|Contouring of Anatomy Structures like Tumor, Bladder, Rectum and Sigmoid for Gynecological Brachytherapy]] (Tina Kapur, Akila Viswanathan, Jan Egger)&lt;br /&gt;
#[[2011_Summer_Project_Week_Slicer_DICOM_RT_Brachytherapy|Visualization of DICOM RT Planning Contours and Dose Distributions for Prostate and Gynecologic Brachytherapy in Slicer]] (Firdaus Janoos, Jan Egger, Greg Sharp, Andriy Fedorov, Tina Kapur)&lt;br /&gt;
#[[2011_Summer_Project__Week_DVH|Dose volume histograms in Slicer]] (Greg Sharp, Nadya Shusharina, Steve Pieper, Csaba Pinter, Tina Kapur)&lt;br /&gt;
#[[2011_Summer_Project__Week_DICOM_RT|Synthetic images, vector fields, RT structures and RT doses in Slicer and ITK]]. (Nadya Shusharina, Greg Sharp, Luis Ibanez, Steve Pieper)&lt;br /&gt;
&lt;br /&gt;
'''Huntington's Disease'''&lt;br /&gt;
#[[2011_Summer_Project_Week_normal_consistency_particles|Normal consistency in particle correspondence computation using great circles in principal spheres - Huntington's Disease]], (Beatriz Paniagua, Martin Styner, Sungkyu Jung, Mark Scully)&lt;br /&gt;
#[[2011_Summer_Project__Week_Shape_Analysis_UNC |SPHARM &amp;amp; particles shape analysis - Huntington's Disease]] (Lucile Bompard, Clement Vachet, Beatriz Paniagua, Martin Styner&lt;br /&gt;
#[[2011_Summer_Project_Week_long_shape_regression|Longitudinal Shape Regression - Huntington's Disease]] (James Fishbaugh, Marcel Prastawa, Guido Gerig, Hans Johnson)&lt;br /&gt;
#[[2011_Summer_Project_Week_DTIPrep|DTIPrep - &amp;quot;Study-specific Protocol&amp;quot; based automatic DWI/DTI quality control and preparation]] - Huntington's Disease (Mashid Farzinfar, Clement Vachet, Joy Matsui, Martin Styner)&lt;br /&gt;
#[[2011_Summer_Project_Week_DTI_PairWise_Registration|DTI pair-wise registration module]] - Huntington's Disease (Clement Vachet, Joy Matsui, Mark Scully, Martin Styner)&lt;br /&gt;
#[[2011_Summer_Project_Week_DTI analysis_for_Huntington's_disease | DTI analysis for Huntington's disease]] (Gopal Veni, Ross Whitaker)&lt;br /&gt;
&lt;br /&gt;
'''Atrial Fibrillation'''&lt;br /&gt;
#[[2011_Summer_Project_Week_RSS_for_AFib_Ablation|Robust Statistical Segmentation (RSS) for the Atrial Fibrillation Ablation Therapy]] (Yi Gao, Kedar Patwardhan, Steve Pieper, Wassim Haddad, and Allen Tannenbaum, Rob MacLeod, Josh Blauer, and Josh Cates)&lt;br /&gt;
#[[2011_Summer_Project_Week_Watersheds|Interactive Watersheds Segmentation Module for Slicer  for Atrial Fibrillation and HN Cancer]] (Josh Cates, Ross Whitaker, Steve Pieper, Jim Miller, Nadya)&lt;br /&gt;
&lt;br /&gt;
'''Device Integration with Slicer and General Image Guided Therapy'''&lt;br /&gt;
#[[2011_Summer_Project__Week_Wireless_Joystick|Wireless joystick controlling medical devices and software (e.g. Slicer4) in the operating room]] (Szymon Kostrzewski)&lt;br /&gt;
#[[2011_Summer_Project__Week_Live_Tracked_Ultrasound|Live Tracked Ultrasound with Slicer4 (Tamas Heffter)]]&lt;br /&gt;
#[http://wiki.na-mic.org/Wiki/index.php/Survey_stealthlink_openigtlink Surveying research teams interested in Open IGT Link support of Stealth Station (Nobuhiko Hata, Ron Kikinis)]&lt;br /&gt;
#[[2011_Summer_Project_Week_Needle_Detection_to_Control_Scanner_for_Prostate_Biopsy | Needle Detection to Control Scanner for Prostate Biopsy ]] (Atsushi Yamada, Loïc Cadour, Junichi Tokuda and Nobuhiko Hata)&lt;br /&gt;
#[[2011_Summer_Project_Week_Segementation_Reconstruction_Pericardial_Sac]] (Mohsen Mahvash, Noby Hata, Ron Kikinis)&lt;br /&gt;
#[[2011_Summer_Project_Week_4DUltrasound_HybridProbe_OsteoPlan|4D Ultrasound / Hybrid Probe / OsteoPlan]] (Laurent Chauvin, Noby Hata)&lt;br /&gt;
#[[2011_Summer_Project_Week_AMIGO|AMIGO]] (Mallika Winsor, Vivian He, Dan Kacher, Tina Kapur)&lt;br /&gt;
#[[2011_Summer_Project_Week_Patient_Mounted_Robot|Patient-mounted Robot Control using OpenIGTLink]] (Conor James Walsh, Maryam Shokri, Faye Wu)&lt;br /&gt;
&lt;br /&gt;
'''General Segmentation'''&lt;br /&gt;
#[[2011_Summer_Project_Week_Integrate_BRAINSCut_into_Slicer3]](Regina Kim, ... )&lt;br /&gt;
#[[2011_Summer_Project_Week_EMSegmentation_in_3D_Slicer4|EM Segmentation in 3D Slicer 4]] (Daniel Haehn, Dominique Belhachemi, Kilian Pohl)&lt;br /&gt;
#[[2011_Summer_Project_Week_Customizing_EMSegmenter_pipelines_for_brain_lesions | Customizing EMSegmenter pipelines for brain lesions]] (Dominique Belhachemi, Alexander Zaitsev, Kilian Pohl)&lt;br /&gt;
#[[2011_Summer_Project_Week_Plastimatch_for_EMSegmenter | Integrating Plastimatch into the EMSegmenter]] (Dominique Belhachemi, Kilian Pohl, Greg Sharp, Daniel Haehn)&lt;br /&gt;
#[[2011_Summer_Project_Week_Slicer_Extension_for_GLISTR | Slicer extension for GLiome Image SegmenTation and Registration (GLISTR)]] (Andreas Schuh, Daniel Haehn, Kilian Pohl)&lt;br /&gt;
&lt;br /&gt;
'''General Registration'''&lt;br /&gt;
#[[2011_Summer_Project_Week__BRAINSFit_new_features_integration|Integrate new features into BRAINSFit]] (Andrey Fedorov, Hans Johnson, Mark Scully)&lt;br /&gt;
#[[2011_Summer_Project_Week__LANDWARP_integration|Integration of LANDWARP into interactive registration module]] (Andrey Fedorov, Greg Sharp, Nadya Shusharina)&lt;br /&gt;
#[[2011_Summer_Project_Week_Registration_of_mouse_brains|Registration of mouse brains]] (Francois Budin, Ipek Oguz, Martin Styner, Dominik Meier)&lt;br /&gt;
#[[NonRigidRegistrationThatAccommodatesResection|Demons Based Non-Rigid Registration that Accommodates Resection in 3D Slicer]] (Petter Risholm, Sandy Wells)&lt;br /&gt;
#[[2011_Summer_Project_Week_SlidingOrganRegistrationFED|Integrate Fast Explicit Diffusion into Sliding Organ Registration module]] (Danielle Pace)&lt;br /&gt;
#[[2011_Summer_Project_Week_Image_Manifold_Learning_with_Spectral_Embedding_and_Laplacian_Eigenmaps|Image Manifold Learning with Spectral Embedding and Laplacian Eigenmaps]] (Ramesh Sridharan, Polina Golland)&lt;br /&gt;
&lt;br /&gt;
'''General Diffusion Tractography'''&lt;br /&gt;
#[[2011_Summer_Project_Week_WMGeometry_Slicer4 | White matter geometry measures in Slicer 4]] (Peter Savadjiev)&lt;br /&gt;
#[[2011_Summer_Project_Week_re-parameterize_fiber|Re-parametrize fiber tracts for fiber statistics analysis]] (Yundi Shi, Clement Vachet, Benjamin Yvernault, Anuja Sharma, Martin Styner)&lt;br /&gt;
#[[2011_Summer_Project_Week_ODF_though_Fiber_Counting | ODF computation through fiber counting]] (Yinpeng Li, Ipek Oguz, Martin Styner)&lt;br /&gt;
#[[2011_Summer_Project_Week_Nifti_Support_for_Diffusion_Tensor_Images|Nifti Support for Diffusion Tensor Images]] (Demian)&lt;br /&gt;
#[[2011_Summer_Project_Week_Finishing_details_on_the_workflows_DICOM_full_brain_tractography_peritumoral|Finishing details on the workflows: DICOM-&amp;gt;Full brain tractography / peritumoral]] (Demian)&lt;br /&gt;
#[[Summer_project_week_2011_Finsler_Streamlines|Adding streamlined tractography to the Finsler front propagation tractography toolkit]] (Antonio Tristán-Vega)&lt;br /&gt;
#[[2011_Summer_Project_Week_Slicer4_Tractography_Interaction_and_Display|Tractography Bundle/Cluster Interaction and Display in Slicer4]] (Lauren O'Donnell, Isaiah, Demian)&lt;br /&gt;
#[[2011_Summer_Project_Week_DTI_Volumetric_Tractography | DTI Volumetric Tractography]] (Steve Callahan, Mark Scully, Jim Miller)&lt;br /&gt;
#[[2011_Summer_Project_Week_DWI_Atlas | Slicer module for building an average population DWI Atlas]]  (Ryan Eckbo, Sylvain Bouix)&lt;br /&gt;
#[[2011_Summer_Project_Week_DTI_Volumetric_Segmentation_for_Group_studies | DTI Volumetric Segmentation for Group studies]] (Gopal Veni, Ross Whitaker)&lt;br /&gt;
&lt;br /&gt;
'''Vessels'''&lt;br /&gt;
#[[2011_Summer_Project_Week_SlicerVmtk4|The Vascular Modeling Toolkit in 3D Slicer 4]] (Daniel Haehn, Luca Antiga, Steve Pieper, Kilian Pohl, Ron Kikinis)	&lt;br /&gt;
#[[2011_Summer_Project__Week_Stenosis_Detector|Stenosis Detector in 3D Slicer 4]] (Suares Tamekue, Daniel Haehn, Luca Antiga, Ron Kikinis)&lt;br /&gt;
&lt;br /&gt;
'''Infrastructure'''&lt;br /&gt;
#[[2011_Summer_Project_Week_Annotation_Module|Annotation Module in Slicer4]] (Nicole Aucoin, Daniel Haehn)&lt;br /&gt;
#[[2011_Summer_Project_Week_RECIST|RECIST Slicer4 module]] (Nicole Aucoin)&lt;br /&gt;
#[[2011_Summer_Project_Week_Dicom2Nrrd|DicomToNrrdConverter refactoring]] ( Xiaodong Tao, Mark Scully)&lt;br /&gt;
#[[Summer_project_week_2011_Workflows_SOA|Workflows and Service Oriented Architecture Modules for Slicer4 as Extensions]] (Alexander Zaitsev, Wendy Plesniak, Ron Kikinis)&lt;br /&gt;
#[[2011_Summer_Project__Week_DICOM_Networking|DICOM Networking interface for Slicer4]] (Steve Pieper, Nicole Aucoin, Noby Hata)&lt;br /&gt;
#[[2011_Summer_Project_Week_Automated_GUI_Testing| Automated GUI Testing (Sonia Pujol, Steve Pieper, Dave Partyka, Jean-Christophe Fillion-Robin, Xiaodong Tao)]]&lt;br /&gt;
#[[2011_Summer_Project_Week_FetchMI:_Slicer_integration_with_XNAT |FetchMI: Slicer integration with XNAT 1.5]] (Misha Milchenko, Wendy Plesniak)&lt;br /&gt;
#[[2011_Summer_Project_Week_Internationalization_of_Slicer|Internationalization of Slicer]] (Luping Fang, Steve Pieper, Daniel Haehn, Suares Tamekue, Jean-Christophe Fillion-Robin, Julien Finet, Yiming Ge, Ping Cao)&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
We are pleased to announce the 13th PROJECT WEEK of hands-on research and development activity for applications in Image-Guided Therapy, Neuroscience, and several additional areas of biomedical research that enable personalized medicine. Participants will engage in open source programming using the [[NA-MIC-Kit|NA-MIC Kit]], algorithm design, medical imaging sequence development, tracking experiments, and clinical application. The main goal of this event is to move forward the translational research deliverables of the sponsoring centers and their collaborators. Active and potential collaborators are encouraged and welcome to attend this event. This event will be set up to maximize informal interaction between participants.  If you would like to learn more about this event, please [http://public.kitware.com/cgi-bin/mailman/listinfo/na-mic-project-week click here to join our mailing list].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Active preparation begins on Thursday, April 28th at 3pm ET, with a kick-off teleconference.  Invitations to this call will be sent to members of the sponsoring communities, their collaborators, past attendees of the event, as well as any parties who have expressed an interest in working with these centers. The main goal of the kick-off call is to get an idea of which groups/projects will be active at the upcoming event, and to ensure that there is sufficient coverage for all. Subsequent teleconferences will allow for more focused discussions on individual projects and allow the hosts to finalize the project teams, consolidate any common components, and identify topics that should be discussed in breakout sessions. In the final days leading upto the meeting, all project teams will be asked to fill in a template page on this wiki that describes the objectives and plan of their projects.  &lt;br /&gt;
&lt;br /&gt;
The event itself will start off with a short presentation by each project team, driven using their previously created description, and will help all participants get acquainted with others who are doing similar work. In the rest of the week, about half the time will be spent in breakout discussions on topics of common interest of subsets of the attendees, and the other half will be spent in project teams, doing hands-on project work.  The hands-on activities will be done in 40-50 small teams of size 2-4, each with a mix of multi-disciplinary expertise.  To facilitate this work, a large room at MIT will be setup with several tables, with internet and power access, and each computer software development based team will gather on a table with their individual laptops, connect to the internet to download their software and data, and be able to work on their projects.  Teams working on projects that require the use of medical devices will proceed to Brigham and Women's Hospital and carry out their experiments there. On the last day of the event, a closing presentation session will be held in which each project team will present a summary of what they accomplished during the week.&lt;br /&gt;
&lt;br /&gt;
This event is part of the translational research efforts of [http://www.na-mic.org NA-MIC], [http://www.ncigt.org NCIGT], [http://nac.spl.harvard.edu/ NAC], [http://catalyst.harvard.edu/home.html Harvard Catalyst], and [http://www.cimit.org CIMIT].  It is an expansion of the NA-MIC Summer Project Week that has been held annually since 2005. It will be held every summer at MIT and Brigham and Womens Hospital in Boston, typically during the last full week of June, and in Salt Lake City in the winter, typically during the second week of January.  &lt;br /&gt;
&lt;br /&gt;
A summary of all past NA-MIC Project Events is available [[Project_Events#Past|here]].&lt;br /&gt;
&lt;br /&gt;
== Logistics ==&lt;br /&gt;
*'''Dates:''' June 20-24, 2011&lt;br /&gt;
*'''Location:''' MIT. [[Meeting_Locations:MIT_Grier_A_%26B|Grier Rooms A &amp;amp; B: 34-401A &amp;amp; 34-401B]].&lt;br /&gt;
*'''REGISTRATION:''' Please register [http://guest.cvent.com/d/sdqy0l/4W here].  Payment must be made by credit card.&lt;br /&gt;
*'''Registration Fee:''' $260 (covers the cost of breakfast, lunch and coffee breaks for the week). &lt;br /&gt;
*'''Hotel:''' Boston Marriott Cambridge, Two Cambridge Center, 50 Broadway, Cambridge, MA 02142.  Group rate is $199/night plus tax.  Book [http://www.marriott.com/hotels/travel/boscb?groupCode=jrbjrba&amp;amp;app=resvlink&amp;amp;fromDate=6/19/11&amp;amp;toDate=6/24/11 here] or call 1-617-494-6600 and mention that you are booking in the MIT Room Block.  '''All reservations must be made by May 29, 2011 to receive the discounted rate.'''&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
&lt;br /&gt;
# Please make sure that you are on the http://public.kitware.com/cgi-bin/mailman/listinfo/na-mic-project-week mailing list&lt;br /&gt;
# The NA-MIC engineering team will be discussing infrastructure projects in a kickoff TCON on April 28, 3pm ET.  In the weeks following, new and old participants from the above mailing list will be invited to join to discuss their projects, so please make sure you are on it!&lt;br /&gt;
# By 3pm ET on Thursday May 12, all participants to add a one line title of their project to #Projects&lt;br /&gt;
#By 3pm ET on Thursday June 9, all project leads to complete [[Project_Week/Template|Complete a templated wiki page for your project]]. Please do not edit the template page itself, but create a new page for your project and cut-and-paste the text from this template page.  If you have questions, please send an email to tkapur at bwh.harvard.edu.&lt;br /&gt;
# By 3pm on June 16: Create a directory for each project on the [[Engineering:SandBox|NAMIC Sandbox]] (Zack)&lt;br /&gt;
## Commit on each sandbox directory the code examples/snippets that represent our first guesses of appropriate methods. (Luis and Steve will help with this, as needed)&lt;br /&gt;
## Gather test images in any of the Data sharing resources we have (e.g. XNAT/MIDAS). These ones don't have to be many. At least three different cases, so we can get an idea of the modality-specific characteristics of these images. Put the IDs of these data sets on the wiki page. (the participants must do this.)&lt;br /&gt;
## Setup nightly tests on a separate Dashboard, where we will run the methods that we are experimenting with. The test should post result images and computation time. (Zack)&lt;br /&gt;
# Please note that by the time we get to the project event, we should be trying to close off a project milestone rather than starting to work on one...&lt;br /&gt;
# People doing Slicer related projects should come to project week with slicer built on your laptop.&lt;br /&gt;
## Projects to develop extension modules should work with the [http://viewvc.slicer.org/viewcvs.cgi/branches/Slicer-3-6/#dirlist Slicer-3-6 branch] (new code should not be checked into the branch).&lt;br /&gt;
## Projects to modify core behavior of slicer should be done on the [http://viewvc.slicer.org/viewcvs.cgi/trunk/ trunk].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registrants==&lt;br /&gt;
&lt;br /&gt;
Do not add your name to this list- it is maintained by the organizers based on your paid registration (see Logistics for link)&lt;br /&gt;
#	Peter	Anderson,	Retired&lt;br /&gt;
#	Nicole	Aucoin,	Brigham and Women's Hospital&lt;br /&gt;
#	Dominique	Belhachemi,	University of Pennsylvania&lt;br /&gt;
#	Anthony	Blumfiled,	Radnostics&lt;br /&gt;
#	Lucile	Bompard,	UNC NIRAL&lt;br /&gt;
#	Sylvain	Bouix,	Brigham and Women's Hospital&lt;br /&gt;
#	Francois	Budin,	UNC NIRAL&lt;br /&gt;
#	Steve	Callahan,	University of Utah&lt;br /&gt;
#	Joshua	Cates,	University of Utah&lt;br /&gt;
#	Micah	Chambers,	Laboratory of NeuroImaging&lt;br /&gt;
#	Laurent	Chauvin,	Brigham and Women's Hospital&lt;br /&gt;
#	Rivka	Colen,	Brigham and Women's Hospital&lt;br /&gt;
#	Nikos	Chrisochoides,	Old Dominion University&lt;br /&gt;
#	Adrian	Dalca,	Massachusetts Institute of Technology&lt;br /&gt;
#	Manasi	Datar,	University of Utah&lt;br /&gt;
#	Colin	Davey	&lt;br /&gt;
#	Ryan	Eckbo,	Brigham and Women's Hospital&lt;br /&gt;
#	Jan	Egger,	University Hospital of Marburg&lt;br /&gt;
#	Luping	Fang,	Zhejiang University of Technology, China&lt;br /&gt;
#	Mahshid	Farzinfar,	University of North Carolina at Chapel Hill&lt;br /&gt;
#	Andriy	Fedorov,	Brigham and Women's Hospital&lt;br /&gt;
#	Jean-Christophe	Fillion-Robin,	Kitware, Inc.&lt;br /&gt;
#	Julien	Finet,	Kitware, Inc.&lt;br /&gt;
#	James	Fishbaugh,	University of Utah&lt;br /&gt;
#	Yi	Gao,	Georgia Institute of Technology&lt;br /&gt;
#	Greg	Gardner,	University of Utah&lt;br /&gt;
#	Ronen	Globinsky,	Yale University&lt;br /&gt;
#	Vivian	He,	Brigham and Women's Hospital&lt;br /&gt;
#	Maged	Goubran,	Robarts Research Institute&lt;br /&gt;
#	Daniel	Haehn,	University of Pennsylvania&lt;br /&gt;
#	Mike	Halle,	Brigham and Women's Hospital&lt;br /&gt;
#	Marcus	Hanwell,	Kitware, Inc.&lt;br /&gt;
#	Firdaus	Janoos,	Brigham and Women's Hospital&lt;br /&gt;
#	Noby	Hata,	Brigham and Women's Hospital&lt;br /&gt;
#	Tamas	Heffter,	Queen's University&lt;br /&gt;
#	Nicholas	Herlambang,	AZE, Ltd.&lt;br /&gt;
#	Luis	Ibanez,	Kitware, Inc.&lt;br /&gt;
#	Andrei	Irimia,	University of California, Los Angeles&lt;br /&gt;
#	Hans	Johnson,	University of Iowa&lt;br /&gt;
#	Ilknur	Kabul,	Kitware, Inc.&lt;br /&gt;
#	Tina	Kapur,	Brigham and Women's Hospital&lt;br /&gt;
#	Peter	Karasev,	Georgia Institute of Technology&lt;br /&gt;
#	Ron	Kikinis,	Brigham and Women's Hospital&lt;br /&gt;
#	Regina	Kim,	University of Iowa&lt;br /&gt;
#	Ivan	Kolesov,	Georgia Institute of Technology&lt;br /&gt;
#	Szymon	Kostrzewski,	Ecole Polytechnique Federale de Lausanne EPFL&lt;br /&gt;
#	Dillon	Lee,	University of Utah&lt;br /&gt;
#	Yinpeng	Li,	UNC-NIRAL&lt;br /&gt;
#	Yifei	Lou,	Georgia Institute of Technology&lt;br /&gt;
#	Mohsen	Mahvash,	Harvard Medical School (BWH and VA)&lt;br /&gt;
#	Nikos	Makris,	Massachusetts General Hospital&lt;br /&gt;
#	Katie	Mastrogiacomo,	Brigham and Women's Hospital&lt;br /&gt;
#	Joy	Matsui,	University of Iowa&lt;br /&gt;
#	Dominik	Meier,	Brigham and Women's Hospital&lt;br /&gt;
#	Mikhail	Milchenko,	Washington University in St. Louis&lt;br /&gt;
#	James	Miller,	GE Research&lt;br /&gt;
#	Zach	Mullen,	Kitware, Inc.&lt;br /&gt;
#	Isaiah	Norton,	Brigham and Women's Hospital&lt;br /&gt;
#	Lauren	O'Donnell,	Brigham and Women's Hospital&lt;br /&gt;
#	Danielle	Pace,	Kitware, Inc.&lt;br /&gt;
#	Beatriz	Paniagua,	University of North Carolina at Chapel Hill&lt;br /&gt;
#	Xenophon	Papademetris,	Yale University&lt;br /&gt;
#	Kedar	Patwardhan,	GE Global Research&lt;br /&gt;
#	Steve	Pieper,	Isomics, Inc.&lt;br /&gt;
#	Csaba	Pinter,	Queen's University&lt;br /&gt;
#	Wendy	Plesniak,	Brigham and Women's Hospital&lt;br /&gt;
#	Kilian	Pohl,	University of Pennsylvania&lt;br /&gt;
#	Marcel	Prastawa,	University of Utah&lt;br /&gt;
#	Sonia	Pujol,	Brigham and Women's Hospital&lt;br /&gt;
#	Martin	Rajchl,	Robarts Research Institute&lt;br /&gt;
#	Ramesh	Sridharan,	Massachusetts Institute of Technology&lt;br /&gt;
#	Petter	Risholm,	Brigham and Women's Hospital&lt;br /&gt;
#	Peter 	Savadjiev,	Brigham and Women's Hospital&lt;br /&gt;
#	Will	Schroeder,	Kitware, Inc.&lt;br /&gt;
#	Andreas	Schuh,	University of Pennsylvania&lt;br /&gt;
#	Mark	Scully,	University of Iowa&lt;br /&gt;
#	Gregory	Sharp,	Massachusetts General Hospital&lt;br /&gt;
#	Junichi	Tokuda,	Brigham and Women's Hospital&lt;br /&gt;
#	Yundi	Shi,	University of North Carolina at Chapel Hill&lt;br /&gt;
#	Matthew	Toews,	Brigham and Women's Hospital&lt;br /&gt;
#	Nadya	Shusharina,	Massachusetts General Hospital&lt;br /&gt;
#	Hao	Su,	Worcester Polytechnic Institute&lt;br /&gt;
#	Suares	Tamekue,	Brigham and Women's Hospital&lt;br /&gt;
#	Xiaodong	Tao,	GE Research&lt;br /&gt;
#	Clement	Vachet,	UNC Chapel Hill&lt;br /&gt;
#	Antonio	Vega,	Brigham and Women's Hospital&lt;br /&gt;
#	Gopal	Veni,	University of Utah&lt;br /&gt;
#	Bo	Wang,	University of Utah&lt;br /&gt;
#	Andrew	Wassam,	CoSMo Software Inc.&lt;br /&gt;
#	Demian	Wassermann,	Brigham and Women's Hospital&lt;br /&gt;
#	Sandy	Wells,	Brigham and Women's Hospital&lt;br /&gt;
#	Jason 	White,	Brigham and Women's Hospital&lt;br /&gt;
#	Mallika	Winsor,	Brigham and Women's Hospital&lt;br /&gt;
#	Atsushi	Yamada,	Brigham and Women's Hospital&lt;br /&gt;
#	Alexander	Yarmarkovich,	Isomics, Inc.&lt;br /&gt;
#	Alexander	Zaitsev,	Brigham and Women's Hospital&lt;br /&gt;
#	Ming	Zhao, Sun Yat-Sen University Cancer Center, GuangZhou, China&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:Pano2summer2011namic.jpg&amp;diff=68772</id>
		<title>File:Pano2summer2011namic.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:Pano2summer2011namic.jpg&amp;diff=68772"/>
		<updated>2011-06-20T19:32:40Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=63679</id>
		<title>2011 Winter Project Week:MeshCurvolver</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=63679"/>
		<updated>2011-01-14T14:24:40Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sfls_donut.png|Sparse Field Levelset Layer Visualization&lt;br /&gt;
Image:Meancurve_slicer_data1.png|Unittest output: mean curvature on a slicer test dataset&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
Image:Surface_H_c.png|Surface curvature display for segmented colon MRI in Slicer&lt;br /&gt;
Image:KSlice1.png|Femur Surface Segmentation&lt;br /&gt;
Image:constraint_example_pts.png|User-Constraint Input Points in a Slice&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Ivan Kolesov, Anthony Blumfield, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. &lt;br /&gt;
&lt;br /&gt;
Ill-posed mesh data can be avoided by keeping access to the volumetric data to resolve complex regions. &amp;quot;User-Input-Constraints&amp;quot; can be incrementally updated to improve the surface model when needed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Surface Geometry Computation&lt;br /&gt;
&lt;br /&gt;
Closest Path Between Initial Points&lt;br /&gt;
&lt;br /&gt;
Fast Level Set Implementation for Unstructured Mesh&lt;br /&gt;
&lt;br /&gt;
Support 'global geometry' estimation for statistical analysis versus local-only for fast segmentation&lt;br /&gt;
&lt;br /&gt;
Extend Functionality in VTK and ITK to perform needed operations&lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
* added standalone executable to append surface curvature as a scalar map in vtk poly data&lt;br /&gt;
&lt;br /&gt;
* added GUI program for algorithm development; maintains the volume data, label maps, constraint inputs, and output surface to avoid excess re-computation. &lt;br /&gt;
&lt;br /&gt;
* need to port the mixed  matlab/mex/C &amp;quot;SPGL1&amp;quot; package to pure C to solve for sparse solutions to underdetermined systems (generating the surface models)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 30%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reviewed the &amp;quot;Slicer4&amp;quot; QT module creation. The current standalone QT gui should be compatible, and allows exploration of best-practices of interactive segmentation. &lt;br /&gt;
&lt;br /&gt;
Created &amp;amp; Verified unit-test for attaching mean curvature from a multi-neighborhood to a mesh data set. Syntax like:   ./computeMeanCurvatureNoGUI   -i  mesh_in.vtp   -o  mesh_out.vtp   &lt;br /&gt;
&lt;br /&gt;
Upon exit, the .vtp data has the attached array, no need to store adjacency tree after this point. &lt;br /&gt;
&lt;br /&gt;
Added structs for encapsulating and visualizing sparse-field layers, example visualization on torus test-case shown. Allows better user feedback and interactivity than previous triangle-based view. &lt;br /&gt;
&lt;br /&gt;
Builds and runs in windows now, thanks to Anthony Blumfield. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:Meancurve_slicer_data1.png&amp;diff=63678</id>
		<title>File:Meancurve slicer data1.png</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:Meancurve_slicer_data1.png&amp;diff=63678"/>
		<updated>2011-01-14T14:15:35Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: mean curvature, after re-loading data set. unit-test of &amp;quot;compute curvature, add to polydata, save, reload&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mean curvature, after re-loading data set. unit-test of &amp;quot;compute curvature, add to polydata, save, reload&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:Sfls_donut.png&amp;diff=63677</id>
		<title>File:Sfls donut.png</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:Sfls_donut.png&amp;diff=63677"/>
		<updated>2011-01-14T14:12:44Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: multi-actor visualization of sparse-field-level-set layers on the mesh&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;multi-actor visualization of sparse-field-level-set layers on the mesh&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=63273</id>
		<title>2011 Winter Project Week:MeshCurvolver</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=63273"/>
		<updated>2011-01-10T20:07:10Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
Image:Surface_H_c.png|Surface curvature display for segmented colon MRI in Slicer&lt;br /&gt;
Image:KSlice1.png|Femur Surface Segmentation&lt;br /&gt;
Image:constraint_example_pts.png|User-Constraint Input Points in a Slice&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Ivan Kolesov, Anthony Blumfield, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. &lt;br /&gt;
&lt;br /&gt;
Ill-posed mesh data can be avoided by keeping access to the volumetric data to resolve complex regions. &amp;quot;User-Input-Constraints&amp;quot; can be incrementally updated to improve the surface model when needed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Surface Geometry Computation&lt;br /&gt;
&lt;br /&gt;
Closest Path Between Initial Points&lt;br /&gt;
&lt;br /&gt;
Fast Level Set Implementation for Unstructured Mesh&lt;br /&gt;
&lt;br /&gt;
Support 'global geometry' estimation for statistical analysis versus local-only for fast segmentation&lt;br /&gt;
&lt;br /&gt;
Extend Functionality in VTK and ITK to perform needed operations&lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
* added standalone executable to append surface curvature as a scalar map in vtk poly data&lt;br /&gt;
&lt;br /&gt;
* added GUI program for algorithm development; maintains the volume data, label maps, constraint inputs, and output surface to avoid excess re-computation. &lt;br /&gt;
&lt;br /&gt;
* need to port the mixed  matlab/mex/C &amp;quot;SPGL1&amp;quot; package to pure C to solve for sparse solutions to underdetermined systems (generating the surface models)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 30%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Builds and runs in windows now, thanks to Anthony Blumfield. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=63268</id>
		<title>2011 Winter Project Week:MeshCurvolver</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=63268"/>
		<updated>2011-01-10T18:59:54Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
Image:Surface_H_c.png|Surface curvature display for segmented colon MRI in Slicer&lt;br /&gt;
Image:KSlice1.png|Femur Surface Segmentation&lt;br /&gt;
Image:constraint_example_pts.png|User-Constraint Input Points in a Slice&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Ivan Kolesov, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. &lt;br /&gt;
&lt;br /&gt;
Ill-posed mesh data can be avoided by keeping access to the volumetric data to resolve complex regions. &amp;quot;User-Input-Constraints&amp;quot; can be incrementally updated to improve the surface model when needed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Surface Geometry Computation&lt;br /&gt;
&lt;br /&gt;
Closest Path Between Initial Points&lt;br /&gt;
&lt;br /&gt;
Fast Level Set Implementation for Unstructured Mesh&lt;br /&gt;
&lt;br /&gt;
Support 'global geometry' estimation for statistical analysis versus local-only for fast segmentation&lt;br /&gt;
&lt;br /&gt;
Extend Functionality in VTK and ITK to perform needed operations&lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
* added standalone executable to append surface curvature as a scalar map in vtk poly data&lt;br /&gt;
&lt;br /&gt;
* added GUI program for algorithm development; maintains the volume data, label maps, constraint inputs, and output surface to avoid excess re-computation. &lt;br /&gt;
&lt;br /&gt;
* need to port the mixed  matlab/mex/C &amp;quot;SPGL1&amp;quot; package to pure C to solve for sparse solutions to underdetermined systems (generating the surface models)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 30%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Builds and runs in windows now, thanks to Anthony Blumfield. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=63266</id>
		<title>2011 Winter Project Week:MeshCurvolver</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=63266"/>
		<updated>2011-01-10T18:58:57Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
Image:Surface_H_c.png|Surface curvature display for segmented colon MRI in Slicer&lt;br /&gt;
Image:KSlice1.png|Femur Surface Segmentation&lt;br /&gt;
Image:constraint_example_pts.png|User-Constraint Input Points in a Slice&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Ivan Kolesov, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. &lt;br /&gt;
&lt;br /&gt;
Ill-posed mesh data can be avoided by keeping access to the volumetric data to resolve complex regions. &amp;quot;User-Input-Constraints&amp;quot; can be incrementally updated to improve the surface model when needed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Surface Geometry Computation&lt;br /&gt;
&lt;br /&gt;
Closest Path Between Initial Points&lt;br /&gt;
&lt;br /&gt;
Fast Level Set Implementation for Unstructured Mesh&lt;br /&gt;
&lt;br /&gt;
Support 'global geometry' estimation for statistical analysis versus local-only for fast segmentation&lt;br /&gt;
&lt;br /&gt;
Extend Functionality in VTK and ITK to perform needed operations&lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
* added standalone executable to append surface curvature as a scalar map in vtk poly data&lt;br /&gt;
&lt;br /&gt;
* added GUI program for algorithm development; maintains the volume data, label maps, constraint inputs, and output surface to avoid excess re-computation. &lt;br /&gt;
&lt;br /&gt;
* need to port the mixed  matlab/mex/C &amp;quot;SPGL1&amp;quot; package to pure C to solve for sparse solutions to underdetermined systems (generating the surface models)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Builds and runs in windows now, thanks to Anthony Blumfield. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=63264</id>
		<title>2011 Winter Project Week:MeshCurvolver</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=63264"/>
		<updated>2011-01-10T18:55:45Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
Image:Surface_H_c.png|Surface curvature display for segmented colon MRI in Slicer&lt;br /&gt;
Image:KSlice1.png|Femur Surface Segmentation&lt;br /&gt;
Image:constraint_example_pts.png|User-Constraint Input Points in a Slice&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Ivan Kolesov, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. &lt;br /&gt;
&lt;br /&gt;
Ill-posed mesh data can be avoided by keeping access to the volumetric data to resolve complex regions. &amp;quot;User-Input-Constraints&amp;quot; can be incrementally updated to improve the surface model when needed. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Surface Geometry Computation&lt;br /&gt;
&lt;br /&gt;
Closest Path Between Initial Points&lt;br /&gt;
&lt;br /&gt;
Fast Level Set Implementation for Unstructured Mesh&lt;br /&gt;
&lt;br /&gt;
Support 'global geometry' estimation for statistical analysis versus local-only for fast segmentation&lt;br /&gt;
&lt;br /&gt;
Extend Functionality in VTK and ITK to perform needed operations&lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
* added standalone executable to append surface curvature as a scalar map in vtk poly data&lt;br /&gt;
&lt;br /&gt;
* added GUI program for algorithm development; maintains the volume data, label maps, constraint inputs, and output surface to avoid excess re-computation. &lt;br /&gt;
&lt;br /&gt;
* need to port the mixed  matlab/mex/C &amp;quot;SPGL1&amp;quot; package to pure C to solve for sparse solutions to underdetermined systems (generating the surface models)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:Constraint_example_pts.png&amp;diff=63260</id>
		<title>File:Constraint example pts.png</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:Constraint_example_pts.png&amp;diff=63260"/>
		<updated>2011-01-10T18:47:03Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:KSlice1.png&amp;diff=63258</id>
		<title>File:KSlice1.png</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:KSlice1.png&amp;diff=63258"/>
		<updated>2011-01-10T18:46:39Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=61349</id>
		<title>2011 Winter Project Week:MeshCurvolver</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week:MeshCurvolver&amp;diff=61349"/>
		<updated>2010-11-18T17:40:15Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: Created page with '__NOTOC__ &amp;lt;gallery&amp;gt; Image:PW-SLC2010.png|Projects List Image:BrainH.png|Surface Mean Curvature Image:Sulci6_done2.png|Converged Contour Surr…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
Image:Surface_H_c.png|Surface curvature display for segmented colon MRI in Slicer&lt;br /&gt;
Image:lsvtk_qtcreator.png|'Extreme Programming' with QT Creator in Ubuntu Linux&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. Specifically, it is required to reconcile some concepts in classical differential geometry and embedded curves with the numerical and discrete-space constraints of polygon meshes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Surface Geometry Computation&lt;br /&gt;
&lt;br /&gt;
Closest Path Between Initial Points&lt;br /&gt;
&lt;br /&gt;
Fast Level Set Implementation for Unstructured Mesh&lt;br /&gt;
&lt;br /&gt;
Support 'global geometry' estimation for statistical analysis versus local-only for fast segmentation&lt;br /&gt;
&lt;br /&gt;
Extend Functionality in VTK and ITK to perform needed operations&lt;br /&gt;
&lt;br /&gt;
The module pipeline now contains three classes that extend vtkPolyDataAlgorithm. It now makes use of vtkSmartPointer. &lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week&amp;diff=61348</id>
		<title>2011 Winter Project Week</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week&amp;diff=61348"/>
		<updated>2010-11-18T17:38:54Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Segmentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Back to [[Project Events]], [[Events]]&lt;br /&gt;
 Back to [[Project Events]], [[AHM_2011]], [[Events]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[image:PW-SLC2010.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Dates.Venue.Registration ==&lt;br /&gt;
&lt;br /&gt;
Please [[AHM_2011#Dates_Venue_Registration|click here for Dates, Venue, and Registration]] for this event.&lt;br /&gt;
&lt;br /&gt;
== Agenda==&lt;br /&gt;
&lt;br /&gt;
Please [[AHM_2011#Agenda|click here for the agenda for AHM 2011 and Project Week]].&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
From January 10-14, 2011, the twelfth project week for hands-on research and development activity in Image-Guided Therapy and Neuroscience applications will be hosted in Salt Lake City, Utah. Participant engage in open source programming using the [[NA-MIC-Kit|NA-MIC Kit]], algorithms, medical imaging sequence development, tracking experiments, and clinical applications. The main goal of this event is to further the translational research deliverables of the sponsoring centers ([http://www.na-mic.org NA-MIC], [http://www.ncigt.org NCIGT], [http://nac.spl.harvard.edu NAC], [http://catalyst.harvard.edu/home.html Harvard Catalyst], and [http://www.cimit.org CIMIT]) and their collaborators by identifying and solving programming problems during planned and ad hoc break-out sessions.  &lt;br /&gt;
&lt;br /&gt;
Active preparation for this conference begins with a kick-off teleconference. Invitations to this call are sent to members of the sponsoring communities, their collaborators, past attendees of the event, as well as any parties expressing an interest in working with these centers. The main goal of the initial teleconference is to gather information about which groups/projects would be active at the upcoming event to ensure that there were sufficient resources available to meet everyone's needs. Focused discussions about individual projects are conducted during several subsequent teleconferences and permits the hosts to finalize the project teams, consolidate any common components, and identify topics that should be discussed in break-out sessions. In the final days leading up to the meeting, all project teams are asked to complete a template page on the wiki describing the objectives and research plan for each project.  &lt;br /&gt;
&lt;br /&gt;
On the first day of the conference, each project team leader delivers a short presentation to introduce their topic and individual members of their team. These brief presentations serve to both familiarize other teams doing similar work about common problems or practical solutions, and to identify potential subsets of individuals who might benefit from collaborative work.  For the remainder of the conference, about 50% time is devoted to break-out discussions on topics of common interest to particular subsets and 50% to hands-on project work.  For hands-on project work, attendees are organized into 30-50 small teams comprised of 2-4 individuals with a mix of multi-disciplinary expertise.  To facilitate this work, a large room is setup with ample work tables, internet connection, and power access. This enables each computer software development-based team to gather on a table with their individual laptops, connect to the internet, download their software and data, and work on specific projects.  On the final day of the event, each project team summarizes their accomplishments in a closing presentation.&lt;br /&gt;
&lt;br /&gt;
A summary of all past NA-MIC Project Events is available [[Project_Events#Past|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
 &lt;br /&gt;
=== Segmentation ===&lt;br /&gt;
* Extension of ABC (Atlas-Based Classification) to detect pathology categories, with tests on TBI images (Bo Wang, Marcel Prastawa, Guido Gerig).&lt;br /&gt;
* Segmentation of the left atrial wall for atrial fibrillation ablation therapy (Behnood Gholami, Yi Gao, and Allen Tannenbaum)&lt;br /&gt;
* The Vascular Modeling Toolkit in 3D Slicer (Daniel Haehn,..)&lt;br /&gt;
* A stenosis detector in Slicer4 using VMTK (Suares Tamekue, Daniel Haehn,..)&lt;br /&gt;
* [[2011_Winter_Project_Week:MeshCurvolver|Surface Region Segmentation for Surgical Planning and Mapping ]] (Peter Karasev, Karol Chudy, Allen Tannenbaum)&lt;br /&gt;
&lt;br /&gt;
=== Registration ===&lt;br /&gt;
*[[2011_Winter_Project_Week:RegistrationCaseLibrary|The 3DSlicer Registration Case Library]] (Dominik Meier)&lt;br /&gt;
*Voxel Anisotropy and Bias Field Effects on Slicer Image Registration (Dominik Meier) (tentative)&lt;br /&gt;
* Efficient co-registration of multiple MR modalities using the ABC (atlas-based classification) framework, joint visualization of multiple co-registered modalities (Bo Wang, Guido Gerig)&lt;br /&gt;
* DTI-MRI registration: Evaluation of large deformation diffeomorphic mapping (LDDMM) with other nonlinear registration schemes (Anuja Sharma, Guido Gerig)&lt;br /&gt;
* Registration of CT and MRI volumes for Adaptive Radiotherapy (Ivan Kolesov, Gregory Sharp, and Allen Tannenbaum)&lt;br /&gt;
* Atlas Registration in Slicer3 (Daniel Haehn, Dominik Meier, Kilian Pohl)&lt;br /&gt;
&lt;br /&gt;
=== IGT ===&lt;br /&gt;
*Open IGT Link 2.0 (Junichi Tokuda, Nobuhiko Hata) &lt;br /&gt;
*Osteormak, navigation tool for Osteotomy (Laurent Chauvin, Nobuhiko Hata)&lt;br /&gt;
*Detection and compensation for prostate motion during transperineal MR-guided prostate biopsy (A.Fedorov)&lt;br /&gt;
&lt;br /&gt;
=== Radiotherapy ===&lt;br /&gt;
* User controlled segmentation of head and neck structures for Adaptive Radiotherapy (Ivan Kolesov, Gregory Sharp, and Allen Tannenbaum)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Analysis ===&lt;br /&gt;
* GAMBIT - Cortical thickness analysis (Clement Vachet, Martin Styner)&lt;br /&gt;
* Particle shape analysis incorporating surface normals (Beatriz Paniagua, Martin Styner)&lt;br /&gt;
&lt;br /&gt;
=== Informatics ===&lt;br /&gt;
* Share all UIowa Traveling Human Phantom DTI data with NAMIC - Mark Scully, Hans Johnson&lt;br /&gt;
* Ontology-augmented MRI brain atlas - Michael Halle, Jim Miller, Samira Farough&lt;br /&gt;
* Functional brain atlas (version 2) - Michael Halle, Jim Miller&lt;br /&gt;
* Annotation module in Slicer4: Display widget intersections (Daniel Haehn, ..)&lt;br /&gt;
&lt;br /&gt;
=== Diffusion ===&lt;br /&gt;
* Testing suite for DicomToNrrdConverter - Mark Scully, Hans Johnson &lt;br /&gt;
* Documentation and 1st Draft Tutorial for DTIPrep - Mark Scully, Hans Johnson, Clement Vachet&lt;br /&gt;
* Voxelwise fiber distribution from tractography - Yinpeng Li, Martin Styner&lt;br /&gt;
&lt;br /&gt;
=== NA-MIC Kit Internals ===&lt;br /&gt;
&lt;br /&gt;
* Command line module logic redesign (passing paramenters, tie into workflows) - Jim, Steve&lt;br /&gt;
* CDash at Home / testing on demand of git topic branches - Steve&lt;br /&gt;
&lt;br /&gt;
=== Execution Model ===&lt;br /&gt;
* Extract SlicerExecutionModel (SEM) into separate entity.  SEM is the only component needed to build modules compatible with Slicer3D, so it should be easy incorporate into external applications without all of Slicer3D.  Jim, Hans&lt;br /&gt;
* Extend SEM xml to include sections for explicit grant acknowledgements, and pointers to documentation, and pointers to examples.  Hans, Andriy&lt;br /&gt;
* Make an formal schema for the SEM xml so that eternal tools (i.e. nipype) can validate the xml.  Hans Johnson, Jim Miller, Tim Olsen&lt;br /&gt;
* Improve documentation extractor script that converts XML to MediaWiki format so that it can directly push this information into the Slicer3D MediaWiki.  (Wiki Systems Admin), Hans Johnson&lt;br /&gt;
* Improve merging strategies between BRAINS3Tools that are part of BRAINS3 and BRAINS3Tools that are part of Slicer. - Mark Scully, Hans Johnson&lt;br /&gt;
&lt;br /&gt;
=== Workflows and Integration ===&lt;br /&gt;
* Workflows and Service Oriented Architecture Solutions for Slicer3 Modules. - Alexander Zaitsev, Wendy Plesniak, Charles Guttmann, Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=== Preparation ===&lt;br /&gt;
&lt;br /&gt;
#Please make sure that you are on the [http://public.kitware.com/cgi-bin/mailman/listinfo/na-mic-project-week na-mic-project-week mailing list] &lt;br /&gt;
#Starting Thursday, October 28th, part of the weekly Thursday 3pm NA-MIC Engineering TCON will be used to prepare for this meeting.  The schedule for these preparatory calls is as follows:&lt;br /&gt;
#*October 28: Engineering Infrastructure Projects&lt;br /&gt;
#*November 4: Engineering Infrastructure Projects&lt;br /&gt;
#*November 11: DPB Projects: Iowa, Outcomes from Alg Core Retreat &lt;br /&gt;
#*November 18: DPB Projects: MGH &lt;br /&gt;
#*November 25:  DBP Projects, Funded External Collaborations&lt;br /&gt;
#*December 2: Funded External Collaborations&lt;br /&gt;
#*December 9: Other External Collaborations&lt;br /&gt;
#*December 16:Finalize Engineering Projects &lt;br /&gt;
#*January 6: Loose Ends&lt;br /&gt;
#By December 16, 2010: [[Project_Week/Template|Complete a templated wiki page for your project]]. Please do not edit the template page itself, but create a new page for your project and cut-and-paste the text from this template page.  If you have questions, please send an email to tkapur at bwh.harvard.edu.&lt;br /&gt;
#By December 16, 2010: Create a directory for each project on the [[Engineering:SandBox|NAMIC Sandbox]] (Zack)&lt;br /&gt;
##[https://www.kitware.com/Admin/SendPassword.cgi Ask Zack for a Sandbox account]&lt;br /&gt;
##Commit on each sandbox directory the code examples/snippets that represent our first guesses of appropriate methods. (Luis and Steve will help with this, as needed)&lt;br /&gt;
##Gather test images in any of the Data sharing resources we have (e.g. the BIRN). These ones don't have to be many. At least three different cases, so we can get an idea of the modality-specific characteristics of these images. Put the IDs of these data sets on the wiki page. (the participants must do this.)&lt;br /&gt;
##Setup nightly tests on a separate Dashboard, where we will run the methods that we are experimenting with. The test should post result images and computation time. (Zack)&lt;br /&gt;
#Please note that by the time we get to the project event, we should be trying to close off a project milestone rather than starting to work on one...&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week&amp;diff=61347</id>
		<title>2011 Winter Project Week</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2011_Winter_Project_Week&amp;diff=61347"/>
		<updated>2010-11-18T17:37:13Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Segmentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Back to [[Project Events]], [[Events]]&lt;br /&gt;
 Back to [[Project Events]], [[AHM_2011]], [[Events]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[image:PW-SLC2010.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Dates.Venue.Registration ==&lt;br /&gt;
&lt;br /&gt;
Please [[AHM_2011#Dates_Venue_Registration|click here for Dates, Venue, and Registration]] for this event.&lt;br /&gt;
&lt;br /&gt;
== Agenda==&lt;br /&gt;
&lt;br /&gt;
Please [[AHM_2011#Agenda|click here for the agenda for AHM 2011 and Project Week]].&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
From January 10-14, 2011, the twelfth project week for hands-on research and development activity in Image-Guided Therapy and Neuroscience applications will be hosted in Salt Lake City, Utah. Participant engage in open source programming using the [[NA-MIC-Kit|NA-MIC Kit]], algorithms, medical imaging sequence development, tracking experiments, and clinical applications. The main goal of this event is to further the translational research deliverables of the sponsoring centers ([http://www.na-mic.org NA-MIC], [http://www.ncigt.org NCIGT], [http://nac.spl.harvard.edu NAC], [http://catalyst.harvard.edu/home.html Harvard Catalyst], and [http://www.cimit.org CIMIT]) and their collaborators by identifying and solving programming problems during planned and ad hoc break-out sessions.  &lt;br /&gt;
&lt;br /&gt;
Active preparation for this conference begins with a kick-off teleconference. Invitations to this call are sent to members of the sponsoring communities, their collaborators, past attendees of the event, as well as any parties expressing an interest in working with these centers. The main goal of the initial teleconference is to gather information about which groups/projects would be active at the upcoming event to ensure that there were sufficient resources available to meet everyone's needs. Focused discussions about individual projects are conducted during several subsequent teleconferences and permits the hosts to finalize the project teams, consolidate any common components, and identify topics that should be discussed in break-out sessions. In the final days leading up to the meeting, all project teams are asked to complete a template page on the wiki describing the objectives and research plan for each project.  &lt;br /&gt;
&lt;br /&gt;
On the first day of the conference, each project team leader delivers a short presentation to introduce their topic and individual members of their team. These brief presentations serve to both familiarize other teams doing similar work about common problems or practical solutions, and to identify potential subsets of individuals who might benefit from collaborative work.  For the remainder of the conference, about 50% time is devoted to break-out discussions on topics of common interest to particular subsets and 50% to hands-on project work.  For hands-on project work, attendees are organized into 30-50 small teams comprised of 2-4 individuals with a mix of multi-disciplinary expertise.  To facilitate this work, a large room is setup with ample work tables, internet connection, and power access. This enables each computer software development-based team to gather on a table with their individual laptops, connect to the internet, download their software and data, and work on specific projects.  On the final day of the event, each project team summarizes their accomplishments in a closing presentation.&lt;br /&gt;
&lt;br /&gt;
A summary of all past NA-MIC Project Events is available [[Project_Events#Past|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
 &lt;br /&gt;
=== Segmentation ===&lt;br /&gt;
* Extension of ABC (Atlas-Based Classification) to detect pathology categories, with tests on TBI images (Bo Wang, Marcel Prastawa, Guido Gerig).&lt;br /&gt;
* Segmentation of the left atrial wall for atrial fibrillation ablation therapy (Behnood Gholami, Yi Gao, and Allen Tannenbaum)&lt;br /&gt;
* The Vascular Modeling Toolkit in 3D Slicer (Daniel Haehn,..)&lt;br /&gt;
* A stenosis detector in Slicer4 using VMTK (Suares Tamekue, Daniel Haehn,..)&lt;br /&gt;
* Surface Region Segmentation for Surgical Planning and Mapping (Peter Karasev, Karol Chudy, Allen Tannenbaum)&lt;br /&gt;
&lt;br /&gt;
=== Registration ===&lt;br /&gt;
*[[2011_Winter_Project_Week:RegistrationCaseLibrary|The 3DSlicer Registration Case Library]] (Dominik Meier)&lt;br /&gt;
*Voxel Anisotropy and Bias Field Effects on Slicer Image Registration (Dominik Meier) (tentative)&lt;br /&gt;
* Efficient co-registration of multiple MR modalities using the ABC (atlas-based classification) framework, joint visualization of multiple co-registered modalities (Bo Wang, Guido Gerig)&lt;br /&gt;
* DTI-MRI registration: Evaluation of large deformation diffeomorphic mapping (LDDMM) with other nonlinear registration schemes (Anuja Sharma, Guido Gerig)&lt;br /&gt;
* Registration of CT and MRI volumes for Adaptive Radiotherapy (Ivan Kolesov, Gregory Sharp, and Allen Tannenbaum)&lt;br /&gt;
* Atlas Registration in Slicer3 (Daniel Haehn, Dominik Meier, Kilian Pohl)&lt;br /&gt;
&lt;br /&gt;
=== IGT ===&lt;br /&gt;
*Open IGT Link 2.0 (Junichi Tokuda, Nobuhiko Hata) &lt;br /&gt;
*Osteormak, navigation tool for Osteotomy (Laurent Chauvin, Nobuhiko Hata)&lt;br /&gt;
*Detection and compensation for prostate motion during transperineal MR-guided prostate biopsy (A.Fedorov)&lt;br /&gt;
&lt;br /&gt;
=== Radiotherapy ===&lt;br /&gt;
* User controlled segmentation of head and neck structures for Adaptive Radiotherapy (Ivan Kolesov, Gregory Sharp, and Allen Tannenbaum)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Analysis ===&lt;br /&gt;
* GAMBIT - Cortical thickness analysis (Clement Vachet, Martin Styner)&lt;br /&gt;
* Particle shape analysis incorporating surface normals (Beatriz Paniagua, Martin Styner)&lt;br /&gt;
&lt;br /&gt;
=== Informatics ===&lt;br /&gt;
* Share all UIowa Traveling Human Phantom DTI data with NAMIC - Mark Scully, Hans Johnson&lt;br /&gt;
* Ontology-augmented MRI brain atlas - Michael Halle, Jim Miller, Samira Farough&lt;br /&gt;
* Functional brain atlas (version 2) - Michael Halle, Jim Miller&lt;br /&gt;
* Annotation module in Slicer4: Display widget intersections (Daniel Haehn, ..)&lt;br /&gt;
&lt;br /&gt;
=== Diffusion ===&lt;br /&gt;
* Testing suite for DicomToNrrdConverter - Mark Scully, Hans Johnson &lt;br /&gt;
* Documentation and 1st Draft Tutorial for DTIPrep - Mark Scully, Hans Johnson, Clement Vachet&lt;br /&gt;
* Voxelwise fiber distribution from tractography - Yinpeng Li, Martin Styner&lt;br /&gt;
&lt;br /&gt;
=== NA-MIC Kit Internals ===&lt;br /&gt;
&lt;br /&gt;
* Command line module logic redesign (passing paramenters, tie into workflows) - Jim, Steve&lt;br /&gt;
* CDash at Home / testing on demand of git topic branches - Steve&lt;br /&gt;
&lt;br /&gt;
=== Execution Model ===&lt;br /&gt;
* Extract SlicerExecutionModel (SEM) into separate entity.  SEM is the only component needed to build modules compatible with Slicer3D, so it should be easy incorporate into external applications without all of Slicer3D.  Jim, Hans&lt;br /&gt;
* Extend SEM xml to include sections for explicit grant acknowledgements, and pointers to documentation, and pointers to examples.  Hans, Andriy&lt;br /&gt;
* Make an formal schema for the SEM xml so that eternal tools (i.e. nipype) can validate the xml.  Hans Johnson, Jim Miller, Tim Olsen&lt;br /&gt;
* Improve documentation extractor script that converts XML to MediaWiki format so that it can directly push this information into the Slicer3D MediaWiki.  (Wiki Systems Admin), Hans Johnson&lt;br /&gt;
* Improve merging strategies between BRAINS3Tools that are part of BRAINS3 and BRAINS3Tools that are part of Slicer. - Mark Scully, Hans Johnson&lt;br /&gt;
&lt;br /&gt;
=== Workflows and Integration ===&lt;br /&gt;
* Workflows and Service Oriented Architecture Solutions for Slicer3 Modules. - Alexander Zaitsev, Wendy Plesniak, Charles Guttmann, Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
=== Preparation ===&lt;br /&gt;
&lt;br /&gt;
#Please make sure that you are on the [http://public.kitware.com/cgi-bin/mailman/listinfo/na-mic-project-week na-mic-project-week mailing list] &lt;br /&gt;
#Starting Thursday, October 28th, part of the weekly Thursday 3pm NA-MIC Engineering TCON will be used to prepare for this meeting.  The schedule for these preparatory calls is as follows:&lt;br /&gt;
#*October 28: Engineering Infrastructure Projects&lt;br /&gt;
#*November 4: Engineering Infrastructure Projects&lt;br /&gt;
#*November 11: DPB Projects: Iowa, Outcomes from Alg Core Retreat &lt;br /&gt;
#*November 18: DPB Projects: MGH &lt;br /&gt;
#*November 25:  DBP Projects, Funded External Collaborations&lt;br /&gt;
#*December 2: Funded External Collaborations&lt;br /&gt;
#*December 9: Other External Collaborations&lt;br /&gt;
#*December 16:Finalize Engineering Projects &lt;br /&gt;
#*January 6: Loose Ends&lt;br /&gt;
#By December 16, 2010: [[Project_Week/Template|Complete a templated wiki page for your project]]. Please do not edit the template page itself, but create a new page for your project and cut-and-paste the text from this template page.  If you have questions, please send an email to tkapur at bwh.harvard.edu.&lt;br /&gt;
#By December 16, 2010: Create a directory for each project on the [[Engineering:SandBox|NAMIC Sandbox]] (Zack)&lt;br /&gt;
##[https://www.kitware.com/Admin/SendPassword.cgi Ask Zack for a Sandbox account]&lt;br /&gt;
##Commit on each sandbox directory the code examples/snippets that represent our first guesses of appropriate methods. (Luis and Steve will help with this, as needed)&lt;br /&gt;
##Gather test images in any of the Data sharing resources we have (e.g. the BIRN). These ones don't have to be many. At least three different cases, so we can get an idea of the modality-specific characteristics of these images. Put the IDs of these data sets on the wiki page. (the participants must do this.)&lt;br /&gt;
##Setup nightly tests on a separate Dashboard, where we will run the methods that we are experimenting with. The test should post result images and computation time. (Zack)&lt;br /&gt;
#Please note that by the time we get to the project event, we should be trying to close off a project milestone rather than starting to work on one...&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55413</id>
		<title>2010 Summer Project Week SegmentationMeshEmbeddedContours</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55413"/>
		<updated>2010-06-25T14:30:52Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
Image:Surface_H_c.png|Surface curvature display for segmented colon MRI in Slicer&lt;br /&gt;
Image:lsvtk_qtcreator.png|'Extreme Programming' with QT Creator in Ubuntu Linux&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. Specifically, it is required to reconcile some concepts in classical differential geometry and embedded curves with the numerical and discrete-space constraints of polygon meshes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Surface Geometry Computation&lt;br /&gt;
&lt;br /&gt;
Closest Path Between Initial Points&lt;br /&gt;
&lt;br /&gt;
Fast Level Set Implementation for Unstructured Mesh&lt;br /&gt;
&lt;br /&gt;
Support 'global geometry' estimation for statistical analysis versus local-only for fast segmentation&lt;br /&gt;
&lt;br /&gt;
Extend Functionality in VTK and ITK to perform needed operations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The module pipeline now contains three classes that extend vtkPolyDataAlgorithm. It now makes use of vtkSmartPointer. &lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
1. Setup Slicer4 &amp;quot;superbuild&amp;quot;, verified module consistency therein&lt;br /&gt;
&lt;br /&gt;
2. Signed up for ITK write access as there is some partial overlap and functions in this module perform tasks that ITK doesn't do: &lt;br /&gt;
    i. large neighborhood curvature computation via paraboloid fit&lt;br /&gt;
    ii. unstructured graph sparse field level sets )&lt;br /&gt;
3. From discussion with Ron Kikinis and Karl Fritscher, going forward must branch the functionality:&lt;br /&gt;
    i. don't compute 'global geometry' in Slicer, must look up neighbors as needed as user is only segmenting a small piece of large mesh&lt;br /&gt;
    ii. allow more geometric information to be returned and stored for statistical analysis and registration of surfaces&lt;br /&gt;
&lt;br /&gt;
4. Curvature overlay in Slicer:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Surface_H_c.png|surface curvature display inside slicer (vtkFloatArray attached to returned vtkPolyData)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5.&lt;br /&gt;
Implemented a helpful re-factor, convert a beefy struct with bunch of global functions to a class with member functions plus non-member non-friend helper functions in anonymous namespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* NEW */&lt;br /&gt;
namespace {&lt;br /&gt;
  TestFunc1( const MeshData&amp;amp; data ) { ... }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class MeshData{&lt;br /&gt;
public:&lt;br /&gt;
functionA( );&lt;br /&gt;
functionB( );&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* OLD */ &lt;br /&gt;
struct MeshData{&lt;br /&gt;
&lt;br /&gt;
member1;&lt;br /&gt;
member2;&lt;br /&gt;
....&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
functionA( MeshData* ) { ... }&lt;br /&gt;
functionB( MeshData* ) { ... }&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Learn about and setup qtcreator, continue development of stand-alone frontend and module there (it blows Eclipse away for C/C++)&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:lsvtk_qtcreator.png|Module development in QT Creator (in Ubuntu Linux 9.10)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some implementation specifics&lt;br /&gt;
&lt;br /&gt;
Development is much easier now for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. After the reformulation of external interface, the standalone application which can be built easily in windows has virtually identical interface to the module as the Slicer CLI entry point. This allows rapid development in the standalone demo in windows to be copied directly to Slicer in linux. &lt;br /&gt;
&lt;br /&gt;
2. Much improved knowledge of linux development, particularly being able to execute the various scripts for Slicer without doing getbuildtest.tcl; saves time.&lt;br /&gt;
&lt;br /&gt;
The namespace:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
namespace MeshContourEvolver {&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh and 3D points for initialization. This is what you get&lt;br /&gt;
// when inputting 'fiducials' in Slicer GUI. The 3D points&lt;br /&gt;
// are not on the mesh, you need to first find closest points on the mesh.&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt; vector&amp;lt;float&amp;gt; &amp;gt;&amp;amp; initPoints3D );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh only. No initialization of points; either continue&lt;br /&gt;
// evolution of existing curve or only pre-compute geometry!&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The pipeline code; e.g. external interface. Functionality is encapsulated in the vtkPolyDataAlgorithm subclasses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* MeshContourEvolver::entry_main( vtkPolyData* inputMesh, &lt;br /&gt;
    const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices )&lt;br /&gt;
{&lt;br /&gt;
	// instantiate output mesh&lt;br /&gt;
	vtkPolyData* outputMesh = vtkPolyData::New();&lt;br /&gt;
&lt;br /&gt;
	// algorithm #1: initialization of path&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt; initPath = vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt;::New();&lt;br /&gt;
	initPath-&amp;gt;SetInput( inputMesh );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #2: computing the geometry (if the input data &lt;br /&gt;
	// does NOT already have a scalar data set containing it)&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt; computeGeometry = vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt;::New();&lt;br /&gt;
	computeGeometry-&amp;gt;SetInputConnection( initPath-&amp;gt;GetOutputPort() );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #3: run curve evolution and update the scalar dataset for display&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt; evolver = vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt;::New();&lt;br /&gt;
	evolver-&amp;gt;SetInputConnection( computeGeometry-&amp;gt;GetOutputPort() );&lt;br /&gt;
    evolver-&amp;gt;Update();&lt;br /&gt;
&lt;br /&gt;
	// register and return the result of the pipeline of algorithms&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkPolyData&amp;gt; result = evolver-&amp;gt;GetOutput();&lt;br /&gt;
	outputMesh-&amp;gt;DeepCopy( result );&lt;br /&gt;
&lt;br /&gt;
	return outputMesh;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55402</id>
		<title>2010 Summer Project Week SegmentationMeshEmbeddedContours</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55402"/>
		<updated>2010-06-25T14:23:33Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
Image:Surface_H_c.png|Surface curvature display for segmented colon MRI in Slicer&lt;br /&gt;
Image:lsvtk_qtcreator.png|'Extreme Programming' with QT Creator in Ubuntu Linux&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 27%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. Specifically, it is required to reconcile some concepts in classical differential geometry and embedded curves with the numerical and discrete-space constraints of polygon meshes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Surface Geometry Computation&lt;br /&gt;
&lt;br /&gt;
Closest Path Between Initial Points&lt;br /&gt;
&lt;br /&gt;
Fast Level Set Implementation for Unstructured Mesh&lt;br /&gt;
&lt;br /&gt;
Support 'global geometry' estimation for statistical analysis versus local-only for fast segmentation&lt;br /&gt;
&lt;br /&gt;
Extend Functionality in VTK and ITK to perform needed operations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The module pipeline now contains three classes that extend vtkPolyDataAlgorithm. It now makes use of vtkSmartPointer. &lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 40%; float: right;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
1. Setup Slicer4 &amp;quot;superbuild&amp;quot;, verified module consistency therein&lt;br /&gt;
&lt;br /&gt;
2. Signed up for ITK write access as there is some partial overlap and functions in this module perform tasks that ITK doesn't do: &lt;br /&gt;
    i. large neighborhood curvature computation via paraboloid fit&lt;br /&gt;
    ii. unstructured graph sparse field level sets )&lt;br /&gt;
3. From discussion with Ron Kikinis and Karl Fritscher, going forward must branch the functionality:&lt;br /&gt;
    i. don't compute 'global geometry' in Slicer, must look up neighbors as needed as user is only segmenting a small piece of large mesh&lt;br /&gt;
    ii. allow more geometric information to be returned and stored for statistical analysis and registration of surfaces&lt;br /&gt;
&lt;br /&gt;
4. Curvature overlay in Slicer:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Surface_H_c.png|surface curvature display inside slicer (vtkFloatArray attached to returned vtkPolyData)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5.&lt;br /&gt;
Implemented a helpful re-factor, convert a beefy struct with bunch of global functions to a class with member functions plus non-member non-friend helper functions in anonymous namespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* NEW */&lt;br /&gt;
namespace {&lt;br /&gt;
  TestFunc1( const MeshData&amp;amp; data ) { ... }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class MeshData{&lt;br /&gt;
public:&lt;br /&gt;
functionA( );&lt;br /&gt;
functionB( );&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* OLD */ &lt;br /&gt;
struct MeshData{&lt;br /&gt;
&lt;br /&gt;
member1;&lt;br /&gt;
member2;&lt;br /&gt;
....&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
functionA( MeshData* ) { ... }&lt;br /&gt;
functionB( MeshData* ) { ... }&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Learn about and setup qtcreator, continue development of stand-alone frontend and module there (it blows Eclipse away for C/C++)&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:lsvtk_qtcreator.png|Module development in QT Creator (in Ubuntu Linux 9.10)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt; Some implementation specifics &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Development is much easier now for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. After the reformulation of external interface, the standalone application which can be built easily in windows has virtually identical interface to the module as the Slicer CLI entry point. This allows rapid development in the standalone demo in windows to be copied directly to Slicer in linux. &lt;br /&gt;
&lt;br /&gt;
2. Much improved knowledge of linux development, particularly being able to execute the various scripts for Slicer without doing getbuildtest.tcl; saves time.&lt;br /&gt;
&lt;br /&gt;
The namespace:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
namespace MeshContourEvolver {&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh and 3D points for initialization. This is what you get&lt;br /&gt;
// when inputting 'fiducials' in Slicer GUI. The 3D points&lt;br /&gt;
// are not on the mesh, you need to first find closest points on the mesh.&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt; vector&amp;lt;float&amp;gt; &amp;gt;&amp;amp; initPoints3D );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh only. No initialization of points; either continue&lt;br /&gt;
// evolution of existing curve or only pre-compute geometry!&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The pipeline code; e.g. external interface. Functionality is encapsulated in the vtkPolyDataAlgorithm subclasses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* MeshContourEvolver::entry_main( vtkPolyData* inputMesh, &lt;br /&gt;
    const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices )&lt;br /&gt;
{&lt;br /&gt;
	// instantiate output mesh&lt;br /&gt;
	vtkPolyData* outputMesh = vtkPolyData::New();&lt;br /&gt;
&lt;br /&gt;
	// algorithm #1: initialization of path&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt; initPath = vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt;::New();&lt;br /&gt;
	initPath-&amp;gt;SetInput( inputMesh );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #2: computing the geometry (if the input data &lt;br /&gt;
	// does NOT already have a scalar data set containing it)&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt; computeGeometry = vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt;::New();&lt;br /&gt;
	computeGeometry-&amp;gt;SetInputConnection( initPath-&amp;gt;GetOutputPort() );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #3: run curve evolution and update the scalar dataset for display&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt; evolver = vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt;::New();&lt;br /&gt;
	evolver-&amp;gt;SetInputConnection( computeGeometry-&amp;gt;GetOutputPort() );&lt;br /&gt;
    evolver-&amp;gt;Update();&lt;br /&gt;
&lt;br /&gt;
	// register and return the result of the pipeline of algorithms&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkPolyData&amp;gt; result = evolver-&amp;gt;GetOutput();&lt;br /&gt;
	outputMesh-&amp;gt;DeepCopy( result );&lt;br /&gt;
&lt;br /&gt;
	return outputMesh;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55355</id>
		<title>2010 Summer Project Week SegmentationMeshEmbeddedContours</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55355"/>
		<updated>2010-06-25T14:05:32Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
Image:Surface_H_c.png|Surface curvature display for segmented colon MRI in Slicer&lt;br /&gt;
Image:lsvtk_qtcreator.png|'Extreme Programming' with QT Creator in Ubuntu Linux&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Update&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Setup Slicer4 &amp;quot;superbuild&amp;quot;, verified module consistency therein&lt;br /&gt;
&lt;br /&gt;
2. Signed up for ITK write access as there is some partial overlap and functions in this module perform tasks that ITK doesn't do: &lt;br /&gt;
    i. large neighborhood curvature computation via paraboloid fit&lt;br /&gt;
    ii. unstructured graph sparse field level sets )&lt;br /&gt;
3. From discussion with Ron Kikinis and Karl Fritscher, going forward must branch the functionality:&lt;br /&gt;
    i. don't compute 'global geometry' in Slicer, must look up neighbors as needed as user is only segmenting a small piece of large mesh&lt;br /&gt;
    ii. allow more geometric information to be returned and stored for statistical analysis and registration of surfaces&lt;br /&gt;
&lt;br /&gt;
4. Curvature overlay in Slicer:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Surface_H_c.png|surface curvature display inside slicer (vtkFloatArray attached to returned vtkPolyData)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5.&lt;br /&gt;
Implemented a helpful re-factor, convert a beefy struct with bunch of global functions to a class with member functions plus non-member non-friend helper functions in anonymous namespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* NEW */&lt;br /&gt;
namespace {&lt;br /&gt;
  TestFunc1( const MeshData&amp;amp; data ) { ... }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class MeshData{&lt;br /&gt;
public:&lt;br /&gt;
functionA( );&lt;br /&gt;
functionB( );&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* OLD */ &lt;br /&gt;
struct MeshData{&lt;br /&gt;
&lt;br /&gt;
member1;&lt;br /&gt;
member2;&lt;br /&gt;
....&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
functionA( MeshData* ) { ... }&lt;br /&gt;
functionB( MeshData* ) { ... }&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Learn about and setup qtcreator, continue development of stand-alone frontend and module there (it blows Eclipse away for C/C++)&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:lsvtk_qtcreator.png|Module development in QT Creator (in Ubuntu Linux 9.10)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 37%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. Specifically, it is required to reconcile some concepts in classical differential geometry and embedded curves with the numerical and discrete-space constraints of polygon meshes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our approach for analyzing surface-embedded segmentation is separated into two parts. First, the notion of surface geometry for a polygonal mesh must be suitably defined. To this end, we study numerically stable and robust methods of estimating the geometry of the surface (mean curvature, tangent plane bases, second fundamental form, etc) and that of the segmenting curve. Second, we explore definitions of functionals whose extrema lead to useful geometric flows on the surface. The techniques for these two tasks must always consider the difficulty imposed by data purely in the form of a polygon mesh. This project makes extensive use of the VTK library to simplify data storage, communication, and visualization.&lt;br /&gt;
&lt;br /&gt;
Our plan for the project week is to first come up with the best encapsulation framework for data storage and persistence, making the existing Slicer3 implementation feature-complete. Secondly, we seek to explore reformulation of existing image volume segmentation and mesh generation such that the numerical stability and accuracy of subsequent surface segmentation is taken into consideration. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 60%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
A version of this software exists in Slicer3, with a standalone version being updated to encapsulate the functionality as a vtkPolyDataFilter. It has been experimentally verified to give useful segmentation results for meshes involving bone fractures (separating smooth non-fracture surface from jagged break zone). Some of the robustness issues (mesh connectivity, neighborhood sizes, differentiable basis functions) that have been seen to make a user experience inconsistent have been formulated as mathematical problems, allowing provable algorithm improvements to move forward. &lt;br /&gt;
&lt;br /&gt;
At the moment, the modules documentation and code can be found at the it's relative Slicer Documentation page.[http://www.slicer.org/slicerWiki/index.php/Modules:MeshContourSegmentation-Documentation-3.6]. Using a series of data structures and algorithms outlined below, we calculate the best fit curve that encapsulates all of the users self-chosen fiducial points. Through a series of iterations in our closed-path algorithm, we continuously select vertices that are equidistant from existing path points and add them to our path data structure. By running this algorithm until our path, and therefore segmentation selection, consists of a closed group of points, we can highlight a region with as little as 3 points after enough iterations.  Once the path is closed we can select all of the points inside of it and add them to our selection data structure.&lt;br /&gt;
&lt;br /&gt;
To obtain consistent results we smooth out our 'organic blob' of points through a series of iterations, trying to minimize the total curvature of the closed path. This makes it so that our selection doesn't stop in the middle of say, a ridge or bump, but will encapsulate what the user is most likely trying to segment. &lt;br /&gt;
&lt;br /&gt;
Currently the module is implemented correctly and is fairly robust. We are looking at perhaps adding some extra features and increasing efficiency, especially with larger data sets. Because of the way we calculate the closed path, the larger the desired selection, the calculation required by our algorithm increases exponentially.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Previous Notes:&amp;lt;/h3&amp;gt;&lt;br /&gt;
As part of the restructuring effort, a data structure outline of the internals of the module has been made. It makes obvious some aspects that should be refactored. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:currentform.png|Current Internal Data Structures of Module&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However the internals are functional, so it was decided that the priority is the *external* interface, which should look like a pipeline of vtkPolyDataAlgorithms, as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:structure.png|Pipeline of vtkPolyDataAlgorithm subclasses encapsulating module internals.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result is that the module code SparseFieldLevelSetContour.cxx used to interface with the module goes from including 8 header files and having access to low-level implementation details to including only one header. The included header contains a namespace with non-member non-friend functions with overloaded entry points to the module.&lt;br /&gt;
&lt;br /&gt;
The module pipeline now contains three classes that extend vtkPolyDataAlgorithm. It now makes use of vtkSmartPointer. &lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
Development is much easier now for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. After the reformulation of external interface, the standalone application which can be built easily in windows has virtually identical interface to the module as the Slicer CLI entry point. This allows rapid development in the standalone demo in windows to be copied directly to Slicer in linux. &lt;br /&gt;
&lt;br /&gt;
2. Much improved knowledge of linux development, particularly being able to execute the various scripts for Slicer without doing getbuildtest.tcl; saves time.&lt;br /&gt;
&lt;br /&gt;
The namespace:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
namespace MeshContourEvolver {&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh and 3D points for initialization. This is what you get&lt;br /&gt;
// when inputting 'fiducials' in Slicer GUI. The 3D points&lt;br /&gt;
// are not on the mesh, you need to first find closest points on the mesh.&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt; vector&amp;lt;float&amp;gt; &amp;gt;&amp;amp; initPoints3D );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh only. No initialization of points; either continue&lt;br /&gt;
// evolution of existing curve or only pre-compute geometry!&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The pipeline code; e.g. external interface. Functionality is encapsulated in the vtkPolyDataAlgorithm subclasses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* MeshContourEvolver::entry_main( vtkPolyData* inputMesh, &lt;br /&gt;
    const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices )&lt;br /&gt;
{&lt;br /&gt;
	// instantiate output mesh&lt;br /&gt;
	vtkPolyData* outputMesh = vtkPolyData::New();&lt;br /&gt;
&lt;br /&gt;
	// algorithm #1: initialization of path&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt; initPath = vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt;::New();&lt;br /&gt;
	initPath-&amp;gt;SetInput( inputMesh );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #2: computing the geometry (if the input data &lt;br /&gt;
	// does NOT already have a scalar data set containing it)&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt; computeGeometry = vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt;::New();&lt;br /&gt;
	computeGeometry-&amp;gt;SetInputConnection( initPath-&amp;gt;GetOutputPort() );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #3: run curve evolution and update the scalar dataset for display&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt; evolver = vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt;::New();&lt;br /&gt;
	evolver-&amp;gt;SetInputConnection( computeGeometry-&amp;gt;GetOutputPort() );&lt;br /&gt;
    evolver-&amp;gt;Update();&lt;br /&gt;
&lt;br /&gt;
	// register and return the result of the pipeline of algorithms&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkPolyData&amp;gt; result = evolver-&amp;gt;GetOutput();&lt;br /&gt;
	outputMesh-&amp;gt;DeepCopy( result );&lt;br /&gt;
&lt;br /&gt;
	return outputMesh;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55337</id>
		<title>2010 Summer Project Week SegmentationMeshEmbeddedContours</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55337"/>
		<updated>2010-06-25T13:58:02Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
Image:Surface_H_c.png|Surface curvature display for segmented colon MRI in Slicer&lt;br /&gt;
Image:lsvtk_qtcreator.png|'Extreme Programming' with QT Creator in Ubuntu Linux&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Update&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Setup Slicer4 &amp;quot;superbuild&amp;quot;, verified module consistency therein&lt;br /&gt;
&lt;br /&gt;
2. Signed up for ITK write access as there is some partial overlap and functions in this module perform tasks that ITK doesn't do: &lt;br /&gt;
    i. large neighborhood curvature computation via paraboloid fit&lt;br /&gt;
    ii. unstructured graph sparse field level sets )&lt;br /&gt;
3. From discussion with Ron Kikinis and Karl Fritter, going forward must branch the functionality:&lt;br /&gt;
    i. don't compute 'global geometry' in Slicer, must look up neighbors as needed as user is only segmenting a small piece of large mesh&lt;br /&gt;
    ii. allow more geometric information to be returned and stored for statistical analysis and registration of surfaces&lt;br /&gt;
&lt;br /&gt;
4. Curvature overlay in Slicer:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Surface_H_c.png|surface curvature display inside slicer (vtkFloatArray attached to returned vtkPolyData)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5.&lt;br /&gt;
Implemented a helpful re-factor, convert a beefy struct with bunch of global functions to a class with member functions plus non-member non-friend helper functions in anonymous namespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* NEW */&lt;br /&gt;
namespace {&lt;br /&gt;
  TestFunc1( const MeshData&amp;amp; data ) { ... }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class MeshData{&lt;br /&gt;
public:&lt;br /&gt;
functionA( );&lt;br /&gt;
functionB( );&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* OLD */ &lt;br /&gt;
struct MeshData{&lt;br /&gt;
&lt;br /&gt;
member1;&lt;br /&gt;
member2;&lt;br /&gt;
....&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
functionA( MeshData* ) { ... }&lt;br /&gt;
functionB( MeshData* ) { ... }&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Learn about and setup qtcreator, continue development of stand-alone frontend and module there (it blows Eclipse away for C/C++)&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:lsvtk_qtcreator.png|Module development in QT Creator (in Ubuntu Linux 9.10)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 37%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. Specifically, it is required to reconcile some concepts in classical differential geometry and embedded curves with the numerical and discrete-space constraints of polygon meshes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our approach for analyzing surface-embedded segmentation is separated into two parts. First, the notion of surface geometry for a polygonal mesh must be suitably defined. To this end, we study numerically stable and robust methods of estimating the geometry of the surface (mean curvature, tangent plane bases, second fundamental form, etc) and that of the segmenting curve. Second, we explore definitions of functionals whose extrema lead to useful geometric flows on the surface. The techniques for these two tasks must always consider the difficulty imposed by data purely in the form of a polygon mesh. This project makes extensive use of the VTK library to simplify data storage, communication, and visualization.&lt;br /&gt;
&lt;br /&gt;
Our plan for the project week is to first come up with the best encapsulation framework for data storage and persistence, making the existing Slicer3 implementation feature-complete. Secondly, we seek to explore reformulation of existing image volume segmentation and mesh generation such that the numerical stability and accuracy of subsequent surface segmentation is taken into consideration. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 60%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
A version of this software exists in Slicer3, with a standalone version being updated to encapsulate the functionality as a vtkPolyDataFilter. It has been experimentally verified to give useful segmentation results for meshes involving bone fractures (separating smooth non-fracture surface from jagged break zone). Some of the robustness issues (mesh connectivity, neighborhood sizes, differentiable basis functions) that have been seen to make a user experience inconsistent have been formulated as mathematical problems, allowing provable algorithm improvements to move forward. &lt;br /&gt;
&lt;br /&gt;
At the moment, the modules documentation and code can be found at the it's relative Slicer Documentation page.[http://www.slicer.org/slicerWiki/index.php/Modules:MeshContourSegmentation-Documentation-3.6]. Using a series of data structures and algorithms outlined below, we calculate the best fit curve that encapsulates all of the users self-chosen fiducial points. Through a series of iterations in our closed-path algorithm, we continuously select vertices that are equidistant from existing path points and add them to our path data structure. By running this algorithm until our path, and therefore segmentation selection, consists of a closed group of points, we can highlight a region with as little as 3 points after enough iterations.  Once the path is closed we can select all of the points inside of it and add them to our selection data structure.&lt;br /&gt;
&lt;br /&gt;
To obtain consistent results we smooth out our 'organic blob' of points through a series of iterations, trying to minimize the total curvature of the closed path. This makes it so that our selection doesn't stop in the middle of say, a ridge or bump, but will encapsulate what the user is most likely trying to segment. &lt;br /&gt;
&lt;br /&gt;
Currently the module is implemented correctly and is fairly robust. We are looking at perhaps adding some extra features and increasing efficiency, especially with larger data sets. Because of the way we calculate the closed path, the larger the desired selection, the calculation required by our algorithm increases exponentially.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Previous Notes:&amp;lt;/h3&amp;gt;&lt;br /&gt;
As part of the restructuring effort, a data structure outline of the internals of the module has been made. It makes obvious some aspects that should be refactored. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:currentform.png|Current Internal Data Structures of Module&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However the internals are functional, so it was decided that the priority is the *external* interface, which should look like a pipeline of vtkPolyDataAlgorithms, as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:structure.png|Pipeline of vtkPolyDataAlgorithm subclasses encapsulating module internals.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result is that the module code SparseFieldLevelSetContour.cxx used to interface with the module goes from including 8 header files and having access to low-level implementation details to including only one header. The included header contains a namespace with non-member non-friend functions with overloaded entry points to the module.&lt;br /&gt;
&lt;br /&gt;
The module pipeline now contains three classes that extend vtkPolyDataAlgorithm. It now makes use of vtkSmartPointer. &lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
Development is much easier now for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. After the reformulation of external interface, the standalone application which can be built easily in windows has virtually identical interface to the module as the Slicer CLI entry point. This allows rapid development in the standalone demo in windows to be copied directly to Slicer in linux. &lt;br /&gt;
&lt;br /&gt;
2. Much improved knowledge of linux development, particularly being able to execute the various scripts for Slicer without doing getbuildtest.tcl; saves time.&lt;br /&gt;
&lt;br /&gt;
The namespace:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
namespace MeshContourEvolver {&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh and 3D points for initialization. This is what you get&lt;br /&gt;
// when inputting 'fiducials' in Slicer GUI. The 3D points&lt;br /&gt;
// are not on the mesh, you need to first find closest points on the mesh.&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt; vector&amp;lt;float&amp;gt; &amp;gt;&amp;amp; initPoints3D );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh only. No initialization of points; either continue&lt;br /&gt;
// evolution of existing curve or only pre-compute geometry!&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The pipeline code; e.g. external interface. Functionality is encapsulated in the vtkPolyDataAlgorithm subclasses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* MeshContourEvolver::entry_main( vtkPolyData* inputMesh, &lt;br /&gt;
    const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices )&lt;br /&gt;
{&lt;br /&gt;
	// instantiate output mesh&lt;br /&gt;
	vtkPolyData* outputMesh = vtkPolyData::New();&lt;br /&gt;
&lt;br /&gt;
	// algorithm #1: initialization of path&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt; initPath = vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt;::New();&lt;br /&gt;
	initPath-&amp;gt;SetInput( inputMesh );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #2: computing the geometry (if the input data &lt;br /&gt;
	// does NOT already have a scalar data set containing it)&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt; computeGeometry = vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt;::New();&lt;br /&gt;
	computeGeometry-&amp;gt;SetInputConnection( initPath-&amp;gt;GetOutputPort() );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #3: run curve evolution and update the scalar dataset for display&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt; evolver = vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt;::New();&lt;br /&gt;
	evolver-&amp;gt;SetInputConnection( computeGeometry-&amp;gt;GetOutputPort() );&lt;br /&gt;
    evolver-&amp;gt;Update();&lt;br /&gt;
&lt;br /&gt;
	// register and return the result of the pipeline of algorithms&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkPolyData&amp;gt; result = evolver-&amp;gt;GetOutput();&lt;br /&gt;
	outputMesh-&amp;gt;DeepCopy( result );&lt;br /&gt;
&lt;br /&gt;
	return outputMesh;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55268</id>
		<title>2010 Summer Project Week SegmentationMeshEmbeddedContours</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55268"/>
		<updated>2010-06-25T13:37:35Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Update&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Setup Slicer4 &amp;quot;superbuild&amp;quot;, verified module consistency therein&lt;br /&gt;
&lt;br /&gt;
2. Signed up for ITK write access as there is some partial overlap and functions in this module perform tasks that ITK doesn't do: &lt;br /&gt;
    i. large neighborhood curvature computation via paraboloid fit&lt;br /&gt;
    ii. unstructured graph sparse field level sets )&lt;br /&gt;
3. From discussion with Ron Kikinis and Karl Fritter, going forward must branch the functionality:&lt;br /&gt;
    i. don't compute 'global geometry' in Slicer, must look up neighbors as needed as user is only segmenting a small piece of large mesh&lt;br /&gt;
    ii. allow more geometric information to be returned and stored for statistical analysis and registration of surfaces&lt;br /&gt;
&lt;br /&gt;
4. Curvature overlay in Slicer:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Surface_H_c.png|surface curvature display inside slicer (vtkFloatArray attached to returned vtkPolyData)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5.&lt;br /&gt;
Implemented a helpful re-factor, convert a beefy struct with bunch of global functions to a class with member functions plus non-member non-friend helper functions in anonymous namespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* NEW */&lt;br /&gt;
namespace {&lt;br /&gt;
  TestFunc1( const MeshData&amp;amp; data ) { ... }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class MeshData{&lt;br /&gt;
public:&lt;br /&gt;
functionA( );&lt;br /&gt;
functionB( );&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* OLD */ &lt;br /&gt;
struct MeshData{&lt;br /&gt;
&lt;br /&gt;
member1;&lt;br /&gt;
member2;&lt;br /&gt;
....&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
functionA( MeshData* ) { ... }&lt;br /&gt;
functionB( MeshData* ) { ... }&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Learn about and setup qtcreator, continue development of stand-alone frontend and module there (it blows Eclipse away for C/C++)&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:lsvtk_qtcreator.png|Module development in QT Creator (in Ubuntu Linux 9.10)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 37%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. Specifically, it is required to reconcile some concepts in classical differential geometry and embedded curves with the numerical and discrete-space constraints of polygon meshes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our approach for analyzing surface-embedded segmentation is separated into two parts. First, the notion of surface geometry for a polygonal mesh must be suitably defined. To this end, we study numerically stable and robust methods of estimating the geometry of the surface (mean curvature, tangent plane bases, second fundamental form, etc) and that of the segmenting curve. Second, we explore definitions of functionals whose extrema lead to useful geometric flows on the surface. The techniques for these two tasks must always consider the difficulty imposed by data purely in the form of a polygon mesh. This project makes extensive use of the VTK library to simplify data storage, communication, and visualization.&lt;br /&gt;
&lt;br /&gt;
Our plan for the project week is to first come up with the best encapsulation framework for data storage and persistence, making the existing Slicer3 implementation feature-complete. Secondly, we seek to explore reformulation of existing image volume segmentation and mesh generation such that the numerical stability and accuracy of subsequent surface segmentation is taken into consideration. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 60%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
A version of this software exists in Slicer3, with a standalone version being updated to encapsulate the functionality as a vtkPolyDataFilter. It has been experimentally verified to give useful segmentation results for meshes involving bone fractures (separating smooth non-fracture surface from jagged break zone). Some of the robustness issues (mesh connectivity, neighborhood sizes, differentiable basis functions) that have been seen to make a user experience inconsistent have been formulated as mathematical problems, allowing provable algorithm improvements to move forward. &lt;br /&gt;
&lt;br /&gt;
At the moment, the modules documentation and code can be found at the it's relative Slicer Documentation page.[http://www.slicer.org/slicerWiki/index.php/Modules:MeshContourSegmentation-Documentation-3.6]. Using a series of data structures and algorithms outlined below, we calculate the best fit curve that encapsulates all of the users self-chosen fiducial points. Through a series of iterations in our closed-path algorithm, we continuously select vertices that are equidistant from existing path points and add them to our path data structure. By running this algorithm until our path, and therefore segmentation selection, consists of a closed group of points, we can highlight a region with as little as 3 points after enough iterations.  Once the path is closed we can select all of the points inside of it and add them to our selection data structure.&lt;br /&gt;
&lt;br /&gt;
To obtain consistent results we smooth out our 'organic blob' of points through a series of iterations, trying to minimize the total curvature of the closed path. This makes it so that our selection doesn't stop in the middle of say, a ridge or bump, but will encapsulate what the user is most likely trying to segment. &lt;br /&gt;
&lt;br /&gt;
Currently the module is implemented correctly and is fairly robust. We are looking at perhaps adding some extra features and increasing efficiency, especially with larger data sets. Because of the way we calculate the closed path, the larger the desired selection, the calculation required by our algorithm increases exponentially.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Previous Notes:&amp;lt;/h3&amp;gt;&lt;br /&gt;
As part of the restructuring effort, a data structure outline of the internals of the module has been made. It makes obvious some aspects that should be refactored. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:currentform.png|Current Internal Data Structures of Module&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However the internals are functional, so it was decided that the priority is the *external* interface, which should look like a pipeline of vtkPolyDataAlgorithms, as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:structure.png|Pipeline of vtkPolyDataAlgorithm subclasses encapsulating module internals.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result is that the module code SparseFieldLevelSetContour.cxx used to interface with the module goes from including 8 header files and having access to low-level implementation details to including only one header. The included header contains a namespace with non-member non-friend functions with overloaded entry points to the module.&lt;br /&gt;
&lt;br /&gt;
The module pipeline now contains three classes that extend vtkPolyDataAlgorithm. It now makes use of vtkSmartPointer. &lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
Development is much easier now for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. After the reformulation of external interface, the standalone application which can be built easily in windows has virtually identical interface to the module as the Slicer CLI entry point. This allows rapid development in the standalone demo in windows to be copied directly to Slicer in linux. &lt;br /&gt;
&lt;br /&gt;
2. Much improved knowledge of linux development, particularly being able to execute the various scripts for Slicer without doing getbuildtest.tcl; saves time.&lt;br /&gt;
&lt;br /&gt;
The namespace:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
namespace MeshContourEvolver {&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh and 3D points for initialization. This is what you get&lt;br /&gt;
// when inputting 'fiducials' in Slicer GUI. The 3D points&lt;br /&gt;
// are not on the mesh, you need to first find closest points on the mesh.&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt; vector&amp;lt;float&amp;gt; &amp;gt;&amp;amp; initPoints3D );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh only. No initialization of points; either continue&lt;br /&gt;
// evolution of existing curve or only pre-compute geometry!&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The pipeline code; e.g. external interface. Functionality is encapsulated in the vtkPolyDataAlgorithm subclasses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* MeshContourEvolver::entry_main( vtkPolyData* inputMesh, &lt;br /&gt;
    const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices )&lt;br /&gt;
{&lt;br /&gt;
	// instantiate output mesh&lt;br /&gt;
	vtkPolyData* outputMesh = vtkPolyData::New();&lt;br /&gt;
&lt;br /&gt;
	// algorithm #1: initialization of path&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt; initPath = vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt;::New();&lt;br /&gt;
	initPath-&amp;gt;SetInput( inputMesh );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #2: computing the geometry (if the input data &lt;br /&gt;
	// does NOT already have a scalar data set containing it)&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt; computeGeometry = vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt;::New();&lt;br /&gt;
	computeGeometry-&amp;gt;SetInputConnection( initPath-&amp;gt;GetOutputPort() );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #3: run curve evolution and update the scalar dataset for display&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt; evolver = vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt;::New();&lt;br /&gt;
	evolver-&amp;gt;SetInputConnection( computeGeometry-&amp;gt;GetOutputPort() );&lt;br /&gt;
    evolver-&amp;gt;Update();&lt;br /&gt;
&lt;br /&gt;
	// register and return the result of the pipeline of algorithms&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkPolyData&amp;gt; result = evolver-&amp;gt;GetOutput();&lt;br /&gt;
	outputMesh-&amp;gt;DeepCopy( result );&lt;br /&gt;
&lt;br /&gt;
	return outputMesh;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55234</id>
		<title>2010 Summer Project Week SegmentationMeshEmbeddedContours</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55234"/>
		<updated>2010-06-25T13:17:21Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Update&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Setup Slicer4 &amp;quot;superbuild&amp;quot;, verified module consistency therein&lt;br /&gt;
&lt;br /&gt;
2. Signed up for ITK write access as there is some partial overlap and functions in this module perform tasks that ITK doesn't do: &lt;br /&gt;
    i. large neighborhood curvature computation via paraboloid fit&lt;br /&gt;
    ii. unstructured graph sparse field level sets )&lt;br /&gt;
3. &lt;br /&gt;
&lt;br /&gt;
4. Curvature overlay in Slicer:&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Surface_H_c.png|surface curvature display inside slicer (vtkFloatArray attached to returned vtkPolyData)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5.&lt;br /&gt;
Implemented a helpful re-factor, convert a beefy struct with bunch of global functions to a class with member functions plus non-member non-friend helper functions in anonymous namespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* NEW */&lt;br /&gt;
namespace {&lt;br /&gt;
  TestFunc1( const MeshData&amp;amp; data ) { ... }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class MeshData{&lt;br /&gt;
public:&lt;br /&gt;
functionA( );&lt;br /&gt;
functionB( );&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* OLD */ &lt;br /&gt;
struct MeshData{&lt;br /&gt;
&lt;br /&gt;
member1;&lt;br /&gt;
member2;&lt;br /&gt;
....&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
functionA( MeshData* ) { ... }&lt;br /&gt;
functionB( MeshData* ) { ... }&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Learn about and setup qtcreator, continue development of stand-alone frontend and module there (it blows Eclipse away for C/C++)&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:lsvtk_qtcreator.png|Module development in QT Creator (in Ubuntu Linux 9.10)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 37%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. Specifically, it is required to reconcile some concepts in classical differential geometry and embedded curves with the numerical and discrete-space constraints of polygon meshes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our approach for analyzing surface-embedded segmentation is separated into two parts. First, the notion of surface geometry for a polygonal mesh must be suitably defined. To this end, we study numerically stable and robust methods of estimating the geometry of the surface (mean curvature, tangent plane bases, second fundamental form, etc) and that of the segmenting curve. Second, we explore definitions of functionals whose extrema lead to useful geometric flows on the surface. The techniques for these two tasks must always consider the difficulty imposed by data purely in the form of a polygon mesh. This project makes extensive use of the VTK library to simplify data storage, communication, and visualization.&lt;br /&gt;
&lt;br /&gt;
Our plan for the project week is to first come up with the best encapsulation framework for data storage and persistence, making the existing Slicer3 implementation feature-complete. Secondly, we seek to explore reformulation of existing image volume segmentation and mesh generation such that the numerical stability and accuracy of subsequent surface segmentation is taken into consideration. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 60%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
A version of this software exists in Slicer3, with a standalone version being updated to encapsulate the functionality as a vtkPolyDataFilter. It has been experimentally verified to give useful segmentation results for meshes involving bone fractures (separating smooth non-fracture surface from jagged break zone). Some of the robustness issues (mesh connectivity, neighborhood sizes, differentiable basis functions) that have been seen to make a user experience inconsistent have been formulated as mathematical problems, allowing provable algorithm improvements to move forward. &lt;br /&gt;
&lt;br /&gt;
At the moment, the modules documentation and code can be found at the it's relative Slicer Documentation page.[http://www.slicer.org/slicerWiki/index.php/Modules:MeshContourSegmentation-Documentation-3.6]. Using a series of data structures and algorithms outlined below, we calculate the best fit curve that encapsulates all of the users self-chosen fiducial points. Through a series of iterations in our closed-path algorithm, we continuously select vertices that are equidistant from existing path points and add them to our path data structure. By running this algorithm until our path, and therefore segmentation selection, consists of a closed group of points, we can highlight a region with as little as 3 points after enough iterations.  Once the path is closed we can select all of the points inside of it and add them to our selection data structure.&lt;br /&gt;
&lt;br /&gt;
To obtain consistent results we smooth out our 'organic blob' of points through a series of iterations, trying to minimize the total curvature of the closed path. This makes it so that our selection doesn't stop in the middle of say, a ridge or bump, but will encapsulate what the user is most likely trying to segment. &lt;br /&gt;
&lt;br /&gt;
Currently the module is implemented correctly and is fairly robust. We are looking at perhaps adding some extra features and increasing efficiency, especially with larger data sets. Because of the way we calculate the closed path, the larger the desired selection, the calculation required by our algorithm increases exponentially.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Previous Notes:&amp;lt;/h3&amp;gt;&lt;br /&gt;
As part of the restructuring effort, a data structure outline of the internals of the module has been made. It makes obvious some aspects that should be refactored. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:currentform.png|Current Internal Data Structures of Module&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However the internals are functional, so it was decided that the priority is the *external* interface, which should look like a pipeline of vtkPolyDataAlgorithms, as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:structure.png|Pipeline of vtkPolyDataAlgorithm subclasses encapsulating module internals.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result is that the module code SparseFieldLevelSetContour.cxx used to interface with the module goes from including 8 header files and having access to low-level implementation details to including only one header. The included header contains a namespace with non-member non-friend functions with overloaded entry points to the module.&lt;br /&gt;
&lt;br /&gt;
The module pipeline now contains three classes that extend vtkPolyDataAlgorithm. It now makes use of vtkSmartPointer. &lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
Development is much easier now for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. After the reformulation of external interface, the standalone application which can be built easily in windows has virtually identical interface to the module as the Slicer CLI entry point. This allows rapid development in the standalone demo in windows to be copied directly to Slicer in linux. &lt;br /&gt;
&lt;br /&gt;
2. Much improved knowledge of linux development, particularly being able to execute the various scripts for Slicer without doing getbuildtest.tcl; saves time.&lt;br /&gt;
&lt;br /&gt;
The namespace:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
namespace MeshContourEvolver {&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh and 3D points for initialization. This is what you get&lt;br /&gt;
// when inputting 'fiducials' in Slicer GUI. The 3D points&lt;br /&gt;
// are not on the mesh, you need to first find closest points on the mesh.&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt; vector&amp;lt;float&amp;gt; &amp;gt;&amp;amp; initPoints3D );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh only. No initialization of points; either continue&lt;br /&gt;
// evolution of existing curve or only pre-compute geometry!&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The pipeline code; e.g. external interface. Functionality is encapsulated in the vtkPolyDataAlgorithm subclasses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* MeshContourEvolver::entry_main( vtkPolyData* inputMesh, &lt;br /&gt;
    const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices )&lt;br /&gt;
{&lt;br /&gt;
	// instantiate output mesh&lt;br /&gt;
	vtkPolyData* outputMesh = vtkPolyData::New();&lt;br /&gt;
&lt;br /&gt;
	// algorithm #1: initialization of path&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt; initPath = vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt;::New();&lt;br /&gt;
	initPath-&amp;gt;SetInput( inputMesh );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #2: computing the geometry (if the input data &lt;br /&gt;
	// does NOT already have a scalar data set containing it)&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt; computeGeometry = vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt;::New();&lt;br /&gt;
	computeGeometry-&amp;gt;SetInputConnection( initPath-&amp;gt;GetOutputPort() );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #3: run curve evolution and update the scalar dataset for display&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt; evolver = vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt;::New();&lt;br /&gt;
	evolver-&amp;gt;SetInputConnection( computeGeometry-&amp;gt;GetOutputPort() );&lt;br /&gt;
    evolver-&amp;gt;Update();&lt;br /&gt;
&lt;br /&gt;
	// register and return the result of the pipeline of algorithms&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkPolyData&amp;gt; result = evolver-&amp;gt;GetOutput();&lt;br /&gt;
	outputMesh-&amp;gt;DeepCopy( result );&lt;br /&gt;
&lt;br /&gt;
	return outputMesh;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:Lsvtk_qtcreator.png&amp;diff=55224</id>
		<title>File:Lsvtk qtcreator.png</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:Lsvtk_qtcreator.png&amp;diff=55224"/>
		<updated>2010-06-25T13:05:01Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: standalone app in qt creator&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;standalone app in qt creator&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=File:Surface_H_c.png&amp;diff=55222</id>
		<title>File:Surface H c.png</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=File:Surface_H_c.png&amp;diff=55222"/>
		<updated>2010-06-25T13:01:17Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: mean curvature colormap for segmented colon (3D segmentation with Yi Gao's segmentor)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mean curvature colormap for segmented colon (3D segmentation with Yi Gao's segmentor)&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55221</id>
		<title>2010 Summer Project Week SegmentationMeshEmbeddedContours</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=55221"/>
		<updated>2010-06-25T12:58:58Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Update&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Implemented a helpful re-factor, convert a beefy struct with bunch of global functions to a class with member functions plus non-member non-friend helper functions in anonymous namespace&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* NEW */&lt;br /&gt;
namespace {&lt;br /&gt;
  TestFunc1( const MeshData&amp;amp; data ) { ... }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class MeshData{&lt;br /&gt;
public:&lt;br /&gt;
functionA( );&lt;br /&gt;
functionB( );&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* OLD */ &lt;br /&gt;
struct MeshData{&lt;br /&gt;
&lt;br /&gt;
member1;&lt;br /&gt;
member2;&lt;br /&gt;
....&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
functionA( MeshData* ) { ... }&lt;br /&gt;
functionB( MeshData* ) { ... }&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 37%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. Specifically, it is required to reconcile some concepts in classical differential geometry and embedded curves with the numerical and discrete-space constraints of polygon meshes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our approach for analyzing surface-embedded segmentation is separated into two parts. First, the notion of surface geometry for a polygonal mesh must be suitably defined. To this end, we study numerically stable and robust methods of estimating the geometry of the surface (mean curvature, tangent plane bases, second fundamental form, etc) and that of the segmenting curve. Second, we explore definitions of functionals whose extrema lead to useful geometric flows on the surface. The techniques for these two tasks must always consider the difficulty imposed by data purely in the form of a polygon mesh. This project makes extensive use of the VTK library to simplify data storage, communication, and visualization.&lt;br /&gt;
&lt;br /&gt;
Our plan for the project week is to first come up with the best encapsulation framework for data storage and persistence, making the existing Slicer3 implementation feature-complete. Secondly, we seek to explore reformulation of existing image volume segmentation and mesh generation such that the numerical stability and accuracy of subsequent surface segmentation is taken into consideration. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 60%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
A version of this software exists in Slicer3, with a standalone version being updated to encapsulate the functionality as a vtkPolyDataFilter. It has been experimentally verified to give useful segmentation results for meshes involving bone fractures (separating smooth non-fracture surface from jagged break zone). Some of the robustness issues (mesh connectivity, neighborhood sizes, differentiable basis functions) that have been seen to make a user experience inconsistent have been formulated as mathematical problems, allowing provable algorithm improvements to move forward. &lt;br /&gt;
&lt;br /&gt;
At the moment, the modules documentation and code can be found at the it's relative Slicer Documentation page.[http://www.slicer.org/slicerWiki/index.php/Modules:MeshContourSegmentation-Documentation-3.6]. Using a series of data structures and algorithms outlined below, we calculate the best fit curve that encapsulates all of the users self-chosen fiducial points. Through a series of iterations in our closed-path algorithm, we continuously select vertices that are equidistant from existing path points and add them to our path data structure. By running this algorithm until our path, and therefore segmentation selection, consists of a closed group of points, we can highlight a region with as little as 3 points after enough iterations.  Once the path is closed we can select all of the points inside of it and add them to our selection data structure.&lt;br /&gt;
&lt;br /&gt;
To obtain consistent results we smooth out our 'organic blob' of points through a series of iterations, trying to minimize the total curvature of the closed path. This makes it so that our selection doesn't stop in the middle of say, a ridge or bump, but will encapsulate what the user is most likely trying to segment. &lt;br /&gt;
&lt;br /&gt;
Currently the module is implemented correctly and is fairly robust. We are looking at perhaps adding some extra features and increasing efficiency, especially with larger data sets. Because of the way we calculate the closed path, the larger the desired selection, the calculation required by our algorithm increases exponentially.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Previous Notes:&amp;lt;/h3&amp;gt;&lt;br /&gt;
As part of the restructuring effort, a data structure outline of the internals of the module has been made. It makes obvious some aspects that should be refactored. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:currentform.png|Current Internal Data Structures of Module&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However the internals are functional, so it was decided that the priority is the *external* interface, which should look like a pipeline of vtkPolyDataAlgorithms, as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:structure.png|Pipeline of vtkPolyDataAlgorithm subclasses encapsulating module internals.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result is that the module code SparseFieldLevelSetContour.cxx used to interface with the module goes from including 8 header files and having access to low-level implementation details to including only one header. The included header contains a namespace with non-member non-friend functions with overloaded entry points to the module.&lt;br /&gt;
&lt;br /&gt;
The module pipeline now contains three classes that extend vtkPolyDataAlgorithm. It now makes use of vtkSmartPointer. &lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
Development is much easier now for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. After the reformulation of external interface, the standalone application which can be built easily in windows has virtually identical interface to the module as the Slicer CLI entry point. This allows rapid development in the standalone demo in windows to be copied directly to Slicer in linux. &lt;br /&gt;
&lt;br /&gt;
2. Much improved knowledge of linux development, particularly being able to execute the various scripts for Slicer without doing getbuildtest.tcl; saves time.&lt;br /&gt;
&lt;br /&gt;
The namespace:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
namespace MeshContourEvolver {&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh and 3D points for initialization. This is what you get&lt;br /&gt;
// when inputting 'fiducials' in Slicer GUI. The 3D points&lt;br /&gt;
// are not on the mesh, you need to first find closest points on the mesh.&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt; vector&amp;lt;float&amp;gt; &amp;gt;&amp;amp; initPoints3D );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh only. No initialization of points; either continue&lt;br /&gt;
// evolution of existing curve or only pre-compute geometry!&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The pipeline code; e.g. external interface. Functionality is encapsulated in the vtkPolyDataAlgorithm subclasses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* MeshContourEvolver::entry_main( vtkPolyData* inputMesh, &lt;br /&gt;
    const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices )&lt;br /&gt;
{&lt;br /&gt;
	// instantiate output mesh&lt;br /&gt;
	vtkPolyData* outputMesh = vtkPolyData::New();&lt;br /&gt;
&lt;br /&gt;
	// algorithm #1: initialization of path&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt; initPath = vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt;::New();&lt;br /&gt;
	initPath-&amp;gt;SetInput( inputMesh );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #2: computing the geometry (if the input data &lt;br /&gt;
	// does NOT already have a scalar data set containing it)&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt; computeGeometry = vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt;::New();&lt;br /&gt;
	computeGeometry-&amp;gt;SetInputConnection( initPath-&amp;gt;GetOutputPort() );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #3: run curve evolution and update the scalar dataset for display&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt; evolver = vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt;::New();&lt;br /&gt;
	evolver-&amp;gt;SetInputConnection( computeGeometry-&amp;gt;GetOutputPort() );&lt;br /&gt;
    evolver-&amp;gt;Update();&lt;br /&gt;
&lt;br /&gt;
	// register and return the result of the pipeline of algorithms&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkPolyData&amp;gt; result = evolver-&amp;gt;GetOutput();&lt;br /&gt;
	outputMesh-&amp;gt;DeepCopy( result );&lt;br /&gt;
&lt;br /&gt;
	return outputMesh;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=53348</id>
		<title>2010 Summer Project Week SegmentationMeshEmbeddedContours</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=53348"/>
		<updated>2010-06-05T18:56:04Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: /* Key Investigators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 37%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. Specifically, it is required to reconcile some concepts in classical differential geometry and embedded curves with the numerical and discrete-space constraints of polygon meshes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our approach for analyzing surface-embedded segmentation is separated into two parts. First, the notion of surface geometry for a polygonal mesh must be suitably defined. To this end, we study numerically stable and robust methods of estimating the geometry of the surface (mean curvature, tangent plane bases, second fundamental form, etc) and that of the segmenting curve. Second, we explore definitions of functionals whose extrema lead to useful geometric flows on the surface. The techniques for these two tasks must always consider the difficulty imposed by data purely in the form of a polygon mesh. This project makes extensive use of the VTK library to simplify data storage, communication, and visualization.&lt;br /&gt;
&lt;br /&gt;
Our plan for the project week is to first come up with the best encapsulation framework for data storage and persistence, making the existing Slicer3 implementation feature-complete. Secondly, we seek to explore reformulation of existing image volume segmentation and mesh generation such that the numerical stability and accuracy of subsequent surface segmentation is taken into consideration. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 60%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
A version of this software exists in Slicer3, with a standalone version being updated to encapsulate the functionality as a vtkPolyDataFilter. It has been experimentally verified to give useful segmentation results for meshes involving bone fractures (separating smooth non-fracture surface from jagged break zone). Some of the robustness issues (mesh connectivity, neighborhood sizes, differentiable basis functions) that have been seen to make a user experience inconsistent have been formulated as mathematical problems, allowing provable algorithm improvements to move forward. &lt;br /&gt;
&lt;br /&gt;
At the moment, the modules documentation and code can be found at the it's relative Slicer Documentation page.[http://www.slicer.org/slicerWiki/index.php/Modules:MeshContourSegmentation-Documentation-3.6]. Using a series of data structures and algorithms outlined below, we calculate the best fit curve that encapsulates all of the users self-chosen fiducial points. Through a series of iterations in our closed-path algorithm, we continuously select vertices that are equidistant from existing path points and add them to our path data structure. By running this algorithm until our path, and therefore segmentation selection, consists of a closed group of points, we can highlight a region with as little as 3 points after enough iterations.  Once the path is closed we can select all of the points inside of it and add them to our selection data structure.&lt;br /&gt;
&lt;br /&gt;
To obtain consistent results we smooth out our 'organic blob' of points through a series of iterations, trying to minimize the total curvature of the closed path. This makes it so that our selection doesn't stop in the middle of say, a ridge or bump, but will encapsulate what the user is most likely trying to segment. &lt;br /&gt;
&lt;br /&gt;
Currently the module is implemented correctly and is fairly robust. We are looking at perhaps adding some extra features and increasing efficiency, especially with larger data sets. Because of the way we calculate the closed path, the larger the desired selection, the calculation required by our algorithm increases exponentially.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Previous Notes:&amp;lt;/h3&amp;gt;&lt;br /&gt;
As part of the restructuring effort, a data structure outline of the internals of the module has been made. It makes obvious some aspects that should be refactored. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:currentform.png|Current Internal Data Structures of Module&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However the internals are functional, so it was decided that the priority is the *external* interface, which should look like a pipeline of vtkPolyDataAlgorithms, as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:structure.png|Pipeline of vtkPolyDataAlgorithm subclasses encapsulating module internals.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result is that the module code SparseFieldLevelSetContour.cxx used to interface with the module goes from including 8 header files and having access to low-level implementation details to including only one header. The included header contains a namespace with non-member non-friend functions with overloaded entry points to the module.&lt;br /&gt;
&lt;br /&gt;
The module pipeline now contains three classes that extend vtkPolyDataAlgorithm. It now makes use of vtkSmartPointer. &lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
Development is much easier now for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. After the reformulation of external interface, the standalone application which can be built easily in windows has virtually identical interface to the module as the Slicer CLI entry point. This allows rapid development in the standalone demo in windows to be copied directly to Slicer in linux. &lt;br /&gt;
&lt;br /&gt;
2. Much improved knowledge of linux development, particularly being able to execute the various scripts for Slicer without doing getbuildtest.tcl; saves time.&lt;br /&gt;
&lt;br /&gt;
The namespace:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
namespace MeshContourEvolver {&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh and 3D points for initialization. This is what you get&lt;br /&gt;
// when inputting 'fiducials' in Slicer GUI. The 3D points&lt;br /&gt;
// are not on the mesh, you need to first find closest points on the mesh.&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt; vector&amp;lt;float&amp;gt; &amp;gt;&amp;amp; initPoints3D );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh only. No initialization of points; either continue&lt;br /&gt;
// evolution of existing curve or only pre-compute geometry!&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The pipeline code; e.g. external interface. Functionality is encapsulated in the vtkPolyDataAlgorithm subclasses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* MeshContourEvolver::entry_main( vtkPolyData* inputMesh, &lt;br /&gt;
    const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices )&lt;br /&gt;
{&lt;br /&gt;
	// instantiate output mesh&lt;br /&gt;
	vtkPolyData* outputMesh = vtkPolyData::New();&lt;br /&gt;
&lt;br /&gt;
	// algorithm #1: initialization of path&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt; initPath = vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt;::New();&lt;br /&gt;
	initPath-&amp;gt;SetInput( inputMesh );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #2: computing the geometry (if the input data &lt;br /&gt;
	// does NOT already have a scalar data set containing it)&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt; computeGeometry = vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt;::New();&lt;br /&gt;
	computeGeometry-&amp;gt;SetInputConnection( initPath-&amp;gt;GetOutputPort() );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #3: run curve evolution and update the scalar dataset for display&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt; evolver = vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt;::New();&lt;br /&gt;
	evolver-&amp;gt;SetInputConnection( computeGeometry-&amp;gt;GetOutputPort() );&lt;br /&gt;
    evolver-&amp;gt;Update();&lt;br /&gt;
&lt;br /&gt;
	// register and return the result of the pipeline of algorithms&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkPolyData&amp;gt; result = evolver-&amp;gt;GetOutput();&lt;br /&gt;
	outputMesh-&amp;gt;DeepCopy( result );&lt;br /&gt;
&lt;br /&gt;
	return outputMesh;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
	<entry>
		<id>https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=53347</id>
		<title>2010 Summer Project Week SegmentationMeshEmbeddedContours</title>
		<link rel="alternate" type="text/html" href="https://www.na-mic.org/w/index.php?title=2010_Summer_Project_Week_SegmentationMeshEmbeddedContours&amp;diff=53347"/>
		<updated>2010-06-05T18:54:33Z</updated>

		<summary type="html">&lt;p&gt;Pkarasev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:PW-SLC2010.png|[[2010_Summer_Project_Week#Projects|Projects List]]&lt;br /&gt;
Image:BrainH.png|Surface Mean Curvature&lt;br /&gt;
Image:Sulci6_done2.png|Converged Contour Surrounding Region&lt;br /&gt;
Image:Sulci3_init_3.png|Initial Points From User&lt;br /&gt;
Image:bone-end3.png|Segmenting Tibia Fracture via Surface Geometry&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Investigators ==&lt;br /&gt;
* Georgia Tech: Peter Karasev, Karol Chudy, Allen Tannenbaum&lt;br /&gt;
* BWH: Ron Kikinis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 37%; float: left; padding-right: 3%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Objective&amp;lt;/h3&amp;gt;&lt;br /&gt;
We are developing methods for segmentation of surfaces defined by polygonal meshes. In image or volume-slice segmentation, 'information' comes from image intensity, while in mesh surface segmentation the information is purely geometric. The goal of this project is to develop algorithms allowing a user to quickly and robustly segment one or several regions on a surface. Specifically, it is required to reconcile some concepts in classical differential geometry and embedded curves with the numerical and discrete-space constraints of polygon meshes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Approach, Plan&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our approach for analyzing surface-embedded segmentation is separated into two parts. First, the notion of surface geometry for a polygonal mesh must be suitably defined. To this end, we study numerically stable and robust methods of estimating the geometry of the surface (mean curvature, tangent plane bases, second fundamental form, etc) and that of the segmenting curve. Second, we explore definitions of functionals whose extrema lead to useful geometric flows on the surface. The techniques for these two tasks must always consider the difficulty imposed by data purely in the form of a polygon mesh. This project makes extensive use of the VTK library to simplify data storage, communication, and visualization.&lt;br /&gt;
&lt;br /&gt;
Our plan for the project week is to first come up with the best encapsulation framework for data storage and persistence, making the existing Slicer3 implementation feature-complete. Secondly, we seek to explore reformulation of existing image volume segmentation and mesh generation such that the numerical stability and accuracy of subsequent surface segmentation is taken into consideration. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 60%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Progress&amp;lt;/h3&amp;gt;&lt;br /&gt;
A version of this software exists in Slicer3, with a standalone version being updated to encapsulate the functionality as a vtkPolyDataFilter. It has been experimentally verified to give useful segmentation results for meshes involving bone fractures (separating smooth non-fracture surface from jagged break zone). Some of the robustness issues (mesh connectivity, neighborhood sizes, differentiable basis functions) that have been seen to make a user experience inconsistent have been formulated as mathematical problems, allowing provable algorithm improvements to move forward. &lt;br /&gt;
&lt;br /&gt;
At the moment, the modules documentation and code can be found at the [http://www.slicer.org/slicerWiki/index.php/Modules:MeshContourSegmentation-Documentation-3.6]. Using a series of data structures and algorithms outlined below, we calculate the best fit curve that encapsulates all of the users self-chosen fiducial points. Through a series of iterations in our closed-path algorithm, we continuously select vertices that are equidistant from existing path points and add them to our path data structure. By running this algorithm until our path, and therefore segmentation selection, consists of a closed group of points, we can highlight a region with as little as 3 points after enough iterations. &lt;br /&gt;
&lt;br /&gt;
Once the path is closed we can select all of the points inside of it and add them to our selection data structure.&lt;br /&gt;
&lt;br /&gt;
To obtain consistent results we smooth out our 'organic blob' of points through a series of iterations, trying to minimize the total curvature of the closed path. This makes it so that our selection doesn't stop in the middle of say, a ridge or bump, but will encapsulate what the user is most likely trying to segment. &lt;br /&gt;
&lt;br /&gt;
Currently the module is implemented correctly and is fairly robust. We are looking at perhaps adding some extra features and increasing efficiency, especially with larger data sets. Because of the way we calculate the closed path, the larger the desired selection, the calculation required by our algorithm increases exponentially.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Previous Notes:&lt;br /&gt;
As part of the restructuring effort, a data structure outline of the internals of the module has been made. It makes obvious some aspects that should be refactored. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:currentform.png|Current Internal Data Structures of Module&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However the internals are functional, so it was decided that the priority is the *external* interface, which should look like a pipeline of vtkPolyDataAlgorithms, as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:structure.png|Pipeline of vtkPolyDataAlgorithm subclasses encapsulating module internals.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result is that the module code SparseFieldLevelSetContour.cxx used to interface with the module goes from including 8 header files and having access to low-level implementation details to including only one header. The included header contains a namespace with non-member non-friend functions with overloaded entry points to the module.&lt;br /&gt;
&lt;br /&gt;
The module pipeline now contains three classes that extend vtkPolyDataAlgorithm. It now makes use of vtkSmartPointer. &lt;br /&gt;
&lt;br /&gt;
* vtkInitClosedPath : take in poly data and set of fiducial points, create a closed path including the closest points on the mesh to the given fiducials. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkComputeLocalGeometry : take in poly data, compute curvature, its derivatives, and related differential geometric quantities. Uses its own version of curvature computation- vtk versions are not useable because they only consider 1-neighborhood. Searches for pre-existence of geometry information, pass-through if it already exists.&lt;br /&gt;
&lt;br /&gt;
* vtkLevelSetMeshEvolver : take in poly data with a scalar array defining the current region boundaries. Update the boundaries with curve evolution and return poly data with updated scalar array.&lt;br /&gt;
&lt;br /&gt;
Development is much easier now for two reasons:&lt;br /&gt;
&lt;br /&gt;
1. After the reformulation of external interface, the standalone application which can be built easily in windows has virtually identical interface to the module as the Slicer CLI entry point. This allows rapid development in the standalone demo in windows to be copied directly to Slicer in linux. &lt;br /&gt;
&lt;br /&gt;
2. Much improved knowledge of linux development, particularly being able to execute the various scripts for Slicer without doing getbuildtest.tcl; saves time.&lt;br /&gt;
&lt;br /&gt;
The namespace:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
namespace MeshContourEvolver {&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh and 3D points for initialization. This is what you get&lt;br /&gt;
// when inputting 'fiducials' in Slicer GUI. The 3D points&lt;br /&gt;
// are not on the mesh, you need to first find closest points on the mesh.&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh, const vector&amp;lt; vector&amp;lt;float&amp;gt; &amp;gt;&amp;amp; initPoints3D );&lt;br /&gt;
&lt;br /&gt;
// Input: mesh only. No initialization of points; either continue&lt;br /&gt;
// evolution of existing curve or only pre-compute geometry!&lt;br /&gt;
vtkPolyData* entry_main( vtkPolyData* inputMesh );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The pipeline code; e.g. external interface. Functionality is encapsulated in the vtkPolyDataAlgorithm subclasses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Input: mesh and indices of vertices for initialization&lt;br /&gt;
vtkPolyData* MeshContourEvolver::entry_main( vtkPolyData* inputMesh, &lt;br /&gt;
    const vector&amp;lt;int&amp;gt;&amp;amp; initPointVertexIndices )&lt;br /&gt;
{&lt;br /&gt;
	// instantiate output mesh&lt;br /&gt;
	vtkPolyData* outputMesh = vtkPolyData::New();&lt;br /&gt;
&lt;br /&gt;
	// algorithm #1: initialization of path&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt; initPath = vtkSmartPointer&amp;lt;vtkInitClosedPath&amp;gt;::New();&lt;br /&gt;
	initPath-&amp;gt;SetInput( inputMesh );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #2: computing the geometry (if the input data &lt;br /&gt;
	// does NOT already have a scalar data set containing it)&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt; computeGeometry = vtkSmartPointer&amp;lt;vtkComputeLocalGeometry&amp;gt;::New();&lt;br /&gt;
	computeGeometry-&amp;gt;SetInputConnection( initPath-&amp;gt;GetOutputPort() );&lt;br /&gt;
    &lt;br /&gt;
	// algorithm #3: run curve evolution and update the scalar dataset for display&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt; evolver = vtkSmartPointer&amp;lt;vtkLevelSetMeshEvolver&amp;gt;::New();&lt;br /&gt;
	evolver-&amp;gt;SetInputConnection( computeGeometry-&amp;gt;GetOutputPort() );&lt;br /&gt;
    evolver-&amp;gt;Update();&lt;br /&gt;
&lt;br /&gt;
	// register and return the result of the pipeline of algorithms&lt;br /&gt;
	vtkSmartPointer&amp;lt;vtkPolyData&amp;gt; result = evolver-&amp;gt;GetOutput();&lt;br /&gt;
	outputMesh-&amp;gt;DeepCopy( result );&lt;br /&gt;
&lt;br /&gt;
	return outputMesh;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 95%; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
P.A. Karasev, J.G. Malcolm, M. Niethammer, R. Kikinis, A. Tannenbaum. User-Driven 3D Mesh Region Targeting. SPIE Medical Imaging 2010. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pkarasev</name></author>
		
	</entry>
</feed>