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,193 +0,0 @@
1
- import { MaybeRef } from '@vueuse/core';
2
- import { useDoubleRecord } from '@/src/composables/useDoubleRecord';
3
- import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
4
- import vtkPiecewiseFunctionProxy from '@kitware/vtk.js/Proxy/Core/PiecewiseFunctionProxy';
5
- import {
6
- getColorFunctionRangeFromPreset,
7
- getOpacityFunctionFromPreset,
8
- getOpacityRangeFromPreset,
9
- } from '@/src/utils/vtk-helpers';
10
- import { DEFAULT_PRESET_BY_MODALITY } from '@/src/config';
11
- import { ColorTransferFunction } from '@/src/types/views';
12
- import {
13
- removeDataFromConfig,
14
- removeViewFromConfig,
15
- serializeViewConfig,
16
- } from './common';
17
- import { DEFAULT_PRESET } from '../../vtk/ColorMaps';
18
- import { StateFile, ViewConfig } from '../../io/state-file/schema';
19
- import { VolumeColorConfig } from './types';
20
- import { useDICOMStore } from '../datasets-dicom';
21
- import { useImageStore } from '../datasets-images';
22
-
23
- export const DEFAULT_AMBIENT = 0.2;
24
- export const DEFAULT_DIFFUSE = 0.7;
25
- export const DEFAULT_SPECULAR = 0.3;
26
-
27
- function getPresetFromImageModality(imageID: string) {
28
- const dicomStore = useDICOMStore();
29
- if (imageID in dicomStore.imageIDToVolumeKey) {
30
- const volKey = dicomStore.imageIDToVolumeKey[imageID];
31
- const { Modality } = dicomStore.volumeInfo[volKey];
32
- if (Modality in DEFAULT_PRESET_BY_MODALITY) {
33
- return DEFAULT_PRESET_BY_MODALITY[Modality];
34
- }
35
- }
36
- return DEFAULT_PRESET;
37
- }
38
-
39
- export const defaultVolumeColorConfig = (): VolumeColorConfig => ({
40
- colorBy: {
41
- arrayName: '',
42
- location: 'pointData',
43
- },
44
- transferFunction: {
45
- preset: '',
46
- mappingRange: [0, 1],
47
- },
48
- opacityFunction: {
49
- mode: vtkPiecewiseFunctionProxy.Mode.Gaussians,
50
- gaussians: [],
51
- mappingRange: [0, 1],
52
- },
53
- cvr: {
54
- enabled: true,
55
- lightFollowsCamera: true,
56
- useVolumetricScatteringBlending: false,
57
- volumetricScatteringBlending: 0.5,
58
- useLocalAmbientOcclusion: true,
59
- laoKernelRadius: 6,
60
- laoKernelSize: 3,
61
- ambient: DEFAULT_AMBIENT,
62
- diffuse: DEFAULT_DIFFUSE,
63
- specular: DEFAULT_SPECULAR,
64
- },
65
- });
66
-
67
- export const setupVolumeColorConfig = () => {
68
- // (viewID, dataID) -> VolumeColorConfig
69
- const volumeColorConfigs = useDoubleRecord<VolumeColorConfig>();
70
-
71
- const getVolumeColorConfig = (viewID: string, dataID: string) =>
72
- volumeColorConfigs.get(viewID, dataID);
73
-
74
- const getComputedVolumeColorConfig = (
75
- viewID: MaybeRef<string | null>,
76
- dataID: MaybeRef<string | null>
77
- ) => volumeColorConfigs.getComputed(viewID, dataID);
78
-
79
- const updateVolumeColorConfig = (
80
- viewID: string,
81
- dataID: string,
82
- update: Partial<VolumeColorConfig>
83
- ) => {
84
- const config = {
85
- ...defaultVolumeColorConfig(),
86
- ...volumeColorConfigs.get(viewID, dataID),
87
- ...update,
88
- };
89
- volumeColorConfigs.set(viewID, dataID, config);
90
- };
91
-
92
- const createUpdateFunc = <K extends keyof VolumeColorConfig>(
93
- key: K,
94
- validator: (config: VolumeColorConfig[K]) => VolumeColorConfig[K] = (i) => i
95
- ) => {
96
- return (
97
- viewID: string,
98
- dataID: string,
99
- update: Partial<VolumeColorConfig[K]>
100
- ) => {
101
- const config =
102
- volumeColorConfigs.get(viewID, dataID) ?? defaultVolumeColorConfig();
103
- const updatedConfig = validator({
104
- ...config[key],
105
- ...update,
106
- });
107
- updateVolumeColorConfig(viewID, dataID, { [key]: updatedConfig });
108
- };
109
- };
110
-
111
- const updateVolumeColorBy = createUpdateFunc('colorBy');
112
- const updateVolumeColorTransferFunction =
113
- createUpdateFunc('transferFunction');
114
- const updateVolumeOpacityFunction = createUpdateFunc('opacityFunction');
115
- const updateVolumeCVRParameters = createUpdateFunc('cvr', (cvrConfig) => {
116
- return {
117
- ...cvrConfig,
118
- // 2X kernel size minimizes flickering lighting
119
- // Limit kernel radius to [2*size, 2*size+10]
120
- laoKernelRadius: Math.max(
121
- 2 * cvrConfig.laoKernelSize,
122
- Math.min(2 * cvrConfig.laoKernelSize + 10, cvrConfig.laoKernelRadius)
123
- ),
124
- };
125
- });
126
-
127
- const setVolumeColorPreset = (
128
- viewID: string,
129
- imageID: string,
130
- preset: string
131
- ) => {
132
- const imageStore = useImageStore();
133
- const image = imageStore.dataIndex[imageID];
134
- if (!image) return;
135
- const imageDataRange = image.getPointData().getScalars().getRange();
136
-
137
- const ctRange = getColorFunctionRangeFromPreset(preset);
138
- const ctFunc: Partial<ColorTransferFunction> = {
139
- preset,
140
- mappingRange: ctRange || imageDataRange,
141
- };
142
- updateVolumeColorTransferFunction(viewID, imageID, ctFunc);
143
-
144
- const opFunc = getOpacityFunctionFromPreset(preset);
145
- const opRange = getOpacityRangeFromPreset(preset);
146
- opFunc.mappingRange = opRange || imageDataRange;
147
- updateVolumeOpacityFunction(viewID, imageID, opFunc);
148
- };
149
-
150
- const resetToDefaultColoring = (
151
- viewID: string,
152
- dataID: string,
153
- image: vtkImageData
154
- ) => {
155
- const scalars = image.getPointData().getScalars();
156
-
157
- updateVolumeColorBy(viewID, dataID, {
158
- arrayName: scalars.getName(),
159
- location: 'pointData',
160
- });
161
- setVolumeColorPreset(viewID, dataID, getPresetFromImageModality(dataID));
162
- };
163
-
164
- const serialize = (stateFile: StateFile) => {
165
- serializeViewConfig(stateFile, getVolumeColorConfig, 'volumeColorConfig');
166
- };
167
-
168
- const deserialize = (viewID: string, config: Record<string, ViewConfig>) => {
169
- Object.entries(config).forEach(([dataID, viewConfig]) => {
170
- if (viewConfig.volumeColorConfig) {
171
- volumeColorConfigs.set(viewID, dataID, viewConfig.volumeColorConfig);
172
- }
173
- });
174
- };
175
-
176
- return {
177
- removeView: removeViewFromConfig(volumeColorConfigs),
178
- removeData: removeDataFromConfig(volumeColorConfigs),
179
- serialize,
180
- deserialize,
181
- actions: {
182
- getVolumeColorConfig,
183
- getComputedVolumeColorConfig,
184
- updateVolumeColorConfig,
185
- updateVolumeColorBy,
186
- updateVolumeColorTransferFunction,
187
- updateVolumeOpacityFunction,
188
- updateVolumeCVRParameters,
189
- resetToDefaultColoring,
190
- setVolumeColorPreset,
191
- },
192
- };
193
- };
@@ -1,69 +0,0 @@
1
- import { useDoubleRecord } from '@/src/composables/useDoubleRecord';
2
- import {
3
- removeDataFromConfig,
4
- removeViewFromConfig,
5
- serializeViewConfig,
6
- } from './common';
7
- import { StateFile, ViewConfig } from '../../io/state-file/schema';
8
- import { WindowLevelConfig } from './types';
9
-
10
- export const defaultWindowLevelConfig = (): WindowLevelConfig => ({
11
- width: 1,
12
- level: 0.5,
13
- min: 0,
14
- max: 1,
15
- });
16
-
17
- export const setupWindowingConfig = () => {
18
- // (viewID, dataID) -> WindowLevelConfig
19
- const windowLevelConfigs = useDoubleRecord<WindowLevelConfig>();
20
-
21
- const getWindowingConfig = (viewID: string, dataID: string) =>
22
- windowLevelConfigs.get(viewID, dataID);
23
-
24
- const updateWindowingConfig = (
25
- viewID: string,
26
- dataID: string,
27
- update: Partial<WindowLevelConfig>
28
- ) => {
29
- const config = {
30
- ...defaultWindowLevelConfig(),
31
- ...windowLevelConfigs.get(viewID, dataID),
32
- ...update,
33
- };
34
- windowLevelConfigs.set(viewID, dataID, config);
35
- };
36
-
37
- const resetWindowLevel = (viewID: string, dataID: string) => {
38
- if (windowLevelConfigs.has(viewID, dataID)) {
39
- const config = windowLevelConfigs.get(viewID, dataID)!;
40
- const width = config.max - config.min;
41
- const level = (config.max + config.min) / 2;
42
- updateWindowingConfig(viewID, dataID, { width, level });
43
- }
44
- };
45
-
46
- const serialize = (stateFile: StateFile) => {
47
- serializeViewConfig(stateFile, getWindowingConfig, 'window');
48
- };
49
-
50
- const deserialize = (viewID: string, config: Record<string, ViewConfig>) => {
51
- Object.entries(config).forEach(([dataID, viewConfig]) => {
52
- if (viewConfig.window) {
53
- windowLevelConfigs.set(viewID, dataID, viewConfig.window);
54
- }
55
- });
56
- };
57
-
58
- return {
59
- removeView: removeViewFromConfig(windowLevelConfigs),
60
- removeData: removeDataFromConfig(windowLevelConfigs),
61
- serialize,
62
- deserialize,
63
- actions: {
64
- getWindowingConfig,
65
- updateWindowingConfig,
66
- resetWindowLevel,
67
- },
68
- };
69
- };
@@ -1,78 +0,0 @@
1
- import { defineStore } from 'pinia';
2
-
3
- import { setupSlicingConfig } from './view-configs/slicing';
4
- import { setupWindowingConfig } from './view-configs/windowing';
5
- import { setupCameraConfig } from './view-configs/camera';
6
- import { setupVolumeColorConfig } from './view-configs/volume-coloring';
7
- import { StateFile, ViewConfig } from '../io/state-file/schema';
8
- import { useImageStore } from './datasets-images';
9
-
10
- /**
11
- * This store saves view configuration that is associated with a specific
12
- * view. The key is a synthetic id generated from the view ID and data ID.
13
- */
14
- export const useViewConfigStore = defineStore('viewConfig', () => {
15
- const sliceConfig = setupSlicingConfig();
16
- const windowingConfig = setupWindowingConfig();
17
- const cameraConfig = setupCameraConfig();
18
- const volumeColorConfig = setupVolumeColorConfig();
19
-
20
- const removeView = (viewID: string) => {
21
- sliceConfig.removeView(viewID);
22
- windowingConfig.removeView(viewID);
23
- cameraConfig.removeView(viewID);
24
- volumeColorConfig.removeView(viewID);
25
- };
26
-
27
- const removeData = (dataID: string, viewID?: string) => {
28
- sliceConfig.removeData(dataID, viewID);
29
- windowingConfig.removeData(dataID, viewID);
30
- cameraConfig.removeData(dataID, viewID);
31
- volumeColorConfig.removeData(dataID, viewID);
32
- };
33
-
34
- const serialize = (stateFile: StateFile) => {
35
- sliceConfig.serialize(stateFile);
36
- windowingConfig.serialize(stateFile);
37
- cameraConfig.serialize(stateFile);
38
- volumeColorConfig.serialize(stateFile);
39
- };
40
-
41
- const deserialize = (
42
- viewID: string,
43
- config: Record<string, ViewConfig>,
44
- dataIDMap: Record<string, string>
45
- ) => {
46
- // First update the view config map to use the new dataIDs
47
- const updatedConfig: Record<string, ViewConfig> = {};
48
- Object.entries(config).forEach(([dataID, viewConfig]) => {
49
- const newDataID = dataIDMap[dataID];
50
- updatedConfig[newDataID] = viewConfig;
51
- });
52
-
53
- sliceConfig.deserialize(viewID, updatedConfig);
54
- windowingConfig.deserialize(viewID, updatedConfig);
55
- cameraConfig.deserialize(viewID, updatedConfig);
56
- volumeColorConfig.deserialize(viewID, updatedConfig);
57
- };
58
-
59
- // delete hook
60
- const imageStore = useImageStore();
61
- imageStore.$onAction(({ name, args }) => {
62
- if (name === 'deleteData') {
63
- const [id] = args;
64
- removeData(id);
65
- }
66
- });
67
-
68
- return {
69
- removeView,
70
- removeData,
71
- serialize,
72
- deserialize,
73
- ...sliceConfig.actions,
74
- ...windowingConfig.actions,
75
- ...cameraConfig.actions,
76
- ...volumeColorConfig.actions,
77
- };
78
- });
@@ -1,130 +0,0 @@
1
- import { set, del } from '@vue/composition-api';
2
- import vtkAbstractRepresentationProxy from '@kitware/vtk.js/Proxy/Core/AbstractRepresentationProxy';
3
- import vtkViewProxy from '@kitware/vtk.js/Proxy/Core/ViewProxy';
4
- import { defineStore } from 'pinia';
5
- import { DefaultViewSpec, InitViewSpecs } from '../config';
6
- import { ViewProxyType } from '../core/proxies';
7
- import { Layout, LayoutDirection } from '../types/layout';
8
- import { useViewConfigStore } from './view-configs';
9
- import { ViewSpec } from '../types/views';
10
- import {
11
- StateFile,
12
- Layout as StateFileLayout,
13
- View,
14
- } from '../io/state-file/schema';
15
-
16
- interface State {
17
- layout: Layout;
18
- viewSpecs: Record<string, ViewSpec>;
19
- }
20
-
21
- export const useViewStore = defineStore('view', {
22
- state: (): State => ({
23
- layout: {
24
- direction: LayoutDirection.V,
25
- items: [],
26
- },
27
- viewSpecs: structuredClone(InitViewSpecs),
28
- }),
29
- getters: {
30
- viewIDs(state) {
31
- return Object.keys(state.viewSpecs);
32
- },
33
- getViewProxy() {
34
- return <T extends vtkViewProxy>(id: string) => {
35
- return this.$proxies.getView<T>(id);
36
- };
37
- },
38
- getDataRepresentationForView() {
39
- return <T extends vtkAbstractRepresentationProxy>(
40
- dataID: string,
41
- viewID: string
42
- ) => {
43
- return <T | null>(
44
- this.$proxies.getDataRepresentationForView(dataID, viewID)
45
- );
46
- };
47
- },
48
- },
49
- actions: {
50
- createOrGetViewProxy<T extends vtkViewProxy = vtkViewProxy>(
51
- id: string,
52
- type: ViewProxyType
53
- ) {
54
- return (
55
- this.$proxies.getView<T>(id) ?? <T>this.$proxies.createView(id, type)
56
- );
57
- },
58
- addView(id: string) {
59
- if (!(id in this.viewSpecs)) {
60
- set(this.viewSpecs, id, structuredClone(DefaultViewSpec));
61
- }
62
- },
63
- removeView(id: string) {
64
- if (id in this.viewSpecs) {
65
- del(this.viewSpecs, id);
66
- this.$proxies.removeView(id);
67
- }
68
- },
69
- setLayout(layout: Layout) {
70
- this.layout = layout;
71
-
72
- const layoutsToProcess = [layout];
73
- while (layoutsToProcess.length) {
74
- const ly = layoutsToProcess.shift()!;
75
- ly.items.forEach((item) => {
76
- if (typeof item === 'string') {
77
- // item is a view ID
78
- this.addView(item);
79
- } else {
80
- layoutsToProcess.push(item);
81
- }
82
- });
83
- }
84
- },
85
- serialize(stateFile: StateFile) {
86
- const viewConfigStore = useViewConfigStore();
87
- const { manifest } = stateFile;
88
- const { views } = manifest;
89
-
90
- manifest.layout = this.layout as StateFileLayout;
91
-
92
- // Serialize the view specs
93
- Object.entries(this.viewSpecs).forEach(([id, spec]) => {
94
- const type = spec.viewType;
95
- const { props } = spec;
96
- const config = {};
97
-
98
- const view = {
99
- id,
100
- type,
101
- props,
102
- config,
103
- };
104
-
105
- views.push(view);
106
- });
107
-
108
- // Serialize the view config
109
- viewConfigStore.serialize(stateFile);
110
- },
111
- deserialize(views: View[], dataIDMap: Record<string, string>) {
112
- const viewConfigStore = useViewConfigStore();
113
-
114
- views.forEach((view) => {
115
- const viewID = view.id;
116
-
117
- const viewSpec = {
118
- viewType: view.type,
119
- props: view.props,
120
- };
121
-
122
- this.viewSpecs[viewID] = viewSpec;
123
-
124
- // Now delegate the deserialization of the view config
125
- const { config } = view;
126
- viewConfigStore.deserialize(viewID, config, dataIDMap);
127
- });
128
- },
129
- },
130
- });
@@ -1,16 +0,0 @@
1
- import { StoreDefinition } from 'pinia';
2
-
3
- export type NullableValues<T> = {
4
- [K in keyof T]: T[K] | null;
5
- };
6
-
7
- export type PiniaStoreState<S extends StoreDefinition> =
8
- ReturnType<S>['$state'];
9
-
10
- export type SampleDataset = {
11
- name: string;
12
- filename: string;
13
- description: string;
14
- url: string;
15
- image: string;
16
- };
@@ -1,10 +0,0 @@
1
- export enum LayoutDirection {
2
- V = 'V',
3
- H = 'H',
4
- }
5
-
6
- export type Layout = {
7
- direction: LayoutDirection;
8
- items: Array<Layout | string>;
9
- name?: string;
10
- };
package/src/types/lps.ts DELETED
@@ -1,40 +0,0 @@
1
- import { Vector2 } from '@kitware/vtk.js/types';
2
- import { vec3 } from 'gl-matrix';
3
-
4
- export type LPSAxis = 'Axial' | 'Sagittal' | 'Coronal';
5
-
6
- export type LPSAxisDir =
7
- | 'Left'
8
- | 'Right'
9
- | 'Posterior'
10
- | 'Anterior'
11
- | 'Superior'
12
- | 'Inferior';
13
-
14
- export interface LPSDirections {
15
- // Maps LPS direction to world-space direction (not index-space direction)
16
- // These should match columns of the current image orientation matrix.
17
- Left: vec3;
18
- Right: vec3;
19
- Posterior: vec3;
20
- Anterior: vec3;
21
- Superior: vec3;
22
- Inferior: vec3;
23
-
24
- // maps LPS axis to column in direction matrix
25
- Coronal: 0 | 1 | 2;
26
- Sagittal: 0 | 1 | 2;
27
- Axial: 0 | 1 | 2;
28
- }
29
-
30
- export interface LPSPoint {
31
- Sagittal: number;
32
- Coronal: number;
33
- Axial: number;
34
- }
35
-
36
- export interface LPSBounds {
37
- Sagittal: Vector2;
38
- Coronal: Vector2;
39
- Axial: Vector2;
40
- }
@@ -1,65 +0,0 @@
1
- import {
2
- IPiecewiseFunctionProxyMode,
3
- PiecewiseGaussian,
4
- PiecewiseNode,
5
- } from '@kitware/vtk.js/Proxy/Core/PiecewiseFunctionProxy';
6
-
7
- export type ViewType = '2D' | '3D';
8
-
9
- export interface ViewSpec {
10
- viewType: ViewType;
11
- props: Record<string, any>;
12
- }
13
-
14
- export interface ColorBy {
15
- arrayName: string;
16
- location: string;
17
- }
18
-
19
- export interface OpacityGaussians {
20
- mode: IPiecewiseFunctionProxyMode.Gaussians;
21
- gaussians: PiecewiseGaussian[];
22
- mappingRange: [number, number];
23
- }
24
-
25
- export interface OpacityPoints {
26
- mode: IPiecewiseFunctionProxyMode.Points;
27
- // base preset that has the opacity points
28
- preset: string;
29
- shift: number;
30
- mappingRange: [number, number];
31
- }
32
-
33
- export interface OpacityNodes {
34
- mode: IPiecewiseFunctionProxyMode.Nodes;
35
- nodes: PiecewiseNode[];
36
- mappingRange: [number, number];
37
- }
38
-
39
- export type OpacityFunction = OpacityGaussians | OpacityPoints | OpacityNodes;
40
-
41
- export interface ColorTransferFunction {
42
- preset: string;
43
- mappingRange: [number, number];
44
- }
45
- export interface ColoringConfig {
46
- colorBy: ColorBy;
47
- transferFunction: ColorTransferFunction;
48
- opacityFunction: OpacityFunction;
49
- }
50
-
51
- export interface CVRConfig {
52
- enabled: boolean;
53
-
54
- lightFollowsCamera: boolean;
55
-
56
- useVolumetricScatteringBlending: boolean;
57
- volumetricScatteringBlending: number;
58
-
59
- useLocalAmbientOcclusion: boolean;
60
- laoKernelSize: number;
61
- laoKernelRadius: number;
62
- ambient: number;
63
- diffuse: number;
64
- specular: number;
65
- }
@@ -1,29 +0,0 @@
1
- import { vtkAlgorithm, vtkObject } from '@kitware/vtk.js/interfaces';
2
- import vtkProxyManager from '@kitware/vtk.js/Proxy/Core/ProxyManager';
3
- import vtkDataSet from '@kitware/vtk.js/Common/DataModel/DataSet';
4
- import vtkLPSView2DProxy from '../vtk/LPSView2DProxy';
5
- import vtkLPSView3DProxy from '../vtk/LPSView3DProxy';
6
-
7
- export interface vtkClass {
8
- newInstance: () => vtkObject;
9
- extend: (publiAPI: any, model: any) => void;
10
- }
11
-
12
- export interface vtkReader extends vtkObject, vtkAlgorithm {
13
- parseAsArrayBuffer: (ab: ArrayBufferLike) => void;
14
- parseAsText: (text: string) => void;
15
- }
16
-
17
- export interface vtkWriter extends vtkObject {
18
- write: (data: vtkDataSet) => any;
19
- }
20
-
21
- export default interface vtkProxyObject extends vtkObject {
22
- getProxyId(): string;
23
- getProxyGroup(): string;
24
- getProxyName(): string;
25
- getProxyManager(): vtkProxyManager;
26
- setProxyManager(manager: vtkProxyManager): void;
27
- }
28
-
29
- export type vtkLPSViewProxy = vtkLPSView2DProxy | vtkLPSView3DProxy;