Difference between revisions of "2012 Summer Project Week:Charting"
From NAMIC Wiki
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. | + | Image:LayoutThreeOverThreeQuantitative.jpg|New chart layout with three charts. |
</gallery> | </gallery> | ||
Revision as of 21:34, 21 June 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.