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).