volview 4.0.0 → 4.0.1

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 (404) hide show
  1. package/dist/css/app.925b979f.css +1 -0
  2. package/dist/css/chunk-vendors.43a6a19a.css +5 -0
  3. package/{public → dist}/favicon.ico +0 -0
  4. package/{public → dist}/global.css +0 -0
  5. package/{src/assets/KitwareHeadAndNeck.jpg → dist/img/KitwareHeadAndNeck.11db5ffb.jpg} +0 -0
  6. package/dist/index.html +1 -0
  7. package/dist/itk/image-io/BMPImageIOReadImage.js +1 -0
  8. package/dist/itk/image-io/BMPImageIOReadImage.umd.js +1 -0
  9. package/dist/itk/image-io/BMPImageIOReadImage.wasm +0 -0
  10. package/dist/itk/image-io/BMPImageIOWriteImage.js +1 -0
  11. package/dist/itk/image-io/BMPImageIOWriteImage.umd.js +1 -0
  12. package/dist/itk/image-io/BMPImageIOWriteImage.wasm +0 -0
  13. package/dist/itk/image-io/GDCMImageIOReadImage.js +1 -0
  14. package/dist/itk/image-io/GDCMImageIOReadImage.umd.js +1 -0
  15. package/dist/itk/image-io/GDCMImageIOReadImage.wasm +0 -0
  16. package/dist/itk/image-io/GDCMImageIOWriteImage.js +1 -0
  17. package/dist/itk/image-io/GDCMImageIOWriteImage.umd.js +1 -0
  18. package/dist/itk/image-io/GDCMImageIOWriteImage.wasm +0 -0
  19. package/dist/itk/image-io/JPEGImageIOReadImage.js +1 -0
  20. package/dist/itk/image-io/JPEGImageIOReadImage.umd.js +1 -0
  21. package/dist/itk/image-io/JPEGImageIOReadImage.wasm +0 -0
  22. package/dist/itk/image-io/JPEGImageIOWriteImage.js +1 -0
  23. package/dist/itk/image-io/JPEGImageIOWriteImage.umd.js +1 -0
  24. package/dist/itk/image-io/JPEGImageIOWriteImage.wasm +0 -0
  25. package/dist/itk/image-io/MetaImageIOReadImage.js +1 -0
  26. package/dist/itk/image-io/MetaImageIOReadImage.umd.js +1 -0
  27. package/dist/itk/image-io/MetaImageIOReadImage.wasm +0 -0
  28. package/dist/itk/image-io/MetaImageIOWriteImage.js +1 -0
  29. package/dist/itk/image-io/MetaImageIOWriteImage.umd.js +1 -0
  30. package/dist/itk/image-io/MetaImageIOWriteImage.wasm +0 -0
  31. package/dist/itk/image-io/NiftiImageIOReadImage.js +1 -0
  32. package/dist/itk/image-io/NiftiImageIOReadImage.umd.js +1 -0
  33. package/dist/itk/image-io/NiftiImageIOReadImage.wasm +0 -0
  34. package/dist/itk/image-io/NiftiImageIOWriteImage.js +1 -0
  35. package/dist/itk/image-io/NiftiImageIOWriteImage.umd.js +1 -0
  36. package/dist/itk/image-io/NiftiImageIOWriteImage.wasm +0 -0
  37. package/dist/itk/image-io/NrrdImageIOReadImage.js +1 -0
  38. package/dist/itk/image-io/NrrdImageIOReadImage.umd.js +1 -0
  39. package/dist/itk/image-io/NrrdImageIOReadImage.wasm +0 -0
  40. package/dist/itk/image-io/NrrdImageIOWriteImage.js +1 -0
  41. package/dist/itk/image-io/NrrdImageIOWriteImage.umd.js +1 -0
  42. package/dist/itk/image-io/NrrdImageIOWriteImage.wasm +0 -0
  43. package/dist/itk/image-io/PNGImageIOReadImage.js +1 -0
  44. package/dist/itk/image-io/PNGImageIOReadImage.umd.js +1 -0
  45. package/dist/itk/image-io/PNGImageIOReadImage.wasm +0 -0
  46. package/dist/itk/image-io/PNGImageIOWriteImage.js +1 -0
  47. package/dist/itk/image-io/PNGImageIOWriteImage.umd.js +1 -0
  48. package/dist/itk/image-io/PNGImageIOWriteImage.wasm +0 -0
  49. package/dist/itk/image-io/ReadDICOMTags.js +1 -0
  50. package/dist/itk/image-io/ReadDICOMTags.umd.js +1 -0
  51. package/dist/itk/image-io/ReadDICOMTags.wasm +0 -0
  52. package/dist/itk/image-io/ReadImageDICOMFileSeries.js +1 -0
  53. package/dist/itk/image-io/ReadImageDICOMFileSeries.umd.js +1 -0
  54. package/dist/itk/image-io/ReadImageDICOMFileSeries.wasm +0 -0
  55. package/dist/itk/image-io/VTKImageIOReadImage.js +1 -0
  56. package/dist/itk/image-io/VTKImageIOReadImage.umd.js +1 -0
  57. package/dist/itk/image-io/VTKImageIOReadImage.wasm +0 -0
  58. package/dist/itk/image-io/VTKImageIOWriteImage.js +1 -0
  59. package/dist/itk/image-io/VTKImageIOWriteImage.umd.js +1 -0
  60. package/dist/itk/image-io/VTKImageIOWriteImage.wasm +0 -0
  61. package/dist/itk/pipelines/dicom.js +1 -0
  62. package/dist/itk/pipelines/dicom.umd.js +1 -0
  63. package/{src/io/itk-dicom/web-build → dist/itk/pipelines}/dicom.umd.wasm +0 -0
  64. package/{src/io/itk-dicom/web-build → dist/itk/pipelines}/dicom.wasm +0 -0
  65. package/dist/itk/web-workers/IOInput.d.ts +6 -0
  66. package/dist/itk/web-workers/IOInput.js +1 -0
  67. package/dist/itk/web-workers/ITKConfig.d.ts +8 -0
  68. package/dist/itk/web-workers/ITKConfig.js +1 -0
  69. package/dist/itk/web-workers/RunPipelineInput.d.ts +10 -0
  70. package/dist/itk/web-workers/RunPipelineInput.js +1 -0
  71. package/dist/itk/web-workers/WebWorkerInput.d.ts +6 -0
  72. package/dist/itk/web-workers/WebWorkerInput.js +1 -0
  73. package/dist/itk/web-workers/bundles/pipeline.worker.js +1 -0
  74. package/dist/itk/web-workers/loadImageIOPipelineModule.d.ts +4 -0
  75. package/dist/itk/web-workers/loadImageIOPipelineModule.js +1 -0
  76. package/dist/itk/web-workers/loadMeshIOPipelineModule.d.ts +4 -0
  77. package/dist/itk/web-workers/loadMeshIOPipelineModule.js +1 -0
  78. package/dist/itk/web-workers/loadPipelineModule.d.ts +3 -0
  79. package/dist/itk/web-workers/loadPipelineModule.js +1 -0
  80. package/dist/itk/web-workers/min-bundles/pipeline.worker.js +3 -0
  81. package/dist/itk/web-workers/pipeline.worker.d.ts +1 -0
  82. package/dist/itk/web-workers/pipeline.worker.js +1 -0
  83. package/dist/itk/web-workers/runPipeline.d.ts +5 -0
  84. package/dist/itk/web-workers/runPipeline.js +1 -0
  85. package/dist/js/23.be4d694e.js +21 -0
  86. package/dist/js/23.be4d694e.js.map +1 -0
  87. package/dist/js/385.51ca48a2.js +2 -0
  88. package/dist/js/385.51ca48a2.js.map +1 -0
  89. package/dist/js/422.c64a6aa7.js +2 -0
  90. package/dist/js/422.c64a6aa7.js.map +1 -0
  91. package/dist/js/979.c4823352.js +2 -0
  92. package/dist/js/979.c4823352.js.map +1 -0
  93. package/dist/js/app.81e49d9a.js +2 -0
  94. package/dist/js/app.81e49d9a.js.map +1 -0
  95. package/dist/js/chunk-vendors.0ab48f8d.js +33 -0
  96. package/dist/js/chunk-vendors.0ab48f8d.js.map +1 -0
  97. package/{public → dist}/pvm-sample.png +0 -0
  98. package/package.json +3 -2
  99. package/.browserslistrc +0 -4
  100. package/.editorconfig +0 -6
  101. package/.env +0 -6
  102. package/.eslintrc.js +0 -109
  103. package/.gitattributes +0 -1
  104. package/.github/workflows/checks.yml +0 -16
  105. package/.github/workflows/publish.yml +0 -52
  106. package/.prettierignore +0 -5
  107. package/CONTRIBUTING.md +0 -29
  108. package/babel.config.js +0 -3
  109. package/documentation/config.js +0 -15
  110. package/documentation/content/KWVolViewLogo.png +0 -0
  111. package/documentation/content/KWVolViewLogo.svg +0 -35
  112. package/documentation/content/VolViewLogo.png +0 -0
  113. package/documentation/content/VolViewLogo.svg +0 -22
  114. package/documentation/content/doc/index.md +0 -64
  115. package/documentation/content/doc/loading_data.md +0 -30
  116. package/documentation/content/doc/mouse_controls.md +0 -34
  117. package/documentation/content/doc/quick_start_guide.md +0 -75
  118. package/documentation/content/doc/rendering.md +0 -27
  119. package/documentation/content/doc/state_files.md +0 -18
  120. package/documentation/content/doc/toolbar.md +0 -20
  121. package/documentation/content/doc/welcome_screen.md +0 -23
  122. package/documentation/content/gallery/01-volview-welcome-notes.jpg +0 -0
  123. package/documentation/content/gallery/01-volview-welcome.jpg +0 -0
  124. package/documentation/content/gallery/02-volview-about.jpg +0 -0
  125. package/documentation/content/gallery/02-volview-notifications.jpg +0 -0
  126. package/documentation/content/gallery/02-volview-settings.jpg +0 -0
  127. package/documentation/content/gallery/03-volview-sample-datasets.jpg +0 -0
  128. package/documentation/content/gallery/04-volview-active-data.jpg +0 -0
  129. package/documentation/content/gallery/05-volview-select-data-to-delete.jpg +0 -0
  130. package/documentation/content/gallery/06-volview-corner-annotation.jpg +0 -0
  131. package/documentation/content/gallery/07-volview-layout-notes.jpg +0 -0
  132. package/documentation/content/gallery/07-volview-layout.jpg +0 -0
  133. package/documentation/content/gallery/09-volview-layout-3DPrimary.jpg +0 -0
  134. package/documentation/content/gallery/10-volview-wl-pan-zoom-notes.jpg +0 -0
  135. package/documentation/content/gallery/10-volview-wl-pan-zoom.jpg +0 -0
  136. package/documentation/content/gallery/11-volview-paint-notes.jpg +0 -0
  137. package/documentation/content/gallery/11-volview-paint.jpg +0 -0
  138. package/documentation/content/gallery/12-volview-paint-options.jpg +0 -0
  139. package/documentation/content/gallery/13-volview-crop-notes.jpg +0 -0
  140. package/documentation/content/gallery/13-volview-crop.jpg +0 -0
  141. package/documentation/content/gallery/14-volview-ruler.jpg +0 -0
  142. package/documentation/content/gallery/15-volview-crosshairs.jpg +0 -0
  143. package/documentation/content/gallery/16-volview-rendering.jpg +0 -0
  144. package/documentation/content/gallery/17-volview-colormap-notes.jpg +0 -0
  145. package/documentation/content/gallery/17-volview-colormap.jpg +0 -0
  146. package/documentation/content/gallery/17-volview-opacity-notes.jpg +0 -0
  147. package/documentation/content/gallery/17-volview-opacity.jpg +0 -0
  148. package/documentation/content/gallery/17-volview-opacity2.jpg +0 -0
  149. package/documentation/content/gallery/18-volview-presets.jpg +0 -0
  150. package/documentation/content/gallery/19-volview-color.jpg +0 -0
  151. package/documentation/content/gallery/19-volview-color2.jpg +0 -0
  152. package/documentation/content/gallery/20-volview-lightfollowcamera0.jpg +0 -0
  153. package/documentation/content/gallery/20-volview-lightfollowcamera1.jpg +0 -0
  154. package/documentation/content/gallery/20-volview-lightfollowcamera2.jpg +0 -0
  155. package/documentation/content/gallery/20-volview-lightfollowcamera3.jpg +0 -0
  156. package/documentation/content/gallery/21-volview-hybrid-final.jpg +0 -0
  157. package/documentation/content/gallery/21-volview-hybrid0.0.jpg +0 -0
  158. package/documentation/content/gallery/21-volview-hybrid0.5.jpg +0 -0
  159. package/documentation/content/gallery/21-volview-hybrid1.0.jpg +0 -0
  160. package/documentation/content/gallery/LocalAmbientOcclusion.jpg +0 -0
  161. package/documentation/content/gallery/Notes.pptx +0 -0
  162. package/documentation/content/gallery/VolView-Overview.jpg +0 -0
  163. package/documentation/content/gallery/index.md +0 -53
  164. package/documentation/content/icon/favicon-16x16.png +0 -0
  165. package/documentation/content/icon/favicon-196x196.png +0 -0
  166. package/documentation/content/icon/favicon-32x32.png +0 -0
  167. package/documentation/content/icon/favicon-96x96.png +0 -0
  168. package/documentation/content/index.pug +0 -43
  169. package/documentation/content/logo.png +0 -0
  170. package/documentation/content/logo.svg +0 -20
  171. package/documentation/data/menu.yml +0 -3
  172. package/documentation/themes/navy/layout/partial/footer.swig +0 -22
  173. package/documentation/tpl/__en__ +0 -31
  174. package/documentation/tpl/__sidebar__ +0 -11
  175. package/patches/jsdom-global+3.0.2.patch +0 -12
  176. package/patches/vue-toastification+1.7.14.patch +0 -41
  177. package/patches/vuetify+2.6.10.patch +0 -13
  178. package/prettier.config.js +0 -9
  179. package/public/index.html +0 -28
  180. package/server/helper.py +0 -147
  181. package/server/host.js +0 -134
  182. package/server/serialize.js +0 -111
  183. package/server/serialize.py +0 -203
  184. package/server/server.py +0 -84
  185. package/server/test.py +0 -17
  186. package/src/assets/logo.png +0 -0
  187. package/src/assets/logo.svg +0 -20
  188. package/src/assets/samples/3DUS-Fetus.jpg +0 -0
  189. package/src/assets/samples/CTA-Head_and_Neck.jpg +0 -0
  190. package/src/assets/samples/MRA-Head_and_Neck.jpg +0 -0
  191. package/src/assets/samples/MRI-Cardiac.jpg +0 -0
  192. package/src/assets/samples/MRI-PROSTATEx.jpg +0 -0
  193. package/src/components/AboutBox.vue +0 -157
  194. package/src/components/AiModule.vue +0 -60
  195. package/src/components/AnnotationsModule.vue +0 -37
  196. package/src/components/App.vue +0 -539
  197. package/src/components/ColorFunctionSlider.vue +0 -181
  198. package/src/components/DataBrowser.vue +0 -173
  199. package/src/components/DragAndDrop.vue +0 -107
  200. package/src/components/GroupableItem.vue +0 -30
  201. package/src/components/ImageDataBrowser.vue +0 -186
  202. package/src/components/ImageListCard.vue +0 -114
  203. package/src/components/ItemGroup.vue +0 -74
  204. package/src/components/LabelmapList.vue +0 -36
  205. package/src/components/LayoutGrid.vue +0 -96
  206. package/src/components/MeasurementsList.vue +0 -134
  207. package/src/components/MessageCenter.vue +0 -189
  208. package/src/components/MessageItem.vue +0 -83
  209. package/src/components/MessageNotificationContent.vue +0 -20
  210. package/src/components/MessageNotifications.vue +0 -84
  211. package/src/components/ModelBrowser.vue +0 -83
  212. package/src/components/ModulePanel.vue +0 -137
  213. package/src/components/PaintControls.vue +0 -174
  214. package/src/components/PatientBrowser.vue +0 -280
  215. package/src/components/PatientStudyVolumeBrowser.vue +0 -325
  216. package/src/components/RenderingModule.vue +0 -49
  217. package/src/components/ResizableNavDrawer.vue +0 -158
  218. package/src/components/SampleDataBrowser.vue +0 -198
  219. package/src/components/SaveSession.vue +0 -57
  220. package/src/components/Settings.vue +0 -35
  221. package/src/components/SliceSlider.vue +0 -182
  222. package/src/components/SpleenModule.vue +0 -101
  223. package/src/components/ToolButton.vue +0 -58
  224. package/src/components/ToolStrip.vue +0 -186
  225. package/src/components/ViewOverlayGrid.vue +0 -84
  226. package/src/components/VolumePresets.vue +0 -165
  227. package/src/components/VolumeProperties.vue +0 -171
  228. package/src/components/VolumeRendering.vue +0 -365
  229. package/src/components/VtkThreeView.vue +0 -512
  230. package/src/components/VtkTwoView.vue +0 -665
  231. package/src/components/__tests__/ResizableNavDrawer.spec.js +0 -32
  232. package/src/components/__tests__/ToolButton.spec.js +0 -46
  233. package/src/components/icons/KitwareLogoIcon.vue +0 -54
  234. package/src/components/icons/VolViewFullLogo.vue +0 -139
  235. package/src/components/icons/VolViewLogo.vue +0 -78
  236. package/src/components/styles/utils.css +0 -16
  237. package/src/components/styles/vtk-view.css +0 -116
  238. package/src/components/tools/CropTool.vue +0 -61
  239. package/src/components/tools/CrosshairsTool.vue +0 -93
  240. package/src/components/tools/MouseManipulatorTool.vue +0 -108
  241. package/src/components/tools/PaintTool.vue +0 -54
  242. package/src/components/tools/PanTool.vue +0 -35
  243. package/src/components/tools/RulerTool.vue +0 -202
  244. package/src/components/tools/SliceScrollTool.vue +0 -123
  245. package/src/components/tools/WindowLevelTool.vue +0 -191
  246. package/src/components/tools/ZoomTool.vue +0 -35
  247. package/src/components/tools/crop/Crop2D.vue +0 -367
  248. package/src/components/tools/crop/Crop2DLineHandle.vue +0 -103
  249. package/src/components/tools/crop/Crop3D.vue +0 -192
  250. package/src/components/tools/crop/CropControls.vue +0 -38
  251. package/src/components/tools/crop/types.ts +0 -12
  252. package/src/components/tools/crosshairs/CrosshairSVG2D.vue +0 -125
  253. package/src/components/tools/crosshairs/CrosshairsWidget2D.vue +0 -100
  254. package/src/components/tools/paint/PaintWidget2D.vue +0 -192
  255. package/src/components/tools/ruler/RulerSVG2D.vue +0 -181
  256. package/src/components/tools/ruler/RulerWidget2D.vue +0 -154
  257. package/src/composables/__tests__/useDoubleRecord.spec.ts +0 -57
  258. package/src/composables/__tests__/useOrientationLabels.spec.ts +0 -29
  259. package/src/composables/isViewAnimating.ts +0 -25
  260. package/src/composables/manageVTKSubscription.ts +0 -6
  261. package/src/composables/onProxyManagerEvent.ts +0 -50
  262. package/src/composables/proxyManager.ts +0 -13
  263. package/src/composables/sync/__tests__/createPrimitiveSyncContext.spec.ts +0 -41
  264. package/src/composables/sync/__tests__/useWindowingSync.spec.ts +0 -51
  265. package/src/composables/sync/createPrimitiveSyncContext.ts +0 -83
  266. package/src/composables/sync/useWindowingSync.ts +0 -48
  267. package/src/composables/useAppLoadingNotifications.ts +0 -73
  268. package/src/composables/useCameraOrientation.ts +0 -34
  269. package/src/composables/useCurrentImage.ts +0 -74
  270. package/src/composables/useCurrentSlice.ts +0 -43
  271. package/src/composables/useDoubleRecord.ts +0 -77
  272. package/src/composables/useEventListener.ts +0 -26
  273. package/src/composables/useGlobalErrorHook.ts +0 -18
  274. package/src/composables/useMultiSelection.ts +0 -29
  275. package/src/composables/useOrientationLabels.ts +0 -62
  276. package/src/composables/usePanels.ts +0 -42
  277. package/src/composables/usePersistCameraConfig.ts +0 -138
  278. package/src/composables/useResizeObserver.ts +0 -37
  279. package/src/composables/useResizeToFit.ts +0 -50
  280. package/src/composables/useSceneBuilder.ts +0 -96
  281. package/src/composables/useToast.js +0 -11
  282. package/src/composables/useVTKCallback.ts +0 -33
  283. package/src/composables/useVTKWorldToDisplay.ts +0 -141
  284. package/src/composables/useViewProxy.ts +0 -87
  285. package/src/composables/useVolumeThumbnailing.ts +0 -173
  286. package/src/composables/useWebGLWatchdog.ts +0 -32
  287. package/src/composables/useWidgetManager.ts +0 -41
  288. package/src/config.ts +0 -182
  289. package/src/constants.ts +0 -38
  290. package/src/core/id.ts +0 -18
  291. package/src/core/provider.ts +0 -31
  292. package/src/core/proxies.ts +0 -90
  293. package/src/core/thumbnailers/__tests__/vtk-image.spec.ts +0 -58
  294. package/src/core/thumbnailers/index.ts +0 -5
  295. package/src/core/thumbnailers/volume-thumbnailer.ts +0 -130
  296. package/src/core/thumbnailers/vtk-image.ts +0 -142
  297. package/src/core/tools/__tests__/paint.spec.ts +0 -101
  298. package/src/core/tools/__tests__/ruler.spec.ts +0 -73
  299. package/src/core/tools/paint/brush.ts +0 -20
  300. package/src/core/tools/paint/ellipse-brush.ts +0 -96
  301. package/src/core/tools/paint/index.ts +0 -141
  302. package/src/core/tools/ruler.ts +0 -149
  303. package/src/global.d.ts +0 -24
  304. package/src/io/__tests__/io.spec.ts +0 -26
  305. package/src/io/dicom.ts +0 -187
  306. package/src/io/index.ts +0 -11
  307. package/src/io/io.ts +0 -157
  308. package/src/io/itk/itkConfig.js +0 -8
  309. package/src/io/itk-dicom/dicom.cpp +0 -327
  310. package/src/io/itk-dicom/web-build/dicom.js +0 -16
  311. package/src/io/itk-dicom/web-build/dicom.umd.js +0 -21
  312. package/src/io/manifest.ts +0 -30
  313. package/src/io/readers.ts +0 -36
  314. package/src/io/state-file/index.ts +0 -170
  315. package/src/io/state-file/schema.ts +0 -277
  316. package/src/io/state-file/utils.ts +0 -33
  317. package/src/io/types.ts +0 -4
  318. package/src/io/vtk/async.reader.worker.ts +0 -50
  319. package/src/io/vtk/async.ts +0 -58
  320. package/src/io/vtk/async.writer.worker.ts +0 -46
  321. package/src/io/vtk/common.ts +0 -30
  322. package/src/io/zip.ts +0 -31
  323. package/src/main.js +0 -66
  324. package/src/main.ts +0 -1
  325. package/src/plugins/vuetify.js +0 -25
  326. package/src/shims-itk.d.ts +0 -67
  327. package/src/shims-misc.d.ts +0 -4
  328. package/src/shims-tsx.d.ts +0 -13
  329. package/src/shims-vtk.d.ts +0 -1042
  330. package/src/shims-vue.d.ts +0 -5
  331. package/src/store/__tests__/datasets.spec.ts +0 -75
  332. package/src/store/__tests__/messages.spec.ts +0 -74
  333. package/src/store/__tests__/rulers.spec.ts +0 -77
  334. package/src/store/__tests__/view-configs.spec.ts +0 -37
  335. package/src/store/datasets-dicom.ts +0 -398
  336. package/src/store/datasets-files.ts +0 -35
  337. package/src/store/datasets-images.ts +0 -118
  338. package/src/store/datasets-labelmaps.ts +0 -136
  339. package/src/store/datasets-models.ts +0 -25
  340. package/src/store/datasets.ts +0 -341
  341. package/src/store/messages.ts +0 -144
  342. package/src/store/tools/crop.ts +0 -136
  343. package/src/store/tools/crosshairs.ts +0 -131
  344. package/src/store/tools/index.ts +0 -95
  345. package/src/store/tools/paint.ts +0 -191
  346. package/src/store/tools/rulers.ts +0 -305
  347. package/src/store/tools/types.ts +0 -54
  348. package/src/store/view-configs/camera.ts +0 -51
  349. package/src/store/view-configs/common.ts +0 -61
  350. package/src/store/view-configs/slicing.ts +0 -86
  351. package/src/store/view-configs/types.ts +0 -39
  352. package/src/store/view-configs/volume-coloring.ts +0 -193
  353. package/src/store/view-configs/windowing.ts +0 -69
  354. package/src/store/view-configs.ts +0 -78
  355. package/src/store/views.ts +0 -130
  356. package/src/types/index.ts +0 -16
  357. package/src/types/layout.ts +0 -10
  358. package/src/types/lps.ts +0 -40
  359. package/src/types/views.ts +0 -65
  360. package/src/types/vtk-types.ts +0 -29
  361. package/src/utils/__tests__/lps.spec.ts +0 -102
  362. package/src/utils/color.ts +0 -23
  363. package/src/utils/errors.js +0 -3
  364. package/src/utils/fetch.ts +0 -101
  365. package/src/utils/hacks.ts +0 -14
  366. package/src/utils/index.ts +0 -83
  367. package/src/utils/lps.ts +0 -129
  368. package/src/utils/manipulators.ts +0 -35
  369. package/src/utils/promise-worker.ts +0 -45
  370. package/src/utils/vtk-helpers.ts +0 -215
  371. package/src/utils/workerHandler.js +0 -42
  372. package/src/vtk/ColorMaps.ts +0 -72
  373. package/src/vtk/CrosshairsWidget/behavior.ts +0 -112
  374. package/src/vtk/CrosshairsWidget/index.d.ts +0 -22
  375. package/src/vtk/CrosshairsWidget/index.js +0 -73
  376. package/src/vtk/CrosshairsWidget/state.ts +0 -51
  377. package/src/vtk/IJKSliceRepresentationProxy/index.d.ts +0 -9
  378. package/src/vtk/IJKSliceRepresentationProxy/index.js +0 -59
  379. package/src/vtk/LPSView2DProxy/index.d.ts +0 -18
  380. package/src/vtk/LPSView2DProxy/index.js +0 -89
  381. package/src/vtk/LPSView3DProxy/index.d.ts +0 -16
  382. package/src/vtk/LPSView3DProxy/index.js +0 -78
  383. package/src/vtk/LabelMap/index.d.ts +0 -16
  384. package/src/vtk/LabelMap/index.js +0 -49
  385. package/src/vtk/LabelMapSliceRepProxy/index.d.ts +0 -6
  386. package/src/vtk/LabelMapSliceRepProxy/index.js +0 -104
  387. package/src/vtk/MedicalColorPresets.json +0 -1448
  388. package/src/vtk/PaintBrushContextRepresentation/index.js +0 -191
  389. package/src/vtk/PaintWidget/behavior.ts +0 -101
  390. package/src/vtk/PaintWidget/index.d.ts +0 -28
  391. package/src/vtk/PaintWidget/index.js +0 -56
  392. package/src/vtk/PaintWidget/state.ts +0 -41
  393. package/src/vtk/PiecewiseWidget/index.js +0 -203
  394. package/src/vtk/RulerWidget/behavior.ts +0 -185
  395. package/src/vtk/RulerWidget/index.d.ts +0 -25
  396. package/src/vtk/RulerWidget/index.js +0 -79
  397. package/src/vtk/RulerWidget/state.ts +0 -63
  398. package/src/vtk/TreJsonConverter/index.js +0 -150
  399. package/src/vtk/proxy.js +0 -66
  400. package/src/vtk/proxyUtils.js +0 -16
  401. package/src/vtk/webvr-empty.js +0 -1
  402. package/tests/testUtils.js +0 -12
  403. package/tsconfig.json +0 -46
  404. package/vue.config.js +0 -86
@@ -1,185 +0,0 @@
1
- import { vtkSubscription } from '@kitware/vtk.js/interfaces';
2
- import macro from '@kitware/vtk.js/macro';
3
- import { Vector3 } from '@kitware/vtk.js/types';
4
- import { InteractionState, RulerPointWidgetState } from './state';
5
-
6
- export function shouldIgnoreEvent(e: any) {
7
- return e.altKey || e.controlKey || e.shiftKey;
8
- }
9
-
10
- export default function widgetBehavior(publicAPI: any, model: any) {
11
- model.classHierarchy.push('vtkRulerWidgetProp');
12
-
13
- const superClass = { ...publicAPI };
14
-
15
- const subscriptions: vtkSubscription[] = [];
16
- let dragging: RulerPointWidgetState | null = null;
17
-
18
- // support setting per-view widget manipulators
19
- macro.setGet(publicAPI, model, ['manipulator']);
20
- // support forwarding events
21
- macro.event(publicAPI, model, 'RightClickEvent');
22
-
23
- publicAPI.setFirstPoint = (coord: Vector3) => {
24
- const point = model.widgetState.getFirstPoint();
25
- point.setOrigin(coord);
26
- };
27
-
28
- publicAPI.setSecondPoint = (coord: Vector3) => {
29
- const point = model.widgetState.getSecondPoint();
30
- point.setOrigin(coord);
31
- };
32
-
33
- /**
34
- * Places or drags a point.
35
- */
36
- publicAPI.handleLeftButtonPress = (eventData: any) => {
37
- if (!model.manipulator || shouldIgnoreEvent(eventData)) {
38
- return macro.VOID;
39
- }
40
-
41
- const intState = model.widgetState.getInteractionState();
42
-
43
- // in order to place points, we should be...
44
- if (
45
- // focused
46
- model.hasFocus &&
47
- // not be settled
48
- intState !== InteractionState.Settled
49
- ) {
50
- const worldCoords = model.manipulator.handleEvent(
51
- eventData,
52
- model._apiSpecificRenderWindow
53
- );
54
- if (worldCoords.length) {
55
- if (intState === InteractionState.PlacingFirst) {
56
- publicAPI.setFirstPoint(worldCoords);
57
- model.widgetState.setInteractionState(InteractionState.PlacingSecond);
58
- } else if (intState === InteractionState.PlacingSecond) {
59
- publicAPI.setSecondPoint(worldCoords);
60
- model.widgetState.setInteractionState(InteractionState.Settled);
61
- }
62
- publicAPI.invokeInteractionEvent();
63
- return macro.EVENT_ABORT;
64
- }
65
- }
66
-
67
- // widget is considered settled, so see if we
68
- // are trying to drag a point.
69
- if (model.activeState?.getActive() && model.pickable) {
70
- dragging = model.activeState;
71
- model._apiSpecificRenderWindow.setCursor('grabbing');
72
- model._interactor.requestAnimation(publicAPI);
73
- publicAPI.invokeStartInteractionEvent();
74
- return macro.EVENT_ABORT;
75
- }
76
-
77
- return macro.VOID;
78
- };
79
-
80
- /**
81
- * Moves a point around.
82
- */
83
- publicAPI.handleMouseMove = (eventData: any) => {
84
- const intState = model.widgetState.getInteractionState();
85
-
86
- if (model.hasFocus && intState === InteractionState.Settled) {
87
- publicAPI.loseFocus();
88
- return macro.VOID;
89
- }
90
-
91
- if (
92
- dragging || // moving an existing point
93
- intState !== InteractionState.Settled // placing a point
94
- ) {
95
- const worldCoords = model.manipulator.handleEvent(
96
- eventData,
97
- model._apiSpecificRenderWindow
98
- );
99
-
100
- if (worldCoords.length) {
101
- if (dragging) {
102
- dragging.setOrigin(worldCoords);
103
- } else if (intState === InteractionState.PlacingFirst) {
104
- model.widgetState.getFirstPoint().setVisible(true);
105
- publicAPI.setFirstPoint(worldCoords);
106
- } else if (intState === InteractionState.PlacingSecond) {
107
- model.widgetState.getSecondPoint().setVisible(true);
108
- publicAPI.setSecondPoint(worldCoords);
109
- }
110
- publicAPI.invokeInteractionEvent();
111
- }
112
-
113
- return macro.EVENT_ABORT;
114
- }
115
-
116
- return macro.VOID;
117
- };
118
-
119
- /**
120
- * Finishes dragging
121
- */
122
- publicAPI.handleLeftButtonRelease = (eventData: any) => {
123
- if (dragging) {
124
- const worldCoords = model.manipulator.handleEvent(
125
- eventData,
126
- model._apiSpecificRenderWindow
127
- );
128
- if (worldCoords.length) {
129
- dragging.setOrigin(worldCoords);
130
- }
131
-
132
- dragging = null;
133
- model._apiSpecificRenderWindow.setCursor('pointer');
134
- model.widgetState.deactivate();
135
- model._interactor.cancelAnimation(publicAPI);
136
- publicAPI.invokeEndInteractionEvent();
137
- // model._widgetManager.enablePicking();
138
- // model._interactor.render();
139
- }
140
- };
141
-
142
- publicAPI.handleRightButtonPress = (eventData: any) => {
143
- if (
144
- shouldIgnoreEvent(eventData) ||
145
- model.widgetState.getInteractionState() !== InteractionState.Settled || // ignore when still placing
146
- !model.activeState?.getActive() || // ignore when no selected state
147
- model.hasFocus || // ignore when focused
148
- dragging // ignore when dragging
149
- ) {
150
- return macro.VOID;
151
- }
152
- publicAPI.invokeRightClickEvent(eventData);
153
- return macro.EVENT_ABORT;
154
- };
155
-
156
- publicAPI.grabFocus = () => {
157
- if (
158
- !model.hasFocus &&
159
- // only allow focus if placing points
160
- model.widgetState.getInteractionState() !== InteractionState.Settled
161
- ) {
162
- model.hasFocus = true;
163
- // render the (invisible) point handles
164
- model._interactor.requestAnimation(publicAPI);
165
- publicAPI.invokeStartInteractionEvent();
166
- }
167
- };
168
-
169
- publicAPI.loseFocus = () => {
170
- if (model.hasFocus) {
171
- model._interactor.cancelAnimation(publicAPI);
172
- publicAPI.invokeEndInteractionEvent();
173
- }
174
- model.hasFocus = false;
175
- // model._widgetManager.enablePicking();
176
- // model._interactor.render();
177
- };
178
-
179
- publicAPI.delete = () => {
180
- superClass.delete();
181
- while (subscriptions.length) {
182
- subscriptions.pop()!.unsubscribe();
183
- }
184
- };
185
- }
@@ -1,25 +0,0 @@
1
- import { vtkSubscription } from '@kitware/vtk.js/interfaces';
2
- import vtkAbstractWidget from '@kitware/vtk.js/Widgets/Core/AbstractWidget';
3
- import vtkAbstractWidgetFactory from '@kitware/vtk.js/Widgets/Core/AbstractWidgetFactory';
4
- import vtkPlaneManipulator from '@kitware/vtk.js/Widgets/Manipulators/PlaneManipulator';
5
- import { RulerWidgetState } from './state';
6
-
7
- export interface vtkRulerViewWidget extends vtkAbstractWidget {
8
- setManipulator(manipulator: vtkPlaneManipulator): boolean;
9
- getManipulator(): vtkPlaneManipulator;
10
- onRightClickEvent(cb: (eventData: any) => void): vtkSubscription;
11
- }
12
-
13
- export interface vtkRulerWidget extends vtkAbstractWidgetFactory {
14
- getLength(): number;
15
- getWidgetState(): RulerWidgetState;
16
- }
17
-
18
- export function newInstance(): vtkRulerWidget;
19
-
20
- export function shouldIgnoreEvent(ev: any): boolean;
21
-
22
- export declare const vtkRulerWidget: {
23
- newInstance: typeof newInstance;
24
- };
25
- export default vtkRulerWidget;
@@ -1,79 +0,0 @@
1
- import macro from '@kitware/vtk.js/macro';
2
- import vtkAbstractWidgetFactory from '@kitware/vtk.js/Widgets/Core/AbstractWidgetFactory';
3
- import vtkPlanePointManipulator from '@kitware/vtk.js/Widgets/Manipulators/PlaneManipulator';
4
- import vtkSphereHandleRepresentation from '@kitware/vtk.js/Widgets/Representations/SphereHandleRepresentation';
5
- import { distance2BetweenPoints } from '@kitware/vtk.js/Common/Core/Math';
6
-
7
- import widgetBehavior from './behavior';
8
- import stateGenerator from './state';
9
-
10
- export { shouldIgnoreEvent } from './behavior';
11
-
12
- // ----------------------------------------------------------------------------
13
- // Factory
14
- // ----------------------------------------------------------------------------
15
-
16
- function vtkRulerWidget(publicAPI, model) {
17
- model.classHierarchy.push('vtkRulerWidget');
18
-
19
- // --- Widget Requirement ---------------------------------------------------
20
-
21
- // model.methodsToLink = [
22
- // 'activeScaleFactor',
23
- // 'activeColor',
24
- // 'useActiveColor',
25
- // 'glyphResolution',
26
- // 'defaultScale',
27
- // 'text',
28
- // 'textStateIndex',
29
- // ];
30
-
31
- publicAPI.getRepresentationsForViewType = () => [
32
- {
33
- builder: vtkSphereHandleRepresentation,
34
- labels: ['points'],
35
- initialValues: {
36
- scaleInPixels: true,
37
- },
38
- },
39
- ];
40
-
41
- publicAPI.getLength = () => {
42
- const first = model.widgetState.getFirstPoint().getOrigin();
43
- const second = model.widgetState.getSecondPoint().getOrigin();
44
- if (!first || !second) {
45
- return 0;
46
- }
47
- return Math.sqrt(distance2BetweenPoints(first, second));
48
- };
49
-
50
- // Default manipulator
51
- model.manipulator = vtkPlanePointManipulator.newInstance();
52
- }
53
-
54
- // ----------------------------------------------------------------------------
55
-
56
- const DEFAULT_VALUES = {};
57
-
58
- // ----------------------------------------------------------------------------
59
-
60
- export function extend(publicAPI, model, initialValues = {}) {
61
- Object.assign(model, DEFAULT_VALUES, initialValues);
62
-
63
- vtkAbstractWidgetFactory.extend(publicAPI, model, {
64
- ...initialValues,
65
- behavior: widgetBehavior,
66
- widgetState: stateGenerator(),
67
- });
68
- macro.get(publicAPI, model, ['manipulator']);
69
-
70
- vtkRulerWidget(publicAPI, model);
71
- }
72
-
73
- // ----------------------------------------------------------------------------
74
-
75
- export const newInstance = macro.newInstance(extend, 'vtkRulerWidget');
76
-
77
- // ----------------------------------------------------------------------------
78
-
79
- export default { newInstance, extend };
@@ -1,63 +0,0 @@
1
- import { Vector3 } from '@kitware/vtk.js/types';
2
- import vtkStateBuilder from '@kitware/vtk.js/Widgets/Core/StateBuilder';
3
- import vtkWidgetState from '@kitware/vtk.js/Widgets/Core/WidgetState';
4
-
5
- export enum InteractionState {
6
- Settled = 0,
7
- PlacingFirst = 1,
8
- PlacingSecond = 2,
9
- }
10
-
11
- export interface RulerPointWidgetState extends vtkWidgetState {
12
- setOrigin(origin: Vector3 | null): boolean;
13
- getOrigin(): Vector3 | null;
14
- setScale1(scale: number): boolean;
15
- getScale1(): number;
16
- setVisible(visible: boolean): boolean;
17
- getVisible(): boolean;
18
- setColor(color: number): boolean;
19
- getColor(): number;
20
- }
21
-
22
- export interface RulerWidgetState extends vtkWidgetState {
23
- getFirstPoint(): RulerPointWidgetState;
24
- getSecondPoint(): RulerPointWidgetState;
25
- getInteractionState(): InteractionState;
26
- setInteractionState(state: InteractionState): boolean;
27
- }
28
-
29
- export default function generateState() {
30
- return vtkStateBuilder
31
- .createBuilder()
32
- .addStateFromMixin({
33
- labels: ['points'],
34
- name: 'firstPoint',
35
- mixins: ['origin', 'scale1', 'visible', 'color'],
36
- initialValues: {
37
- // diameter
38
- scale1: 20,
39
- origin: null,
40
- visible: false,
41
- },
42
- })
43
- .addStateFromMixin({
44
- labels: ['points'],
45
- name: 'secondPoint',
46
- mixins: ['origin', 'scale1', 'visible', 'color'],
47
- initialValues: {
48
- // diameter
49
- scale1: 20,
50
- origin: null,
51
- visible: false,
52
- },
53
- })
54
- .addField({
55
- name: 'interactionState',
56
- initialValue: InteractionState.PlacingFirst,
57
- })
58
- .addField({
59
- name: 'ID',
60
- initialValue: '',
61
- })
62
- .build() as RulerWidgetState;
63
- }
@@ -1,150 +0,0 @@
1
- import vtkPolyData from '@kitware/vtk.js/Common/DataModel/PolyData';
2
- import vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray';
3
- import vtkAppendPolyData from '@kitware/vtk.js/Filters/General/AppendPolyData';
4
- import vtkPoints from '@kitware/vtk.js/Common/Core/Points';
5
- import vtkTubeFilter from '@kitware/vtk.js/Filters/General/TubeFilter';
6
- import { VaryRadius } from '@kitware/vtk.js/Filters/General/TubeFilter/Constants';
7
- import { VtkDataTypes } from '@kitware/vtk.js/Common/Core/DataArray/Constants';
8
-
9
- function concatPointData(pointDataList, arrayName) {
10
- const length = pointDataList.reduce(
11
- (len, pd) => len + pd[arrayName].getData().length,
12
- 0
13
- );
14
-
15
- // use first array to initialize our copy
16
- const first = pointDataList[0][arrayName];
17
-
18
- const outData = new (first.getData().constructor)(length);
19
- const da = vtkDataArray.newInstance({
20
- name: arrayName,
21
- numberOfComponents: first.getNumberOfComponents(),
22
- values: outData,
23
- });
24
-
25
- for (let i = 0, offset = 0; i < pointDataList.length; i += 1) {
26
- const array = pointDataList[i][arrayName];
27
- const data = array.getData();
28
- outData.set(data, offset);
29
- offset += data.length;
30
- }
31
-
32
- return da;
33
- }
34
-
35
- function centerlineToTube(centerline) {
36
- const pd = vtkPolyData.newInstance();
37
- const pts = vtkPoints.newInstance({
38
- dataType: VtkDataTypes.FLOAT,
39
- numberOfComponents: 3,
40
- });
41
- pts.setNumberOfPoints(centerline.length);
42
-
43
- const pointData = new Float32Array(3 * centerline.length);
44
- const lines = new Uint32Array(centerline.length + 1);
45
-
46
- lines[0] = centerline.length;
47
- for (let i = 0; i < centerline.length; i += 1) {
48
- const [x, y, z] = centerline[i].PositionInWorldSpace;
49
- pointData[3 * i + 0] = x;
50
- pointData[3 * i + 1] = y;
51
- pointData[3 * i + 2] = z;
52
- lines[i + 1] = i;
53
- }
54
-
55
- const radii = centerline.map((pt) => pt.RadiusInWorldSpace);
56
- const radiusData = new Float32Array(radii);
57
- const radius = vtkDataArray.newInstance({
58
- name: 'Radius',
59
- values: radiusData,
60
- });
61
-
62
- pts.setData(pointData);
63
- pd.setPoints(pts);
64
- pd.getLines().setData(lines);
65
- pd.getPointData().addArray(radius);
66
-
67
- const filter = vtkTubeFilter.newInstance({
68
- capping: true,
69
- radius: 1, // scaling factor
70
- varyRadius: VaryRadius.VARY_RADIUS_BY_ABSOLUTE_SCALAR,
71
- numberOfSides: 5,
72
- });
73
-
74
- filter.setInputArrayToProcess(0, 'Radius', 'PointData', 'Scalars');
75
- filter.setInputData(pd);
76
-
77
- return filter.getOutputData();
78
- }
79
-
80
- function convertCenterlinesToTubes(centerlines) {
81
- const appendPolyData = vtkAppendPolyData.newInstance();
82
- appendPolyData.setInputData(vtkPolyData.newInstance());
83
-
84
- let numberOfCells = 0;
85
-
86
- // convert each centerline to polydata,
87
- // and prepare to concatenate them
88
- const cellCounts = Array(centerlines.length);
89
- const pointData = [];
90
- for (let i = 0; i < centerlines.length; i += 1) {
91
- const cline = centerlines[i];
92
- const tubePd = centerlineToTube(cline);
93
- const data = tubePd.getPointData();
94
- pointData.push({
95
- Radius: data.getArray('Radius'),
96
- TubeNormals: data.getArray('TubeNormals'),
97
- });
98
- appendPolyData.addInputData(tubePd);
99
-
100
- cellCounts[i] = tubePd.getNumberOfCells();
101
- numberOfCells += cellCounts[i];
102
- }
103
-
104
- const polyData = appendPolyData.getOutputData();
105
-
106
- // copy over point data
107
- polyData.getPointData().setScalars(concatPointData(pointData, 'Radius'));
108
- polyData.getPointData().setNormals(concatPointData(pointData, 'TubeNormals'));
109
-
110
- // add colors
111
- const colorData = new Uint8Array(4 * numberOfCells);
112
- for (let i = 0, colorIdx = 0; i < centerlines.length; i += 1, colorIdx += 4) {
113
- const cline = centerlines[i];
114
- const cellCount = cellCounts[i]; // # of cells for ith tube
115
- for (let j = 0; j < cellCount; j += 1) {
116
- colorData[colorIdx + 0] = cline.Red * 255;
117
- colorData[colorIdx + 1] = cline.Green * 255;
118
- colorData[colorIdx + 2] = cline.Blue * 255;
119
- colorData[colorIdx + 3] = 255; // ignore specified alpha for now
120
- }
121
- }
122
-
123
- const colors = vtkDataArray.newInstance({
124
- name: 'Colors',
125
- values: colorData,
126
- numberOfComponents: 4,
127
- });
128
- polyData.getCellData().addArray(colors);
129
-
130
- return polyData;
131
- }
132
-
133
- function flattenTreHierarchy(treJson) {
134
- const list = [];
135
- if (treJson.Points) {
136
- list.push(treJson.Points);
137
- }
138
-
139
- const children = treJson.Children ?? [];
140
- for (let i = 0; i < children.length; i += 1) {
141
- list.push(...flattenTreHierarchy(children[i]));
142
- }
143
-
144
- return list;
145
- }
146
-
147
- export default function convertJsonToTre(treJson) {
148
- const centerlines = flattenTreHierarchy(treJson);
149
- return convertCenterlinesToTubes(centerlines);
150
- }
package/src/vtk/proxy.js DELETED
@@ -1,66 +0,0 @@
1
- import vtkLookupTableProxy from '@kitware/vtk.js/Proxy/Core/LookupTableProxy';
2
- import vtkPiecewiseFunctionProxy from '@kitware/vtk.js/Proxy/Core/PiecewiseFunctionProxy';
3
-
4
- import vtkSourceProxy from '@kitware/vtk.js/Proxy/Core/SourceProxy';
5
-
6
- import vtkVolumeRepresentationProxy from '@kitware/vtk.js/Proxy/Representations/VolumeRepresentationProxy';
7
- import vtkGeometryRepresentationProxy from '@kitware/vtk.js/Proxy/Representations/GeometryRepresentationProxy';
8
-
9
- import vtkLPSView3DProxy from '@/src/vtk/LPSView3DProxy';
10
- import vtkLPSView2DProxy from '@/src/vtk/LPSView2DProxy';
11
- import vtkIJKSliceRepresentationProxy from '@/src/vtk/IJKSliceRepresentationProxy';
12
- import vtkLabelMapSliceRepProxy from '@/src/vtk/LabelMapSliceRepProxy';
13
-
14
- function createProxyDefinition(
15
- classFactory,
16
- ui = [],
17
- links = [],
18
- definitionOptions = {},
19
- props = {}
20
- ) {
21
- return {
22
- class: classFactory,
23
- options: { links, ui, ...definitionOptions },
24
- props,
25
- };
26
- }
27
-
28
- function createDefaultView(classFactory, options = [], props = {}) {
29
- return createProxyDefinition(classFactory, [], [], options, props);
30
- }
31
-
32
- // ----------------------------------------------------------------------------
33
-
34
- export default {
35
- definitions: {
36
- Proxy: {
37
- LookupTable: createProxyDefinition(vtkLookupTableProxy, [], [], {
38
- presetName: 'Default (Cool to Warm)',
39
- }),
40
- PiecewiseFunction: createProxyDefinition(vtkPiecewiseFunctionProxy),
41
- },
42
- Sources: {
43
- TrivialProducer: createProxyDefinition(vtkSourceProxy),
44
- },
45
- Representations: {
46
- ImageSlice: createProxyDefinition(vtkIJKSliceRepresentationProxy),
47
- LabelMapSlice: createProxyDefinition(vtkLabelMapSliceRepProxy),
48
- Volume: createProxyDefinition(vtkVolumeRepresentationProxy),
49
- Geometry: createProxyDefinition(vtkGeometryRepresentationProxy),
50
- },
51
- Views: {
52
- View3D: createDefaultView(vtkLPSView3DProxy),
53
- View2D: createDefaultView(vtkLPSView2DProxy),
54
- },
55
- },
56
- representations: {
57
- View3D: {
58
- vtkImageData: { name: 'Volume' },
59
- vtkPolyData: { name: 'Geometry' },
60
- },
61
- View2D: {
62
- vtkImageData: { name: 'ImageSlice' },
63
- vtkLabelMap: { name: 'LabelMapSlice' },
64
- },
65
- },
66
- };
@@ -1,16 +0,0 @@
1
- export function createOrGetView(proxyManager, viewType, name) {
2
- const views = proxyManager.getViews();
3
- const view = views.find((v) => v.getName() === name);
4
- if (view) {
5
- return view;
6
- }
7
-
8
- return proxyManager.createProxy('Views', viewType, { name });
9
- }
10
-
11
- export function createFourUpViews(proxyManager) {
12
- createOrGetView(proxyManager, 'ViewX', 'X:1');
13
- createOrGetView(proxyManager, 'ViewY', 'Y:1');
14
- createOrGetView(proxyManager, 'ViewZ', 'Z:1');
15
- createOrGetView(proxyManager, 'View3D', '3D:1');
16
- }
@@ -1 +0,0 @@
1
- export default function () {}
@@ -1,12 +0,0 @@
1
- export function makeEmptyFile(name) {
2
- return new File([], name);
3
- }
4
-
5
- export function makeDicomFile(name) {
6
- const buffer = new Uint8Array(132);
7
- buffer[128] = 'D'.charCodeAt(0);
8
- buffer[129] = 'I'.charCodeAt(0);
9
- buffer[130] = 'C'.charCodeAt(0);
10
- buffer[131] = 'M'.charCodeAt(0);
11
- return new File([buffer.buffer], name);
12
- }
package/tsconfig.json DELETED
@@ -1,46 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es2019",
4
- "module": "esnext",
5
- "strict": true,
6
- "jsx": "preserve",
7
- "importHelpers": true,
8
- "moduleResolution": "node",
9
- "allowJs": true,
10
- "skipLibCheck": true,
11
- "esModuleInterop": true,
12
- "allowSyntheticDefaultImports": true,
13
- "sourceMap": true,
14
- "baseUrl": ".",
15
- "resolveJsonModule": true,
16
- "types": [
17
- "webpack-env",
18
- "mocha",
19
- "chai"
20
- ],
21
- "paths": {
22
- "@/*": [
23
- "./*"
24
- ],
25
- "@src/*": [
26
- "src/*"
27
- ]
28
- },
29
- "lib": [
30
- "esnext",
31
- "dom",
32
- "dom.iterable",
33
- "scripthost"
34
- ]
35
- },
36
- "include": [
37
- "src/**/*.ts",
38
- "src/**/*.tsx",
39
- "src/**/*.vue",
40
- "tests/**/*.ts",
41
- "tests/**/*.tsx"
42
- ],
43
- "exclude": [
44
- "node_modules"
45
- ]
46
- }