Difference between revisions of "User talk:Tamekue"
From NAMIC Wiki
Line 13: | Line 13: | ||
* 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=green>DONE</font> | * 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=green>DONE</font> | ||
* Result: The module itself is a .py file in QTScriptedModules/Scripts. It is possible to include a directory with other Python Scripts in QTScriptedModules/XXX where XXX is a custom name. Then, in the .py File in Scripts, an import XXX has to be placed. This will call the XXX/__init__.py file and can include other files. | * Result: The module itself is a .py file in QTScriptedModules/Scripts. It is possible to include a directory with other Python Scripts in QTScriptedModules/XXX where XXX is a custom name. Then, in the .py File in Scripts, an import XXX has to be placed. This will call the XXX/__init__.py file and can include other files. | ||
− | 5. Task | + | 5. Task |
− | * Modify VMTKCenterlines in Slicer3 to include a button to perform the code of Task 3 on a vtkPolyData object. The centerlines are polyData. Add the new method to the logic class of VMTKCenterlines. This will be the algorithm to detect stenosis. <font color= | + | * Modify VMTKCenterlines in Slicer3 to include a button to perform the code of Task 3 on a vtkPolyData object. The centerlines are polyData. Add the new method to the logic class of VMTKCenterlines. This will be the algorithm to detect stenosis. <font color=green>DONE</font> |
− | 6. Task (until 03/ | + | 6. Task (until 03/16/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> | * 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: | * Result: |
Revision as of 16:31, 10 March 2011
Home < User talk:TamekueDiploma Thesis - Tasks
1. Task
- Find out how to use .UI files in Python (Slicer4). DONE
- Result: Shown at http://www.slicer.org/slicerWiki/index.php/Slicer4:Developers:Projects:QtSlicer/Tutorials/PythonAndUIFile
2. Task (until 03/11/11)
- Write expose for diploma thesis, find enough references. 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 help to detect stenosis.
- Result: Loop through array realized. Stenosis are now found when radius is below a hard-coded threshold and put into a container DONE
4. Task
- Look at Slicer4/QTScriptedModules/Scripts/Editor.py and Slicer4/QTScriptedModules/EditorLib to figure out how to split Python module to different files in Slicer4. DONE
- Result: The module itself is a .py file in QTScriptedModules/Scripts. It is possible to include a directory with other Python Scripts in QTScriptedModules/XXX where XXX is a custom name. Then, in the .py File in Scripts, an import XXX has to be placed. This will call the XXX/__init__.py file and can include other files.
5. Task
- Modify VMTKCenterlines in Slicer3 to include a button to perform the code of Task 3 on a vtkPolyData object. The centerlines are polyData. Add the new method to the logic class of VMTKCenterlines. This will be the algorithm to detect stenosis. DONE
6. Task (until 03/16/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:
7.Task (until 04/01/11)
- We use the gradient (deltaX) to compute the difference between radii of two points to distinguish if a stenosis is present or not in a relative fashion. Prepare the derivation for the formulas used and proof them for the thesis! OPEN
- Result: