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,89 +0,0 @@
1
- import macro from '@kitware/vtk.js/macro';
2
- import vtkView2DProxy from '@kitware/vtk.js/Proxy/Core/View2DProxy';
3
-
4
- import { commonViewCustomizations } from '@/src/vtk/LPSView3DProxy';
5
-
6
- function vtkLPSView2DProxy(publicAPI, model) {
7
- model.classHierarchy.push('vtkLPSView2DProxy');
8
- const superClass = { ...publicAPI };
9
-
10
- commonViewCustomizations(publicAPI, model);
11
-
12
- // override; we will set the manipulator ourselves
13
- publicAPI.bindRepresentationToManipulator = () => {};
14
-
15
- // override reset camera to /just/ reset the camera
16
- publicAPI.resetCamera = (boundsToUse = null) => {
17
- model.renderer.resetCamera(boundsToUse);
18
- };
19
-
20
- // override addRepresentation
21
- publicAPI.addRepresentation = (rep) => {
22
- superClass.addRepresentation(rep);
23
- if (rep.setSlicingMode && model.slicingMode) {
24
- rep.setSlicingMode(model.slicingMode);
25
- }
26
- };
27
-
28
- // this basically ignores model.axis
29
- publicAPI.setSlicingMode = (mode) => {
30
- if (superClass.setSlicingMode(mode) && mode) {
31
- let count = model.representations.length;
32
- while (count--) {
33
- const rep = model.representations[count];
34
- if (rep.setSlicingMode) {
35
- rep.setSlicingMode(mode);
36
- }
37
- }
38
- }
39
- };
40
-
41
- publicAPI.resizeToFit = (lookAxis, viewUpAxis, dims) => {
42
- const [w, h] = model.openglRenderWindow.getSize();
43
- let bw;
44
- let bh;
45
- if (lookAxis === 0 && viewUpAxis === 1) {
46
- [, bh, bw] = dims;
47
- } else if (lookAxis === 0 && viewUpAxis === 2) {
48
- [, bw, bh] = dims;
49
- } else if (lookAxis === 1 && viewUpAxis === 0) {
50
- [bh, , bw] = dims;
51
- } else if (lookAxis === 1 && viewUpAxis === 2) {
52
- [bw, , bh] = dims;
53
- } else if (lookAxis === 2 && viewUpAxis === 0) {
54
- [bh, bw] = dims;
55
- } else if (lookAxis === 2 && viewUpAxis === 1) {
56
- [bw, bh] = dims;
57
- }
58
-
59
- const viewAspect = w / h;
60
- const boundsAspect = bw / bh;
61
- let scale = 0;
62
- if (viewAspect >= boundsAspect) {
63
- scale = bh / 2;
64
- } else {
65
- scale = bw / 2 / viewAspect;
66
- }
67
-
68
- model.camera.setParallelScale(scale);
69
- };
70
- }
71
-
72
- const DEFAULT_VALUES = {
73
- slicingMode: null, // XYZIJK. Null means fallback to model.axis.
74
- };
75
-
76
- export function extend(publicAPI, model, initialValues = {}) {
77
- Object.assign(model, initialValues, DEFAULT_VALUES);
78
-
79
- // slicing mode overrides axis
80
- macro.setGet(publicAPI, model, ['slicingMode']);
81
-
82
- vtkView2DProxy.extend(publicAPI, model, initialValues);
83
-
84
- vtkLPSView2DProxy(publicAPI, model);
85
- }
86
-
87
- export const newInstance = macro.newInstance(extend, 'vtkLPSView2DProxy');
88
-
89
- export default { newInstance, extend };
@@ -1,16 +0,0 @@
1
- import { vec3 } from 'gl-matrix';
2
- import vtkViewProxy from '@kitware/vtk.js/Proxy/Core/ViewProxy';
3
-
4
- export interface ViewProxyCustomizations {
5
- removeAllRepresentations(): void;
6
- updateCamera(directionOfProjection: vec3, viewUp: vec3, focalPoint: vec3);
7
- }
8
- export interface vtkLPSView3DProxy
9
- extends vtkViewProxy,
10
- ViewProxyCustomizations {}
11
-
12
- export function commonViewCustomizations(publicAPI: any, model: any): void;
13
-
14
- // TODO extend, newInstance...
15
- export declare const vtkLPSView3DProxy: {};
16
- export default vtkLPSView3DProxy;
@@ -1,78 +0,0 @@
1
- import { vec3 } from 'gl-matrix';
2
- import macro from '@kitware/vtk.js/macro';
3
- import vtkViewProxy from '@kitware/vtk.js/Proxy/Core/ViewProxy';
4
-
5
- export function commonViewCustomizations(publicAPI, model) {
6
- const delayedRender = macro.debounce(model.renderWindow.render, 5);
7
-
8
- // override resize to avoid flickering from rendering later
9
- publicAPI.resize = () => {
10
- if (model.container) {
11
- const dims = model.container.getBoundingClientRect();
12
- if (dims.width === dims.height && dims.width === 0) {
13
- return;
14
- }
15
- const devicePixelRatio = window.devicePixelRatio || 1;
16
- const width = Math.max(10, Math.floor(devicePixelRatio * dims.width));
17
- const height = Math.max(10, Math.floor(devicePixelRatio * dims.height));
18
- model.openglRenderWindow.setSize(width, height);
19
- publicAPI.invokeResize({ width, height });
20
- publicAPI.render(true);
21
- }
22
- };
23
-
24
- // override render to not reset camera
25
- publicAPI.render = (blocking = true) => {
26
- model.orientationWidget.updateMarkerOrientation();
27
- if (blocking) {
28
- model.renderWindow.render();
29
- } else {
30
- delayedRender();
31
- }
32
- };
33
-
34
- // add helper function
35
- publicAPI.removeAllRepresentations = () => {
36
- model.representations.forEach((rep) => model.renderer.removeViewProp(rep));
37
- model.representations.length = 0;
38
- };
39
-
40
- publicAPI.updateCamera = (directionOfProjection, viewUp, focalPoint) => {
41
- const position = vec3.clone(focalPoint);
42
- vec3.sub(position, position, directionOfProjection);
43
- model.camera.setFocalPoint(...focalPoint);
44
- model.camera.setPosition(...position);
45
- model.camera.setDirectionOfProjection(...directionOfProjection);
46
- model.camera.setViewUp(...viewUp);
47
- };
48
-
49
- // disable the built-in corner annotations
50
- const { setContainer } = publicAPI;
51
- publicAPI.setContainer = (el) => {
52
- setContainer(el);
53
- model.cornerAnnotation.setContainer(null);
54
- };
55
-
56
- const { resetCamera } = publicAPI;
57
- publicAPI.resetCamera = (...args) => {
58
- resetCamera(args);
59
- model.renderer.updateLightsGeometryToFollowCamera();
60
- };
61
- }
62
-
63
- function vtkLPSView3DProxy(publicAPI, model) {
64
- model.classHierarchy.push('vtkLPSView3DProxy');
65
- commonViewCustomizations(publicAPI, model);
66
- }
67
-
68
- export function extend(publicAPI, model, initialValues = {}) {
69
- Object.assign(model, initialValues);
70
-
71
- vtkViewProxy.extend(publicAPI, model, initialValues);
72
-
73
- vtkLPSView3DProxy(publicAPI, model);
74
- }
75
-
76
- export const newInstance = macro.newInstance(extend, 'vtkLPSView3DProxy');
77
-
78
- export default { newInstance, extend };
@@ -1,16 +0,0 @@
1
- import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
2
- import { Vector4 } from '@kitware/vtk.js/types';
3
-
4
- export interface vtkLabelMap extends vtkImageData {
5
- setLabelColor(label: number, color: Vector4): void;
6
- removeLabel(label: number): void;
7
- setColorMap(colorMap: Record<number, number[]>): boolean;
8
- getColorMap(): Record<number, number[]>;
9
- }
10
-
11
- export function newInstance(initialValues?: any): vtkLabelMap;
12
-
13
- export declare const vtkLabelMap: {
14
- newInstance: typeof newInstance;
15
- };
16
- export default vtkLabelMap;
@@ -1,49 +0,0 @@
1
- import macro from '@kitware/vtk.js/macro';
2
- import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
3
-
4
- // ----------------------------------------------------------------------------
5
- // vtkLabelMap methods
6
- // ----------------------------------------------------------------------------
7
-
8
- function vtkLabelMap(publicAPI, model) {
9
- // Set our className
10
- model.classHierarchy.push('vtkLabelMap');
11
-
12
- if (model.colorMap === null) {
13
- // default colormap
14
- model.colorMap = {
15
- 0: [0, 0, 0, 0],
16
- 1: [0, 0, 0, 255],
17
- };
18
- }
19
- }
20
-
21
- // ----------------------------------------------------------------------------
22
- // Object factory
23
- // ----------------------------------------------------------------------------
24
-
25
- const DEFAULT_VALUES = {
26
- // default opacity map uses 0 as the transparent pixel
27
- colorMap: null,
28
- };
29
-
30
- // ----------------------------------------------------------------------------
31
-
32
- export function extend(publicAPI, model, initialValues = {}) {
33
- Object.assign(model, DEFAULT_VALUES, initialValues);
34
-
35
- vtkImageData.extend(publicAPI, model, initialValues);
36
-
37
- macro.setGet(publicAPI, model, ['colorMap']);
38
-
39
- // Object specific methods
40
- vtkLabelMap(publicAPI, model);
41
- }
42
-
43
- // ----------------------------------------------------------------------------
44
-
45
- export const newInstance = macro.newInstance(extend, 'vtkLabelMap');
46
-
47
- // ----------------------------------------------------------------------------
48
-
49
- export default { newInstance, extend };
@@ -1,6 +0,0 @@
1
- import vtkIJKSliceRepresentationProxy from '../IJKSliceRepresentationProxy';
2
-
3
- export interface vtkLabelMapSliceRepProxy
4
- extends vtkIJKSliceRepresentationProxy {}
5
-
6
- export default vtkLabelMapSliceRepProxy;
@@ -1,104 +0,0 @@
1
- import macro from '@kitware/vtk.js/macro';
2
- import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
3
- import vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunction';
4
- import ImagePropertyConstants from '@kitware/vtk.js/Rendering/Core/ImageProperty/Constants';
5
-
6
- import vtkIJKSliceRepresentationProxy from '../IJKSliceRepresentationProxy';
7
-
8
- const { InterpolationType } = ImagePropertyConstants;
9
-
10
- // ----------------------------------------------------------------------------
11
- // vtkLabelMapSliceRepProxy methods
12
- // ----------------------------------------------------------------------------
13
-
14
- function vtkLabelMapSliceRepProxy(publicAPI, model) {
15
- // Set our className
16
- model.classHierarchy.push('vtkLabelMapSliceRepProxy');
17
-
18
- let labelMapSub = null;
19
-
20
- // needed for vtk.js >= 23.0.0
21
- model.property.setUseLookupTableScalarRange(true);
22
- model.property.setInterpolationType(InterpolationType.NEAREST);
23
- model.mapper.setRelativeCoincidentTopologyPolygonOffsetParameters(-2, -2);
24
-
25
- let cachedColorMap = null;
26
-
27
- function updateTransferFunctions(labelmap) {
28
- const colorMap = labelmap.getColorMap();
29
- if (colorMap === cachedColorMap) {
30
- return;
31
- }
32
- // Cache the colormap using ref equality. This will
33
- // avoid updating the colormap unnecessarily.
34
- cachedColorMap = colorMap;
35
-
36
- const cfun = vtkColorTransferFunction.newInstance();
37
- const ofun = vtkPiecewiseFunction.newInstance();
38
-
39
- Object.keys(colorMap).forEach((label) => {
40
- const l = Number(label);
41
- cfun.addRGBPoint(l, ...colorMap[label].slice(0, 3).map((c) => c / 255));
42
- ofun.addPoint(l, colorMap[label][3] / 255);
43
- });
44
-
45
- model.property.setRGBTransferFunction(cfun);
46
- model.property.setScalarOpacity(ofun);
47
- }
48
-
49
- function setInputData(labelmap) {
50
- if (labelMapSub) {
51
- labelMapSub.unsubscribe();
52
- labelMapSub = null;
53
- }
54
-
55
- if (labelmap) {
56
- labelMapSub = labelmap.onModified(() =>
57
- updateTransferFunctions(labelmap)
58
- );
59
- updateTransferFunctions(labelmap);
60
- }
61
- }
62
-
63
- // override because we manage our own color/opacity functions
64
- publicAPI.setColorBy = () => {};
65
-
66
- publicAPI.delete = macro.chain(publicAPI.delete, () => {
67
- if (labelMapSub) {
68
- labelMapSub.unsubscribe();
69
- labelMapSub = null;
70
- }
71
- });
72
-
73
- // Keep things updated
74
- model.sourceDependencies.push({ setInputData });
75
- }
76
-
77
- // ----------------------------------------------------------------------------
78
- // Object factory
79
- // ----------------------------------------------------------------------------
80
-
81
- const DEFAULT_VALUES = {};
82
-
83
- // ----------------------------------------------------------------------------
84
-
85
- export function extend(publicAPI, model, initialValues = {}) {
86
- Object.assign(model, DEFAULT_VALUES, initialValues);
87
-
88
- // Object methods
89
- vtkIJKSliceRepresentationProxy.extend(publicAPI, model);
90
-
91
- // Object specific methods
92
- vtkLabelMapSliceRepProxy(publicAPI, model);
93
- }
94
-
95
- // ----------------------------------------------------------------------------
96
-
97
- export const newInstance = macro.newInstance(
98
- extend,
99
- 'vtkLabelMapSliceRepProxy'
100
- );
101
-
102
- // ----------------------------------------------------------------------------
103
-
104
- export default { newInstance, extend };