Projects:ARRA:SlicerEM:Slicer4

From NAMIC Wiki
Jump to: navigation, search
Home < Projects:ARRA:SlicerEM:Slicer4

EMSegmenter in Slicer4

TODO

  • untie KWWidgets from EMSegment base
  • untie KWWidgets from EMSegment commandline tool
  • create EMSegment4 as an extension for Slicer4
    • include the commandline tool in the extension (Problem: infrastructure is not ready yet)
  • Merge old EMSegment4 and the new extension all in Slicer3 repository
  • introduce Slicer Common Interface (SCI) which holds functionality which is different between Slicer3 and Slicer4 but provides the same API for both
    • provide EMSegment3 functionality in the SCI
    • provide 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 (should be finished by 8/29)

  • Step1: Define Task
    • create new task functionality
  • Step2: Define input channels
    • in Simple mode show dynamic frame
    • all done
  • Step3: Define anatomical tree
    • qt widget does not support creating subclasses yet
    • all done
  • Step4: Define Atlas
    • qt widget supports parcellation maps
    • all done
  • Step5: Edit Registration parameters
    • problem: show input channels-volume map does not work yet
    • all done
  • Step6: Dynamic frame
    • support for dynamic textedits
  • Step7: Specify Intensity Distributions
    • manual sampling
    • all done
  • Step8: Edit node-based parameters
    • advanced GUI not done yet
  • Step9: Define Misc. Parameters
    • almost done

In general:

  • segmentation call not hooked up yet
  • Extension infrastructure
  • Testing and bug fixing