ScanOcean 14 December 2011. Goals The next generation of ScanSee Provide online and offline data...

Post on 14-Dec-2015

213 views 0 download

Tags:

transcript

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