From NAMIC Wiki
Home < EngineeringRetreat2010
Goals: Develop clarity and a plan for this year's work; establish broader strategic vision for the next four NAMIC years.
- When: November 17-18 (Wednesday and Thursday). Start time: noon Wednesday, end time: early afternoon Thursday
- Where: Boston SPL, 1249 Facility
- Who: Engineering Core leaders and key personnel
- Slicer 3.6.x is in maintenance mode.
- New development efforts are targeted at Slicer 4.
- Communication with "Customers" is a top priority.
- For developers: stabilize the Slicer environment. Slicer has been a moving target for too long.
- For end-users: simplify the user interface, streamline and simplify common workflows
- Support the development of solutions
- We are not in the "early adopter game" for the next two years
Short term goals
- Targeted for AHM
- Assign owners for each bullet item on this list
- stabilize and document the extensions
- Rons number 1: Augment scenes and scenesnapshots (see also its counterpart, the Image Database UI)
- Thumbnails: user selectable toggle: 3d viewer (default), whole frame, red slice viewer, ability to replace thumbnails
- Annotation: User-provided description of scenesnapshot/scene (Daniel Haehn)
- Rons number 2: Make load/save easier to understand for new users.
- Single interface to all data sources based on QSlicerVolumesIODialog.
- Plan and implement minimalist UI design for load
- Rons number 3: Review Slicer3 bug tracker for issues and feature requests - in UI, particular widgets, command line modules, improved transforms/registration... (Steve)
- Rons number 4: Keep Slicer4 Qt port on schedule (JF, JC)
- Rons number 5: VTK Widgets Roadmap (Will)
- Implement and package up module templates for developers of interactive modules to get a jump on consistent UXP.(wjp)
- Scene module: A new module to organize scenes and scenesnapshots
- Update Wiki pages:
Longer Term Goals
- DICOM read and write (local and remote) via CTK
- extended save: save to local and remote destinations. Make plans for logic components, DB transaction, and UI design.
- Organizing multiple data sets from one subject: time series, image fusion etc.
- Packaging/Superbuild fixes
- Package for linux
- Windows - clean registry on uninstall
- Mac - .dmg into application folder
- Creation of a Display Module
- Make plans for a new and improved Editor for slicer4
- Grow Cuts, RSS and fast Marching with volume cropping, integral volume rendering, (limited) GPU acceleration
- Investigate use of a binary mask used with volume rendering to specify non-rectilinear ROIs, to display segmentation results, and to display effects of interactive editing
- Define a "Core" Slicer that can be distributed with InsightApplications repository of ITKv4
- Review Slicer application framework to support modularization and customization
- Two audiences:
- Create new GUI infrastructure where a simple Interface is created for each application area, e.g. one GUI for Radiologists reading brain MRI, another one for torso CT, ...
- Simple, Extensible Platform for Developers (for custom apps/interfaces).
- Switch to GIT deferred. Reconsider after the first stable release of Slicer 4.
- Switch to client/server dashboards and take advantage of its benefits
- Each night binaries copied from client machines to Dashboard page/database that manages them
- Ensures Dashboards, builds, releases using common tags/svn#s
- Ensures available binaries include last-successful build, last-release build, and last-nights build.
- Dashboard specifies what should be build on what clients ("CDash@home" or "Client/Server CDash")
- GUI Testing
- There is now an open-source method for automated testing of Qt-based applications: http://www.paraview.org/Wiki/Testing_design
- Support scenes containing data that spans multiple scales in time and space
- visualize, indicate correspondence and support interactions with a scene in which the data differ by orders of magnitude and change over time
- Infrastructure that supports simultaneous GPU-based volume rendering and GPU-based interactive segmentation methods (vtkWidgets)
- Guidelines and examples for GPU-based algorithms
- Interactive/iterative command-line modules (e.g., tied to a vtkWidget)
- Determine an alternative to Mantis/bug-tracking. We have over 495 bugs.
- Batch processing (IPython) examples
- includes an algorithm validation framework
- Interact with ITKv4 (once released?), CTK, NiPy, and other like-minded projects.
- Consider ITKv4 module management tools being developed (after they have been released as stable release)
- Documentation prior to code development
- Module-specific dashboards
- forum-style commentaries on modules
- Improve support of Windows platform
- Simplify compilation of Slicer on Windows Machines
- Increase speed and stability of Slicer on Windows Machines
- Steve Pieper
- Will Schroeder
- Jim Miller
- Ron Kikinis