Slicer3:Status Summary

From Slicer Wiki
Jump to: navigation, search
Home < Slicer3:Status Summary

This page is not in use anymore.
We used this page for project managment in the early stages of Slicer3 development

Back to Slicer 3 Developer page

New functionality is being added to the Slicer3 repository daily to flesh out and finish the features of the software. This page provides an overview of the major planned functionality together with a snapshot of the status in the current build. Use the 'history' tab for this page to see when the status changed for various parts of the project.

This list includes items that we expect to be functional as part of the 3.0 release.

MRML (Slicer scene description file format)

  • Core library and nodes -- done
  • Save/Restore of Module Parameter Nodes
  • Undo/Redo -- done, debugging
  • Load/Save/Import Scene -- done, debugging
  • Slicer2.x MRML import as new scene (supports volumes, models, transforms, fiducials)
In Process
Not Done

  • SmartPointers


  • Pixel to Physical space matrices -- done
  • Slice display, FG/BG blend -- done
  • pan/zoom/slice scroll -- done
  • Slices visible in 3D
  • Corner annotations -- coordinates and pixel values displayed
  • Label map display, overlay
  • Repacking, resizing slice windows -- done
  • Volumes should be transparent outside of their boundaries done
  • Color Nodes and Lookup tables
  • Oblique slice views -- specified interactively with slice viewers
  • Integration of wwidgets -- used for fiducials and volume rendering
  • Keyboard and event bindings -- Slicer3:EventBindings
In Process
  • Compare views

Not Done

  • Display on Non-Linear Transforms

3D View

  • Display Models -- done
  • Display Slices -- done
  • MRML Nodes to store camera settings -- done
  • Orientation letters and FOV cube
  • Volume Rendering -- done
In Process
  • Logo widget -- widget basically done, needs integration
Not Done


  • Integration of wwidgets -- not done
  • Lighting nodes and GUI -- not done

Data GUI

  • Scene display -- done
  • Cut and paste to edit transform hierarchy
  • Drag and drop editing
  • Model Hierarchy (control visibility / display properties of subgroups)
  • Property Editors
In Process
  • Remote IO
Not Done



  • Load Volume -- done
  • Export volumes in various formats -- done
  • Drawing of Threshold
  • optionally name a volume, set label flag, when loading -- done
  • Auto Window/Level, Auto Threshold -- done
  • GUI for Lookup tables -- done
  • Display Control
  • Tensor volume display -- done
In Process

Not Done

  • Vector (color) volumes -- deferred


  • Load model -- done
  • Display Control and Logic (material properties editor and nodes) -- done
  • Load models from directory -- done
  • Clipping Control and Logic -- done
  • Hierarchy editor (transforms) -- done
  • Scalar fields selection, with lookup tables -- done (testing for Tractography)
  • Apply (harden) transform to a model and volume (context menu in Data Module)
In Process

Not Done

  • Clipping of transformed models


  • Matrix editor -- done
  • Hierarchy of linear transforms can be applied to models and volumes
In Process
  • Transform Node Manipulation
  • Automatic registration --- rigid and affine modules take/return transforms on the TransformIO branch
  • Nonlinear transforms
  • Resample volumes through transforms -- in transform branch, so be merged April 2008
Not Done

  • Interactive Transform editing -- in process

Application GUI

  • Overall Look and Feel -- done
  • New logo finalized.
  • Module navigation and search -- done.
  • Toolbar view configuration done (lightbox deferred).
  • Module GUI appearance modifications for visual clarity -- done.
  • Module notebook and collapsing frame styles -- done.
  • Update icons and remove unused icons -- done.
  • Added new method to create a Help&About frame in each ModuleGUI
  • lightbox view not implemented
  • Provided "pop-up help windows" and icon to be used application-wide.
In Process
  • Toolbar
    • Finalize Mouse modes
    • Modify menu button text to truncate in middle with '...' if module name too long
    • Improve module search functionality (not required, but nice)
  • Integrate scene snapshot selector in View Control GUI panel
  • Finish Slicer GUI cookbook & style guide -- a resource for developers that saves time and promotes consistency
  • Application-wide GUI spot-fixing
Not Done
  • Ability to start up with stereo enabled, detect that, and activate the stereo menu options
  • Modify birds'-eye-view panel to use VTK views
  • Implement multiple cameras and selector for them in View Control GUI panel
  • Top-level fiducial visibility toggle and navigation (now only in Edit Box)



  • MRML nodes for individual fiducials and fiducial lists -- done
  • Fiducials GUI -- done
  • Display of fiducials in 3D -- done
  • widget fiducial display/edit in slices -- done
  • 3D widget interaction -- done
In Process

Not Done



Execution Model

  • Command Line Modules base implementation
  • Executable and Shared library detection/loading
  • Module caching
  • Auto generated GUI
  • File based and memory based volume i/o
  • Executing module in separate thread
  • Progress/abort events
  • Category navigation
  • Models
  • Logging to a slicer window
  • Runtime-selection of image types
  • Access to XML fields from C++
  • Module packaging for safe discovery mechanism
  • Lazy gui construction
  • Serialize parameter nodes
  • Vector, tensor images, diffusion weighted images
  • Contributor logos per module
  • Linear transforms (available on TransformIO branch)
  • Color nodes
  • Model hierarchys returning from CLI (shallow hierarchies)
In Process
  • Deformable transforms
  • Resampling module
  • Model hierachies (to CLI, deeper hierarchies from CLI)
  • Fiducials -- orientation needs to added to XML spec
  • Collapsing transformation to world
Not Done
  • Passing scenes to command line modules (needs definition, transforms and model hierarchies can be passed in scenes currently)
  • Other data types i/o
  • Reloading of modules
  • Separate value and default in ModuleDescription
  • Shared memory volume i/o to unu

  • Nonlinear transforms
  • Steering optimizers
  • Auto generated wwidgets
  • Workflow (modules with several steps)


  • Nodes and Logic for managing color tables -- done for volumes
  • colors for models scalar fields -- done
  • Color Module GUI
In Process

Not Done


Model Maker

  • Implemented as command line module
  • Tie in to Colors -- to be done when colors module is ready
  • Data passing via mrml scene files
In Process

Not Done



  • Basic Paint functionality
  • Basic Draw functionality
  • Paint/Draw with threshold
  • Paint/Draw option not to draw over existing non-zero values
  • Paint radius control
  • Paint 'eye dropper' mode for quick color changes
In Process
  • Speed improvements
  • Draw mode preview shown in IJK rather than XY space
Not Done

  • Painting on Models
  • Math Morphology, threshold, and other tools -- not done (may be pushed to slicer3.1)
  • Auto Save Mode (save label map every minute)
  • Oversample Label map mode
  • Volume Math/Logic functions

Slicer2 Modules

  • ModelMaker
  • Fiducials
  • FreeSurfer readers - curv surfaces, scalar overlays, annotations can load (some debugging still to do)
In Process

  • EMSegment
Not Done


  • Compatibility layer to allow some slicer2 modules to run inside slicer3 -- not done (priority on modules currently used heavily by clinical collaborators and/or modules ported by the original module developers)


  • CPack based installers for all platforms -- being optimized
  • Nightly build installers uploaded to web site -- done
  • Stable branches of vtk,itk,kwwidgets for slicer3 -- done
  • Building plugins from an installation -- "done" (needs CVS version of ITK)
In Process

Not Done


In Process
  • Dart dashboard -- set up, but being debugged
Not Done

  • Nightly build and test on major platforms -- not done
  • Test suite for MRML API -- not done
  • Test suite for Logic API -- not done
  • Test suite for GUI API -- not done
  • Test suites for Modules -- not done

Bug Tracking

  • Slicer3 bug tracker -- done

In Process
Not Done


Pipeline Integration

In Process
  • LONI Pipeline can now be called on the command line with workflows with pre-bound parameters
  • Provides the output results according to bound parameters and the logs are useful to track progress
  • Ability to bind parameters on the command line
  • Ability to showcase status messages for the user to track progress

Grid Interface

In Process
  • Uniform job submission format for remote execution command line modules -- underway
  • Slicer3 BatchMake Module
  • Grid Wizard Proxies to Command Line Modules
Not Done


In Process

  • Optimize event/observer flows -- ongoing
  • Optimize launcher, startup times -- ongoing
  • Code reviews for:
    • Coding style -- ongoing
    • In line documentation -- ongoing
    • Consistent naming conventions and patterns -- ongoing
  • Implement / clean up command line arguments
  • Need to clean up Applications/Slicer3.cxx to unify discovery/initialization of built-in modules more like Slicer2 Underway Slicer3:Loadable Modules
Not Done
  • Overall software documentation (the Slicer3 book? - maybe in 2008)
  • User tutorials and documentation
  • GUI Tracing



  • Unify the observer code for use in MRML, Logic, and GUI See Slicer3:EventBroker
    • currently there is much duplication of the command callback structures
    • perhaps this needs to be a separate library that can be used by all?
    • we should be specifically observing DeleteEvent to avoid observing events invoked during destructors
    • The SetAndObserve* calls should also have a signature where they accept an event to observe
    • Perhaps this layer could also allow us to disable all the callbacks (not clear this is needed)