Difference between revisions of "2012 Summer Project Week:Charting"
From NAMIC Wiki
Line 13: | Line 13: | ||
<h3>Objective</h3> | <h3>Objective</h3> | ||
− | A '''view''' for charting was developed at the [[2012 Winter Project Week:Charts| 2012 Winter Project Week]] and introduced in Slicer 4.1. | + | A '''view''' for charting was developed at the [[2012 Winter Project Week:Charts| 2012 Winter Project Week]] and introduced in Slicer 4.1. The charting architectures includes ArrayNodes, ChartNodes, ChartViews, ChartControllerWidgets. Under the hood, a JavaScript library [http://www.jqPlot.com jqPlot] |
+ | is used for rendering. | ||
+ | |||
+ | Goal for this project is refine and extend the architecture and implementation of this first implementation. | ||
Line 21: | Line 24: | ||
<h3>Approach, Plan</h3> | <h3>Approach, Plan</h3> | ||
+ | |||
+ | ; 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. | ||
+ | |||
Revision as of 20:04, 25 May 2012
Home < 2012 Summer Project Week:ChartingKey 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.