7
ScanOcean 14 December 2011

ScanOcean 14 December 2011. Goals The next generation of ScanSee Provide online and offline data browsing, analysis, and visualization File based data

Embed Size (px)

Citation preview

ScanOcean

14 December 2011

Goals

• The next generation of ScanSee • Provide online and offline data

browsing, analysis, and visualization • File based data browsing for various

formats, including HDF5, MDA and TIFF

• Support for area detectors, point detectors and multiple simultaneous detectors

• Plug-in architecture for extensibility • Ability to launch legacy code (using

file based communication for IO)

DStar Data Model• dstar::AbstractObject

– dstar::AbstractAttribute• dstar::HDF5Attribute

– dstar::AbstractData• dstar::HDF5Data

– dstar::HDF5DataScalar– dstar::HDF5DataSimple

– dstar::AbstractGroup• dstar::HDF5Group

– dstar::HDF5File

– dstar::HDF5Object• dstar::HDF5Attribute• dstar::HDF5Data• dstar::HDF5Group

• dstar::AbstractView– ImageView– PropertiesView– TableView– TreeView

Views

Next Steps

• Axes/dimension scale support– General support in DStar– H5DS support to HDF5 classes in DStar– Ability to manually assign axes (i.e. dialog box)

• Display axes in TableView and ImageView• At this point, there will be a feature in the prototype

that’s not in HDFView• Mid to late January 2012 – start on live viewer

prototype for Area Detector / EPCIS

Mantid & Qwt• Mantid uses Qwt for its 2D plots and image display• Qwt provides xy-curve plots, histograms, image plots, and

various other widgets• For 2D line plotting, we’ll use Qwt’s curve plots (for now)• For image display, we’ll use our own• Qwt has a raster plot for image data

– Pros:• Displays axes labels

– Cons:• Doesn’t take advantage of Qt’s scene graph for ‘fancy’ interactive overlays. We’ll

have to rewrite it soon anyway

• Qwt has a nicely designed hierarchy for plots and helper classes such as color map application (similar to VTK’s in the latter case)

Big To-do List• Small (<= 1 day)

– Support many different numeric data types in ImageView– Set display precision for floating point numbers in TableView– Speed-up image display with pointer arithmetic instead of indexing– Attribute view/editor

• Moderate (<= 1 week)– Refactor TableView and ImageView into 2D slice view and subclasses– Region zoom tool in ImageView– Create a graph view using Qwt as underlying plotter– Tab and pop-out windows in addition to MDI– Re-use allocated buffers more when fetching data from files– Refactor using Mediator pattern to create a data/view manager– Validate data objects for use with a data view

• Large (multiple weeks)– Factory creational pattern in data model to enforce smart pointer use– Good Color Map Editor (with log maps, saving/restoring maps)– Refactor application of color maps out of ImageView (use templates)***– Pre-fetch data for speed-up***

• Still need an icon• More documentation, as always