@3cr/viewer-browser 0.0.162 → 0.0.195

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/.circleci/config.yml +8 -6
  2. package/__tests__/index.spec.ts +31 -24
  3. package/components.d.ts +32 -0
  4. package/dist/Viewer3CR.js +44 -27
  5. package/dist/Viewer3CR.mjs +22731 -17742
  6. package/dist/Viewer3CR.umd.js +44 -27
  7. package/index.html +5 -8
  8. package/index.ts +7 -2
  9. package/package.json +4 -2
  10. package/playground/index.html +6 -4
  11. package/src/App.vue +12 -4
  12. package/src/__tests__/app.spec.ts +2 -13
  13. package/src/assets/magic_wand.svg +24 -0
  14. package/src/components/WebGL3DR.vue +53 -92
  15. package/src/components/__tests__/webgl3dr.spec.ts +29 -48
  16. package/src/{demo → components/demo}/DemoModal.vue +1 -1
  17. package/src/{demo → components/demo}/DemoPatientModal.vue +4 -1
  18. package/src/components/demo/__tests__/DemoModal.spec.ts +25 -0
  19. package/src/components/demo/__tests__/DemoPatientModal.spec.ts +37 -0
  20. package/src/components/demo/__tests__/options.spec.ts +25 -0
  21. package/src/components/demo/licence/DemoLicenceEnableCloudStorageModal.vue +64 -0
  22. package/src/{demo → components/demo}/licence/DemoLicenceInfoModal.vue +5 -4
  23. package/src/{demo → components/demo}/licence/DemoLicenceSendToPartyModal.vue +6 -4
  24. package/src/{demo → components/demo}/licence/DemoLicenceShareToMobileModal.vue +8 -6
  25. package/src/components/demo/licence/__tests__/DemoLicenceEnableCloudStorageModal.spec.ts +37 -0
  26. package/src/components/demo/licence/__tests__/DemoLicenceInfoModal.spec.ts +37 -0
  27. package/src/components/demo/licence/__tests__/DemoLicenceSendToPartyModal.spec.ts +36 -0
  28. package/src/components/demo/licence/__tests__/DemoLicenceShareToMobileModal.spec.ts +51 -0
  29. package/src/{demo → components/demo}/options.ts +18 -20
  30. package/src/components/demo/patient/DemoPatientEnableCloudStorageModal.vue +64 -0
  31. package/src/{demo → components/demo}/patient/DemoPatientInfoModal.vue +5 -4
  32. package/src/{demo → components/demo}/patient/DemoPatientSendToPartyModal.vue +4 -3
  33. package/src/{demo → components/demo}/patient/DemoPatientShareToMobileModal.vue +8 -6
  34. package/src/components/demo/patient/__tests__/DemoPatientEnableCloudStorageModal.spec.ts +37 -0
  35. package/src/components/demo/patient/__tests__/DemoPatientInfoModal.spec.ts +37 -0
  36. package/src/components/demo/patient/__tests__/DemoPatientSendToPartyModal.spec.ts +36 -0
  37. package/src/components/demo/patient/__tests__/DemoPatientShareToMobileModal.spec.ts +51 -0
  38. package/src/components/loading/LoadingSpinner.vue +1 -1
  39. package/src/components/modal/ActionRail.vue +96 -0
  40. package/src/components/modal/AskAI.vue +250 -0
  41. package/src/components/modal/CloseViewerModal.vue +104 -0
  42. package/src/components/modal/MftpWebGL3DRModal.vue +415 -834
  43. package/src/components/modal/ViewerActionRail.vue +123 -0
  44. package/src/components/modal/ViewerAnnotationModal.vue +115 -0
  45. package/src/components/modal/ViewerAnnotations.vue +283 -0
  46. package/src/components/modal/ViewerDisplaySettings.vue +102 -0
  47. package/src/components/modal/ViewerNavigationDrawer.vue +90 -0
  48. package/src/components/modal/ViewerNavigationDrawerContent.vue +126 -0
  49. package/src/components/modal/ViewerNavigationDrawerFooter.vue +111 -0
  50. package/src/components/modal/ViewerNavigationDrawerHeader.vue +63 -0
  51. package/src/components/modal/__tests__/CloseViewerModal.spec.ts +60 -0
  52. package/src/components/modal/__tests__/{mftp-webgl-3dr-modal.spec.ts → MftpWebGL3DRModal.spec.ts} +47 -298
  53. package/src/components/modal/__tests__/ViewerAnnotationModal.spec.ts +79 -0
  54. package/src/components/modal/__tests__/ViewerDisplaySettings.spec.ts +61 -0
  55. package/src/components/modal/__tests__/ViewerNavigationDrawer.spec.ts +32 -0
  56. package/src/components/modal/__tests__/ViewerNavigationDrawerContent.spec.ts +29 -0
  57. package/src/components/modal/__tests__/ViewerNavigationDrawerFooter.spec.ts +43 -0
  58. package/src/components/modal/__tests__/ViewerNavigationDrawerHeader.spec.ts +37 -0
  59. package/src/components/modal/actions/Action.vue +40 -0
  60. package/src/components/modal/actions/Flip3dAction.vue +79 -0
  61. package/src/components/modal/actions/FlipHorizontalAction.vue +36 -0
  62. package/src/components/modal/actions/FlipVerticalAction.vue +36 -0
  63. package/src/components/modal/actions/FullscreenAction.vue +47 -0
  64. package/src/components/modal/actions/NavigationCubeAction.vue +33 -0
  65. package/src/components/modal/actions/PanAction.vue +78 -0
  66. package/src/components/modal/actions/ResetViewAction.vue +29 -0
  67. package/src/components/modal/actions/Rotate2dAction.vue +78 -0
  68. package/src/components/modal/actions/Slice3dAction.vue +71 -0
  69. package/src/components/modal/actions/ZoomAction.vue +70 -0
  70. package/src/components/modal/actions/__tests__/Action.spec.ts +29 -0
  71. package/src/components/modal/actions/__tests__/Flip3dAction.spec.ts +48 -0
  72. package/src/components/modal/actions/__tests__/FlipHorizontalAction.spec.ts +17 -0
  73. package/src/components/modal/actions/__tests__/FlipVerticalAction.spec.ts +17 -0
  74. package/src/components/modal/actions/__tests__/FullscreenAction.spec.ts +28 -0
  75. package/src/components/modal/actions/__tests__/NavigationCubeAction.spec.ts +25 -0
  76. package/src/components/modal/actions/__tests__/PanAction.spec.ts +46 -0
  77. package/src/components/modal/actions/__tests__/ResetViewAction.spec.ts +17 -0
  78. package/src/components/modal/actions/__tests__/Rotate2dAction.spec.ts +23 -0
  79. package/src/components/modal/actions/__tests__/Slice3dAction.spec.ts +14 -0
  80. package/src/components/modal/actions/__tests__/ZoomAction.spec.ts +34 -0
  81. package/src/components/modal/composables/__tests__/useNavigationCubeObserver.spec.ts +56 -0
  82. package/src/components/modal/composables/useEventListener.ts +22 -0
  83. package/src/components/modal/composables/useNavigationCubeObserver.ts +104 -0
  84. package/src/components/selectors/ValueSelector.vue +30 -33
  85. package/src/components/selectors/__tests__/value-selector.spec.ts +1 -1
  86. package/src/components/sliders/DoubleSliderSelector.vue +79 -71
  87. package/src/components/sliders/VerticalSliderSelector.vue +12 -17
  88. package/src/components/sliders/__tests__/double-slider-selector.spec.ts +1 -1
  89. package/src/components/sliders/__tests__/vertical-slider-selector.spec.ts +1 -1
  90. package/src/dataLayer/__tests__/clamp.spec.ts +16 -0
  91. package/src/dataLayer/__tests__/eventHandlers.spec.ts +38 -0
  92. package/src/dataLayer/__tests__/getIconForPreset.spec.ts +40 -0
  93. package/src/dataLayer/__tests__/patchDataOverlay.spec.ts +88 -0
  94. package/src/dataLayer/__tests__/scanState.spec.ts +93 -0
  95. package/src/dataLayer/__tests__/useViewer3cr.spec.ts +10 -0
  96. package/src/dataLayer/__tests__/viewer3cr.spec.ts +331 -0
  97. package/src/dataLayer/clamp.ts +9 -0
  98. package/src/dataLayer/eventHandlers.ts +26 -0
  99. package/src/dataLayer/patchDataOverlay.ts +101 -0
  100. package/src/dataLayer/scanState.ts +105 -26
  101. package/src/dataLayer/useViewer3cr.ts +7 -0
  102. package/src/dataLayer/viewer3cr.ts +410 -0
  103. package/src/helpers/__tests__/layout-overlay-style.spec.ts +24 -22
  104. package/src/helpers/__tests__/model-helper.spec.ts +44 -13
  105. package/src/helpers/layoutOverlayStyle.ts +16 -27
  106. package/src/helpers/modelHelper.ts +62 -10
  107. package/src/models/Callbacks.ts +2 -2
  108. package/src/models/LoadViewerOptions.ts +2 -0
  109. package/src/models/LoadViewerPayload.ts +1 -0
  110. package/src/notifications/notification.ts +3 -4
  111. package/src/plugins/vuetify.ts +5 -0
  112. package/src/services/gpt/__tests__/gpt.service.spec.ts +27 -0
  113. package/src/services/gpt/gpt.service.ts +27 -0
  114. package/static/3cr-types-browser/index.ts +74 -0
  115. package/static/3cr-types-browser/types/Action.ts +6 -0
  116. package/static/3cr-types-browser/types/ActionData.ts +4 -0
  117. package/static/3cr-types-browser/types/AlphaKeys.ts +5 -0
  118. package/static/3cr-types-browser/types/AnchorPoint.ts +12 -0
  119. package/static/3cr-types-browser/types/CallToAction.ts +5 -0
  120. package/static/3cr-types-browser/types/ColourData.ts +7 -0
  121. package/static/3cr-types-browser/types/ColourPresetData.ts +9 -0
  122. package/static/3cr-types-browser/types/CurrentDataOverlayState.ts +6 -0
  123. package/static/3cr-types-browser/types/CurrentScanState.ts +22 -0
  124. package/static/3cr-types-browser/types/DataOverlay.ts +22 -0
  125. package/static/3cr-types-browser/types/DataOverlayActions.ts +14 -0
  126. package/static/3cr-types-browser/types/DataOverlayData.ts +8 -0
  127. package/static/3cr-types-browser/types/DataOverlayEvent.ts +8 -0
  128. package/static/3cr-types-browser/types/DecryptionKey.ts +4 -0
  129. package/static/3cr-types-browser/types/DisplaySettings.ts +10 -0
  130. package/static/3cr-types-browser/types/EmptyPayload.ts +3 -0
  131. package/static/3cr-types-browser/types/EnumPayload.ts +4 -0
  132. package/static/3cr-types-browser/types/FileManagementActions.ts +11 -0
  133. package/static/3cr-types-browser/types/FlipValue.ts +7 -0
  134. package/static/3cr-types-browser/types/FrontEndInterfaces.ts +14 -0
  135. package/static/3cr-types-browser/types/GradientKeys.ts +7 -0
  136. package/static/3cr-types-browser/types/GreyscalePresetData.ts +6 -0
  137. package/static/3cr-types-browser/types/InitialDataOverlayState.ts +6 -0
  138. package/static/3cr-types-browser/types/InitialScanState.ts +19 -0
  139. package/static/3cr-types-browser/types/InteractionType.ts +8 -0
  140. package/static/3cr-types-browser/types/InteractivityActions.ts +6 -0
  141. package/static/3cr-types-browser/types/InteractivityState.ts +4 -0
  142. package/static/3cr-types-browser/types/InvertTransformData.ts +6 -0
  143. package/static/3cr-types-browser/types/LayoutActions.ts +6 -0
  144. package/static/3cr-types-browser/types/LayoutData.ts +7 -0
  145. package/static/3cr-types-browser/types/LoadDataSet.ts +6 -0
  146. package/static/3cr-types-browser/types/LoadSessionState.ts +4 -0
  147. package/static/3cr-types-browser/types/LocalLoadDataset.ts +3 -0
  148. package/static/3cr-types-browser/types/MovementData.ts +7 -0
  149. package/static/3cr-types-browser/types/NavigationCubeActions.ts +8 -0
  150. package/static/3cr-types-browser/types/NavigationCubeData.ts +12 -0
  151. package/static/3cr-types-browser/types/NavigationCubeTransform.ts +9 -0
  152. package/static/3cr-types-browser/types/NotificationPayload.ts +7 -0
  153. package/static/3cr-types-browser/types/NotificationsActions.ts +6 -0
  154. package/static/3cr-types-browser/types/Object.ts +1 -0
  155. package/static/3cr-types-browser/types/ObjectColour.ts +7 -0
  156. package/static/3cr-types-browser/types/ObjectIcon.ts +5 -0
  157. package/static/3cr-types-browser/types/ObjectInvert.ts +7 -0
  158. package/static/3cr-types-browser/types/ObjectSize.ts +7 -0
  159. package/static/3cr-types-browser/types/ObjectSize2D.ts +7 -0
  160. package/static/3cr-types-browser/types/ObjectVisible.ts +5 -0
  161. package/static/3cr-types-browser/types/PositionData.ts +14 -0
  162. package/static/3cr-types-browser/types/PresetsActions.ts +4 -0
  163. package/static/3cr-types-browser/types/RotationValue.ts +7 -0
  164. package/static/3cr-types-browser/types/ScanMovementActions.ts +27 -0
  165. package/static/3cr-types-browser/types/ScanMovementData.ts +3 -0
  166. package/static/3cr-types-browser/types/ScanOrientationActions.ts +6 -0
  167. package/static/3cr-types-browser/types/ScanStateActions.ts +4 -0
  168. package/static/3cr-types-browser/types/ScanView.ts +6 -0
  169. package/static/3cr-types-browser/types/SettingsData.ts +12 -0
  170. package/static/3cr-types-browser/types/SlicerData.ts +9 -0
  171. package/static/3cr-types-browser/types/SliderValue.ts +4 -0
  172. package/static/3cr-types-browser/types/SlidersActions.ts +18 -0
  173. package/static/3cr-types-browser/types/Vector2Data.ts +5 -0
  174. package/static/3cr-types-browser/types/Vector3Data.ts +6 -0
  175. package/static/3cr-types-browser/types/VectorMovementData.ts +8 -0
  176. package/static/3cr-types-browser/types/ViewInteractiveMode.ts +5 -0
  177. package/static/3cr-types-browser/types/ViewOrientation.ts +8 -0
  178. package/static/3cr-types-browser/types/ViewOrientations.ts +10 -0
  179. package/static/3cr-types-browser/types/ViewSelectionActions.ts +9 -0
  180. package/static/3cr-types-browser/types/ViewToggleData.ts +7 -0
  181. package/static/3cr-types-browser/types/VolumeOrientation.ts +7 -0
  182. package/test/helper.ts +10 -1
  183. package/test/setup.ts +13 -0
  184. package/tsconfig.json +1 -0
  185. package/vite.config.mts +1 -0
  186. package/src/dataLayer/__tests__/payload-handler.spec.ts +0 -214
  187. package/src/dataLayer/payloadHandler.ts +0 -138
  188. /package/src/dataLayer/{iconData.ts → getIconForPreset.ts} +0 -0
@@ -0,0 +1,12 @@
1
+ export enum AnchorPoint {
2
+ DEFAULT = 0,
3
+ TOP_LEFT = 1,
4
+ TOP = 2,
5
+ TOP_RIGHT = 3,
6
+ LEFT = 4,
7
+ CENTER = 5,
8
+ RIGHT = 6,
9
+ BOTTOM_LEFT = 7,
10
+ BOTTOM = 8,
11
+ BOTTOM_RIGHT = 9
12
+ }
@@ -0,0 +1,5 @@
1
+ import {Action} from "./Action";
2
+
3
+ export interface CallToAction {
4
+ Actions: Action[];
5
+ }
@@ -0,0 +1,7 @@
1
+ export interface ColourData {
2
+ Version: string,
3
+ R: number,
4
+ G: number,
5
+ B: number,
6
+ A: number
7
+ }
@@ -0,0 +1,9 @@
1
+ import { AlphaKeys } from './AlphaKeys';
2
+ import { GradientKeys } from './GradientKeys';
3
+
4
+ export interface ColourPresetData {
5
+ Version: string,
6
+ Name: string,
7
+ ColourGradient: Array<GradientKeys>,
8
+ AlphaGradient: Array<AlphaKeys>
9
+ }
@@ -0,0 +1,6 @@
1
+ import { DataOverlayData } from './DataOverlayData';
2
+
3
+ export interface CurrentDataOverlayState {
4
+ Version: string,
5
+ DataOverlay: DataOverlayData[]
6
+ }
@@ -0,0 +1,22 @@
1
+ import { ScanMovementData } from './ScanMovementData';
2
+ import { NavigationCubeData } from './NavigationCubeData';
3
+ import { ColourPresetData } from './ColourPresetData';
4
+ import { LayoutData } from './LayoutData';
5
+ import { ViewOrientations } from './ViewOrientations';
6
+ import { SettingsData } from './SettingsData';
7
+ import { SlicerData } from './SlicerData';
8
+ import { DisplaySettings } from './DisplaySettings';
9
+ import { ScanView } from './ScanView';
10
+
11
+ export interface CurrentScanState {
12
+ Version: string,
13
+ CurrentView: ScanView,
14
+ Display: DisplaySettings,
15
+ Slice: SlicerData,
16
+ InteractionSettings: SettingsData,
17
+ Orientations: ViewOrientations,
18
+ Layout: LayoutData,
19
+ Colour: ColourPresetData | null,
20
+ NavigationCube: NavigationCubeData,
21
+ ScanMovement: ScanMovementData
22
+ }
@@ -0,0 +1,22 @@
1
+ import { CallToAction } from "./CallToAction";
2
+ import { ColourData } from "./ColourData";
3
+ import { InvertTransformData } from "./InvertTransformData";
4
+ import { Vector3Data } from "./Vector3Data";
5
+ import { Vector2Data } from "./Vector2Data";
6
+
7
+ export interface DataOverlay {
8
+ CallToAction: CallToAction | null;
9
+ Colour2d: ColourData;
10
+ Colour3d: ColourData;
11
+ Description: string;
12
+ Icon2d: string;
13
+ Id: string;
14
+ Inverted: InvertTransformData;
15
+ Position: Vector3Data;
16
+ Size2d: Vector2Data;
17
+ Size3d: Vector3Data;
18
+ Title: string;
19
+ Version: string;
20
+ Visibility2d: boolean;
21
+ Visibility3d: boolean;
22
+ }
@@ -0,0 +1,14 @@
1
+ export enum DataOverlayActions {
2
+ do01 = 'do_01',
3
+ do02 = 'do_02',
4
+ do03 = 'do_03',
5
+ do04 = 'do_04',
6
+ do05 = 'do_05',
7
+ do06 = 'do_06',
8
+ do07 = 'do_07',
9
+ do08 = 'do_08',
10
+ do09 = 'do_09',
11
+ do10 = 'do_10',
12
+ do11 = 'do_11',
13
+ do18 = 'do_18',
14
+ }
@@ -0,0 +1,8 @@
1
+ import {DataOverlay} from "./DataOverlay";
2
+
3
+ export interface DataOverlayData {
4
+ Data: DataOverlay;
5
+ DataType: number;
6
+ Id: string;
7
+ Version: string;
8
+ }
@@ -0,0 +1,8 @@
1
+ import {InteractionType} from "./InteractionType";
2
+ import {DataOverlay} from "./DataOverlay";
3
+
4
+ export interface DataOverlayEvent {
5
+ Version: string;
6
+ Annotation: DataOverlay;
7
+ Interaction: InteractionType;
8
+ }
@@ -0,0 +1,4 @@
1
+ export interface DecryptionKey {
2
+ Key: string,
3
+ Iv: string
4
+ }
@@ -0,0 +1,10 @@
1
+ export interface DisplaySettings {
2
+ Version: string,
3
+ WindowLower: number,
4
+ WindowUpper: number,
5
+ ThresholdLower: number,
6
+ ThresholdUpper: number,
7
+ Brightness: number,
8
+ Contrast: number,
9
+ Opacity: number
10
+ }
@@ -0,0 +1,3 @@
1
+ export interface EmptyPayload {
2
+ Version: string
3
+ }
@@ -0,0 +1,4 @@
1
+ export interface EnumPayload {
2
+ Version: string,
3
+ Value: number
4
+ }
@@ -0,0 +1,11 @@
1
+ export enum FileManagementActions {
2
+ fm01 = 'fm_01',
3
+ fm02 = 'fm_02',
4
+ fm03 = 'fm_03',
5
+ fm04 = 'fm_04',
6
+ fm05 = 'fm_05',
7
+ fm06 = 'fm_06',
8
+ fm12 = 'fm_12',
9
+ fm13 = 'fm_13',
10
+ fm14 = 'fm_14',
11
+ }
@@ -0,0 +1,7 @@
1
+ import { ScanView } from './ScanView';
2
+
3
+ export interface FlipValue {
4
+ Version: string,
5
+ View: ScanView,
6
+ Flipped: boolean
7
+ }
@@ -0,0 +1,14 @@
1
+ export enum FrontEndInterfaces {
2
+ file_management = 'file_management',
3
+ sliders = 'sliders',
4
+ scan_state = 'scan_state',
5
+ view_selection = 'view_selection',
6
+ scan_orientation = 'scan_orientation',
7
+ interactivity = 'interactivity',
8
+ notifications = 'notifications',
9
+ presets = 'presets',
10
+ scan_movement = 'scan_movement',
11
+ navigation_cube = 'navigation_cube',
12
+ layout = 'layout',
13
+ data_overlay = 'data_overlay',
14
+ }
@@ -0,0 +1,7 @@
1
+ export interface GradientKeys {
2
+ Version: string,
3
+ R: number,
4
+ G: number,
5
+ B: number,
6
+ Time: number
7
+ }
@@ -0,0 +1,6 @@
1
+ export interface GreyscalePresetData {
2
+ Version: string,
3
+ Name: string,
4
+ Lower: number,
5
+ Upper: number
6
+ }
@@ -0,0 +1,6 @@
1
+ import { CurrentDataOverlayState } from './CurrentDataOverlayState';
2
+
3
+ export interface InitialDataOverlayState {
4
+ Version: string,
5
+ DataOverlay: CurrentDataOverlayState
6
+ }
@@ -0,0 +1,19 @@
1
+ import { ColourPresetData } from './ColourPresetData';
2
+ import { GreyscalePresetData } from './GreyscalePresetData';
3
+ import { CurrentScanState } from './CurrentScanState';
4
+
5
+ export interface InitialScanState {
6
+ Version: string,
7
+ XSlices: number,
8
+ YSlices: number,
9
+ ZSlices: number,
10
+ XSpacing: number,
11
+ YSpacing: number,
12
+ ZSpacing: number,
13
+ Modality: string,
14
+ HuUpper: number,
15
+ HuLower: number,
16
+ DefaultDisplaySettings: CurrentScanState,
17
+ GreyscalePresets: Array<GreyscalePresetData>,
18
+ ColourPresets: Array<ColourPresetData>
19
+ }
@@ -0,0 +1,8 @@
1
+ export enum InteractionType {
2
+ None = 0,
3
+ HoverStart = 1,
4
+ HoverEnd = 2,
5
+ PointerDown = 3,
6
+ PointerUp = 4,
7
+ PointerDrag = 5
8
+ }
@@ -0,0 +1,6 @@
1
+ export enum InteractivityActions {
2
+ in01 = 'in_01',
3
+ in02 = 'in_02',
4
+ in03 = 'in_03',
5
+ in04 = 'in_04',
6
+ }
@@ -0,0 +1,4 @@
1
+ export interface InteractivityState {
2
+ Version: string,
3
+ Value: boolean
4
+ }
@@ -0,0 +1,6 @@
1
+ export interface InvertTransformData {
2
+ Version: string,
3
+ InvertedSagittal: boolean,
4
+ InvertedCoronal: boolean,
5
+ InvertedTransverse: boolean
6
+ }
@@ -0,0 +1,6 @@
1
+ export enum LayoutActions {
2
+ lo01 = 'lo_01',
3
+ lo02 = 'lo_02',
4
+ lo03 = 'lo_03',
5
+ lo04 = 'lo_04',
6
+ }
@@ -0,0 +1,7 @@
1
+ import { PositionData } from './PositionData';
2
+
3
+ export interface LayoutData {
4
+ Version: string,
5
+ SwitchOnViewChange: boolean,
6
+ PositionData: Array<PositionData>
7
+ }
@@ -0,0 +1,6 @@
1
+ import { DecryptionKey } from './DecryptionKey';
2
+
3
+ export interface LoadDataSet {
4
+ Url: string,
5
+ DecryptionKey: DecryptionKey
6
+ }
@@ -0,0 +1,4 @@
1
+ export interface LoadSessionState {
2
+ Version: string,
3
+ Url: string
4
+ }
@@ -0,0 +1,3 @@
1
+ export interface LocalLoadDataset {
2
+ Path: string
3
+ }
@@ -0,0 +1,7 @@
1
+ import { ScanView } from './ScanView';
2
+
3
+ export interface MovementData {
4
+ Version: string,
5
+ View: ScanView,
6
+ Movement: number
7
+ }
@@ -0,0 +1,8 @@
1
+ export enum NavigationCubeActions {
2
+ nc01 = 'nc_01',
3
+ nc02 = 'nc_02',
4
+ nc03 = 'nc_03',
5
+ nc04 = 'nc_04',
6
+ nc05 = 'nc_05',
7
+ nc07 = 'nc_07',
8
+ }
@@ -0,0 +1,12 @@
1
+ import { ColourData } from './ColourData';
2
+ import { InteractivityState } from './InteractivityState';
3
+ import { NavigationCubeTransform } from './NavigationCubeTransform';
4
+
5
+ export interface NavigationCubeData {
6
+ Version: string,
7
+ Transform: NavigationCubeTransform,
8
+ Visibility: InteractivityState,
9
+ Interactivity: InteractivityState,
10
+ Colour: ColourData,
11
+ HighlightColour: ColourData
12
+ }
@@ -0,0 +1,9 @@
1
+ import { Vector2Data } from './Vector2Data';
2
+ import { AnchorPoint } from './AnchorPoint';
3
+
4
+ export interface NavigationCubeTransform {
5
+ Version: string,
6
+ AnchorPoint: AnchorPoint,
7
+ Position: Vector2Data,
8
+ Size: Vector2Data
9
+ }
@@ -0,0 +1,7 @@
1
+ export interface NotificationPayload {
2
+ Version: string,
3
+ Interface: string,
4
+ Action: string,
5
+ Code: string,
6
+ Parameters: Array<string>
7
+ }
@@ -0,0 +1,6 @@
1
+ export enum NotificationsActions {
2
+ no01 = 'no_01',
3
+ no02 = 'no_02',
4
+ no03 = 'no_03',
5
+ no04 = 'no_04',
6
+ }
@@ -0,0 +1 @@
1
+ export interface Object {}
@@ -0,0 +1,7 @@
1
+ import { ColourData } from './ColourData';
2
+
3
+ export interface ObjectColour {
4
+ Version: string,
5
+ Id: string,
6
+ Colour: ColourData
7
+ }
@@ -0,0 +1,5 @@
1
+ export interface ObjectIcon {
2
+ Version: string,
3
+ Id: string,
4
+ Icon: string
5
+ }
@@ -0,0 +1,7 @@
1
+ import { InvertTransformData } from './InvertTransformData';
2
+
3
+ export interface ObjectInvert {
4
+ Version: string,
5
+ Id: string,
6
+ Inverted: InvertTransformData
7
+ }
@@ -0,0 +1,7 @@
1
+ import { Vector3Data } from './Vector3Data';
2
+
3
+ export interface ObjectSize {
4
+ Version: string,
5
+ Id: string,
6
+ Size: Vector3Data
7
+ }
@@ -0,0 +1,7 @@
1
+ import { Vector2Data } from './Vector2Data';
2
+
3
+ export interface ObjectSize2D {
4
+ Version: string,
5
+ Id: string,
6
+ Size: Vector2Data
7
+ }
@@ -0,0 +1,5 @@
1
+ export interface ObjectVisible {
2
+ Version: string,
3
+ Id: string,
4
+ Visibility: boolean
5
+ }
@@ -0,0 +1,14 @@
1
+ import { Vector2Data } from './Vector2Data';
2
+ import { AnchorPoint } from './AnchorPoint';
3
+ import { ScanView } from './ScanView';
4
+
5
+ export interface PositionData {
6
+ Version: string,
7
+ ActiveView: boolean,
8
+ DefaultView: ScanView,
9
+ Anchor: AnchorPoint,
10
+ Offset: Vector2Data,
11
+ AspectRatio: number,
12
+ MaxSize: Vector2Data,
13
+ Priority: number
14
+ }
@@ -0,0 +1,4 @@
1
+ export enum PresetsActions {
2
+ pr01 = 'pr_01',
3
+ pr02 = 'pr_02',
4
+ }
@@ -0,0 +1,7 @@
1
+ import { ScanView } from './ScanView';
2
+
3
+ export interface RotationValue {
4
+ Version: string,
5
+ View: ScanView,
6
+ Angle: number
7
+ }
@@ -0,0 +1,27 @@
1
+ export enum ScanMovementActions {
2
+ sm01 = 'sm_01',
3
+ sm02 = 'sm_02',
4
+ sm03 = 'sm_03',
5
+ sm04 = 'sm_04',
6
+ sm05 = 'sm_05',
7
+ sm06 = 'sm_06',
8
+ sm07 = 'sm_07',
9
+ sm08 = 'sm_08',
10
+ sm09 = 'sm_09',
11
+ sm10 = 'sm_10',
12
+ sm11 = 'sm_11',
13
+ sm12 = 'sm_12',
14
+ sm13 = 'sm_13',
15
+ sm14 = 'sm_14',
16
+ sm15 = 'sm_15',
17
+ sm16 = 'sm_16',
18
+ sm17 = 'sm_17',
19
+ sm18 = 'sm_18',
20
+ sm19 = 'sm_19',
21
+ sm20 = 'sm_20',
22
+ sm21 = 'sm_21',
23
+ sm22 = 'sm_22',
24
+ sm23 = 'sm_23',
25
+ sm24 = 'sm_24',
26
+ sm25 = 'sm_25',
27
+ }
@@ -0,0 +1,3 @@
1
+ export interface ScanMovementData {
2
+ Version: string
3
+ }
@@ -0,0 +1,6 @@
1
+ export enum ScanOrientationActions {
2
+ so01 = 'so_01',
3
+ so02 = 'so_02',
4
+ so03 = 'so_03',
5
+ so04 = 'so_04',
6
+ }
@@ -0,0 +1,4 @@
1
+ export enum ScanStateActions {
2
+ ss01 = 'ss_01',
3
+ ss02 = 'ss_02',
4
+ }
@@ -0,0 +1,6 @@
1
+ export enum ScanView {
2
+ Volume = 0,
3
+ Transverse = 1,
4
+ Sagittal = 2,
5
+ Coronal = 3
6
+ }
@@ -0,0 +1,12 @@
1
+ import { ViewInteractiveMode } from './ViewInteractiveMode';
2
+
3
+ export interface SettingsData {
4
+ Version: string,
5
+ PanSensivitity: number,
6
+ ZoomSensitivity: number,
7
+ RotateSensitivity: number,
8
+ CameraRotateSensitivity: number,
9
+ KeyboardEnabled: boolean,
10
+ MouseEnabled: boolean,
11
+ InteractionMode: ViewInteractiveMode
12
+ }
@@ -0,0 +1,9 @@
1
+ export interface SlicerData {
2
+ Version: string,
3
+ TransverseLower: number,
4
+ TransverseUpper: number,
5
+ SagittalLower: number,
6
+ SagittalUpper: number,
7
+ CoronalLower: number,
8
+ CoronalUpper: number
9
+ }
@@ -0,0 +1,4 @@
1
+ export interface SliderValue {
2
+ Version: string,
3
+ Value: number
4
+ }
@@ -0,0 +1,18 @@
1
+ export enum SlidersActions {
2
+ sl01 = 'sl_01',
3
+ sl02 = 'sl_02',
4
+ sl03 = 'sl_03',
5
+ sl04 = 'sl_04',
6
+ sl05 = 'sl_05',
7
+ sl06 = 'sl_06',
8
+ sl07 = 'sl_07',
9
+ sl08 = 'sl_08',
10
+ sl09 = 'sl_09',
11
+ sl10 = 'sl_10',
12
+ sl11 = 'sl_11',
13
+ sl12 = 'sl_12',
14
+ sl13 = 'sl_13',
15
+ sl14 = 'sl_14',
16
+ sl15 = 'sl_15',
17
+ sl16 = 'sl_16',
18
+ }
@@ -0,0 +1,5 @@
1
+ export interface Vector2Data {
2
+ Version: string,
3
+ X: number,
4
+ Y: number
5
+ }
@@ -0,0 +1,6 @@
1
+ export interface Vector3Data {
2
+ Version: string,
3
+ X: number,
4
+ Y: number,
5
+ Z: number
6
+ }
@@ -0,0 +1,8 @@
1
+ import { Vector2Data } from './Vector2Data';
2
+ import { ScanView } from './ScanView';
3
+
4
+ export interface VectorMovementData {
5
+ Version: string,
6
+ View: ScanView,
7
+ Movement: Vector2Data
8
+ }
@@ -0,0 +1,5 @@
1
+ export enum ViewInteractiveMode {
2
+ STATIC = 0,
3
+ ON_HOVER = 1,
4
+ ON_CLICK = 2
5
+ }
@@ -0,0 +1,8 @@
1
+ export interface ViewOrientation {
2
+ Version: string,
3
+ VerticalFlip: boolean,
4
+ HorizontalFlip: boolean,
5
+ Rotation: number,
6
+ Visibility: boolean,
7
+ Slice: number
8
+ }
@@ -0,0 +1,10 @@
1
+ import { VolumeOrientation } from './VolumeOrientation';
2
+ import { ViewOrientation } from './ViewOrientation';
3
+
4
+ export interface ViewOrientations {
5
+ Version: string,
6
+ Transverse: ViewOrientation,
7
+ Sagittal: ViewOrientation,
8
+ Coronal: ViewOrientation,
9
+ Volume: VolumeOrientation
10
+ }
@@ -0,0 +1,9 @@
1
+ export enum ViewSelectionActions {
2
+ vs01 = 'vs_01',
3
+ vs02 = 'vs_02',
4
+ vs03 = 'vs_03',
5
+ vs04 = 'vs_04',
6
+ vs05 = 'vs_05',
7
+ vs06 = 'vs_06',
8
+ vs07 = 'vs_07',
9
+ }
@@ -0,0 +1,7 @@
1
+ import { ScanView } from './ScanView';
2
+
3
+ export interface ViewToggleData {
4
+ Version: string,
5
+ View: ScanView,
6
+ Visibility: boolean
7
+ }
@@ -0,0 +1,7 @@
1
+ import { InvertTransformData } from './InvertTransformData';
2
+
3
+ export interface VolumeOrientation {
4
+ Version: string,
5
+ Visibility: boolean,
6
+ Inverted: InvertTransformData
7
+ }