2012 Summer Project Week:Charting

From NAMIC Wiki
Jump to: navigation, search
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