Difference between revisions of "Project Week 25/Interactive Manipulation of Plots and Graphs"

From NAMIC Wiki
Jump to: navigation, search
 
(5 intermediate revisions by the same user not shown)
Line 25: Line 25:
 
* Implement them
 
* Implement them
 
|<!-- Progress and Next steps (fill out at the end of project week), bullet points -->
 
|<!-- Progress and Next steps (fill out at the end of project week), bullet points -->
* Once updated to jqplot version 1.0.9 (necessary for click and drag) the plotting does not work anymore. The infrastructure needs update.  
+
* Once updated to jqplot version 1.0.9 (necessary for click and drag) the plotting does not work anymore. The infrastructure needs to be updated. Data selection will be hard to achieve.  
 
* We decided to switch to [http://www.vtk.org/features-2d-plots-and-charts/ vtkPlots] (jqplot will be preserved for producing plots at publication quality level). The new infrastructure will allow a direct C++ integration of the vtkTable into the plotting (e.g., all the observations and data handling are automatically set), better performance (i.e., interactive performance up to hundreds of thousands of points) and easier customization.   
 
* We decided to switch to [http://www.vtk.org/features-2d-plots-and-charts/ vtkPlots] (jqplot will be preserved for producing plots at publication quality level). The new infrastructure will allow a direct C++ integration of the vtkTable into the plotting (e.g., all the observations and data handling are automatically set), better performance (i.e., interactive performance up to hundreds of thousands of points) and easier customization.   
 
* VTK PLOTS already have the following interactive desired functionality: zooming (middle click), panning (left click) and data selection (right click).
 
* VTK PLOTS already have the following interactive desired functionality: zooming (middle click), panning (left click) and data selection (right click).
Line 32: Line 32:
 
* TO DO: connecting the new infrastructure with the Table Module.
 
* TO DO: connecting the new infrastructure with the Table Module.
 
* TO DO: implementing click and drag style interactor (e.g., https://echnotstechno.wordpress.com/2014/08/13/interactive-2d-plots-with-vtk-the-visualization-toolkit/ ).
 
* TO DO: implementing click and drag style interactor (e.g., https://echnotstechno.wordpress.com/2014/08/13/interactive-2d-plots-with-vtk-the-visualization-toolkit/ ).
 +
* '''Implemented''' : https://www.slicer.org/wiki/Documentation/Nightly/Developers/Plots
 +
  https://www.youtube.com/watch?v=5Ag0PzYw0Hk&index=4&list=PLctSHxZgiJy6TZCu56v4qqb_uIdUL_KEz
 
|}
 
|}
  

Latest revision as of 16:15, 14 February 2018

Home < Project Week 25 < Interactive Manipulation of Plots and Graphs


Back to Projects List

Key Investigators

Project Description

Objective Approach and Plan Progress and Next Steps

Implementing the following plotting and graphs infrastructure enhancement:

  • Panning a zoomed section of the graphs;
  • Click and Drag a point;
  • Data selection (select many points at once).
  • Review if jqPlot can satisfy our requirements
  • Implement them
  • Once updated to jqplot version 1.0.9 (necessary for click and drag) the plotting does not work anymore. The infrastructure needs to be updated. Data selection will be hard to achieve.
  • We decided to switch to vtkPlots (jqplot will be preserved for producing plots at publication quality level). The new infrastructure will allow a direct C++ integration of the vtkTable into the plotting (e.g., all the observations and data handling are automatically set), better performance (i.e., interactive performance up to hundreds of thousands of points) and easier customization.
  • VTK PLOTS already have the following interactive desired functionality: zooming (middle click), panning (left click) and data selection (right click).
  • The following widget, MRML and View classes have been designed and implemented: vtkMRMLPlotViewNode, vtkMRMLPlotNode, qMRMLPlotWidget, qMRMLPlotViewControllerWidget and qMRMLPlotView.
  • A New Plot Layout has been created (index 36) and exposed to the qSlicerAppMainWindow widget.
  • TO DO: connecting the new infrastructure with the Table Module.
  • TO DO: implementing click and drag style interactor (e.g., https://echnotstechno.wordpress.com/2014/08/13/interactive-2d-plots-with-vtk-the-visualization-toolkit/ ).
  • Implemented : https://www.slicer.org/wiki/Documentation/Nightly/Developers/Plots
 https://www.youtube.com/watch?v=5Ag0PzYw0Hk&index=4&list=PLctSHxZgiJy6TZCu56v4qqb_uIdUL_KEz

Illustrations

The idea is to be able to modify the parameters (in the table) of a model (blue object in the 3D View) directly from the plotting window.

SlicerAstroWiki13.png


VTKPLOTS sin and cos plus data selection (red crosses) example:

VtkPlots.png

Background and References

SlicerAstroLogo.png