Difference between revisions of "2012 Summer Project Week:Charting"
From NAMIC Wiki
(11 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
<gallery> | <gallery> | ||
Image:PW-MIT2012.png|[[2012_Summer_Project_Week#Projects|Projects List]] | Image:PW-MIT2012.png|[[2012_Summer_Project_Week#Projects|Projects List]] | ||
− | 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 13: | Line 14: | ||
<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 25: | ||
<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. | ||
+ | |||
Line 28: | Line 40: | ||
<h3>Progress</h3> | <h3>Progress</h3> | ||
+ | * 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: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.
Progress
- Added "3 over 3 Quantitative View"
- Feature requests entered on Mantis
- Line styles implemented, waiting to be merged