Difference between revisions of "2012 Progress Report Science Wiki Version Engineering"

From NAMIC Wiki
Jump to: navigation, search
Line 1: Line 1:
 
= 5.2. Engineering =
 
= 5.2. Engineering =
 +
<em>Key Investigators </em>
 +
* Will Schroeder, Kitware
 +
* Stephen R. Aylward, Kitware
 +
* Steve Pieper, Isomics
 +
* Jim Miller, GE Research
 +
 +
The Engineering component of the Computer Science Core (Core 1b) has been focusing on the
 +
infrastructure needed for the Algorithms component to implement their methods, and has been
 +
working closely with them so that the functionality we provide can serve to inspire new methods
 +
as well.  Herein we provide more details regarding our accomplishments in those directions
 +
 
== 5.2.1. End-user Platform: 3D Slicer ==
 
== 5.2.1. End-user Platform: 3D Slicer ==
 
<em>Steve Pieper</em>
 
<em>Steve Pieper</em>
Line 19: Line 30:
 
== 5.2.2. Computational Platform ==
 
== 5.2.2. Computational Platform ==
 
<em>Jim Miller</em>
 
<em>Jim Miller</em>
 +
=== Progress/Cool-stuff ===
 +
=== Plans ===
 
== 5.2.3. Data Management Platform ==
 
== 5.2.3. Data Management Platform ==
 
<em>Who?</em>
 
<em>Who?</em>
 +
=== Progress/Cool-stuff ===
 +
=== Plans ===
 
== 5.2.4. Community Software Process ==
 
== 5.2.4. Community Software Process ==
 
<em>Stephen R. Aylward</em>
 
<em>Stephen R. Aylward</em>
 +
=== Progress/Cool-stuff ===
 +
* Python
 +
* Extension Manager
 +
* Documentation Process
 +
=== Plans ===
 +
* WebGL
 +
* SimpleITK
 +
 
= 5.3. NA-MIC Kit =
 
= 5.3. NA-MIC Kit =
 
== 5.3.1. Expansion ==
 
== 5.3.1. Expansion ==
 
<em>Stephen R. Aylward</em>
 
<em>Stephen R. Aylward</em>
 +
=== Progress ===
 +
* Package Manager
 +
* Updates to ITK, VTK, Qt, CMake, ...
 +
=== Plans ===
 
== 5.3.2. Release ==
 
== 5.3.2. Release ==
 
<em>Stephen R. Aylward</em>
 
<em>Stephen R. Aylward</em>
 +
=== Release Schedule ===
 +
=== Recent Change Logs ===

Revision as of 23:09, 11 April 2012

Home < 2012 Progress Report Science Wiki Version Engineering

5.2. Engineering

Key Investigators

  • Will Schroeder, Kitware
  • Stephen R. Aylward, Kitware
  • Steve Pieper, Isomics
  • Jim Miller, GE Research

The Engineering component of the Computer Science Core (Core 1b) has been focusing on the infrastructure needed for the Algorithms component to implement their methods, and has been working closely with them so that the functionality we provide can serve to inspire new methods as well. Herein we provide more details regarding our accomplishments in those directions

5.2.1. End-user Platform: 3D Slicer

Steve Pieper

Release of 3D Slicer version 4.0 and 4.1

As shown in Figure 1, 3D Slicer version 4.0 (commonly called Slicer4) is having an immediate world-wide impact. Version 4.0, released at the Radiology Society of North America (RSNA) meeting in late November 2011, is the result of a major effort by the NA-MIC engineering cores, in collaboration with the wider Slicer community, to re-implement and streamline the software in response to feedback from NA-MIC DBPs and algorithm developers. A new 3D Slicer version 4.1 release, being finalized at the time of this writing, adds back many of the advanced features of Slicer3, notably the Extension system by which new functionality can be downloaded and installed independent of the main executable. As described more fully below, these sweeping changes required touching not only most of the code in Slicer, but also feeding important feature and bug fix changes back into the rest of the NA-MIC Kit and upstream libraries. As a result of these efforts, 3D Slicer in now an improved reference implementation of a modern medical image computing package and a strong foundation for research.

2012 Engineering EndUserPlatform Fig1.png

Figure 1: 3D Slicer version 4.0 end-user downloads during the first 3 months of 2012, a rate of 45,360 per year (over 100 downloads per day). Interactive geolocated download statistics are available at http://download.slicer.org/stats.

Major Developments and New Functionality in Slicer4

  • Modern Cross-Platform Design Patterns: As a by-product of the port of the user interface from KWWidgets to Qt, a comprehensive suite of non-GUI OS abstractions and utility functions from Qt became available to support core application functions such as preference settings, multi-processing, application resource data. This was a direct benefit from the GUI port supported by an ARRA supplement to the Neuroimage Analysis Center, a NA-MIC collaborating P41 grant. Slicer4 supports native windows 64 bit environments and can be bundled into a standard Mac OS X application bundle.
  • Efficiency and Robustness: Careful review of core data management and processing pipeline steps allowed us to remove much redundant processing. The result is that Slicer is easier for developers to understand and debug, and end users experience faster startup and more responsive behavior.
  • DICOM Networking: Slicer4 includes a DICOM listener and DICOM Query/Retrieve capabilities for integration with standard clinical image management environments and workflows. For example, intraprocedural imaging obtained during image guided procedures can now be auto-routed to Slicer for analysis and navigation.
  • Additional Features: Slicer4 includes: an improved flexible view layout system; a revised implementation of the Expectation Maximization (EM) Segmenter; faster hardware accelerated volume rendering; improved markups and annotations; improved atlas and model hierarchy support; a streamlined and revised diffusion MRI implementation.

Plans

With the introduction of the Slicer4 Extension system we plan to stabilize the core slicer distribution and move to less frequent releases with more of the algorithm innovation becoming available through as Extensions. This will allow further stabilization and streamlining of the core while speeding up the delivery of new technologies to end users for testing.

5.2.2. Computational Platform

Jim Miller

Progress/Cool-stuff

Plans

5.2.3. Data Management Platform

Who?

Progress/Cool-stuff

Plans

5.2.4. Community Software Process

Stephen R. Aylward

Progress/Cool-stuff

  • Python
  • Extension Manager
  • Documentation Process

Plans

  • WebGL
  • SimpleITK

5.3. NA-MIC Kit

5.3.1. Expansion

Stephen R. Aylward

Progress

  • Package Manager
  • Updates to ITK, VTK, Qt, CMake, ...

Plans

5.3.2. Release

Stephen R. Aylward

Release Schedule

Recent Change Logs