Difference between revisions of "Projects:ARRA:SlicerEM:Slicer4"
From NAMIC Wiki
(Created page with '= EMSegmenter in Slicer4 = == TODO == * <strike>untie KWWidgets from EMSegment base</strike> * <strike>untie KWWidgets from EMSegment commandline tool</strike> * <strike>create…') |
|||
(24 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
* <strike>untie KWWidgets from EMSegment commandline tool</strike> | * <strike>untie KWWidgets from EMSegment commandline tool</strike> | ||
* <strike>create EMSegment4 as an extension for Slicer4</strike> | * <strike>create EMSegment4 as an extension for Slicer4</strike> | ||
− | ** include the commandline tool in the extension (Problem: infrastructure is not ready yet) | + | ** <strike>include the commandline tool in the extension (Problem: infrastructure is not ready yet)</strike> |
* <strike>Merge old EMSegment4 and the new extension all in Slicer3 repository</strike> | * <strike>Merge old EMSegment4 and the new extension all in Slicer3 repository</strike> | ||
* <strike>introduce Slicer Common Interface (SCI) which holds functionality which is different between Slicer3 and Slicer4 but provides the same API for both</strike> | * <strike>introduce Slicer Common Interface (SCI) which holds functionality which is different between Slicer3 and Slicer4 but provides the same API for both</strike> | ||
** <strike>provide EMSegment3 functionality in the SCI</strike> | ** <strike>provide EMSegment3 functionality in the SCI</strike> | ||
− | ** provide EMSegment4 functionality in the SCI (work in progress) | + | ** <strike>provide EMSegment4 functionality in the SCI (work in progress)</strike> |
* update EMSegment4 Qt Gui | * update EMSegment4 Qt Gui | ||
+ | * provide nightly extension builds | ||
=== Slicer Common Interface (SCI) === | === Slicer Common Interface (SCI) === | ||
Line 35: | Line 36: | ||
| GetTclNameFromPointer | | GetTclNameFromPointer | ||
| <font color='green'>DONE</font> | | <font color='green'>DONE</font> | ||
− | | <font color=' | + | | <font color='green'>DONE</font> |
|- | |- | ||
| RegisterObjectWithTcl | | RegisterObjectWithTcl | ||
| <font color='green'>DONE</font> | | <font color='green'>DONE</font> | ||
− | | <font color=' | + | | <font color='green'>DONE</font> |
|- | |- | ||
| GetApplicationTclName | | GetApplicationTclName | ||
| <font color='green'>DONE</font> | | <font color='green'>DONE</font> | ||
− | | <font color=' | + | | <font color='green'>DONE</font> |
|- | |- | ||
| InitializePythonViaTcl | | InitializePythonViaTcl | ||
Line 51: | Line 52: | ||
| EvaluatePython | | EvaluatePython | ||
| <font color='green'>DONE</font> | | <font color='green'>DONE</font> | ||
− | | <font color=' | + | | <font color='green'>DONE</font> |
|- | |- | ||
| GetTemporaryDirectory | | GetTemporaryDirectory | ||
Line 67: | Line 68: | ||
| SetApplicationBinDir | | SetApplicationBinDir | ||
| <font color='green'>DONE</font> | | <font color='green'>DONE</font> | ||
− | | <font color=' | + | | <font color='green'>obsolete</font> |
|- | |- | ||
| GetHTTPHandler | | GetHTTPHandler | ||
| <font color='green'>DONE</font> | | <font color='green'>DONE</font> | ||
− | | <font color=' | + | | <font color='green'>DONE</font> |
|- | |- | ||
| PromptBeforeExitOff | | PromptBeforeExitOff | ||
| <font color='green'>DONE</font> | | <font color='green'>DONE</font> | ||
− | | <font color=' | + | | <font color='green'>DONE</font> |
|- | |- | ||
| DestroySlicerApplication | | DestroySlicerApplication | ||
| <font color='green'>DONE</font> | | <font color='green'>DONE</font> | ||
− | | <font color=' | + | | <font color='green'>DONE</font> |
|- | |- | ||
| AddDataIOToScene | | AddDataIOToScene | ||
| <font color='green'>DONE</font> | | <font color='green'>DONE</font> | ||
− | | <font color=' | + | | <font color='green'>DONE</font> |
|- | |- | ||
| RemoveDataIOFromScene | | RemoveDataIOFromScene | ||
| <font color='green'>DONE</font> | | <font color='green'>DONE</font> | ||
− | | <font color=' | + | | <font color='green'>DONE</font> |
|} | |} | ||
+ | |||
+ | === EMSegment GUI in Qt === | ||
+ | |||
+ | Wizard steps | ||
+ | * Step1: Define Task | ||
+ | ** <strike>create new task functionality</strike> | ||
+ | ** <strike>all done</strike> | ||
+ | * Step2: Define input channels | ||
+ | ** <strike>in Simple mode show dynamic frame</strike> | ||
+ | ** <strike>all done</strike> | ||
+ | * Step3: Define anatomical tree | ||
+ | ** <strike>qt widget does not support creating subclasses yet</strike> | ||
+ | ** <strike>all done</strike> | ||
+ | * Step4: Define Atlas | ||
+ | ** <strike>qt widget supports parcellation maps</strike> | ||
+ | ** <strike>all done</strike> | ||
+ | * Step5: Edit Registration parameters | ||
+ | ** <strike>problem: show input channels-volume map does not work yet</strike> | ||
+ | ** <strike>all done</strike> | ||
+ | * <font color='orange'>Step6: Dynamic frame</font> | ||
+ | ** '''support for dynamic textedits''' | ||
+ | * Step7: Specify Intensity Distributions | ||
+ | ** <strike>manual sampling</strike> | ||
+ | ** <strike>all done</strike> | ||
+ | * Step8: Edit node-based parameters | ||
+ | ** <strike>advanced GUI not done yet</strike> | ||
+ | ** <strike>all done</strike> | ||
+ | * Step9: Define Misc. Parameters | ||
+ | ** <strike>all done</strike> | ||
+ | |||
+ | In general: | ||
+ | *<strike>segmentation call not hooked up yet</strike> | ||
+ | *<font color='red'>Extension infrastructure</font> | ||
+ | *<font color='red'>Testing and bug fixing</font> | ||
+ | |||
+ | === Open issues reported by Kilian === | ||
+ | |||
+ | * "Attempt to go to the finish step succeeded" message when clicking segment | ||
+ | ** this is a ctk error | ||
+ | * step 3: <strike>reduce size of probability map fields</strike> (not possible) | ||
+ | * step 7: <strike>"Plot distribution" functionality</strike> | ||
+ | * step 7: <strike>incorrect mean in manual sampling mode (found the cause I think)</strike> | ||
+ | * step 7: <strike>incorrect reset of distribution</strike> | ||
+ | * step 7: <strike>size of anatomical tree not optimal</strike> | ||
+ | * <strike>step 7: remove auto-sampling</strike> | ||
+ | * <strike>step 9: grey out forward button</strike> | ||
+ | * <strike>put emsegmenter in category segmentation</strike> | ||
+ | * all steps: tooltips | ||
+ | * <strike>order task list alphabetically</strike> |
Latest revision as of 21:52, 7 September 2011
Home < Projects:ARRA:SlicerEM:Slicer4Contents
EMSegmenter in Slicer4
TODO
untie KWWidgets from EMSegment baseuntie KWWidgets from EMSegment commandline toolcreate EMSegment4 as an extension for Slicer4include the commandline tool in the extension (Problem: infrastructure is not ready yet)
Merge old EMSegment4 and the new extension all in Slicer3 repositoryintroduce Slicer Common Interface (SCI) which holds functionality which is different between Slicer3 and Slicer4 but provides the same API for bothprovide EMSegment3 functionality in the SCIprovide EMSegment4 functionality in the SCI (work in progress)
- update EMSegment4 Qt Gui
- provide nightly extension builds
Slicer Common Interface (SCI)
The Slicer Common Interface is a class with a unified API for Slicer3 and Slicer4 which includes functionality which has to be realized differently among the two Slicer versions.
Progress
Task | Slicer3 | Slicer4 |
GetTclInterpeter | DONE | obsolete |
SourceTclFile | DONE | DONE |
EvaluateTcl | DONE | DONE |
GetTclNameFromPointer | DONE | DONE |
RegisterObjectWithTcl | DONE | DONE |
GetApplicationTclName | DONE | DONE |
InitializePythonViaTcl | DONE | obsolete |
EvaluatePython | DONE | DONE |
GetTemporaryDirectory | DONE | DONE |
GetBinDirectory | DONE | DONE |
GetRepositoryRevision | DONE | DONE |
SetApplicationBinDir | DONE | obsolete |
GetHTTPHandler | DONE | DONE |
PromptBeforeExitOff | DONE | DONE |
DestroySlicerApplication | DONE | DONE |
AddDataIOToScene | DONE | DONE |
RemoveDataIOFromScene | DONE | DONE |
EMSegment GUI in Qt
Wizard steps
- Step1: Define Task
create new task functionalityall done
- Step2: Define input channels
in Simple mode show dynamic frameall done
- Step3: Define anatomical tree
qt widget does not support creating subclasses yetall done
- Step4: Define Atlas
qt widget supports parcellation mapsall done
- Step5: Edit Registration parameters
problem: show input channels-volume map does not work yetall done
- Step6: Dynamic frame
- support for dynamic textedits
- Step7: Specify Intensity Distributions
manual samplingall done
- Step8: Edit node-based parameters
advanced GUI not done yetall done
- Step9: Define Misc. Parameters
all done
In general:
segmentation call not hooked up yet- Extension infrastructure
- Testing and bug fixing
Open issues reported by Kilian
- "Attempt to go to the finish step succeeded" message when clicking segment
- this is a ctk error
- step 3:
reduce size of probability map fields(not possible) - step 7:
"Plot distribution" functionality - step 7:
incorrect mean in manual sampling mode (found the cause I think) - step 7:
incorrect reset of distribution - step 7:
size of anatomical tree not optimal step 7: remove auto-samplingstep 9: grey out forward buttonput emsegmenter in category segmentation- all steps: tooltips
order task list alphabetically