2012 Summer Project Week:Charting
From NAMIC Wiki
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
- Added "3 over 3 Quantitative View"
- Feature requests entered on Mantis
- Line styles implemented, waiting to be merged