Difference between revisions of "2012 Summer Project Week:Charting"

From NAMIC Wiki
Jump to: navigation, search
 
(8 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
Image:PW-MIT2012.png|[[2012_Summer_Project_Week#Projects|Projects List]]
 
Image:PW-MIT2012.png|[[2012_Summer_Project_Week#Projects|Projects List]]
 
Image:SlicerRT-0.2_screenshot.png|A chart with SlicerRT.
 
Image:SlicerRT-0.2_screenshot.png|A chart with SlicerRT.
 +
Image:LayoutThreeOverThreeQuantitative.jpg|New chart layout with three charts.
 
</gallery>
 
</gallery>
  
Line 39: Line 40:
  
 
<h3>Progress</h3>
 
<h3>Progress</h3>
* Added "3 over 3 Quantitative View"
+
* Added "[[:File:LayoutThreeOverThreeQuantitative.jpg|3 over 3 Quantitative View]]"
 +
* Feature requests entered on [http://www.na-mic.org/Bug/search.php?project_id=3&category=Chart&sticky_issues=on&sortby=id&dir=DESC&hide_status_id=90&tag_string=Summer+AHM+2012 Mantis]
 +
* Line styles implemented, waiting to be [http://www.na-mic.org/Bug/view.php?id=1854 merged]
  
 
</div>
 
</div>

Latest revision as of 21:38, 21 June 2012

Home < 2012 Summer Project Week:Charting

Key Investigators

  • GE: Jim Miller
  • Isomics: Steve Pieper

Objective

A view for charting was developed at the 2012 Winter Project Week and introduced in Slicer 4.1. The charting architectures includes ArrayNodes, ChartNodes, ChartViews, ChartControllerWidgets. Under the hood, a JavaScript library jqPlot is used for rendering.

Goal for this project is refine and extend the architecture and implementation of this first implementation.


Approach, Plan

Extending jqPlot 
jqPlot is downloaded as a tarball at build time. This limits/complicates our ability to patch the code. Plan to branch the jqPlot development tree using an hg-git bridge.
Hooks 
Extend the use of signals from jqPlot back into Slicer4
Chart types 
Bar charts need a bit of refinement (patching). Error bars are not implemented.
Array provenance 
Arrays are not linked to their source data. This limits the ability auto-color arrays that are derived from data for specific "labels".
Charts for publications 
jqPlot uses an HTML canvas, a rasterized representation.
Updating data 
Exposing data directly to QWebView would allow for data to be updated without reconstructing the chart.


Progress

Delivery Mechanism

Integrated directly into Slicer4

References