Difference between revisions of "Events:Slicer4-Review-07-2011"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(136 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 +
==RSNA 2011 Targeted Objectives==
 +
*Roadmap for the Slicer 4 release for the '''series of demos at the''' [http://www.na-mic.org/Wiki/index.php/RSNA2011_Planning '''RSNA 3DSlicer Booth''']
 +
*Most tasks need to be ready by end of September, to leave time to update tutorials, test and debug.
 +
* List of [http://www.na-mic.org/Bug/search.php?project_id=3&sticky_issues=on&target_version=Slicer+4.0+RSNA&sortby=last_updated&dir=DESC&hide_status_id=80 open Mantis issues] with RSNA Target
 +
===UI===
 +
{|
 +
|align="left"|
 +
* [http://www.na-mic.org/Bug/view.php?id=1337 Main GUI Cosmetics]
 +
** % face lift for the Slice viewers: reduce permanent non-image components. Reduce the number and depth of submenus. (J2) '''done'''
 +
** % Main Gui 3D viewers should have similar appearance to slice viewers (J2) '''done'''
 +
** % scenview and screensnapshot icons move to the icon bar at the top of the main gui. (J2-> Nicole) '''done'''
 +
* Module Cosmetics
 +
** % [http://www.na-mic.org/Bug/view.php?id=1252 Volume Rendering] (J2) (in progress)
 +
** % [http://www.na-mic.org/Bug/view.php?id=1242 Models module] (J2) '''done'''
 +
** % [http://www.na-mic.org/Bug/view.php?id=1281 Editor], see picture to the right (Steve) (Done)
 +
** % [http://www.na-mic.org/Bug/view.php?id=1293 Welcome Module] (Wendy)
 +
** % [http://www.na-mic.org/Bug/view.php?id=1295 Volumes Module] (J2)
 +
*** Not part of the original plan, will be done if time permits (nice to have, low priority for RSNA), not a show stopper.
 +
** % [http://www.na-mic.org/Bug/view.php?id=1296 Tractography Display Module] (Isaiah) '''done'''
 +
** % [http://www.na-mic.org/Bug/view.php?id=1299 Sceneviews module] (Nicole)
 +
* % Stabilize annotations module (Nicole, Daniel, Alex)
 +
* Update tutorials (Sonia)
 +
* % Volume rendering transfer function
 +
** %% Mac crash in transfer functions (J2) (in progress)
 +
** stability and usability such as jittery, and gradient banding on MAC (J2) (gradient banding not started yet)
 +
** %Threshold feature ->offset slider(J2) (in progress)
 +
** % Level of Detail (interrupt CPU VR when accessing the transfer function editor) + progress indicator during long renders (J2)
 +
* % Documentation on wiki (at least stubs)
 +
* % Linking and CompareView (Jim)
 +
* ROI Slice Displayable Manager '''done'''
 +
** % Centering on the slice (Alex) '''done''' (Now implemented even better with ROI widget in slice view)
 +
* % Updated Icons (Annotations, HotLink, cursors, new layouts) (Wendy) all '''done''' except hotlink -- but I *like* the current hotlink icon. Can we keep it?
 +
* % Revised colors for ROI widget (Wendy) '''done'''
 +
* % Reorganization of the dMRI sections (Demian)
 +
|[[image:EditorFacelift-2011-07.png|300px|right|thumb|Mock-up of redesigned editor interface]]
 +
|-
 +
|}
 +
 +
===Under the hood===
 +
*hierarchies
 +
** % Collapsing Model Hierarchies controls display of children (Nicole) '''done'''
 +
** % Collapsing Annotation Hierarchies controls display of children (Nicole and Daniel)
 +
* % Annotations (Nicole, Daniel)
 +
** vtkWidgets - bug fixes (Will)
 +
*** 2D ruler tick spacing '''done'''
 +
*** 3D ruler tick marks '''done'''
 +
*** Widget performance (Michael) '''done'''
 +
** % 3D Representations for all (ruler, bidimensional and maybe fiducials/caption) (Will, Nicole)
 +
* % CTK DICOM widget (Steve, Nicole) - interface done, some debugging to do.
 +
**% Implement Slicer Data Bundle (SDB a.k.a. lollipop): put the entire scene into a single folder, zip the folder, add a proper DICOM secondary capture header, which exposes the scenesnapshots. This should be the default save option. Everything else should be accessible through an "advanced" button. (Nicole) - prototype done, but not integrated with app. Zip is done by Nicole, Steve did secondary capture dicom.
 +
** % Listener, Query, Retrieve, Send (Steve) - done except for Send (which is grayed out for now)
 +
* % Optimize Model Displayable Manager (Alex)
 +
* % Brainsfit: the slicer 3 brainsfit will be available in slicer 4 (Hans)
 +
* % Fix resize crash due to extent problem in reslice mask (J2) '''done'''
 +
 +
===Infrastructure===
 +
{|
 +
|align="left" rowspan="2"|
 +
* Tk/Tcl
 +
** % Annotation/main interaction speedup (Steve) - replace SliceSWidget::updateAnnotation(s) with vtkMRMLSliceInformationDisplayableManager and vtkMRMLSliceLogic::CalculateInformationText - done as Data Probe - need to check windows performance
 +
* Extensions
 +
** % ABC, SkullStripper, EMSegmenter, VMTK (?), Plastimatch, [[2011_Summer_Project_Week_DVH|DVH extension]] (Jc)
 +
** % Support for superbuild (Jc)
 +
* Web: minor updates and tweaks
 +
** % mobile skin for webkit rendering of the slicer wiki documentation pages (JC, Zack, others)
 +
** % Statistics on packages and on individual extensions (Jc with input from Zack)
 +
** % redirect links to slicer 4 dashboard (slicer.org download page, developer pages,....)
 +
** % Slicer 4 nightlies, snapshots (monthly) and stable versions are pulled from the factory machine
 +
** % Template for Slicer 4 documentation (JC)
 +
|[[image:2011-08-04-MainGuiViewerInfo.png|400px|right|thumb|ViewerInformation mock-up [http://www.na-mic.org/Bug/view.php?id=1317]]]
 +
|-
 +
|[[image:SliceAnnotations-2011-07.png|300px|right|thumb|Snapshot of SliceAnnotationTree]]
 +
|-
 +
|}
 +
 +
===Beginning Of The Rest===
 +
 
=What=
 
=What=
 
Slicer 4 review and programming sprint
 
Slicer 4 review and programming sprint
Line 9: Line 86:
 
Demo room, 2nd floor, 1249 Boylston Street, Boston, MA
 
Demo room, 2nd floor, 1249 Boylston Street, Boston, MA
 
=Why=
 
=Why=
*Identify roadmap for a Slicer 4 product release for the [http://www.na-mic.org/Wiki/index.php/RSNA2011_Planning Nov 27-Dec.2 RSNA conference demos]
+
*Identify roadmap for a Slicer 4 product release for the [http://www.na-mic.org/Wiki/index.php/RSNA2011_Planning Nov 27-Dec.2 RSNA demos at the 3DSlicer Booth]
 +
**Main GUI and UI changes first, so that tutorial porting can begin
 +
**debugging the features used in the RSNA tutorials
  
 
=Work on=
 
=Work on=
==Main Topics==
+
== Full List ==
*Critical Features
+
Below is the complete list of items discussed. Items that are targeted for the RSNA 2011 events are preceded by a % sign, the person responsible is identified in parenthesis
*Bug fixes
 
*Download setup and integration with the existing Slicer website
 
  
== Priority TBD ==
 
 
===UI===
 
===UI===
* Reformat capabilities: We need a widget and possibly a slider based interface.
+
[[image:SlicerColorSelector.PNG|400px|right|thumb|SlicerColorSelector using CTK color dialog]]
* Main GUI
+
* Reformat capabilities: We need a widget and possibly a slider based interface. (Nicole, Will)
** face lift for the Slice viewers: reduce permanent non-image components. Reduce the number and depth of submenus.
+
*Cosmetics
** 3D viewer should have similar appearance to slice viewers
+
** % [http://www.na-mic.org/Bug/view.php?id=1252 Volume Rendering] (J2)
* Update tutorials
+
** % [http://www.na-mic.org/Bug/view.php?id=1242 Models module] (J2)
** After main gui
+
** % [http://www.na-mic.org/Bug/view.php?id=1281 Editor] (Steve)
** Using GUI Testing
+
** % Main GUI face lift for the Slice viewers: reduce permanent non-image components. Reduce the number and depth of submenus. (J2)
* Volume rendering transfer function
+
** % Main Gui 3D viewers should have similar appearance to slice viewers (J2)
** Jittery, and banding
+
** % Stabilize annotations module (Nicole)
** Threshold
+
* Update tutorials (Sonia)
** Better appearance of the elements of the transfer function. They look ugly and are not antialiased. Check the graph in [https://www.ohloh.net/p/slicer Ohloh] and mouse over it. Looks much nicer!
+
** After Facelift of Main Gui and some core modules
 +
** Using GUI Testing?
 +
* % Volume rendering transfer function (J2)
 +
** %% Mac crash in transfer functions
 +
** stability
 +
** Jittery, and banding on MAC
 +
** %Threshold
 +
** Better appearance of the elements of the transfer function. They look ugly and are not antialiased. Check the graph in [https://www.ohloh.net/p/slicer Ohloh] and mouse over it. Looks much nicer! (according to the page source, the charts are made with [http://www.highcharts.com/ HighCharts])
 +
** Level of Detail (interrupt CPU VR when accessing the transfer function editor) + progress indicator during long renders
 
** Group selection and shifting
 
** Group selection and shifting
 +
* % Color selector
 +
** % the default color selector should be THE CTK color dialog (see picture to the right). (J2)
 +
** add search function to the labels (J2)
 +
* % Documentation on wiki (at least stubs)
 +
* % Linking and CompareView (Jim)
 +
* ROI Slice Displayable Manager
 +
** % Centering on the slice (Alex)
 +
* % Updated Icons (Annotations, HotLink, cursors, new layouts) (Wendy) '''done''', i believe.
 +
 
===Under the hood===
 
===Under the hood===
 +
[[image:Treeview-2011-07.png|160px|right|thumb|Possible Treeview variation]]
 
* GPU Volume Rendering
 
* GPU Volume Rendering
 
** Support for ATI and MAC
 
** Support for ATI and MAC
Line 37: Line 131:
 
***Ron says: I just need a single one that works for flythroughs and can handle the combination of volume rendering, cross-sections, surface models, annotations
 
***Ron says: I just need a single one that works for flythroughs and can handle the combination of volume rendering, cross-sections, surface models, annotations
 
*hierarchies
 
*hierarchies
**display: the current display is confusing.
+
**display: the current display is confusing. Image shows a possible modification
 +
** % Collapsing Model Hierarchies controls display of children (Nicole)
 +
** % Collapsing Annotation Hierarchies controls display of children (Nicole and Daniel)
 
**drag and drop capability
 
**drag and drop capability
* Annotations
+
* % Annotations (Nicole, Daniel)
** vtkWidgets
+
** vtkWidgets - bug fixes (Will)
** GUI layout
+
** GUI layout (Nicole)
 
** compositing with volume rendering does not work properly
 
** compositing with volume rendering does not work properly
** Working group (?)
+
*** % 3D Representations for all (ruler, bidimensional and maybe fiducials/caption) (Will, Nicole)
 +
* % CTK DICOM widget (Steve, Nicole)
 +
**% Implement Slicer Data Bundle (SDB a.k.a. lollipop): put the entire scene into a single folder, zip the folder, add a proper DICOM secondary capture header, which exposes the scenesnapshots. (Nicole)
 +
** % Listener, Query, Retrieve, Send (Steve)
 +
**use DICOM widget local database as default mechanism for load/save
 +
**everything else is import/export
 +
**Slicer should have a single location for these operations
 +
*DisplayModule
 +
**[https://www.slicer.org/wiki/Slicer4:DisplayModule Draft of the DisplayModule]
 +
* % Optimize Model Displayable Manager (Alex)
  
 
===Infrastructure===
 
===Infrastructure===
* Move to git/gerrit
+
* Move to git/gerrit (TBD - can it be used with git-svn or is the suggestion to retire svn?)
 
* GUI Testing
 
* GUI Testing
 
** Instrumenting CTK widgets
 
** Instrumenting CTK widgets
 
** Conversion of tutorials to tests
 
** Conversion of tutorials to tests
 +
** What will this provide that [http://sikuli.org/ Sikuli] does not?  Sonia is ready to use Sikuli unless there is a good reason not to.
 
* Tk/Tcl
 
* Tk/Tcl
** Removing the last dependencies
+
** Removing the last dependencies in core interaction loops - see [[Slicer4:SliceInteractions]]
 +
** % Annotation/main interaction speedup (Steve)
 +
** Maintain improve/functionality for Editor
 
* Performance optimization
 
* Performance optimization
 
** Module for profiling events
 
** Module for profiling events
 
* Extensions
 
* Extensions
** Support for superbuild
+
** % ABC, EMSegmenter, VMTK (Jc)
 +
** % Support for superbuild (Jc)
 
** Requirements for testing, documentation, tutorials, and continued support from developers
 
** Requirements for testing, documentation, tutorials, and continued support from developers
 
*** How to name different levels of compliance
 
*** How to name different levels of compliance
 
* Downloads
 
* Downloads
** Statistics on packages and on individual extensions
+
** % Statistics on packages and on individual extensions (Jc)
 
** Web pages
 
** Web pages
 
** Technologies
 
** Technologies
Line 67: Line 176:
 
** sceneviews support
 
** sceneviews support
 
* Interactive CLI modules
 
* Interactive CLI modules
 +
 +
=== Compilation ===
 +
* issues with win64 debug build - these impact developers more than users - we will prioritize getting nightly binary builds working on all platforms for RSNA before streamlining the developer process
 +
** Fix numpy builds on win64
 +
*** Need to embed manifests in numpy pyd files
 +
** Fix win64 tcl version
 +
*** currently permission issue with dlls in win64 slicerlib mirror
 +
*** currently using tcl8.4 on win32 and elsewhere but tcl8.5 on win64 (should use the same everywhere if possible - we may want to switch to the [http://tcl.activestate.com active tcl pre-built distributions for windows]) 
 +
 +
* Slicer4 dashboard
  
 
=Agenda=
 
=Agenda=
Line 80: Line 199:
 
#Will Schroeder
 
#Will Schroeder
 
#Jim Miller
 
#Jim Miller
 +
#Suares Tamekue Tatuebu
 +
#Luping Fang
 +
#Mike Halle
 +
#Andrey Fedorov

Latest revision as of 17:11, 10 July 2017

Home < Events:Slicer4-Review-07-2011

RSNA 2011 Targeted Objectives

  • Roadmap for the Slicer 4 release for the series of demos at the RSNA 3DSlicer Booth
  • Most tasks need to be ready by end of September, to leave time to update tutorials, test and debug.
  • List of open Mantis issues with RSNA Target

UI

  • Main GUI Cosmetics
    •  % face lift for the Slice viewers: reduce permanent non-image components. Reduce the number and depth of submenus. (J2) done
    •  % Main Gui 3D viewers should have similar appearance to slice viewers (J2) done
    •  % scenview and screensnapshot icons move to the icon bar at the top of the main gui. (J2-> Nicole) done
  • Module Cosmetics
  •  % Stabilize annotations module (Nicole, Daniel, Alex)
  • Update tutorials (Sonia)
  •  % Volume rendering transfer function
    •  %% Mac crash in transfer functions (J2) (in progress)
    • stability and usability such as jittery, and gradient banding on MAC (J2) (gradient banding not started yet)
    • %Threshold feature ->offset slider(J2) (in progress)
    •  % Level of Detail (interrupt CPU VR when accessing the transfer function editor) + progress indicator during long renders (J2)
  •  % Documentation on wiki (at least stubs)
  •  % Linking and CompareView (Jim)
  • ROI Slice Displayable Manager done
    •  % Centering on the slice (Alex) done (Now implemented even better with ROI widget in slice view)
  •  % Updated Icons (Annotations, HotLink, cursors, new layouts) (Wendy) all done except hotlink -- but I *like* the current hotlink icon. Can we keep it?
  •  % Revised colors for ROI widget (Wendy) done
  •  % Reorganization of the dMRI sections (Demian)
Mock-up of redesigned editor interface

Under the hood

  • hierarchies
    •  % Collapsing Model Hierarchies controls display of children (Nicole) done
    •  % Collapsing Annotation Hierarchies controls display of children (Nicole and Daniel)
  •  % Annotations (Nicole, Daniel)
    • vtkWidgets - bug fixes (Will)
      • 2D ruler tick spacing done
      • 3D ruler tick marks done
      • Widget performance (Michael) done
    •  % 3D Representations for all (ruler, bidimensional and maybe fiducials/caption) (Will, Nicole)
  •  % CTK DICOM widget (Steve, Nicole) - interface done, some debugging to do.
    • % Implement Slicer Data Bundle (SDB a.k.a. lollipop): put the entire scene into a single folder, zip the folder, add a proper DICOM secondary capture header, which exposes the scenesnapshots. This should be the default save option. Everything else should be accessible through an "advanced" button. (Nicole) - prototype done, but not integrated with app. Zip is done by Nicole, Steve did secondary capture dicom.
    •  % Listener, Query, Retrieve, Send (Steve) - done except for Send (which is grayed out for now)
  •  % Optimize Model Displayable Manager (Alex)
  •  % Brainsfit: the slicer 3 brainsfit will be available in slicer 4 (Hans)
  •  % Fix resize crash due to extent problem in reslice mask (J2) done

Infrastructure

  • Tk/Tcl
    •  % Annotation/main interaction speedup (Steve) - replace SliceSWidget::updateAnnotation(s) with vtkMRMLSliceInformationDisplayableManager and vtkMRMLSliceLogic::CalculateInformationText - done as Data Probe - need to check windows performance
  • Extensions
    •  % ABC, SkullStripper, EMSegmenter, VMTK (?), Plastimatch, DVH extension (Jc)
    •  % Support for superbuild (Jc)
  • Web: minor updates and tweaks
    •  % mobile skin for webkit rendering of the slicer wiki documentation pages (JC, Zack, others)
    •  % Statistics on packages and on individual extensions (Jc with input from Zack)
    •  % redirect links to slicer 4 dashboard (slicer.org download page, developer pages,....)
    •  % Slicer 4 nightlies, snapshots (monthly) and stable versions are pulled from the factory machine
    •  % Template for Slicer 4 documentation (JC)
ViewerInformation mock-up [1]
Snapshot of SliceAnnotationTree

Beginning Of The Rest

What

Slicer 4 review and programming sprint

When

July 19, 10 am -21, 4pm 2011

Who

Slicer 4 core programmers

Where

Demo room, 2nd floor, 1249 Boylston Street, Boston, MA

Why

Work on

Full List

Below is the complete list of items discussed. Items that are targeted for the RSNA 2011 events are preceded by a % sign, the person responsible is identified in parenthesis

UI

SlicerColorSelector using CTK color dialog
  • Reformat capabilities: We need a widget and possibly a slider based interface. (Nicole, Will)
  • Cosmetics
    •  % Volume Rendering (J2)
    •  % Models module (J2)
    •  % Editor (Steve)
    •  % Main GUI face lift for the Slice viewers: reduce permanent non-image components. Reduce the number and depth of submenus. (J2)
    •  % Main Gui 3D viewers should have similar appearance to slice viewers (J2)
    •  % Stabilize annotations module (Nicole)
  • Update tutorials (Sonia)
    • After Facelift of Main Gui and some core modules
    • Using GUI Testing?
  •  % Volume rendering transfer function (J2)
    •  %% Mac crash in transfer functions
    • stability
    • Jittery, and banding on MAC
    • %Threshold
    • Better appearance of the elements of the transfer function. They look ugly and are not antialiased. Check the graph in Ohloh and mouse over it. Looks much nicer! (according to the page source, the charts are made with HighCharts)
    • Level of Detail (interrupt CPU VR when accessing the transfer function editor) + progress indicator during long renders
    • Group selection and shifting
  •  % Color selector
    •  % the default color selector should be THE CTK color dialog (see picture to the right). (J2)
    • add search function to the labels (J2)
  •  % Documentation on wiki (at least stubs)
  •  % Linking and CompareView (Jim)
  • ROI Slice Displayable Manager
    •  % Centering on the slice (Alex)
  •  % Updated Icons (Annotations, HotLink, cursors, new layouts) (Wendy) done, i believe.

Under the hood

Possible Treeview variation
  • GPU Volume Rendering
    • Support for ATI and MAC
    • How many GPU render engines to support/provide?
      • Ron says: I just need a single one that works for flythroughs and can handle the combination of volume rendering, cross-sections, surface models, annotations
  • hierarchies
    • display: the current display is confusing. Image shows a possible modification
    •  % Collapsing Model Hierarchies controls display of children (Nicole)
    •  % Collapsing Annotation Hierarchies controls display of children (Nicole and Daniel)
    • drag and drop capability
  •  % Annotations (Nicole, Daniel)
    • vtkWidgets - bug fixes (Will)
    • GUI layout (Nicole)
    • compositing with volume rendering does not work properly
      •  % 3D Representations for all (ruler, bidimensional and maybe fiducials/caption) (Will, Nicole)
  •  % CTK DICOM widget (Steve, Nicole)
    • % Implement Slicer Data Bundle (SDB a.k.a. lollipop): put the entire scene into a single folder, zip the folder, add a proper DICOM secondary capture header, which exposes the scenesnapshots. (Nicole)
    •  % Listener, Query, Retrieve, Send (Steve)
    • use DICOM widget local database as default mechanism for load/save
    • everything else is import/export
    • Slicer should have a single location for these operations
  • DisplayModule
  •  % Optimize Model Displayable Manager (Alex)

Infrastructure

  • Move to git/gerrit (TBD - can it be used with git-svn or is the suggestion to retire svn?)
  • GUI Testing
    • Instrumenting CTK widgets
    • Conversion of tutorials to tests
    • What will this provide that Sikuli does not? Sonia is ready to use Sikuli unless there is a good reason not to.
  • Tk/Tcl
    • Removing the last dependencies in core interaction loops - see Slicer4:SliceInteractions
    •  % Annotation/main interaction speedup (Steve)
    • Maintain improve/functionality for Editor
  • Performance optimization
    • Module for profiling events
  • Extensions
    •  % ABC, EMSegmenter, VMTK (Jc)
    •  % Support for superbuild (Jc)
    • Requirements for testing, documentation, tutorials, and continued support from developers
      • How to name different levels of compliance
  • Downloads
    •  % Statistics on packages and on individual extensions (Jc)
    • Web pages
    • Technologies
  • Charts
    • Reference Implementation (Marcus)
  • MIDAS
    • sceneviews support
  • Interactive CLI modules

Compilation

  • issues with win64 debug build - these impact developers more than users - we will prioritize getting nightly binary builds working on all platforms for RSNA before streamlining the developer process
    • Fix numpy builds on win64
      • Need to embed manifests in numpy pyd files
    • Fix win64 tcl version
      • currently permission issue with dlls in win64 slicerlib mirror
      • currently using tcl8.4 on win32 and elsewhere but tcl8.5 on win64 (should use the same everywhere if possible - we may want to switch to the active tcl pre-built distributions for windows)
  • Slicer4 dashboard

Agenda

Attending

  1. Ron Kikinis
  2. Steve Pieper
  3. Nicole Aucoin
  4. Julien Finet
  5. Daniel Haehn (only 07/19)
  6. Jean-Christophe Fillion-Robin
  7. Stephen Aylward
  8. Will Schroeder
  9. Jim Miller
  10. Suares Tamekue Tatuebu
  11. Luping Fang
  12. Mike Halle
  13. Andrey Fedorov