Skip to content

Latest commit

 

History

History
91 lines (82 loc) · 3.73 KB

roadmap.md

File metadata and controls

91 lines (82 loc) · 3.73 KB

Roadmap/Status

Status: Stable and in maintenance mode. See backlog for future features that might be added

Phase 6 (completed May, 2014)

  • API documentation
  • Testing for other browsers and platforms (automated if possible)

Phase 5 (completed April 17, 2014)

  • Image support
    • color image support (DONE)
  • Pixel data management
    • image cache management (DONE)
  • Code cleanup / refactoring / documentation

Phase 4 (completed April 13, 2014)

  • Turn on/off interpolation of image pixels (DONE)
  • Performance optimization for zoom/pan operations (DONE)
  • Example for invert functionality (DONE)
  • Example for interpolation on/off (DONE)
  • Consider moving the markup functionality to another library (DONE - Deleted for now)
  • Add support for resizing the enabled image (DONE)
  • Rendering of images with non square pixels (rowPixelSpacing != columnPixelSpacing) (DONE)
  • Consider moving setToFontCoordinateSystem and setToPixelCoordinateSystem to tools library? (DONE - moved setToFontCoordinateSystem to tools lib as setContextToDisplayFontSize)
  • Code cleanup / refactoring / documentation
    • rename viewport.centerX and viewport.centerY to be viewport.translation.x and viewport.translation.y (DONE)
    • rename viewport.windowWidth and viewport.windowCenter to be viewport.window.width and viewport.window.center (DONE)
    • replace customEventPolyFill with our own event implementation so we don't cause side effects in other libraries that might try to do the same (DONE)
    • Consider making enable() not take an imageId or viewport and leave that up to showImage() instead (DONE - current api is fine, not doing this)
    • getViewport() to return a copy (DONE)
    • setViewport() to make a copy (DONE)
  • Packaging/build related
    • packaged as a bower module

Phase 3 (completed April 11, 2014)

  • Code cleanup / refactoring / documentation (done)
  • run jshint on build (done)
  • ImageLoader design (done - in wiki)
  • ImageLoader API Documentation (done - in wiki)
  • WADO ImageLoader plugin (done - now cornerstoneWADOImageLoader project)
  • Extract tools to separate library (done - now cornerstoneTools project)
  • Optimize image display (done - lut generation, stored pixel data -> canvas, etc) (done)
  • Invert image (done - need example though)
  • Support for high dpi displays (e.g. retina) (done)

Phase 2 (completed March 27, 2014)

  • Tool framework
    • Data management
    • Handle helpers
    • Tool dragging
    • Drawing Geometry
    • Drawing Text
    • Coordinate conversion helper from page coordinate to image coordinate
  • Interaction paradigm
    • Tool adjustment through handles
    • Delete by dragging tool off screen
    • Tool states
  • Generic tools for interactively adjusting window width/window center, zoom, pan and scroll
    • WW/WC
    • Pan
    • Zoom
    • Stack Scroll
    • Length Measurement
    • Pixel Probe
    • Rectangle ROI
    • Elliptical ROI
  • Viewport Event - fired every time a viewport property changes
  • Render Event - fired every time the image is rendered (useful for generating overlays)

Phase 1 / proof of concept (completed March 19, 2014)

  • Target browser OS: Mac OS X (desktop)
  • Target browser: Google Chrome
  • Display of 16 bit unsigned MRI Image from pixel data embedded in javascript (no server)
  • Image rendered using Modality LUT transform and VOI LUT Transform
  • Programmatic support for modifying the following:
    • Window/Center adjustments
    • Zooming/Scaling
    • Panning/Translating
    • Image displayed
  • Markup mode - static configuration done via HTML5 data attributes, no javascript needed
  • grunt based build system to create minified version