Difference between revisions of "Open Source Software Specification"

From Ultrasound
Jump to navigationJump to search
Line 20: Line 20:
 
#* '''should''' be undockable (i.e. the window can be moved to a new location on the screen),
 
#* '''should''' be undockable (i.e. the window can be moved to a new location on the screen),
 
#* '''may''' be cloned so that multiple image windows could exist (overlapping and such) - If this is done, at least one '''shall''' be able to display live image data when the probe is scanning,
 
#* '''may''' be cloned so that multiple image windows could exist (overlapping and such) - If this is done, at least one '''shall''' be able to display live image data when the probe is scanning,
 +
# allow ''zooming'' of the image in the window,
 +
# allow restoring a ''zoomed'' image back to an ''unzoomed'' state,
 
# allow saving of individual image data (backscatter data) to a file,
 
# allow saving of individual image data (backscatter data) to a file,
 +
# allow saving of a complete cine to a file,
 +
# allow arbitrary cine sizes (based on available memory),
 
# have image processing controls that
 
# have image processing controls that
 
#* '''shall''' allow for image contrast/intensity changes,
 
#* '''shall''' allow for image contrast/intensity changes,
 +
#* '''shall''' allow for image filtering changes
 
#* '''may''' allow for other gray-scale image processing,
 
#* '''may''' allow for other gray-scale image processing,
 
#* '''may''' allow for pseudo-color image processing,
 
#* '''may''' allow for pseudo-color image processing,
 
#* '''shall''' allow for gain correction with at least two control points (i.e. a line),
 
#* '''shall''' allow for gain correction with at least two control points (i.e. a line),
 
+
#* '''shall''' be adjustable via the GUI
 
+
# allow entry of basic patient data (name, birthday, sex, date, physician/nurse name, etc.)
 +
# allow for control of probe parameters during live imaging that '''shall''' include
 +
#* probe scan rate (frames per second),
 +
#* probe sample frequency (depth mode),
 +
#* probe pulse frequency,
 +
#* probe pulser power,
 +
# allow for multiple probes to be attached and a selection made, on the fly, for live imaging,
 +
# use the probe button (if available) to start/stop live imaging
 +
#
 
USBUS '''should''':
 
USBUS '''should''':
 +
# have ''hot-keys'' for all of the commonly used functions (to obviate the need for using a mouse once a live scan has begun),
 
# save a JPEG or other image type of the currently displayed image (with all processing and annotations) when a backscatter file is saved,
 
# save a JPEG or other image type of the currently displayed image (with all processing and annotations) when a backscatter file is saved,
 +
# use modern, docking, window controls,
 +
# allow annotations to the image - these annotations '''shall''' include drawing arbitrary text, rectangles, circles and freehand lines and they '''should''' allow editing of those annotations once placed
 +
# allow for a complete database system to be used for storing patient data and records
 +
# support both A-mode and B-mode imaging,
 +
 +
USBUS '''may''':
 +
# allow the user to define what the probe button function will do (defaults to start/stop)

Revision as of 04:25, 26 January 2009

DEFINITIONS

The word shall will indicate items that are required in the final product.

The word should will indicate items that, while not required, are especially important and justification must be made if they are omitted from the final product.

The word may will indicate optional items in the final product.


Product Specification

This product will be known as USBUS (USB UltraSound). It shall be written in a language that fully supports the .NET object libraries. It should use the Interson USB Probe SDK for control of the USB probe hardware and it may use the SDK for producing the image (scan converting).

USBUS shall:

  1. be a graphical user interface,
  2. display live ultrasound images in a window that
    • shall be resizable,
    • shall allow scrolling (i.e. moving the image side-to-side and up/down in the window),
    • should be undockable (i.e. the window can be moved to a new location on the screen),
    • may be cloned so that multiple image windows could exist (overlapping and such) - If this is done, at least one shall be able to display live image data when the probe is scanning,
  3. allow zooming of the image in the window,
  4. allow restoring a zoomed image back to an unzoomed state,
  5. allow saving of individual image data (backscatter data) to a file,
  6. allow saving of a complete cine to a file,
  7. allow arbitrary cine sizes (based on available memory),
  8. have image processing controls that
    • shall allow for image contrast/intensity changes,
    • shall allow for image filtering changes
    • may allow for other gray-scale image processing,
    • may allow for pseudo-color image processing,
    • shall allow for gain correction with at least two control points (i.e. a line),
    • shall be adjustable via the GUI
  9. allow entry of basic patient data (name, birthday, sex, date, physician/nurse name, etc.)
  10. allow for control of probe parameters during live imaging that shall include
    • probe scan rate (frames per second),
    • probe sample frequency (depth mode),
    • probe pulse frequency,
    • probe pulser power,
  11. allow for multiple probes to be attached and a selection made, on the fly, for live imaging,
  12. use the probe button (if available) to start/stop live imaging

USBUS should:

  1. have hot-keys for all of the commonly used functions (to obviate the need for using a mouse once a live scan has begun),
  2. save a JPEG or other image type of the currently displayed image (with all processing and annotations) when a backscatter file is saved,
  3. use modern, docking, window controls,
  4. allow annotations to the image - these annotations shall include drawing arbitrary text, rectangles, circles and freehand lines and they should allow editing of those annotations once placed
  5. allow for a complete database system to be used for storing patient data and records
  6. support both A-mode and B-mode imaging,

USBUS may:

  1. allow the user to define what the probe button function will do (defaults to start/stop)