@kitware/vtk.js 28.10.2 → 28.11.0

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 (565) hide show
  1. package/Common/Core/Base64.js +53 -82
  2. package/Common/Core/CellArray.js +52 -60
  3. package/Common/Core/ClassHierarchy.js +8 -36
  4. package/Common/Core/DataArray/Constants.js +6 -6
  5. package/Common/Core/DataArray.js +185 -270
  6. package/Common/Core/Endian.js +14 -17
  7. package/Common/Core/HalfFloat.js +17 -34
  8. package/Common/Core/ImageHelper.js +17 -25
  9. package/Common/Core/LookupTable.js +131 -144
  10. package/Common/Core/Math/Constants.js +8 -8
  11. package/Common/Core/Math/index.js +754 -942
  12. package/Common/Core/Math.js +2 -4
  13. package/Common/Core/MatrixBuilder.js +99 -151
  14. package/Common/Core/Points.js +43 -43
  15. package/Common/Core/PriorityQueue.js +30 -28
  16. package/Common/Core/ProgressHandler.js +31 -32
  17. package/Common/Core/ScalarsToColors/Constants.js +4 -4
  18. package/Common/Core/ScalarsToColors.js +196 -253
  19. package/Common/Core/StringArray.js +48 -73
  20. package/Common/Core/URLExtract.js +10 -29
  21. package/Common/Core/VariantArray.js +48 -73
  22. package/Common/Core.js +11 -11
  23. package/Common/DataModel/AbstractPointLocator.js +19 -17
  24. package/Common/DataModel/BoundingBox.js +322 -490
  25. package/Common/DataModel/Box.js +46 -63
  26. package/Common/DataModel/CardinalSpline1D.js +92 -102
  27. package/Common/DataModel/Cell.js +41 -61
  28. package/Common/DataModel/CellLinks.js +91 -127
  29. package/Common/DataModel/CellTypes/Constants.js +7 -6
  30. package/Common/DataModel/CellTypes.js +55 -74
  31. package/Common/DataModel/Collection.js +45 -61
  32. package/Common/DataModel/Cone.js +28 -20
  33. package/Common/DataModel/Cylinder.js +41 -35
  34. package/Common/DataModel/DataSet/Constants.js +11 -5
  35. package/Common/DataModel/DataSet.js +37 -25
  36. package/Common/DataModel/DataSetAttributes/Constants.js +18 -18
  37. package/Common/DataModel/DataSetAttributes/FieldData.js +103 -194
  38. package/Common/DataModel/DataSetAttributes.js +96 -138
  39. package/Common/DataModel/EdgeLocator.js +45 -70
  40. package/Common/DataModel/ITKHelper.js +67 -137
  41. package/Common/DataModel/ImageData.js +115 -172
  42. package/Common/DataModel/ImplicitBoolean/Constants.js +2 -2
  43. package/Common/DataModel/ImplicitBoolean.js +66 -96
  44. package/Common/DataModel/IncrementalOctreeNode.js +201 -231
  45. package/Common/DataModel/IncrementalOctreePointLocator.js +160 -198
  46. package/Common/DataModel/KochanekSpline1D.js +78 -81
  47. package/Common/DataModel/Line/Constants.js +2 -2
  48. package/Common/DataModel/Line.js +82 -105
  49. package/Common/DataModel/Locator.js +17 -10
  50. package/Common/DataModel/Molecule.js +26 -17
  51. package/Common/DataModel/PiecewiseFunction.js +218 -239
  52. package/Common/DataModel/Plane.js +90 -113
  53. package/Common/DataModel/PointSet.js +30 -26
  54. package/Common/DataModel/PolyData/Constants.js +2 -2
  55. package/Common/DataModel/PolyData.js +95 -120
  56. package/Common/DataModel/PolyLine.js +44 -61
  57. package/Common/DataModel/Polygon/Constants.js +4 -4
  58. package/Common/DataModel/Polygon.js +128 -169
  59. package/Common/DataModel/Quad/Constants.js +2 -2
  60. package/Common/DataModel/Quad.js +61 -100
  61. package/Common/DataModel/SelectionNode/Constants.js +5 -4
  62. package/Common/DataModel/SelectionNode.js +25 -21
  63. package/Common/DataModel/Sphere.js +40 -35
  64. package/Common/DataModel/Spline1D/Constants.js +3 -2
  65. package/Common/DataModel/Spline1D.js +34 -18
  66. package/Common/DataModel/Spline3D/Constants.js +2 -2
  67. package/Common/DataModel/Spline3D.js +46 -41
  68. package/Common/DataModel/StructuredData/Constants.js +2 -2
  69. package/Common/DataModel/StructuredData.js +9 -20
  70. package/Common/DataModel/Triangle.js +207 -250
  71. package/Common/DataModel.js +19 -19
  72. package/Common/System/MobileVR.js +56 -61
  73. package/Common/System/TimerLog.js +1 -1
  74. package/Common/System.js +2 -2
  75. package/Common/Transform/LandmarkTransform/Constants.js +2 -2
  76. package/Common/Transform/LandmarkTransform.js +133 -117
  77. package/Common/Transform/Transform.js +42 -57
  78. package/Common/Transform.js +2 -2
  79. package/Common/index.js +4 -4
  80. package/Filters/Core/Cutter.js +134 -146
  81. package/Filters/Core/PolyDataNormals.js +44 -50
  82. package/Filters/Core.js +2 -2
  83. package/Filters/Cornerstone/ImageDataToCornerstoneImage.js +45 -33
  84. package/Filters/Cornerstone.js +1 -1
  85. package/Filters/General/AppendPolyData.js +84 -100
  86. package/Filters/General/Calculator.js +95 -163
  87. package/Filters/General/ClipClosedSurface/Constants.js +2 -2
  88. package/Filters/General/ClipClosedSurface.js +341 -416
  89. package/Filters/General/ClosedPolyLineToSurfaceFilter.js +141 -156
  90. package/Filters/General/ContourTriangulator/Constants.js +2 -2
  91. package/Filters/General/ContourTriangulator/helper.js +684 -812
  92. package/Filters/General/ContourTriangulator.js +92 -89
  93. package/Filters/General/ImageCropFilter.js +77 -78
  94. package/Filters/General/ImageDataOutlineFilter.js +42 -36
  95. package/Filters/General/ImageMarchingCubes/caseTable.js +9 -521
  96. package/Filters/General/ImageMarchingCubes.js +99 -112
  97. package/Filters/General/ImageMarchingSquares/caseTable.js +9 -41
  98. package/Filters/General/ImageMarchingSquares.js +93 -118
  99. package/Filters/General/ImageOutlineFilter.js +53 -54
  100. package/Filters/General/ImageSliceFilter.js +39 -30
  101. package/Filters/General/ImageStreamline.js +107 -124
  102. package/Filters/General/LineFilter.js +26 -15
  103. package/Filters/General/MoleculeToRepresentation.js +136 -149
  104. package/Filters/General/OBBTree/OBBNode.js +36 -34
  105. package/Filters/General/OBBTree/helper.js +19 -24
  106. package/Filters/General/OBBTree.js +396 -488
  107. package/Filters/General/OutlineFilter.js +52 -34
  108. package/Filters/General/PaintFilter/PaintFilter.worker.js +93 -130
  109. package/Filters/General/PaintFilter.js +150 -162
  110. package/Filters/General/ScalarToRGBA.js +38 -33
  111. package/Filters/General/TriangleFilter.js +65 -62
  112. package/Filters/General/TubeFilter/Constants.js +4 -4
  113. package/Filters/General/TubeFilter.js +376 -496
  114. package/Filters/General/WarpScalar.js +58 -60
  115. package/Filters/General/WindowedSincPolyDataFilter.js +258 -330
  116. package/Filters/General.js +21 -21
  117. package/Filters/Sources/Arrow2DSource/Constants.js +2 -2
  118. package/Filters/Sources/Arrow2DSource.js +56 -56
  119. package/Filters/Sources/ArrowSource.js +39 -29
  120. package/Filters/Sources/CircleSource.js +43 -43
  121. package/Filters/Sources/ConcentricCylinderSource.js +151 -174
  122. package/Filters/Sources/ConeSource.js +51 -42
  123. package/Filters/Sources/CubeSource.js +75 -96
  124. package/Filters/Sources/Cursor3D.js +94 -109
  125. package/Filters/Sources/CylinderSource.js +90 -90
  126. package/Filters/Sources/ImageGridSource.js +43 -43
  127. package/Filters/Sources/LineSource.js +49 -39
  128. package/Filters/Sources/PlaneSource.js +97 -104
  129. package/Filters/Sources/PointSource.js +46 -37
  130. package/Filters/Sources/RTAnalyticSource.js +50 -48
  131. package/Filters/Sources/SLICSource.js +63 -73
  132. package/Filters/Sources/SphereSource.js +88 -78
  133. package/Filters/Sources/ViewFinderSource.js +26 -23
  134. package/Filters/Sources.js +14 -14
  135. package/Filters/Texture/TextureMapToPlane.js +95 -97
  136. package/Filters/Texture/TextureMapToSphere.js +46 -54
  137. package/Filters/Texture.js +2 -2
  138. package/Filters/index.js +5 -5
  139. package/IO/Core/BinaryHelper.js +12 -18
  140. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.js +43 -59
  141. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.js +76 -113
  142. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.js +62 -112
  143. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.js +76 -113
  144. package/IO/Core/DataAccessHelper.js +6 -6
  145. package/IO/Core/HttpDataSetReader.js +136 -139
  146. package/IO/Core/HttpDataSetSeriesReader.js +64 -75
  147. package/IO/Core/HttpSceneLoader.js +130 -179
  148. package/IO/Core/ImageStream/DefaultProtocol.js +29 -43
  149. package/IO/Core/ImageStream/ViewStream.js +100 -103
  150. package/IO/Core/ImageStream.js +62 -54
  151. package/IO/Core/ResourceLoader.js +10 -9
  152. package/IO/Core/Serializer/ArraySerializer.js +40 -40
  153. package/IO/Core/Serializer/FieldDataSerializer.js +18 -28
  154. package/IO/Core/Serializer/ImageDataSerializer.js +22 -23
  155. package/IO/Core/Serializer/PolyDataSerializer.js +17 -21
  156. package/IO/Core/Serializer.js +6 -13
  157. package/IO/Core/WSLinkClient.js +90 -76
  158. package/IO/Core/ZipMultiDataSetReader.js +46 -44
  159. package/IO/Core/ZipMultiDataSetWriter.js +43 -34
  160. package/IO/Core.js +7 -7
  161. package/IO/Geometry/DracoReader.js +118 -121
  162. package/IO/Geometry/PLYReader.js +163 -223
  163. package/IO/Geometry/PLYWriter/Constants.js +5 -5
  164. package/IO/Geometry/PLYWriter.js +139 -154
  165. package/IO/Geometry/STLReader.js +123 -146
  166. package/IO/Geometry/STLWriter/Constants.js +2 -2
  167. package/IO/Geometry/STLWriter.js +83 -82
  168. package/IO/Geometry.js +5 -5
  169. package/IO/Legacy/LegacyAsciiParser.js +78 -139
  170. package/IO/Legacy/PolyDataReader.js +48 -36
  171. package/IO/Legacy.js +2 -2
  172. package/IO/Misc/ElevationReader.js +67 -60
  173. package/IO/Misc/HttpDataSetLODsLoader.js +41 -38
  174. package/IO/Misc/ITKImageReader.js +58 -45
  175. package/IO/Misc/ITKPolyDataReader.js +50 -38
  176. package/IO/Misc/JSONNucleoReader.js +49 -42
  177. package/IO/Misc/JSONReader.js +38 -33
  178. package/IO/Misc/MTLReader.js +74 -119
  179. package/IO/Misc/OBJReader.js +153 -206
  180. package/IO/Misc/PDBReader.js +70 -68
  181. package/IO/Misc/SkyboxReader.js +77 -82
  182. package/IO/Misc.js +9 -9
  183. package/IO/XML/XMLImageDataReader.js +36 -38
  184. package/IO/XML/XMLImageDataWriter.js +28 -21
  185. package/IO/XML/XMLPolyDataReader.js +49 -46
  186. package/IO/XML/XMLPolyDataWriter.js +43 -42
  187. package/IO/XML/XMLReader.js +262 -304
  188. package/IO/XML/XMLWriter/Constants.js +3 -3
  189. package/IO/XML/XMLWriter.js +70 -84
  190. package/IO/XML.js +6 -6
  191. package/IO/index.js +5 -5
  192. package/Imaging/Core/AbstractImageInterpolator/Constants.js +4 -4
  193. package/Imaging/Core/AbstractImageInterpolator/InterpolationInfo.js +30 -27
  194. package/Imaging/Core/AbstractImageInterpolator.js +74 -87
  195. package/Imaging/Core/ImageInterpolator.js +201 -252
  196. package/Imaging/Core/ImagePointDataIterator.js +96 -122
  197. package/Imaging/Core/ImageReslice/Constants.js +2 -2
  198. package/Imaging/Core/ImageReslice.js +327 -464
  199. package/Imaging/Core.js +4 -4
  200. package/Imaging/Hybrid/SampleFunction.js +58 -51
  201. package/Imaging/Hybrid.js +1 -1
  202. package/Imaging/index.js +2 -2
  203. package/Interaction/Animations/TimeStepBasedAnimationHandler.js +39 -54
  204. package/Interaction/Manipulators/CompositeCameraManipulator.js +22 -13
  205. package/Interaction/Manipulators/CompositeGestureManipulator.js +31 -43
  206. package/Interaction/Manipulators/CompositeKeyboardManipulator.js +15 -11
  207. package/Interaction/Manipulators/CompositeMouseManipulator.js +27 -33
  208. package/Interaction/Manipulators/CompositeVRManipulator.js +22 -15
  209. package/Interaction/Manipulators/GestureCameraManipulator.js +54 -36
  210. package/Interaction/Manipulators/KeyboardCameraManipulator.js +95 -97
  211. package/Interaction/Manipulators/MouseBoxSelectorManipulator.js +70 -89
  212. package/Interaction/Manipulators/MouseCameraAxisRotateManipulator.js +67 -54
  213. package/Interaction/Manipulators/MouseCameraSliceManipulator.js +40 -38
  214. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +83 -68
  215. package/Interaction/Manipulators/MouseCameraTrackballMultiRotateManipulator.js +32 -28
  216. package/Interaction/Manipulators/MouseCameraTrackballPanManipulator.js +47 -40
  217. package/Interaction/Manipulators/MouseCameraTrackballRollManipulator.js +55 -43
  218. package/Interaction/Manipulators/MouseCameraTrackballRotateManipulator.js +56 -46
  219. package/Interaction/Manipulators/MouseCameraTrackballZoomManipulator.js +41 -46
  220. package/Interaction/Manipulators/MouseCameraTrackballZoomToMouseManipulator.js +29 -27
  221. package/Interaction/Manipulators/MouseCameraUnicamManipulator.js +123 -146
  222. package/Interaction/Manipulators/MouseCameraUnicamRotateManipulator.js +144 -166
  223. package/Interaction/Manipulators/MouseRangeManipulator.js +127 -132
  224. package/Interaction/Manipulators/VRButtonPanManipulator.js +33 -23
  225. package/Interaction/Manipulators.js +21 -21
  226. package/Interaction/Misc/DeviceOrientationToCamera.js +25 -47
  227. package/Interaction/Misc.js +1 -1
  228. package/Interaction/Style/InteractorStyleImage.js +101 -121
  229. package/Interaction/Style/InteractorStyleMPRSlice.js +111 -128
  230. package/Interaction/Style/InteractorStyleManipulator/Presets.js +9 -17
  231. package/Interaction/Style/InteractorStyleManipulator.js +254 -329
  232. package/Interaction/Style/InteractorStyleRemoteMouse.js +195 -180
  233. package/Interaction/Style/InteractorStyleTrackballCamera.js +154 -157
  234. package/Interaction/Style/InteractorStyleUnicam.js +30 -38
  235. package/Interaction/Style.js +5 -5
  236. package/Interaction/UI/CornerAnnotation/CornerAnnotation.module.css.js +1 -1
  237. package/Interaction/UI/CornerAnnotation.js +65 -48
  238. package/Interaction/UI/FPSMonitor.js +104 -105
  239. package/Interaction/UI/Icons.js +1 -1
  240. package/Interaction/UI/Slider/Constants.js +2 -2
  241. package/Interaction/UI/Slider.js +78 -95
  242. package/Interaction/UI/VolumeController.js +104 -97
  243. package/Interaction/UI.js +5 -5
  244. package/Interaction/Widgets/OrientationMarkerWidget/Constants.js +2 -2
  245. package/Interaction/Widgets/OrientationMarkerWidget.js +90 -135
  246. package/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  247. package/Interaction/Widgets/PiecewiseGaussianWidget.js +381 -498
  248. package/Interaction/Widgets.js +2 -2
  249. package/Interaction/index.js +5 -5
  250. package/Proxy/Animation/AbstractAnimationProxy.js +22 -15
  251. package/Proxy/Animation/AnimationProxyManager.js +43 -51
  252. package/Proxy/Animation/TimeStepBasedAnimationHandlerProxy.js +26 -19
  253. package/Proxy/Core/AbstractRepresentationProxy.js +97 -151
  254. package/Proxy/Core/LookupTableProxy/Constants.js +4 -4
  255. package/Proxy/Core/LookupTableProxy.js +49 -52
  256. package/Proxy/Core/PiecewiseFunctionProxy/Constants.js +4 -4
  257. package/Proxy/Core/PiecewiseFunctionProxy.js +63 -72
  258. package/Proxy/Core/ProxyManager/core.js +83 -106
  259. package/Proxy/Core/ProxyManager/properties.js +53 -76
  260. package/Proxy/Core/ProxyManager/state.js +100 -110
  261. package/Proxy/Core/ProxyManager/view.js +45 -55
  262. package/Proxy/Core/ProxyManager.js +16 -8
  263. package/Proxy/Core/SourceProxy.js +41 -38
  264. package/Proxy/Core/View2DProxy.js +143 -199
  265. package/Proxy/Core/ViewProxy.js +223 -269
  266. package/Proxy/Core.js +7 -7
  267. package/Proxy/Representations/GeometryRepresentationProxy.js +34 -20
  268. package/Proxy/Representations/GlyphRepresentationProxy.js +42 -41
  269. package/Proxy/Representations/MoleculeRepresentationProxy.js +32 -22
  270. package/Proxy/Representations/ResliceRepresentationProxy.js +48 -32
  271. package/Proxy/Representations/SkyboxRepresentationProxy.js +30 -29
  272. package/Proxy/Representations/SliceRepresentationProxy.js +93 -112
  273. package/Proxy/Representations/SlicedGeometryRepresentationProxy.js +46 -42
  274. package/Proxy/Representations/VolumeRepresentationProxy.js +108 -133
  275. package/Proxy/Representations.js +7 -7
  276. package/Proxy/index.js +2 -2
  277. package/Rendering/Core/AbstractImageMapper/helper.js +44 -49
  278. package/Rendering/Core/AbstractImageMapper.js +18 -19
  279. package/Rendering/Core/AbstractMapper.js +39 -55
  280. package/Rendering/Core/AbstractMapper3D.js +26 -31
  281. package/Rendering/Core/AbstractPicker.js +25 -21
  282. package/Rendering/Core/Actor.js +71 -93
  283. package/Rendering/Core/Actor2D.js +64 -78
  284. package/Rendering/Core/AnnotatedCubeActor/Presets.js +5 -11
  285. package/Rendering/Core/AnnotatedCubeActor.js +94 -79
  286. package/Rendering/Core/AxesActor.js +65 -87
  287. package/Rendering/Core/Camera.js +246 -271
  288. package/Rendering/Core/CellPicker.js +125 -148
  289. package/Rendering/Core/ColorTransferFunction/ColorMaps.js +20 -21
  290. package/Rendering/Core/ColorTransferFunction/ColorMapsLite.js +20 -21
  291. package/Rendering/Core/ColorTransferFunction/Constants.js +4 -4
  292. package/Rendering/Core/ColorTransferFunction.js +460 -546
  293. package/Rendering/Core/Coordinate/Constants.js +2 -2
  294. package/Rendering/Core/Coordinate.js +119 -198
  295. package/Rendering/Core/CubeAxesActor.js +294 -320
  296. package/Rendering/Core/Follower.js +46 -45
  297. package/Rendering/Core/Glyph3DMapper/Constants.js +4 -4
  298. package/Rendering/Core/Glyph3DMapper.js +96 -148
  299. package/Rendering/Core/HardwareSelector.js +36 -69
  300. package/Rendering/Core/ImageArrayMapper.js +87 -126
  301. package/Rendering/Core/ImageCPRMapper.js +134 -209
  302. package/Rendering/Core/ImageMapper/Constants.js +2 -2
  303. package/Rendering/Core/ImageMapper.js +85 -144
  304. package/Rendering/Core/ImageProperty/Constants.js +2 -2
  305. package/Rendering/Core/ImageProperty.js +66 -81
  306. package/Rendering/Core/ImageResliceMapper/Constants.js +2 -2
  307. package/Rendering/Core/ImageResliceMapper.js +36 -29
  308. package/Rendering/Core/ImageSlice.js +85 -127
  309. package/Rendering/Core/InteractorObserver.js +82 -73
  310. package/Rendering/Core/InteractorStyle/Constants.js +2 -2
  311. package/Rendering/Core/InteractorStyle.js +56 -58
  312. package/Rendering/Core/Light.js +43 -49
  313. package/Rendering/Core/Mapper/CoincidentTopologyHelper.js +37 -48
  314. package/Rendering/Core/Mapper/Constants.js +6 -6
  315. package/Rendering/Core/Mapper/Static.js +15 -12
  316. package/Rendering/Core/Mapper.js +194 -259
  317. package/Rendering/Core/Mapper2D.js +61 -100
  318. package/Rendering/Core/Picker.js +124 -143
  319. package/Rendering/Core/PixelSpaceCallbackMapper.js +40 -37
  320. package/Rendering/Core/PointPicker.js +68 -79
  321. package/Rendering/Core/Prop/Constants.js +2 -2
  322. package/Rendering/Core/Prop.js +58 -106
  323. package/Rendering/Core/Prop3D.js +54 -83
  324. package/Rendering/Core/Property/Constants.js +6 -6
  325. package/Rendering/Core/Property.js +45 -74
  326. package/Rendering/Core/Property2D/Constants.js +2 -2
  327. package/Rendering/Core/Property2D.js +33 -42
  328. package/Rendering/Core/RenderWindow.js +70 -82
  329. package/Rendering/Core/RenderWindowInteractor/Constants.js +7 -7
  330. package/Rendering/Core/RenderWindowInteractor.js +324 -439
  331. package/Rendering/Core/Renderer.js +192 -256
  332. package/Rendering/Core/ScalarBarActor.js +267 -272
  333. package/Rendering/Core/Skybox.js +26 -24
  334. package/Rendering/Core/SphereMapper.js +22 -12
  335. package/Rendering/Core/StickMapper.js +22 -12
  336. package/Rendering/Core/SurfaceLICInterface/Constants.js +6 -6
  337. package/Rendering/Core/SurfaceLICInterface.js +13 -9
  338. package/Rendering/Core/SurfaceLICMapper.js +23 -15
  339. package/Rendering/Core/Texture.js +99 -141
  340. package/Rendering/Core/Viewport.js +60 -88
  341. package/Rendering/Core/Volume.js +55 -77
  342. package/Rendering/Core/VolumeMapper/Constants.js +4 -4
  343. package/Rendering/Core/VolumeMapper.js +59 -91
  344. package/Rendering/Core/VolumeProperty/Constants.js +4 -4
  345. package/Rendering/Core/VolumeProperty.js +78 -115
  346. package/Rendering/Core.js +47 -49
  347. package/Rendering/Misc/CanvasView.js +62 -61
  348. package/Rendering/Misc/FullScreenRenderWindow.js +60 -62
  349. package/Rendering/Misc/GenericRenderWindow.js +48 -37
  350. package/Rendering/Misc/RemoteView.js +86 -80
  351. package/Rendering/Misc/RenderWindowWithControlBar.js +54 -48
  352. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager/CameraSynchronizer.js +43 -51
  353. package/Rendering/Misc/SynchronizableRenderWindow/BehaviorManager.js +52 -82
  354. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.js +258 -308
  355. package/Rendering/Misc/SynchronizableRenderWindow.js +133 -163
  356. package/Rendering/Misc/TextureLODsDownloader.js +72 -74
  357. package/Rendering/Misc.js +7 -7
  358. package/Rendering/OpenGL/Actor.js +57 -68
  359. package/Rendering/OpenGL/Actor2D.js +56 -56
  360. package/Rendering/OpenGL/BufferObject/Constants.js +2 -2
  361. package/Rendering/OpenGL/BufferObject.js +50 -65
  362. package/Rendering/OpenGL/Camera.js +35 -29
  363. package/Rendering/OpenGL/CellArrayBufferObject.js +119 -149
  364. package/Rendering/OpenGL/Convolution2DPass.js +87 -81
  365. package/Rendering/OpenGL/CubeAxesActor.js +28 -21
  366. package/Rendering/OpenGL/ForwardPass.js +53 -64
  367. package/Rendering/OpenGL/Framebuffer.js +61 -101
  368. package/Rendering/OpenGL/Glyph3DMapper.js +165 -196
  369. package/Rendering/OpenGL/HardwareSelector/Constants.js +2 -2
  370. package/Rendering/OpenGL/HardwareSelector.js +272 -397
  371. package/Rendering/OpenGL/Helper.js +58 -73
  372. package/Rendering/OpenGL/ImageCPRMapper.js +339 -421
  373. package/Rendering/OpenGL/ImageMapper.js +268 -361
  374. package/Rendering/OpenGL/ImageResliceMapper.js +306 -438
  375. package/Rendering/OpenGL/ImageSlice.js +48 -54
  376. package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +102 -84
  377. package/Rendering/OpenGL/PixelSpaceCallbackMapper.js +43 -42
  378. package/Rendering/OpenGL/PolyDataMapper.js +358 -492
  379. package/Rendering/OpenGL/PolyDataMapper2D.js +153 -205
  380. package/Rendering/OpenGL/RadialDistortionPass.js +86 -89
  381. package/Rendering/OpenGL/RenderWindow/Constants.js +2 -2
  382. package/Rendering/OpenGL/RenderWindow/ContextProxy.js +20 -29
  383. package/Rendering/OpenGL/RenderWindow.js +356 -510
  384. package/Rendering/OpenGL/Renderer.js +77 -89
  385. package/Rendering/OpenGL/ReplacementShaderMapper.js +28 -46
  386. package/Rendering/OpenGL/ScalarBarActor.js +28 -21
  387. package/Rendering/OpenGL/Shader.js +37 -31
  388. package/Rendering/OpenGL/ShaderCache.js +67 -74
  389. package/Rendering/OpenGL/ShaderProgram.js +136 -248
  390. package/Rendering/OpenGL/Skybox.js +99 -60
  391. package/Rendering/OpenGL/SphereMapper.js +94 -108
  392. package/Rendering/OpenGL/StickMapper.js +110 -114
  393. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D/pingpong.js +91 -157
  394. package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +142 -151
  395. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICInterface.js +142 -216
  396. package/Rendering/OpenGL/SurfaceLIC/SurfaceLICMapper.js +79 -100
  397. package/Rendering/OpenGL/SurfaceLIC.js +2 -2
  398. package/Rendering/OpenGL/Texture/Constants.js +4 -4
  399. package/Rendering/OpenGL/Texture.js +443 -608
  400. package/Rendering/OpenGL/TextureUnitManager.js +47 -43
  401. package/Rendering/OpenGL/VertexArrayObject.js +92 -131
  402. package/Rendering/OpenGL/ViewNodeFactory.js +25 -13
  403. package/Rendering/OpenGL/Volume.js +38 -34
  404. package/Rendering/OpenGL/VolumeMapper.js +437 -547
  405. package/Rendering/OpenGL.js +28 -28
  406. package/Rendering/SceneGraph/RenderPass.js +34 -31
  407. package/Rendering/SceneGraph/RenderWindowViewNode.js +68 -94
  408. package/Rendering/SceneGraph/ViewNode.js +82 -111
  409. package/Rendering/SceneGraph/ViewNodeFactory.js +31 -26
  410. package/Rendering/SceneGraph.js +4 -4
  411. package/Rendering/WebGPU/Actor.js +49 -49
  412. package/Rendering/WebGPU/Actor2D.js +45 -44
  413. package/Rendering/WebGPU/BindGroup.js +43 -50
  414. package/Rendering/WebGPU/Buffer.js +41 -50
  415. package/Rendering/WebGPU/BufferManager/Constants.js +4 -4
  416. package/Rendering/WebGPU/BufferManager.js +111 -141
  417. package/Rendering/WebGPU/Camera.js +65 -67
  418. package/Rendering/WebGPU/CellArrayMapper.js +621 -388
  419. package/Rendering/WebGPU/CubeAxesActor.js +28 -19
  420. package/Rendering/WebGPU/Device.js +78 -133
  421. package/Rendering/WebGPU/ForwardPass.js +75 -72
  422. package/Rendering/WebGPU/FullScreenQuad.js +25 -18
  423. package/Rendering/WebGPU/Glyph3DMapper.js +62 -74
  424. package/Rendering/WebGPU/HardwareSelectionPass.js +45 -38
  425. package/Rendering/WebGPU/HardwareSelector.js +200 -276
  426. package/Rendering/WebGPU/ImageMapper.js +180 -171
  427. package/Rendering/WebGPU/ImageSlice.js +45 -44
  428. package/Rendering/WebGPU/IndexBuffer.js +166 -200
  429. package/Rendering/WebGPU/OpaquePass.js +37 -36
  430. package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +72 -45
  431. package/Rendering/WebGPU/Pipeline.js +37 -51
  432. package/Rendering/WebGPU/PixelSpaceCallbackMapper.js +27 -19
  433. package/Rendering/WebGPU/PolyDataMapper.js +50 -53
  434. package/Rendering/WebGPU/PolyDataMapper2D.js +39 -39
  435. package/Rendering/WebGPU/RenderEncoder.js +68 -88
  436. package/Rendering/WebGPU/RenderWindow.js +262 -376
  437. package/Rendering/WebGPU/Renderer.js +224 -208
  438. package/Rendering/WebGPU/Sampler.js +27 -21
  439. package/Rendering/WebGPU/ScalarBarActor.js +28 -19
  440. package/Rendering/WebGPU/ShaderCache.js +43 -41
  441. package/Rendering/WebGPU/ShaderDescription.js +52 -59
  442. package/Rendering/WebGPU/ShaderModule.js +26 -17
  443. package/Rendering/WebGPU/SimpleMapper.js +185 -121
  444. package/Rendering/WebGPU/SphereMapper.js +200 -130
  445. package/Rendering/WebGPU/StickMapper.js +289 -152
  446. package/Rendering/WebGPU/StorageBuffer.js +100 -115
  447. package/Rendering/WebGPU/Texture.js +79 -99
  448. package/Rendering/WebGPU/TextureManager.js +52 -54
  449. package/Rendering/WebGPU/TextureView.js +40 -43
  450. package/Rendering/WebGPU/Types.js +53 -70
  451. package/Rendering/WebGPU/UniformBuffer.js +158 -184
  452. package/Rendering/WebGPU/VertexInput.js +64 -90
  453. package/Rendering/WebGPU/ViewNodeFactory.js +25 -13
  454. package/Rendering/WebGPU/Volume.js +52 -51
  455. package/Rendering/WebGPU/VolumePass.js +218 -239
  456. package/Rendering/WebGPU/VolumePassFSQ.js +625 -306
  457. package/Rendering/WebGPU.js +1 -1
  458. package/Rendering/index.js +5 -5
  459. package/Widgets/Core/AbstractWidget/Constants.js +2 -2
  460. package/Widgets/Core/AbstractWidget.js +49 -58
  461. package/Widgets/Core/AbstractWidgetFactory.js +101 -122
  462. package/Widgets/Core/StateBuilder/boundsMixin.js +23 -28
  463. package/Widgets/Core/StateBuilder/color3Mixin.js +10 -7
  464. package/Widgets/Core/StateBuilder/colorMixin.js +10 -6
  465. package/Widgets/Core/StateBuilder/cornerMixin.js +16 -15
  466. package/Widgets/Core/StateBuilder/directionMixin.js +20 -18
  467. package/Widgets/Core/StateBuilder/manipulatorMixin.js +26 -18
  468. package/Widgets/Core/StateBuilder/nameMixin.js +10 -6
  469. package/Widgets/Core/StateBuilder/orientationMixin.js +19 -16
  470. package/Widgets/Core/StateBuilder/originMixin.js +25 -32
  471. package/Widgets/Core/StateBuilder/scale1Mixin.js +10 -6
  472. package/Widgets/Core/StateBuilder/scale3Mixin.js +10 -6
  473. package/Widgets/Core/StateBuilder/shapeMixin.js +12 -6
  474. package/Widgets/Core/StateBuilder/textMixin.js +10 -6
  475. package/Widgets/Core/StateBuilder/visibleMixin.js +10 -6
  476. package/Widgets/Core/StateBuilder.js +120 -149
  477. package/Widgets/Core/WidgetManager/Constants.js +7 -7
  478. package/Widgets/Core/WidgetManager.js +249 -421
  479. package/Widgets/Core/WidgetState.js +48 -57
  480. package/Widgets/Core.js +5 -5
  481. package/Widgets/Manipulators/AbstractManipulator.js +20 -14
  482. package/Widgets/Manipulators/CPRManipulator.js +55 -71
  483. package/Widgets/Manipulators/LineManipulator.js +31 -28
  484. package/Widgets/Manipulators/PickerManipulator.d.ts +48 -0
  485. package/Widgets/Manipulators/PickerManipulator.js +65 -0
  486. package/Widgets/Manipulators/PlaneManipulator.js +26 -23
  487. package/Widgets/Manipulators/TrackballManipulator.js +39 -35
  488. package/Widgets/Manipulators.js +4 -2
  489. package/Widgets/Representations/ArrowHandleRepresentation.js +148 -162
  490. package/Widgets/Representations/CircleContextRepresentation.js +44 -38
  491. package/Widgets/Representations/ContextRepresentation.js +17 -14
  492. package/Widgets/Representations/ConvexFaceContextRepresentation.js +50 -47
  493. package/Widgets/Representations/CroppingOutlineRepresentation.js +38 -27
  494. package/Widgets/Representations/CubeHandleRepresentation.js +21 -18
  495. package/Widgets/Representations/GlyphRepresentation.js +107 -152
  496. package/Widgets/Representations/HandleRepresentation.js +17 -14
  497. package/Widgets/Representations/ImplicitPlaneRepresentation.js +97 -91
  498. package/Widgets/Representations/LineHandleRepresentation.js +44 -41
  499. package/Widgets/Representations/OutlineContextRepresentation.js +42 -36
  500. package/Widgets/Representations/PolyLineRepresentation.js +60 -75
  501. package/Widgets/Representations/RectangleContextRepresentation.js +42 -37
  502. package/Widgets/Representations/SphereContextRepresentation.js +19 -27
  503. package/Widgets/Representations/SphereHandleRepresentation.js +31 -27
  504. package/Widgets/Representations/SplineContextRepresentation.js +46 -70
  505. package/Widgets/Representations/WidgetRepresentation/Constants.js +2 -2
  506. package/Widgets/Representations/WidgetRepresentation.js +99 -134
  507. package/Widgets/Representations.js +13 -13
  508. package/Widgets/Widgets3D/AngleWidget/behavior.js +41 -63
  509. package/Widgets/Widgets3D/AngleWidget.js +40 -38
  510. package/Widgets/Widgets3D/DistanceWidget/behavior.js +40 -61
  511. package/Widgets/Widgets3D/DistanceWidget.js +38 -36
  512. package/Widgets/Widgets3D/EllipseWidget/behavior.js +14 -19
  513. package/Widgets/Widgets3D/EllipseWidget/state.js +4 -2
  514. package/Widgets/Widgets3D/EllipseWidget.js +37 -26
  515. package/Widgets/Widgets3D/ImageCroppingWidget/behavior.js +26 -56
  516. package/Widgets/Widgets3D/ImageCroppingWidget/helpers.js +14 -17
  517. package/Widgets/Widgets3D/ImageCroppingWidget/state.js +20 -16
  518. package/Widgets/Widgets3D/ImageCroppingWidget.js +80 -98
  519. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +55 -77
  520. package/Widgets/Widgets3D/InteractiveOrientationWidget/behavior.js +17 -18
  521. package/Widgets/Widgets3D/InteractiveOrientationWidget/state.js +15 -7
  522. package/Widgets/Widgets3D/InteractiveOrientationWidget.js +30 -29
  523. package/Widgets/Widgets3D/LabelWidget/behavior.js +37 -62
  524. package/Widgets/Widgets3D/LabelWidget.js +31 -25
  525. package/Widgets/Widgets3D/LineWidget/Constants.js +8 -8
  526. package/Widgets/Widgets3D/LineWidget/behavior.js +77 -114
  527. package/Widgets/Widgets3D/LineWidget/helpers.js +13 -20
  528. package/Widgets/Widgets3D/LineWidget/state.js +2 -1
  529. package/Widgets/Widgets3D/LineWidget.js +39 -35
  530. package/Widgets/Widgets3D/PaintWidget/behavior.js +24 -59
  531. package/Widgets/Widgets3D/PaintWidget.js +39 -37
  532. package/Widgets/Widgets3D/PolyLineWidget/behavior.js +44 -68
  533. package/Widgets/Widgets3D/PolyLineWidget.js +36 -31
  534. package/Widgets/Widgets3D/RectangleWidget/behavior.js +6 -11
  535. package/Widgets/Widgets3D/RectangleWidget/state.js +4 -2
  536. package/Widgets/Widgets3D/RectangleWidget.js +37 -25
  537. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.js +35 -21
  538. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.js +133 -209
  539. package/Widgets/Widgets3D/ResliceCursorWidget/cprBehavior.js +26 -41
  540. package/Widgets/Widgets3D/ResliceCursorWidget/helpers.js +89 -116
  541. package/Widgets/Widgets3D/ResliceCursorWidget/state.js +33 -40
  542. package/Widgets/Widgets3D/ResliceCursorWidget.js +186 -227
  543. package/Widgets/Widgets3D/SeedWidget/behavior.js +82 -0
  544. package/Widgets/Widgets3D/SeedWidget/state.js +18 -0
  545. package/Widgets/Widgets3D/SeedWidget.d.ts +44 -0
  546. package/Widgets/Widgets3D/SeedWidget.js +43 -0
  547. package/Widgets/Widgets3D/ShapeWidget/Constants.js +19 -19
  548. package/Widgets/Widgets3D/ShapeWidget/behavior.js +150 -252
  549. package/Widgets/Widgets3D/ShapeWidget.js +24 -27
  550. package/Widgets/Widgets3D/SphereWidget/behavior.js +35 -69
  551. package/Widgets/Widgets3D/SphereWidget/state.js +9 -5
  552. package/Widgets/Widgets3D/SphereWidget.js +34 -44
  553. package/Widgets/Widgets3D/SplineWidget/behavior.js +85 -120
  554. package/Widgets/Widgets3D/SplineWidget.js +43 -39
  555. package/Widgets/Widgets3D.js +15 -15
  556. package/Widgets/index.js +4 -4
  557. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +95 -207
  558. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +0 -3
  559. package/favicon.js +5 -6
  560. package/index.d.ts +4 -2
  561. package/index.js +4 -3
  562. package/macros.js +4 -1931
  563. package/macros2.js +1684 -0
  564. package/package.json +6 -6
  565. package/vtk.js +18 -31
@@ -1,11 +1,14 @@
1
- import macro from '../../macros.js';
1
+ import { m as macro } from '../../macros2.js';
2
2
  import vtkImageData from './ImageData.js';
3
3
  import vtkPolyData from './PolyData.js';
4
4
  import vtkDataArray from '../Core/DataArray.js';
5
5
 
6
- var vtkErrorMacro = macro.vtkErrorMacro; // see itk.js PixelTypes.js
6
+ const {
7
+ vtkErrorMacro
8
+ } = macro;
7
9
 
8
- var ITKJSPixelTypes = {
10
+ // see itk.js PixelTypes.js
11
+ const ITKJSPixelTypes = {
9
12
  Unknown: 0,
10
13
  Scalar: 1,
11
14
  RGB: 2,
@@ -22,9 +25,10 @@ var ITKJSPixelTypes = {
22
25
  Matrix: 13,
23
26
  VariableLengthVector: 14,
24
27
  VariableSizeMatrix: 15
25
- }; // itk-wasm pixel types from https://github.com/InsightSoftwareConsortium/itk-wasm/blob/master/src/core/PixelTypes.ts
28
+ };
26
29
 
27
- var ITKWASMPixelTypes = {
30
+ // itk-wasm pixel types from https://github.com/InsightSoftwareConsortium/itk-wasm/blob/master/src/core/PixelTypes.ts
31
+ const ITKWASMPixelTypes = {
28
32
  Unknown: 'Unknown',
29
33
  Scalar: 'Scalar',
30
34
  RGB: 'RGB',
@@ -42,32 +46,31 @@ var ITKWASMPixelTypes = {
42
46
  VariableLengthVector: 'VariableLengthVector',
43
47
  VariableSizeMatrix: 'VariableSizeMatrix'
44
48
  };
45
- var vtkArrayTypeToItkComponentType = new Map([['Uint8Array', 'uint8'], ['Int8Array', 'int8'], ['Uint16Array', 'uint16'], ['Int16Array', 'int16'], ['Uint32Array', 'uint32'], ['Int32Array', 'int32'], ['Float32Array', 'float32'], ['Float64Array', 'float64']]);
46
- var itkComponentTypeToVtkArrayType = new Map([['uint8', 'Uint8Array'], ['int8', 'Int8Array'], ['uint16', 'Uint16Array'], ['int16', 'Int16Array'], ['uint32', 'Uint32Array'], ['int32', 'Int32Array'], ['float32', 'Float32Array'], ['float64', 'Float64Array']]);
49
+ const vtkArrayTypeToItkComponentType = new Map([['Uint8Array', 'uint8'], ['Int8Array', 'int8'], ['Uint16Array', 'uint16'], ['Int16Array', 'int16'], ['Uint32Array', 'uint32'], ['Int32Array', 'int32'], ['Float32Array', 'float32'], ['Float64Array', 'float64']]);
50
+ const itkComponentTypeToVtkArrayType = new Map([['uint8', 'Uint8Array'], ['int8', 'Int8Array'], ['uint16', 'Uint16Array'], ['int16', 'Int16Array'], ['uint32', 'Uint32Array'], ['int32', 'Int32Array'], ['float32', 'Float32Array'], ['float64', 'Float64Array']]);
51
+
47
52
  /**
48
53
  * Converts an itk-wasm Image to a vtk.js vtkImageData.
49
54
  *
50
55
  * Requires an itk-wasm Image as input.
51
56
  */
52
-
53
57
  function convertItkToVtkImage(itkImage) {
54
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
55
- var vtkImage = {
58
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
59
+ const vtkImage = {
56
60
  origin: [0, 0, 0],
57
61
  spacing: [1, 1, 1]
58
62
  };
59
- var dimensions = [1, 1, 1];
60
- var direction = [1, 0, 0, 0, 1, 0, 0, 0, 1]; // Check whether itkImage is an itk.js Image or an itk-wasm Image?
63
+ const dimensions = [1, 1, 1];
64
+ const direction = [1, 0, 0, 0, 1, 0, 0, 0, 1];
61
65
 
62
- var isITKWasm = itkImage.direction.data === undefined;
63
- var ITKPixelTypes = isITKWasm ? ITKWASMPixelTypes : ITKJSPixelTypes;
64
-
65
- for (var idx = 0; idx < itkImage.imageType.dimension; ++idx) {
66
+ // Check whether itkImage is an itk.js Image or an itk-wasm Image?
67
+ const isITKWasm = itkImage.direction.data === undefined;
68
+ const ITKPixelTypes = isITKWasm ? ITKWASMPixelTypes : ITKJSPixelTypes;
69
+ for (let idx = 0; idx < itkImage.imageType.dimension; ++idx) {
66
70
  vtkImage.origin[idx] = itkImage.origin[idx];
67
71
  vtkImage.spacing[idx] = itkImage.spacing[idx];
68
72
  dimensions[idx] = itkImage.size[idx];
69
-
70
- for (var col = 0; col < itkImage.imageType.dimension; ++col) {
73
+ for (let col = 0; col < itkImage.imageType.dimension; ++col) {
71
74
  // ITK (and VTKMath) use a row-major index axis, but the direction
72
75
  // matrix on the vtkImageData is a webGL matrix, which uses a
73
76
  // column-major data layout. Transpose the direction matrix from
@@ -78,105 +81,87 @@ function convertItkToVtkImage(itkImage) {
78
81
  direction[col + idx * 3] = itkImage.direction.data[idx + col * itkImage.imageType.dimension];
79
82
  }
80
83
  }
81
- } // Create VTK Image Data
82
-
84
+ }
83
85
 
84
- var imageData = vtkImageData.newInstance(vtkImage); // Create VTK point data -- the data associated with the pixels / voxels
86
+ // Create VTK Image Data
87
+ const imageData = vtkImageData.newInstance(vtkImage);
85
88
 
86
- var pointData = vtkDataArray.newInstance({
89
+ // Create VTK point data -- the data associated with the pixels / voxels
90
+ const pointData = vtkDataArray.newInstance({
87
91
  name: options.scalarArrayName || 'Scalars',
88
92
  values: itkImage.data,
89
93
  numberOfComponents: itkImage.imageType.components
90
94
  });
91
95
  imageData.setDirection(direction);
92
- imageData.setDimensions.apply(imageData, dimensions); // Always associate multi-component pixel types with vtk.js point data
96
+ imageData.setDimensions(...dimensions);
97
+ // Always associate multi-component pixel types with vtk.js point data
93
98
  // scalars to facilitate multi-component volume rendering
99
+ imageData.getPointData().setScalars(pointData);
94
100
 
95
- imageData.getPointData().setScalars(pointData); // Associate the point data that are 3D vectors / tensors
101
+ // Associate the point data that are 3D vectors / tensors
96
102
  // Refer to itk-js/src/PixelTypes.js for numerical values
97
-
98
103
  switch (isITKWasm ? ITKPixelTypes[itkImage.imageType.pixelType] : itkImage.imageType.pixelType) {
99
104
  case ITKPixelTypes.Scalar:
100
105
  break;
101
-
102
106
  case ITKPixelTypes.RGB:
103
107
  break;
104
-
105
108
  case ITKPixelTypes.RGBA:
106
109
  break;
107
-
108
110
  case ITKPixelTypes.Offset:
109
111
  break;
110
-
111
112
  case ITKPixelTypes.Vector:
112
113
  if (itkImage.imageType.dimension === 3 && itkImage.imageType.components === 3) {
113
114
  imageData.getPointData().setVectors(pointData);
114
115
  }
115
-
116
116
  break;
117
-
118
117
  case ITKPixelTypes.Point:
119
118
  break;
120
-
121
119
  case ITKPixelTypes.CovariantVector:
122
120
  if (itkImage.imageType.dimension === 3 && itkImage.imageType.components === 3) {
123
121
  imageData.getPointData().setVectors(pointData);
124
122
  }
125
-
126
123
  break;
127
-
128
124
  case ITKPixelTypes.SymmetricSecondRankTensor:
129
125
  if (itkImage.imageType.dimension === 3 && itkImage.imageType.components === 6) {
130
126
  imageData.getPointData().setTensors(pointData);
131
127
  }
132
-
133
128
  break;
134
-
135
129
  case ITKPixelTypes.DiffusionTensor3D:
136
130
  if (itkImage.imageType.dimension === 3 && itkImage.imageType.components === 6) {
137
131
  imageData.getPointData().setTensors(pointData);
138
132
  }
139
-
140
133
  break;
141
-
142
134
  case ITKPixelTypes.Complex:
143
135
  break;
144
-
145
136
  case ITKPixelTypes.FixedArray:
146
137
  break;
147
-
148
138
  case ITKPixelTypes.Array:
149
139
  break;
150
-
151
140
  case ITKPixelTypes.Matrix:
152
141
  break;
153
-
154
142
  case ITKPixelTypes.VariableLengthVector:
155
143
  break;
156
-
157
144
  case ITKPixelTypes.VariableSizeMatrix:
158
145
  break;
159
-
160
146
  default:
161
- vtkErrorMacro("Cannot handle unexpected itk-wasm pixel type ".concat(itkImage.imageType.pixelType));
147
+ vtkErrorMacro(`Cannot handle unexpected itk-wasm pixel type ${itkImage.imageType.pixelType}`);
162
148
  return null;
163
149
  }
164
-
165
150
  return imageData;
166
151
  }
152
+
167
153
  /**
168
154
  * Converts a vtk.js vtkImageData to an itk-wasm Image.
169
155
  *
170
156
  * Requires a vtk.js vtkImageData as input.
171
157
  *
172
158
  */
173
-
174
159
  function convertVtkToItkImage(vtkImage) {
175
- var copyData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
176
- var dimension = 3;
177
- var itkImage = {
160
+ let copyData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
161
+ const dimension = 3;
162
+ const itkImage = {
178
163
  imageType: {
179
- dimension: dimension,
164
+ dimension,
180
165
  pixelType: ITKWASMPixelTypes.Scalar,
181
166
  componentType: '',
182
167
  components: 1
@@ -187,17 +172,16 @@ function convertVtkToItkImage(vtkImage) {
187
172
  direction: new Float64Array(9),
188
173
  size: vtkImage.getDimensions()
189
174
  };
190
- var direction = vtkImage.getDirection(); // Transpose the direction matrix from column-major to row-major
175
+ const direction = vtkImage.getDirection();
191
176
 
192
- for (var idx = 0; idx < dimension; ++idx) {
193
- for (var idy = 0; idy < dimension; ++idy) {
177
+ // Transpose the direction matrix from column-major to row-major
178
+ for (let idx = 0; idx < dimension; ++idx) {
179
+ for (let idy = 0; idy < dimension; ++idy) {
194
180
  itkImage.direction[idx + idy * dimension] = direction[idy + idx * dimension];
195
181
  }
196
182
  }
197
-
198
- var pointData = vtkImage.getPointData();
199
- var vtkArray;
200
-
183
+ const pointData = vtkImage.getPointData();
184
+ let vtkArray;
201
185
  if (pointData.getTensors() !== null) {
202
186
  itkImage.imageType.pixelType = ITKWASMPixelTypes.DiffusionTensor3D;
203
187
  vtkArray = pointData.getTensors();
@@ -207,28 +191,24 @@ function convertVtkToItkImage(vtkImage) {
207
191
  } else {
208
192
  vtkArray = pointData.getScalars();
209
193
  }
210
-
211
194
  itkImage.imageType.componentType = vtkArrayTypeToItkComponentType.get(vtkArray.getDataType());
212
-
213
195
  if (copyData) {
214
196
  // Copy the data array
215
197
  itkImage.data = vtkArray.getData().slice(0);
216
198
  } else {
217
199
  itkImage.data = vtkArray.getData();
218
200
  }
219
-
220
201
  return itkImage;
221
202
  }
203
+
222
204
  /**
223
205
  * Converts an itk-wasm PolyData to a vtk.js vtkPolyData.
224
206
  *
225
207
  * Requires an itk-wasm PolyData as input.
226
208
  */
227
-
228
209
  function convertItkToVtkPolyData(itkPolyData) {
229
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
230
- var pointDataArrays = [];
231
-
210
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
211
+ const pointDataArrays = [];
232
212
  if (itkPolyData.pointData.length) {
233
213
  pointDataArrays.push({
234
214
  data: {
@@ -242,9 +222,7 @@ function convertItkToVtkPolyData(itkPolyData) {
242
222
  }
243
223
  });
244
224
  }
245
-
246
- var cellDataArrays = [];
247
-
225
+ const cellDataArrays = [];
248
226
  if (itkPolyData.cellData.length) {
249
227
  cellDataArrays.push({
250
228
  data: {
@@ -258,8 +236,7 @@ function convertItkToVtkPolyData(itkPolyData) {
258
236
  }
259
237
  });
260
238
  }
261
-
262
- var vtkPolyDataModel = {
239
+ const vtkPolyDataModel = {
263
240
  points: {
264
241
  vtkClass: 'vtkPoints',
265
242
  name: '_points',
@@ -333,166 +310,126 @@ function convertItkToVtkPolyData(itkPolyData) {
333
310
  doCopyAllOn: true,
334
311
  arrays: cellDataArrays
335
312
  }
336
- }; // Create VTK PolyData
337
-
338
- var polyData = vtkPolyData.newInstance(vtkPolyDataModel);
339
- var pd = polyData.getPointData();
340
- var cd = polyData.getCellData();
313
+ };
341
314
 
315
+ // Create VTK PolyData
316
+ const polyData = vtkPolyData.newInstance(vtkPolyDataModel);
317
+ const pd = polyData.getPointData();
318
+ const cd = polyData.getCellData();
342
319
  if (itkPolyData.pointData.length) {
343
320
  // Associate the point data that are 3D vectors / tensors
344
321
  switch (ITKWASMPixelTypes[itkPolyData.polyDataType.pointPixelType]) {
345
322
  case ITKWASMPixelTypes.Scalar:
346
323
  pd.setScalars(pd.getArrayByIndex(0));
347
324
  break;
348
-
349
325
  case ITKWASMPixelTypes.RGB:
350
326
  break;
351
-
352
327
  case ITKWASMPixelTypes.RGBA:
353
328
  break;
354
-
355
329
  case ITKWASMPixelTypes.Offset:
356
330
  break;
357
-
358
331
  case ITKWASMPixelTypes.Vector:
359
332
  if (itkPolyData.polyDataType.pointPixelComponents === 3) {
360
333
  pd.setVectors(pd.getArrayByIndex(0));
361
334
  }
362
-
363
335
  break;
364
-
365
336
  case ITKWASMPixelTypes.Point:
366
337
  break;
367
-
368
338
  case ITKWASMPixelTypes.CovariantVector:
369
339
  if (itkPolyData.polyDataType.pointPixelComponents === 3) {
370
340
  pd.setVectors(pd.getArrayByIndex(0));
371
341
  }
372
-
373
342
  break;
374
-
375
343
  case ITKWASMPixelTypes.SymmetricSecondRankTensor:
376
344
  if (itkPolyData.polyDataType.pointPixelComponents === 6) {
377
345
  pd.setTensors(pd.getArrayByIndex(0));
378
346
  }
379
-
380
347
  break;
381
-
382
348
  case ITKWASMPixelTypes.DiffusionTensor3D:
383
349
  if (itkPolyData.polyDataType.pointPixelComponents === 6) {
384
350
  pd.setTensors(pd.getArrayByIndex(0));
385
351
  }
386
-
387
352
  break;
388
-
389
353
  case ITKWASMPixelTypes.Complex:
390
354
  break;
391
-
392
355
  case ITKWASMPixelTypes.FixedArray:
393
356
  break;
394
-
395
357
  case ITKWASMPixelTypes.Array:
396
358
  break;
397
-
398
359
  case ITKWASMPixelTypes.Matrix:
399
360
  break;
400
-
401
361
  case ITKWASMPixelTypes.VariableLengthVector:
402
362
  break;
403
-
404
363
  case ITKWASMPixelTypes.VariableSizeMatrix:
405
364
  break;
406
-
407
365
  default:
408
- vtkErrorMacro("Cannot handle unexpected itk-wasm pixel type ".concat(itkPolyData.polyDataType.pointPixelType));
366
+ vtkErrorMacro(`Cannot handle unexpected itk-wasm pixel type ${itkPolyData.polyDataType.pointPixelType}`);
409
367
  return null;
410
368
  }
411
369
  }
412
-
413
370
  if (itkPolyData.cellData.length) {
414
371
  // Associate the cell data that are 3D vectors / tensors
415
372
  switch (ITKWASMPixelTypes[itkPolyData.polyDataType.cellPixelType]) {
416
373
  case ITKWASMPixelTypes.Scalar:
417
374
  cd.setScalars(cd.getArrayByIndex(0));
418
375
  break;
419
-
420
376
  case ITKWASMPixelTypes.RGB:
421
377
  break;
422
-
423
378
  case ITKWASMPixelTypes.RGBA:
424
379
  break;
425
-
426
380
  case ITKWASMPixelTypes.Offset:
427
381
  break;
428
-
429
382
  case ITKWASMPixelTypes.Vector:
430
383
  if (itkPolyData.polyDataType.pointPixelComponents === 3) {
431
384
  cd.setVectors(cd.getArrayByIndex(0));
432
385
  }
433
-
434
386
  break;
435
-
436
387
  case ITKWASMPixelTypes.Point:
437
388
  break;
438
-
439
389
  case ITKWASMPixelTypes.CovariantVector:
440
390
  if (itkPolyData.polyDataType.pointPixelComponents === 3) {
441
391
  cd.setVectors(cd.getArrayByIndex(0));
442
392
  }
443
-
444
393
  break;
445
-
446
394
  case ITKWASMPixelTypes.SymmetricSecondRankTensor:
447
395
  if (itkPolyData.polyDataType.pointPixelComponents === 6) {
448
396
  cd.setTensors(cd.getArrayByIndex(0));
449
397
  }
450
-
451
398
  break;
452
-
453
399
  case ITKWASMPixelTypes.DiffusionTensor3D:
454
400
  if (itkPolyData.polyDataType.pointPixelComponents === 6) {
455
401
  cd.setTensors(cd.getArrayByIndex(0));
456
402
  }
457
-
458
403
  break;
459
-
460
404
  case ITKWASMPixelTypes.Complex:
461
405
  break;
462
-
463
406
  case ITKWASMPixelTypes.FixedArray:
464
407
  break;
465
-
466
408
  case ITKWASMPixelTypes.Array:
467
409
  break;
468
-
469
410
  case ITKWASMPixelTypes.Matrix:
470
411
  break;
471
-
472
412
  case ITKWASMPixelTypes.VariableLengthVector:
473
413
  break;
474
-
475
414
  case ITKWASMPixelTypes.VariableSizeMatrix:
476
415
  break;
477
-
478
416
  default:
479
- vtkErrorMacro("Cannot handle unexpected itk-wasm pixel type ".concat(itkPolyData.polyDataType.pointPixelType));
417
+ vtkErrorMacro(`Cannot handle unexpected itk-wasm pixel type ${itkPolyData.polyDataType.pointPixelType}`);
480
418
  return null;
481
419
  }
482
420
  }
483
-
484
421
  return polyData;
485
422
  }
423
+
486
424
  /**
487
425
  * Converts a vtk.js vtkPolyData to an itk-wasm PolyData.
488
426
  *
489
427
  * Requires a vtk.js vtkPolyData as input.
490
428
  *
491
429
  */
492
-
493
430
  function convertVtkToItkPolyData(polyData) {
494
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
495
- var itkPolyData = {
431
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
432
+ const itkPolyData = {
496
433
  polyDataType: {
497
434
  pointPixelComponentType: 'float32',
498
435
  pointPixelComponents: 1,
@@ -516,36 +453,30 @@ function convertVtkToItkPolyData(polyData) {
516
453
  numberOfCellPixels: 0,
517
454
  cellData: new Float32Array()
518
455
  };
519
- var pd = polyData.getPointData();
520
-
456
+ const pd = polyData.getPointData();
521
457
  if (pd.getNumberOfArrays()) {
522
- var pdArray = options.pointDataName ? pd.getArrayByName(options.pointDataName) : pd.getArrayByIndex(0);
458
+ const pdArray = options.pointDataName ? pd.getArrayByName(options.pointDataName) : pd.getArrayByIndex(0);
523
459
  itkPolyData.numberOfPointPixels = pdArray.getNumberOfTuples();
524
460
  itkPolyData.pointData = pdArray.getData();
525
- itkPolyData.polyDataType.pointPixelComponentType = vtkArrayTypeToItkComponentType.get(pdArray.getDataType()); // default to the same type
526
-
461
+ itkPolyData.polyDataType.pointPixelComponentType = vtkArrayTypeToItkComponentType.get(pdArray.getDataType());
462
+ // default to the same type
527
463
  itkPolyData.polyDataType.cellPixelComponentType = itkPolyData.polyDataType.pointPixelComponentType;
528
464
  itkPolyData.polyDataType.pointPixelComponents = pdArray.getNumberOfComponents();
529
465
  itkPolyData.polyDataType.cellPixelComponents = itkPolyData.polyDataType.pointPixelComponents;
530
-
531
466
  if (pd.getTensors() === pdArray) {
532
467
  itkPolyData.polyDataType.pointPixelType = ITKWASMPixelTypes.SymmetricSecondRankTensor;
533
468
  } else if (pd.getVectors() === pdArray) {
534
469
  itkPolyData.polyDataType.pointPixelType = ITKWASMPixelTypes.Vector;
535
470
  }
536
-
537
471
  itkPolyData.polyDataType.cellPixelType = itkPolyData.polyDataType.pointPixelType;
538
472
  }
539
-
540
- var cd = polyData.getCellData();
541
-
473
+ const cd = polyData.getCellData();
542
474
  if (cd.getNumberOfArrays()) {
543
- var cdArray = options.cellDataName ? pd.getArrayByName(options.cellDataName) : pd.getArrayByIndex(0);
475
+ const cdArray = options.cellDataName ? pd.getArrayByName(options.cellDataName) : pd.getArrayByIndex(0);
544
476
  itkPolyData.numberOfCellPixels = cdArray.getNumberOfTuples();
545
477
  itkPolyData.cellData = cdArray.getData();
546
478
  itkPolyData.polyDataType.cellPixelComponentType = vtkArrayTypeToItkComponentType.get(cdArray.getDataType());
547
479
  itkPolyData.polyDataType.cellPixelComponents = cdArray.getNumberOfComponents();
548
-
549
480
  if (cd.getTensors() === cdArray) {
550
481
  itkPolyData.polyDataType.cellPixelType = ITKWASMPixelTypes.SymmetricSecondRankTensor;
551
482
  } else if (cd.getVectors() === cdArray) {
@@ -554,14 +485,13 @@ function convertVtkToItkPolyData(polyData) {
554
485
  itkPolyData.polyDataType.cellPixelType = ITKWASMPixelTypes.Scalar;
555
486
  }
556
487
  }
557
-
558
488
  return itkPolyData;
559
489
  }
560
490
  var ITKHelper = {
561
- convertItkToVtkImage: convertItkToVtkImage,
562
- convertVtkToItkImage: convertVtkToItkImage,
563
- convertItkToVtkPolyData: convertItkToVtkPolyData,
564
- convertVtkToItkPolyData: convertVtkToItkPolyData
491
+ convertItkToVtkImage,
492
+ convertVtkToItkImage,
493
+ convertItkToVtkPolyData,
494
+ convertVtkToItkPolyData
565
495
  };
566
496
 
567
497
  export { convertItkToVtkImage, convertItkToVtkPolyData, convertVtkToItkImage, convertVtkToItkPolyData, ITKHelper as default };