Skip to content
Danny Brown edited this page Feb 5, 2019 · 2 revisions

This documentation is for a much older version of cornerstone-tools. While it may still loosely apply, more recent information can be found at https://tools.cornerstonejs.org

DICOM GSPS Restore and Save Workflow

A very simple DICOM Study Viewer displaying a CT Study with 1 series of 10 CT images and one GSPS instance. The GSPS has information about drawing a rectangle on image #2.

  1. User is at study worklist and clicks a study to view
  2. Viewer obtains list of seriesUids and instanceUids with SopClassUid for the selected studyUid
  3. Viewer finds one GSPS instance (based on SopClassUid) and fetches it from the server
  4. Viewer parses the GSPS instance and sees a rectangle for image #2. It creates a javascript object from the GSPS instance that contains the information needed by the rectangle tool.
  5. Viewer determines that a single CT series exists and creates a single enabled image to display it.
  6. Viewer calls enable on the newly created element showing image #1. cornerstone fetches and displays image #1
  7. Viewer calls TBD api call to add the image #2 rectangle to the tool state context
  8. User scrolls the stack to image #2, cornerstone emits the CornerstoneImageUpdated event
  9. The rectangle tool CornerstoneImageUpdated event handler function is called and it looks in the tool state for any data related to this new imageId. It finds the rectangle object created in step 4 and set in step 7 and renders it on the screen
  10. User uses the left mouse button to move the rectangle to a new location.
  11. User scrolls the stack to image #3, cornerstone emits the CornerstoneImageUpdated event
  12. The rectangle tool CornerstoneImageUpdated event handler function is called and it looks in the tool state for any data related to this new imageId. It doesn't find anything so nothing is rendered
  13. User clicks "Save" button to save the annotations associated with this study
  14. Viewer gets the tool state context and iterates over it looking for rectangle objects. It finds the rectangle on image #2 (that was moved by the user in step #10), creates a new GSPS object and saves it to the server
Clone this wiki locally