* feat: 🎸 DICOM SR STOW on MeasurementAPI Closes: #758 * feat: 🎸 Adding the dataExchance from DICOM SR * feat: 🎸 Fix some issues and get the retrieve measurements working * feat: 🎸 Preventing measurement tool helpers to broke because the data is not Number (it comes as string from dcmjs) * feat: 🎸 Adding a button to start testing SATE functionality * feat: 🎸Small fixes into the code * feat: 🎸 MAke sure we get latest SR in the study, even on lazyLoad mode * Revert "feat: 🎸 Preventing measurement tool helpers to broke because the data is not Number (it comes as string from dcmjs)" This reverts commit 4b3a1efb5810487d2319826fd59c03d779882b5e. * feat: 🎸 Make sure after sync we update the viewports and also that annotation tools are set to passive, so it can be drawn in the viewports * feat: 🎸 Remove console logs and start using OHIF.log * feat: 🎸 Refactor measurement table to use Snackbar service of messages and make sure we only show save button if server type is dicomWeb * feat: 🎸 Refactor to remove mocked wadoRoot and use server * Fix to expose error once we can't save the SR * Update DCMJS into latest dev version * Update dcmjs with latest fixes * Fix PR callouts * Logging error on MeasurementReport creation * Preventing from breaking on non supported tools and also warning that some toolType is not sopported * Small error message update * Expose better the errors and when we have unsopported tools into the measurements * Renaming variable * Expose dcmjs tool support check * Change the way we warn the unsupportedTools * Adding style to the button * Small change on button style * Fix git conflicts * Fix after merge with latest master * Fix after merge with master, btn was not clickable * Fixing callouts * Adding util functions into files and refactor with JSDocs * Refactoring code, adding some basic JSDocs * Bump dcmjs with latest version and fixes * JSDocs and small refactors * yarn lock file after dcmjs update * Remove unused parameters * Registering a plain copy of server into measurementAPI * Small refactor * Start changing from toolType to toolName * Rename a function to get instanceMetadata * Adding error if server is not DICOMWeb on retrieve * Move snackbar outside of UI component and use UINotificationService * Refactor and JSDocs * Small fixes on JSDocs (style) * Remove unused import * Improve JSDocs on MeasurementApi * Remove refactor leftover * Improve JSDocs and propTypes * JSDocs and small refactors |
||
|---|---|---|
| .. | ||
| .webpack | ||
| src | ||
| CHANGELOG.md | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
@ohif/extension-cornerstone
This extension adds support for viewing and manipulating 2D medical images via a
viewport. The underlying implementation wraps the
cornerstonejs/react-cornerstone-viewport, and provides basic commands and
toolbar buttons for common actions.
Index
Extension Id: cornerstone
Commands Module
This extensions includes the following Commands and Command Definitions.
These can be registered with @ohif/core's CommandManager. After registering
the commands, they can be bound to hotkeys using the HotkeysManager and
listed in the UserPreferences modal.
You can read more about Commands, Hotkeys,
and the UserPreferences Modal in their respective locations
in the OHIF Viewer's documentation.
| Command Name | Description | Store Contexts |
|---|---|---|
rotateViewportCW |
viewports | |
rotateViewportCCW |
viewports | |
invertViewport |
viewports | |
flipViewportVertical |
viewports | |
flipViewportHorizontal |
viewports | |
scaleUpViewport |
viewports | |
scaleDownViewport |
viewports | |
fitViewportToWindow |
viewports | |
resetViewport |
viewports | |
| clearAnnotations | TODO | |
| next/previous Image | TODO | |
| first/last Image | TODO | |
nextViewportDisplaySet |
||
previousViewportDisplaySet |
||
setToolActive |
Activates tool for primary button/touch |
Toolbar Module
Our toolbar module contains definitions for:
StackScrollZoomWwwcPanLengthAngleResetCine
All use the ACTIVE_VIEWPORT::CORNERSTONE context.
Viewport Module
Our Viewport wraps cornerstonejs/react-cornerstone-viewport and is connected the redux store. This module is the most prone to change as we hammer out our Viewport interface.
Tool Configuration
Tools can be configured through extension configuration using the tools key:
...
cornerstoneExtensionConfig: {
tools: {
ArrowAnnotate: {
configuration: {
getTextCallback: (callback, eventDetails) => callback(prompt('Enter your custom annotation')),
},
},
},
},
...