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/")
 
(61 intermediate revisions by 6 users not shown)
Line 1: Line 1:
=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=
 
*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=
 
 
==RSNA 2011 Targeted Objectives==
 
==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===
 
===UI===
* Main GUI Cosmetics
+
{|
** % face lift for the Slice viewers: reduce permanent non-image components. Reduce the number and depth of submenus. (J2)
+
|align="left"|
** % Main Gui 3D viewers should have similar appearance to slice viewers (J2)
+
* [http://www.na-mic.org/Bug/view.php?id=1337 Main GUI Cosmetics]
** % scenview and screensnapshot icons move to the icon bar at the top of the main gui. (J2)
+
** % 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
 
* Module Cosmetics
** % [http://www.na-mic.org/Bug/view.php?id=1252 Volume Rendering] (J2)
+
** % [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)
+
** % [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] (Steve)
+
** % [http://www.na-mic.org/Bug/view.php?id=1281 Editor], see picture to the right (Steve) (Done)
* % Stabilize annotations module (Nicole, Daniel)
+
** % [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)
 
* Update tutorials (Sonia)
 
* % Volume rendering transfer function
 
* % Volume rendering transfer function
** %% Mac crash in transfer functions (J2)
+
** %% Mac crash in transfer functions (J2) (in progress)
** stability and usability such as jittery, and gradient banding on MAC (J2)
+
** stability and usability such as jittery, and gradient banding on MAC (J2) (gradient banding not started yet)
** %Threshold feature (J2)
+
** %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)
 
** % Level of Detail (interrupt CPU VR when accessing the transfer function editor) + progress indicator during long renders (J2)
 
* % Documentation on wiki (at least stubs)
 
* % Documentation on wiki (at least stubs)
 
* % Linking and CompareView (Jim)
 
* % Linking and CompareView (Jim)
* ROI Slice Displayable Manager
+
* ROI Slice Displayable Manager '''done'''
** % Centering on the slice (Alex)
+
** % Centering on the slice (Alex) '''done''' (Now implemented even better with ROI widget in slice view)
* % Updated Icons (Annotations, HotLink, cursors, new layouts) (Wendy)
+
* % 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===
 
===Under the hood===
 
*hierarchies
 
*hierarchies
**display: the current display is confusing. Image shows a possible modification
+
** % Collapsing Model Hierarchies controls display of children (Nicole) '''done'''
** % Collapsing Model Hierarchies controls display of children (Nicole)
 
 
** % Collapsing Annotation Hierarchies controls display of children (Nicole and Daniel)
 
** % Collapsing Annotation Hierarchies controls display of children (Nicole and Daniel)
**drag and drop capability
 
 
* % Annotations (Nicole, Daniel)
 
* % Annotations (Nicole, Daniel)
 
** vtkWidgets - bug fixes (Will)
 
** vtkWidgets - bug fixes (Will)
*** % 3D Representations for all (ruler, bidimensional and maybe fiducials/caption) (Will, Nicole)
+
*** 2D ruler tick spacing '''done'''
* % CTK DICOM widget (Steve, Nicole)
+
*** 3D ruler tick marks '''done'''
**% 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)
+
*** Widget performance (Michael) '''done'''
** % Listener, Query, Retrieve, Send (Steve)
+
** % 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)
 
* % 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===
 
===Infrastructure===
[[image:SliceAnnotations-2011-07.png|400px|right|thumb|Snapshot of SliceAnnotationTree]]
+
{|
 +
|align="left" rowspan="2"|
 
* Tk/Tcl
 
* Tk/Tcl
** % Annotation/main interaction speedup (Steve)
+
** % Annotation/main interaction speedup (Steve) - replace SliceSWidget::updateAnnotation(s) with vtkMRMLSliceInformationDisplayableManager and vtkMRMLSliceLogic::CalculateInformationText - done as Data Probe - need to check windows performance
 
* Extensions
 
* Extensions
** % ABC, EMSegmenter, VMTK (Jc)
+
** % ABC, SkullStripper, EMSegmenter, VMTK (?), Plastimatch, [[2011_Summer_Project_Week_DVH|DVH extension]] (Jc)
 
** % Support for superbuild (Jc)
 
** % Support for superbuild (Jc)
* Downloads
+
* 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)
 
** % Statistics on packages and on individual extensions (Jc with input from Zack)
* Web: minor updates and tweaks
 
 
** % redirect links to slicer 4 dashboard (slicer.org download page, developer pages,....)
 
** % 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
 
** % 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=
 +
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=
 +
*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=
 
== Full List ==
 
== 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
 
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
Line 95: Line 122:
 
* ROI Slice Displayable Manager
 
* ROI Slice Displayable Manager
 
** % Centering on the slice (Alex)
 
** % Centering on the slice (Alex)
* % Updated Icons (Annotations, HotLink, cursors, new layouts) (Wendy)
+
* % Updated Icons (Annotations, HotLink, cursors, new layouts) (Wendy) '''done''', i believe.
  
 
===Under the hood===
 
===Under the hood===
Line 120: Line 147:
 
**Slicer should have a single location for these operations
 
**Slicer should have a single location for these operations
 
*DisplayModule
 
*DisplayModule
**[http://www.slicer.org/slicerWiki/index.php/Slicer4:DisplayModule Draft of the DisplayModule]
+
**[https://www.slicer.org/wiki/Slicer4:DisplayModule Draft of the DisplayModule]
 
* % Optimize Model Displayable Manager (Alex)
 
* % Optimize Model Displayable Manager (Alex)
  
Line 151: Line 178:
  
 
=== Compilation ===
 
=== Compilation ===
* Fix numpy builds on win64
+
* 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
** Need to embed manifests in numpy pyd files
+
** Fix numpy builds on win64
* Fix win64 tcl version  
+
*** Need to embed manifests in numpy pyd files
** currently permission issue with dlls in win64 slicerlib mirror
+
** Fix win64 tcl version  
** currently using tcl8.4 on win32 and elsewhere but tcl8.5 on win64 (should use the same everywhere if possible)
+
*** 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
 
* Slicer4 dashboard
  

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