* fix: 🐛 Make Plugin switch part of ToolbarModule Closes: #1241 * Move setCornerstoneViewport command into cornerstone extension * Exposing extensionManager into extension's get modules functions * Remove Plugin switch * Updating set cornerstonelayout to work on VIEWER context * Creating a customComponent for 2D MPR button * Use extensionManager to show or not buttons Adding isHidden option into toolbarModules * Make buttons hidden depending on extension registration * Fix unit test after changes on extensionManager * Remove workaround for extensionManager * Use studyMeatadataManager and remove TODO's * Remove storeContext not needed * Moving Exit 2D MPR into cornerstone extension with VTK context * Remove PluginSwitch files * Fix E2E tests * Adding cypress screenshots into gitignore * Remove extensionManager from getModuleFn functions and moving CustomComponent for VTK button to VTK extension Co-authored-by: Danny Brown <danny.ri.brown@gmail.com> |
||
|---|---|---|
| .. | ||
| .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][docs-commands], [Hotkeys][docs-hotkeys],
and the [UserPreferences Modal][docs-userprefs] 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][react-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')),
},
},
},
},
...
Annotate Tools Configuration
We currently support one property for annotation tools.
Hide handles
This extension configuration allows you to toggle on/off handle rendering for all annotate tools:
...
cornerstoneExtensionConfig: {
hideHandles: true,
},
...
## Resources
### Repositories
- [cornerstonejs/react-cornerstone-viewport][react-viewport]
- [cornerstonejs/cornerstoneTools][cornerstone-tools]
- [cornerstonejs/cornerstone][cornerstone]
<!--
Links
-->
<!-- prettier-ignore-start -->
[docs-commands]: https://www.com
[docs-hotkeys]: https://www.com
[docs-userprefs]: htt
[react-viewport]: https://github.com/cornerstonejs/react-cornerstone-viewport
[cornerstone-tools]: https://github.com/cornerstonejs/cornerstoneTools
[cornerstone]: https://github.com/cornerstonejs/cornerstone
<!-- prettier-ignore-end -->