Draft Description of User Interaction (for discussion)

Draft Description of User Interaction
This is copied from the November 13, 2015 meeting notes, to make it more visible.
Some comments are there.
March 8, 2016: THis document has been moved to Google Docs, to simplify editing and commentary.

Starting up:

  • From the command line (with an optional image identifier), or
  • Double-click an app icon.

What the user sees at startup:

  • FF image display window.
    If no image was specified, display a text message, or perhaps a clickable link to the image browser or to help.
  • FF tool bar. Will we need another, or is FF configurable?
    *Command line window, with a short message (e.g., “Type ’help’ for help.”)
  • One “results” window ??

Windows should be resizable. Should each user have a profile, with defaults?

What the user can do after startup:

  • Get help. The interface should be as standard as possible.
    Perhaps a downloadable or interactive tutorial?
  • Get an image:
  • Via browser. There may be more than one image library.
  • Via URL or other specifier.
  • Multiple image displays, separate or overlaid, must be allowed.
  • Open or close “results” windows.

With an image (or two) on the display:

  • Manipulate the image display

  • Pan, zoom, contrast (transfer function). If two images, do the same to both (if desired).

  • Image comparison: Subtraction, blink, etc.

  • Masking (e.g., of known bad spots).

  • Live (real-time) display of pixel values and hardware regions.

  • Modify the pixel aggregation algorithm (to modify zoom behavior)

  • Select regions of interest

  • Hardware regions.

  • User definable (e.g., circle or square selected from toolbar)

  • Send commands (with parameters) to the server

  • Examples of parameters:
    . The ROI
    . Min/max pixel values to process.

  • Commands must give intelligible error messages (e.g., wrong # parameters)

  • The user should be able to specify the output window.

  • Command types:
    . Region statistics (variance, etc.)
    . Pixal lists (e.g., hot/dead)
    . Image comparisons (ratios, differences, etc.)
    . Generate documentation:
    . Save command results to files (on server or client)
    . Write annotations.
    . Save image files (eg, jpeg).