Difference between revisions of "EngineeringRetreat2010"
From NAMIC Wiki
Line 14: | Line 14: | ||
** For end-users: simplify the user interface, streamline and simplify common workflows | ** For end-users: simplify the user interface, streamline and simplify common workflows | ||
** Support the development of solutions | ** Support the development of solutions | ||
+ | ** We are '''not''' in the early adopter game for the next two years | ||
==Short term goals== | ==Short term goals== | ||
Line 19: | Line 20: | ||
* Assign owners for each bullet item on this list | * Assign owners for each bullet item on this list | ||
* Rons number 1: Augment scenes and scenesnapshots (see also its counterpart, the [http://wiki.slicer.org/slicerWiki/index.php/Slicer4:Download_Data Image Database UI]) | * Rons number 1: Augment scenes and scenesnapshots (see also its counterpart, the [http://wiki.slicer.org/slicerWiki/index.php/Slicer4:Download_Data Image Database UI]) | ||
− | ** Thumbnails: user selectable toggle: 3d viewer (default), whole frame, red slice viewer | + | ** Thumbnails: user selectable toggle: 3d viewer (default), whole frame, red slice viewer, ability to replace thumbnails |
− | ** Annotation: User-provided description of scenesnapshot/scene | + | ** Annotation: User-provided description of scenesnapshot/scene (Daniel Haehn) |
− | |||
* Rons number 2: Unified load/save: harmonize loading and saving of different types of data, from local and remote data sources. Plan and implement minimalist UI design, missing logic components, and, possibly, local database | * Rons number 2: Unified load/save: harmonize loading and saving of different types of data, from local and remote data sources. Plan and implement minimalist UI design, missing logic components, and, possibly, local database | ||
* Rons number 3: Review [http://www.na-mic.org/Bug/view_all_bug_page.php Slicer3 bug tracker] for issues and feature requests - in UI, particular widgets, command line modules, improved transforms/registration... (Steve) | * Rons number 3: Review [http://www.na-mic.org/Bug/view_all_bug_page.php Slicer3 bug tracker] for issues and feature requests - in UI, particular widgets, command line modules, improved transforms/registration... (Steve) | ||
− | * Rons number 4: Keep [[Projects:ARRA:SlicerUI|Slicer4 Qt port]] on schedule (JF) | + | * Rons number 4: Keep [[Projects:ARRA:SlicerUI|Slicer4 Qt port]] on schedule (JF, JC) |
* Rons number 5: [[WidgetDesign2010|VTK Widgets Roadmap]] (Will) | * Rons number 5: [[WidgetDesign2010|VTK Widgets Roadmap]] (Will) | ||
− | * Scene snapshot module: reorder, rename | + | * Scene snapshot module: reorder, rename (Wendy) |
− | |||
* Update Wiki pages: | * Update Wiki pages: | ||
** [http://wiki.slicer.org/slicerWiki/index.php/Slicer4:CMAKESuperbuild CMAKE superbuild with support for extensions] (Service Core) | ** [http://wiki.slicer.org/slicerWiki/index.php/Slicer4:CMAKESuperbuild CMAKE superbuild with support for extensions] (Service Core) | ||
Line 34: | Line 33: | ||
== Longer Term Goals == | == 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 [http://wiki.slicer.org/slicerWiki/index.php/Slicer4:DisplayModule Display Module] | ||
+ | * Make plans for a new and improved [http://www.slicer.org/slicerWiki/index.php/Modules:Editor-Documentation-3.6 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 | * Define a "Core" Slicer that can be distributed with InsightApplications repository of ITKv4 | ||
** Review Slicer application framework to support modularization and customization | ** Review Slicer application framework to support modularization and customization | ||
Line 39: | Line 49: | ||
*** Simple Interface for Radiologists | *** Simple Interface for Radiologists | ||
*** Simple, Extensible Platform for Developers (for custom apps/interfaces). | *** Simple, Extensible Platform for Developers (for custom apps/interfaces). | ||
− | * Switch to GIT | + | * Switch to GIT deferred. Reconsider after the first stable release of Slicer 4. |
* Switch to client/server dashboards and take advantage of its benefits | * 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 | ** Each night binaries copied from client machines to Dashboard page/database that manages them | ||
Line 45: | Line 55: | ||
** Ensures available binaries include last-successful build, last-release build, and last-nights build. | ** 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") | ** Dashboard specifies what should be build on what clients ("CDash@home" or "Client/Server CDash") | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* GUI Testing | * GUI Testing | ||
** There is now an open-source method for automated testing of Qt-based applications: http://www.paraview.org/Wiki/Testing_design | ** There is now an open-source method for automated testing of Qt-based applications: http://www.paraview.org/Wiki/Testing_design | ||
Line 65: | Line 62: | ||
* Guidelines and examples for GPU-based algorithms | * Guidelines and examples for GPU-based algorithms | ||
* Interactive/iterative command-line modules (e.g., tied to a vtkWidget) | * Interactive/iterative command-line modules (e.g., tied to a vtkWidget) | ||
− | |||
* Determine an alternative to Mantis/bug-tracking. We have over 495 bugs. | * Determine an alternative to Mantis/bug-tracking. We have over 495 bugs. | ||
* Batch processing (IPython) examples | * Batch processing (IPython) examples | ||
** includes an algorithm validation framework | ** includes an algorithm validation framework | ||
* Interact with [http://www.kitware.com/blog/home/post/49 ITKv4] (once released?), [http://commontk.org CTK], [http://nipy.sourceforge.net/software/projects/ NiPy], and other like-minded projects. | * Interact with [http://www.kitware.com/blog/home/post/49 ITKv4] (once released?), [http://commontk.org CTK], [http://nipy.sourceforge.net/software/projects/ 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 | ||
=Agenda= | =Agenda= |
Revision as of 11:52, 25 October 2010
Home < EngineeringRetreat2010Back to Events
Goals: Develop clarity and a plan for this year's work; establish broader strategic vision for the next four NAMIC years.
Contents
Logistics
- 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
Strategy
- 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
- 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: Unified load/save: harmonize loading and saving of different types of data, from local and remote data sources. Plan and implement minimalist UI design, missing logic components, and, possibly, local database
- 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)
- Scene snapshot module: reorder, rename (Wendy)
- 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:
- Simple Interface for Radiologists
- 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
Agenda
See also
- http://wiki.slicer.org/slicerWiki/index.php/Slicer4
- http://wiki.slicer.org/slicerWiki/index.php/Slicer4:Developers
Attendees
- Steve Pieper
- Will Schroeder
- Jim Miller
- Ron Kikinis