Difference between revisions of "User talk:Tamekue"

From NAMIC Wiki
Jump to: navigation, search
m (Welcome!)
 
Line 1: Line 1:
'''Welcome to ''NAMIC''!'''
+
=== Diploma Thesis - Tasks ===
We hope you will contribute much and well.  
+
 
You will probably want to read the [[Help:Contents|help pages]].
+
1. Task
Again, welcome and have fun! [[User:Marianna|Marianna]] 18:21, 16 December 2010 (UTC)
+
* Find out how to use .UI files in Python (Slicer4). <font color=green>DONE</font>
 +
* Result: Shown at http://www.slicer.org/slicerWiki/index.php/Slicer4:Developers:Projects:QtSlicer/Tutorials/PythonAndUIFile
 +
2. Task (until 02/25/11)
 +
* Write expose for diploma thesis, find enough references. Write it first in Microsoft Word, later we have to write the text in LaTeX. <font color=red>OPEN</font>
 +
* Result: ?
 +
3. Task (until 02/24/11)
 +
* Implement a simple program in Python to run through an array (x,y,z,radius), find the points where the radius is < THRESHOLD and save the detected segments in an array. Select a reasonable threshold. This will later help to detect stenosis.
 +
* Result: Loop through array realized. Points with low radius are found but when the radius gets bigger again, the code still thinks the radius is low. <font color=red>OPEN</font>
 +
4. Task (until 02/21/11)
 +
* Look at Slicer4/QTScriptedModules/Scripts/Editor.py and Slicer4/QTScriptedModules/EditorLib to figure out how to split Python module to different files in Slicer4. <font color=red>OPEN</font>
 +
* Result: ?
 +
5. Task (until 03/04/11)
 +
* Modify VMTKCenterlines in Slicer3 to include a button to perform the code of Task 3 on a vtkPolyData object. The centerlines are polyData. Add your new method to the logic class of VMTKCenterlines. This will later be the algorithm to detect stenosis. <font color=red>OPEN</font>
 +
* The following code snippet should help:
 +
<pre>for i in range(polyData.GetNumberOfPoints()):
 +
 
 +
point = polyData.GetPoint(polyData.GetNumberOfPoints() - i - 1)
 +
 
 +
# aktueller punkt ist x: point[0] y: point[1] z: point[2]
 +
 
 +
array = polyData.GetPointData().GetArray("MaximumInscribedSphereRadius")
 +
 +
        # hier der radius
 +
diameter = array[0]
 +
 
 +
        #benutze self._parentClass.GetHelper().debug("x") zur ausgabe
 +
</pre>
 +
6. Task (until 03/04/11)
 +
* A pixel in 2D has always 8 neighbors. Write code in Python to do the following: Create a 2D array (maybe a 16x16 matrix?). Take a random element in the middle of the array and loop in the directions of all 8 neighbors (top, bottom, left, right, diagonal left to top, diagonal left to bottom, diagonal right to top, diagonal right to bottom) until you reach the end of the matrix. If this is finished we can modify it to detect the maximal diameter of a vessel through one click. We will extend it then to 3D. If you want, skip 2D and start directly with 3D (16x16x16 matrix). <font color=red>OPEN</font>
 +
* Result: ?

Revision as of 16:19, 17 February 2011

Home < User talk:Tamekue

Diploma Thesis - Tasks

1. Task

2. Task (until 02/25/11)

  • Write expose for diploma thesis, find enough references. Write it first in Microsoft Word, later we have to write the text in LaTeX. OPEN
  • Result: ?

3. Task (until 02/24/11)

  • Implement a simple program in Python to run through an array (x,y,z,radius), find the points where the radius is < THRESHOLD and save the detected segments in an array. Select a reasonable threshold. This will later help to detect stenosis.
  • Result: Loop through array realized. Points with low radius are found but when the radius gets bigger again, the code still thinks the radius is low. OPEN

4. Task (until 02/21/11)

  • Look at Slicer4/QTScriptedModules/Scripts/Editor.py and Slicer4/QTScriptedModules/EditorLib to figure out how to split Python module to different files in Slicer4. OPEN
  • Result: ?

5. Task (until 03/04/11)

  • Modify VMTKCenterlines in Slicer3 to include a button to perform the code of Task 3 on a vtkPolyData object. The centerlines are polyData. Add your new method to the logic class of VMTKCenterlines. This will later be the algorithm to detect stenosis. OPEN
  • The following code snippet should help:
for i in range(polyData.GetNumberOfPoints()):

	point = polyData.GetPoint(polyData.GetNumberOfPoints() - i - 1)

	# aktueller punkt ist x: point[0] y: point[1] z: point[2]

	array = polyData.GetPointData().GetArray("MaximumInscribedSphereRadius")
	
        # hier der radius
	diameter = array[0]

        #benutze self._parentClass.GetHelper().debug("x") zur ausgabe

6. Task (until 03/04/11)

  • A pixel in 2D has always 8 neighbors. Write code in Python to do the following: Create a 2D array (maybe a 16x16 matrix?). Take a random element in the middle of the array and loop in the directions of all 8 neighbors (top, bottom, left, right, diagonal left to top, diagonal left to bottom, diagonal right to top, diagonal right to bottom) until you reach the end of the matrix. If this is finished we can modify it to detect the maximal diameter of a vessel through one click. We will extend it then to 3D. If you want, skip 2D and start directly with 3D (16x16x16 matrix). OPEN
  • Result: ?