feat: Add extensibility for tmtv and segmentation modes (#6128)
* feat: Add extensibility for tmtv and segmentation modes * Fixes for ordering issues on laod * Remove unnecessary reference lookup * Chane side panel timing to fix tests * PR comments - change how mode definitions get created * Improvements to mode customizations * Start organizing customizations * Misc fixes for a customization demo page * Security fixes * PR requested changes to naming
This commit is contained in:
1 parent
f79055f98e
commit
b266c0a86a
49 files changed
+2653
-1215
No files matched your search
@@ -0,0 +1,21 @@
|
||||
// Example URL-loaded customization: ctPresets
|
||||
//
|
||||
// Replaces the CT window/level presets offered in the window-level menu with a
|
||||
// site-specific set (key: `cornerstone.windowLevelPresets`). Other modalities
|
||||
// keep their defaults because only the `CT` entry is overridden.
|
||||
//
|
||||
// Load it with `?customization=tools/ctPresets`.
|
||||
{
|
||||
"global": {
|
||||
"cornerstone.windowLevelPresets": {
|
||||
"$merge": {
|
||||
"CT": [
|
||||
{ "id": "ct-soft-tissue", "description": "Soft tissue", "window": "400", "level": "40" },
|
||||
{ "id": "ct-lung", "description": "Lung", "window": "1500", "level": "-600" },
|
||||
{ "id": "ct-angio", "description": "Angio", "window": "600", "level": "300" },
|
||||
{ "id": "ct-bone", "description": "Bone", "window": "2500", "level": "480" }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
// Example URL-loaded customization: measurementLabels
|
||||
//
|
||||
// Makes the viewer prompt for a label from a fixed list whenever a measurement
|
||||
// is created (key: `measurementLabels`). `labelOnMeasure` triggers the prompt on
|
||||
// creation and `exclusive` restricts entries to the provided items.
|
||||
//
|
||||
// Load it with `?customization=tools/measurementLabels`.
|
||||
{
|
||||
"global": {
|
||||
"measurementLabels": {
|
||||
"$set": {
|
||||
"labelOnMeasure": true,
|
||||
"exclusive": true,
|
||||
"items": [
|
||||
{ "value": "Head", "label": "Head" },
|
||||
{ "value": "Shoulder", "label": "Shoulder" },
|
||||
{ "value": "Knee", "label": "Knee" },
|
||||
{ "value": "Toe", "label": "Toe" }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
// Example URL-loaded customization: smoothRotate
|
||||
//
|
||||
// Adds a "Smooth Rotate" tool button to the More Tools menu of the basic and
|
||||
// longitudinal viewers. It activates the cornerstone `PlanarRotate` tool, which
|
||||
// rotates the image freely as you drag (unlike the fixed 90° "Rotate Right").
|
||||
//
|
||||
// It extends the default toolbar customizations registered by the cornerstone
|
||||
// extension (`cornerstone.toolbarButtons` / `cornerstone.toolbarSections`) using
|
||||
// immutability-helper `$push` commands, so the built-in buttons are preserved.
|
||||
//
|
||||
// Load it with `?customization=tools/smoothRotate`.
|
||||
{
|
||||
"global": {
|
||||
"cornerstone.toolbarButtons": {
|
||||
"$push": [
|
||||
{
|
||||
"id": "SmoothRotate",
|
||||
"uiType": "ohif.toolButton",
|
||||
"props": {
|
||||
"type": "tool",
|
||||
// Re-use the existing rotate icon.
|
||||
"icon": "tool-rotate-right",
|
||||
"label": "Smooth Rotate",
|
||||
"tooltip": "Smooth Rotate (drag to rotate the image freely)",
|
||||
"commands": {
|
||||
"commandName": "setToolActiveToolbar",
|
||||
"commandOptions": {
|
||||
"toolName": "PlanarRotate"
|
||||
}
|
||||
},
|
||||
"evaluate": "evaluate.cornerstoneTool"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"cornerstone.toolbarSections": {
|
||||
"MoreTools": {
|
||||
"$push": ["SmoothRotate"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user