@kitware/vtk.js 30.6.0 → 30.6.2

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 (206) hide show
  1. package/Common/Core/Base64.d.ts +2 -2
  2. package/Common/Core/CellArray.d.ts +45 -42
  3. package/Common/Core/DataArray.d.ts +465 -449
  4. package/Common/Core/Endian.d.ts +5 -5
  5. package/Common/Core/HalfFloat.d.ts +3 -3
  6. package/Common/Core/ImageHelper.d.ts +11 -5
  7. package/Common/Core/LookupTable.d.ts +260 -257
  8. package/Common/Core/Math.d.ts +461 -270
  9. package/Common/Core/MatrixBuilder.d.ts +117 -112
  10. package/Common/Core/Points.d.ts +114 -106
  11. package/Common/Core/PriorityQueue.d.ts +34 -30
  12. package/Common/Core/ProgressHandler.d.ts +44 -39
  13. package/Common/Core/ScalarsToColors/Constants.d.ts +9 -9
  14. package/Common/Core/ScalarsToColors.d.ts +351 -326
  15. package/Common/Core/StringArray.d.ts +94 -89
  16. package/Common/Core/URLExtract.d.ts +9 -6
  17. package/Common/Core/VariantArray.d.ts +94 -89
  18. package/Common/DataModel/AbstractPointLocator.d.ts +18 -18
  19. package/Common/DataModel/Box.d.ts +60 -52
  20. package/Common/DataModel/CardinalSpline1D.d.ts +59 -34
  21. package/Common/DataModel/Cell.d.ts +70 -67
  22. package/Common/DataModel/Collection.d.ts +100 -84
  23. package/Common/DataModel/Cone.d.ts +30 -27
  24. package/Common/DataModel/Cylinder.d.ts +122 -112
  25. package/Common/DataModel/DataSet/Constants.d.ts +9 -9
  26. package/Common/DataModel/DataSet.d.ts +38 -35
  27. package/Common/DataModel/DataSetAttributes/FieldData.d.ts +217 -206
  28. package/Common/DataModel/DataSetAttributes.d.ts +420 -415
  29. package/Common/DataModel/EdgeLocator.d.ts +82 -79
  30. package/Common/DataModel/ITKHelper.d.ts +33 -22
  31. package/Common/DataModel/ImageData.d.ts +362 -340
  32. package/Common/DataModel/IncrementalOctreeNode.d.ts +242 -242
  33. package/Common/DataModel/IncrementalOctreePointLocator.d.ts +16 -16
  34. package/Common/DataModel/KochanekSpline1D.d.ts +60 -36
  35. package/Common/DataModel/Line.d.ts +104 -83
  36. package/Common/DataModel/Locator.d.ts +10 -10
  37. package/Common/DataModel/PiecewiseFunction.d.ts +215 -199
  38. package/Common/DataModel/Plane.d.ts +255 -223
  39. package/Common/DataModel/PointSet.d.ts +32 -28
  40. package/Common/DataModel/PolyData/Constants.d.ts +2 -2
  41. package/Common/DataModel/PolyData.d.ts +143 -140
  42. package/Common/DataModel/PolyLine.d.ts +51 -28
  43. package/Common/DataModel/Polygon.d.ts +34 -33
  44. package/Common/DataModel/SelectionNode/Constants.d.ts +18 -18
  45. package/Common/DataModel/SelectionNode.d.ts +62 -56
  46. package/Common/DataModel/Sphere.d.ts +74 -72
  47. package/Common/DataModel/Spline1D.d.ts +60 -40
  48. package/Common/DataModel/Spline3D/Constants.d.ts +3 -3
  49. package/Common/DataModel/Spline3D.d.ts +27 -22
  50. package/Common/Transform/LandmarkTransform.d.ts +67 -64
  51. package/Common/Transform/Transform.d.ts +148 -126
  52. package/Filters/General/AppendPolyData.d.ts +43 -37
  53. package/Filters/General/ClipClosedSurface.d.ts +41 -41
  54. package/Filters/General/ContourTriangulator.d.ts +38 -38
  55. package/Filters/General/ImageCropFilter.d.ts +48 -44
  56. package/Filters/General/ImageDataOutlineFilter.d.ts +41 -37
  57. package/Filters/General/ImageOutlineFilter.d.ts +41 -37
  58. package/Filters/General/ImageSliceFilter.d.ts +38 -34
  59. package/Filters/General/ImageStreamline.d.ts +120 -93
  60. package/Filters/General/LineFilter.d.ts +18 -15
  61. package/Filters/General/OutlineFilter.d.ts +19 -16
  62. package/Filters/General/TriangleFilter.d.ts +23 -19
  63. package/Filters/General/TubeFilter.d.ts +194 -188
  64. package/Filters/Sources/Arrow2DSource.d.ts +151 -143
  65. package/Filters/Sources/ArrowSource.d.ts +148 -140
  66. package/Filters/Sources/CircleSource.d.ts +138 -130
  67. package/Filters/Sources/ConeSource.d.ts +167 -159
  68. package/Filters/Sources/CubeSource.d.ts +198 -181
  69. package/Filters/Sources/Cursor3D.d.ts +171 -164
  70. package/Filters/Sources/CylinderSource.d.ts +173 -166
  71. package/Filters/Sources/LineSource.d.ts +100 -92
  72. package/Filters/Sources/PlaneSource.d.ts +211 -203
  73. package/Filters/Sources/PointSource.d.ts +90 -82
  74. package/Filters/Sources/SphereSource.d.ts +171 -164
  75. package/Filters/Texture/TextureMapToPlane.d.ts +213 -208
  76. package/Filters/Texture/TextureMapToSphere.d.ts +77 -72
  77. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.d.ts +18 -5
  78. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.d.ts +18 -5
  79. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.d.ts +19 -6
  80. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.d.ts +18 -5
  81. package/IO/Core/DataAccessHelper.d.ts +36 -22
  82. package/IO/Core/HttpDataSetReader.d.ts +279 -249
  83. package/IO/Core/HttpSceneLoader.d.ts +92 -87
  84. package/IO/Core/ImageStream/DefaultProtocol.d.ts +27 -20
  85. package/IO/Core/ImageStream/ViewStream.d.ts +7 -7
  86. package/IO/Core/ImageStream.d.ts +52 -47
  87. package/IO/Core/WSLinkClient.d.ts +12 -6
  88. package/IO/Geometry/DracoReader.d.ts +106 -88
  89. package/IO/Geometry/PLYReader.d.ts +92 -75
  90. package/IO/Geometry/PLYWriter.d.ts +163 -148
  91. package/IO/Geometry/STLReader.d.ts +92 -77
  92. package/IO/Geometry/STLWriter.d.ts +50 -42
  93. package/IO/Misc/ElevationReader.d.ts +155 -139
  94. package/IO/Misc/ITKImageReader.d.ts +58 -50
  95. package/IO/Misc/ITKPolyDataReader.d.ts +58 -50
  96. package/IO/Misc/JSONNucleoReader.d.ts +74 -57
  97. package/IO/Misc/JSONReader.d.ts +78 -72
  98. package/IO/Misc/MTLReader.d.ts +143 -130
  99. package/IO/Misc/OBJReader.d.ts +129 -110
  100. package/IO/Misc/PDBReader.d.ts +109 -93
  101. package/IO/XML/XMLImageDataReader.d.ts +31 -19
  102. package/IO/XML/XMLPolyDataReader.d.ts +31 -19
  103. package/IO/XML/XMLReader.d.ts +141 -105
  104. package/Imaging/Core/AbstractImageInterpolator/Constants.d.ts +2 -2
  105. package/Imaging/Core/ImageReslice.d.ts +231 -173
  106. package/Interaction/Style/InteractorStyleHMDXR.d.ts +7 -3
  107. package/Interaction/Style/InteractorStyleImage.d.ts +5 -4
  108. package/Interaction/Style/InteractorStyleTrackballCamera.d.ts +17 -6
  109. package/Interaction/Widgets/OrientationMarkerWidget/Constants.d.ts +5 -5
  110. package/Interaction/Widgets/OrientationMarkerWidget.d.ts +146 -142
  111. package/Proxy/Core/ViewProxy.d.ts +1 -1
  112. package/Proxy/Representations/GeometryRepresentationProxy.d.ts +28 -27
  113. package/Proxy/Representations/ResliceRepresentationProxy.d.ts +0 -1
  114. package/Rendering/Core/AbstractImageMapper.d.ts +125 -113
  115. package/Rendering/Core/AbstractMapper.d.ts +58 -52
  116. package/Rendering/Core/AbstractMapper3D.d.ts +32 -25
  117. package/Rendering/Core/AbstractPicker.d.ts +91 -88
  118. package/Rendering/Core/Actor.d.ts +117 -114
  119. package/Rendering/Core/Actor2D.d.ts +101 -98
  120. package/Rendering/Core/AnnotatedCubeActor.d.ts +58 -53
  121. package/Rendering/Core/AxesActor.d.ts +10 -4
  122. package/Rendering/Core/Camera.d.ts +739 -727
  123. package/Rendering/Core/CellPicker.d.ts +87 -77
  124. package/Rendering/Core/ColorTransferFunction/Constants.d.ts +2 -2
  125. package/Rendering/Core/ColorTransferFunction/CssFilters.d.ts +39 -13
  126. package/Rendering/Core/ColorTransferFunction.d.ts +3 -6
  127. package/Rendering/Core/Coordinate/Constants.d.ts +1 -1
  128. package/Rendering/Core/Coordinate.d.ts +154 -150
  129. package/Rendering/Core/Follower.d.ts +52 -47
  130. package/Rendering/Core/Glyph3DMapper/Constants.d.ts +8 -8
  131. package/Rendering/Core/Glyph3DMapper.d.ts +152 -149
  132. package/Rendering/Core/ImageArrayMapper.d.ts +237 -213
  133. package/Rendering/Core/ImageCPRMapper/Constants.d.ts +4 -4
  134. package/Rendering/Core/ImageCPRMapper.d.ts +424 -392
  135. package/Rendering/Core/ImageMapper/Constants.d.ts +8 -8
  136. package/Rendering/Core/ImageMapper.d.ts +292 -268
  137. package/Rendering/Core/ImageProperty/Constants.d.ts +3 -3
  138. package/Rendering/Core/ImageProperty.d.ts +204 -197
  139. package/Rendering/Core/ImageResliceMapper/Constants.d.ts +5 -5
  140. package/Rendering/Core/ImageResliceMapper.d.ts +235 -210
  141. package/Rendering/Core/ImageSlice.d.ts +142 -136
  142. package/Rendering/Core/InteractorObserver.d.ts +41 -32
  143. package/Rendering/Core/Light.d.ts +321 -318
  144. package/Rendering/Core/Mapper/Constants.d.ts +14 -14
  145. package/Rendering/Core/Mapper.d.ts +539 -512
  146. package/Rendering/Core/Mapper2D.d.ts +342 -330
  147. package/Rendering/Core/Picker.d.ts +114 -106
  148. package/Rendering/Core/PixelSpaceCallbackMapper.d.ts +56 -40
  149. package/Rendering/Core/PointPicker.d.ts +42 -37
  150. package/Rendering/Core/Prop/Constants.d.ts +3 -3
  151. package/Rendering/Core/Prop.d.ts +274 -274
  152. package/Rendering/Core/Prop3D.d.ts +259 -257
  153. package/Rendering/Core/Property/Constants.d.ts +12 -12
  154. package/Rendering/Core/Property.d.ts +535 -531
  155. package/Rendering/Core/Property2D/Constants.d.ts +1 -1
  156. package/Rendering/Core/Property2D.d.ts +114 -109
  157. package/Rendering/Core/RenderWindow.d.ts +193 -191
  158. package/Rendering/Core/RenderWindowInteractor/Constants.d.ts +19 -19
  159. package/Rendering/Core/RenderWindowInteractor.d.ts +1335 -1219
  160. package/Rendering/Core/Renderer.d.ts +677 -663
  161. package/Rendering/Core/ScalarBarActor.d.ts +333 -322
  162. package/Rendering/Core/Skybox.d.ts +45 -42
  163. package/Rendering/Core/SphereMapper.d.ts +49 -44
  164. package/Rendering/Core/StickMapper.d.ts +49 -44
  165. package/Rendering/Core/Texture.d.ts +87 -80
  166. package/Rendering/Core/Viewport.d.ts +229 -222
  167. package/Rendering/Core/Volume.d.ts +78 -73
  168. package/Rendering/Core/VolumeMapper/Constants.d.ts +11 -11
  169. package/Rendering/Core/VolumeMapper.d.ts +295 -285
  170. package/Rendering/Core/VolumeProperty/Constants.d.ts +19 -19
  171. package/Rendering/Core/VolumeProperty.d.ts +375 -365
  172. package/Rendering/Misc/CanvasView.d.ts +148 -145
  173. package/Rendering/Misc/FullScreenRenderWindow.d.ts +111 -108
  174. package/Rendering/Misc/GenericRenderWindow.d.ts +69 -65
  175. package/Rendering/Misc/RenderWindowWithControlBar.d.ts +46 -39
  176. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.d.ts +49 -29
  177. package/Rendering/Misc/SynchronizableRenderWindow.d.ts +51 -35
  178. package/Rendering/Misc/TextureLODsDownloader.d.ts +110 -106
  179. package/Rendering/OpenGL/BufferObject.d.ts +3 -2
  180. package/Rendering/OpenGL/RenderWindow.d.ts +456 -405
  181. package/Rendering/OpenGL/Texture.d.ts +66 -14
  182. package/Rendering/SceneGraph/RenderPass.d.ts +88 -83
  183. package/Rendering/SceneGraph/ViewNode.d.ts +150 -146
  184. package/Rendering/SceneGraph/ViewNodeFactory.d.ts +17 -12
  185. package/Rendering/WebXR/RenderWindowHelper/Constants.d.ts +5 -5
  186. package/Rendering/WebXR/RenderWindowHelper.d.ts +54 -49
  187. package/Widgets/Core/AbstractWidget.d.ts +30 -24
  188. package/Widgets/Core/AbstractWidgetFactory.d.ts +53 -33
  189. package/Widgets/Core/WidgetManager/Constants.d.ts +4 -4
  190. package/Widgets/Core/WidgetManager.d.ts +21 -15
  191. package/Widgets/Core/WidgetState.d.ts +11 -7
  192. package/Widgets/Manipulators/AbstractManipulator.d.ts +224 -217
  193. package/Widgets/Manipulators/LineManipulator.d.ts +33 -21
  194. package/Widgets/Manipulators/PickerManipulator.d.ts +22 -18
  195. package/Widgets/Manipulators/PlaneManipulator.d.ts +33 -22
  196. package/Widgets/Manipulators/TrackballManipulator.d.ts +40 -26
  197. package/Widgets/Representations/WidgetRepresentation.d.ts +62 -51
  198. package/Widgets/Widgets3D/ImplicitPlaneWidget.js +23 -5
  199. package/Widgets/Widgets3D/InteractiveOrientationWidget.d.ts +25 -10
  200. package/Widgets/Widgets3D/ResliceCursorWidget/Constants.d.ts +26 -7
  201. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.d.ts +13 -12
  202. package/Widgets/Widgets3D/ResliceCursorWidget.d.ts +26 -15
  203. package/Widgets/Widgets3D/SeedWidget.d.ts +2 -2
  204. package/Widgets/Widgets3D/SphereWidget.d.ts +5 -3
  205. package/interfaces.d.ts +243 -243
  206. package/package.json +3 -3
@@ -6,348 +6,364 @@ import vtkDataSet, { IDataSetInitialValues } from './DataSet';
6
6
  *
7
7
  */
8
8
  export interface IImageDataInitialValues extends IDataSetInitialValues {
9
- spacing?: number[];
10
- origin?: number[];
11
- extent?: number[];
9
+ spacing?: number[];
10
+ origin?: number[];
11
+ extent?: number[];
12
12
  }
13
13
 
14
14
  interface IComputeHistogram {
15
- minimum: number;
16
- maximum: number;
17
- average: number;
18
- variance: number;
19
- sigma: number;
15
+ minimum: number;
16
+ maximum: number;
17
+ average: number;
18
+ variance: number;
19
+ sigma: number;
20
20
  }
21
21
 
22
22
  export interface vtkImageData extends vtkDataSet {
23
-
24
- /**
25
- * Returns an object with `{ minimum, maximum, average, variance, sigma, count }`
26
- * of the imageData points found within the provided `worldBounds`.
27
- *
28
- * `voxelFunc(index, bounds)` is an optional function that is called with
29
- * the `[i,j,k]` index and index `bounds`, expected to return truthy if the
30
- * data point should be counted in the histogram, and falsey if not.
31
- * @param {Bounds} worldBounds The bounds of the world.
32
- * @param [voxelFunc]
33
- */
34
- computeHistogram(worldBounds: Bounds, voxelFunc?: any): IComputeHistogram;
35
-
36
- /**
37
- * Returns an `array[3]` of values to multiply an `[i,j,k]` index to convert
38
- * into the actual data array index, from the provided extent.
39
- * `numberOfComponents` should match the Scalar components.
40
- * @internal
41
- * @param {Extent} extent
42
- * @param {Number} [numberOfComponents]
43
- */
44
- computeIncrements(extent: Extent, numberOfComponents?: number): number[]
45
-
46
- /**
47
- * Converts an `[i,j,k]` index to the flat data array index. Returns `NaN`
48
- * if any of the i,j,k bounds are outside the data Extent.
49
- * @internal
50
- * @param {Vector3} ijk The localized `[i,j,k]` pixel array position. Float values will be rounded.
51
- * @return {Number} the corresponding flattened index in the scalar array
52
- */
53
- computeOffsetIndex(ijk: Vector3): number;
54
-
55
- /**
56
- * Calculates the `indexToWorld` and `worldToIndex` conversion matrices from
57
- * the origin, direction, and spacing. Shouldn't need to call this as it is
58
- * handled internally, and updated whenever the vtkImageData is modified.
59
- * @internal
60
- */
61
- computeTransforms(): void;
62
-
63
- /**
64
- * Returns a bounds array from a given Extent, useful if you need to
65
- * calculate the world bounds of a subset of the imageData's data.
66
- * @internal
67
- * @param {Extent} ex
68
- */
69
- extentToBounds(ex: Extent): Bounds;
70
-
71
- /**
72
- * Get image extents without translation (i.e. with origin set to [0,0,0]) and under unit spacing
73
- * (i.e. spacing = [1, 1, 1]).
74
- * This includes a padding of 0.5 pixel/voxel in each principal direction.
75
- * The padding is necessary for conventional images (textures, png, bmp)
76
- * as well as medical images and volumes, since each pixel/voxel has a pre-defined width
77
- * (based on specified spacing) including the ones on the boundary of the image.
78
- * @internal
79
- */
80
- getSpatialExtent(): Extent;
81
-
82
- /**
83
- * Returns the axis-aligned bounds of vtkImageData in world coordinates.
84
- * The axis-aligned Bounds of a vtkImage are returned as pairs of world coordinates
85
- * ```[x_min, x_max, y_min, y_max, z_min, z_max]``` these are calculated
86
- * from the Extent, Origin, and Spacing, defined
87
- * through
88
- * ```js
89
- * [
90
- * (i_min - 0.5)*Spacing[0] + Origin[0], (i_max + 0.5)*Spacing[0] + Origin[0],
91
- * (j_min - 0.5)*Spacing[1] + Origin[1], (j_max + 0.5)*Spacing[1] + Origin[1],
92
- * (k_min - 0.5)*Spacing[2] + Origin[2], (k_max + 0.5)*Spacing[2] + Origin[2]
93
- * ];
94
- * ```
95
- * Note that this includes a padding of 0.5 voxel spacing in each principal direction,
96
- * as well as any orientation of the image.
97
- * You can't directly set the bounds. First you need to decide how many
98
- * pixels across your image will be (i.e. what the extent should be), and
99
- * then you must find the origin and spacing that will produce the bounds
100
- * that you need from the extent that you have. This is simple algebra. In
101
- * general, always set the extent to start at zero, e.g. `[0, 9, 0, 9, 0,
102
- * 9]` for a 10x10x10 image. Calling `setDimensions(10,10,10)` does exactly
103
- * the same thing as `setExtent(0,9,0,9,0,9)` but you should always do the
104
- * latter to be explicit about where your extent starts.
105
- * Such an image of dimensions [10, 10, 10], origin [0, 0, 0] and voxel-spacing of 1.0,
106
- * will result in bounds equal to [-0.5, 9.5, -0.5, 9.5, -0.5, 9.5].
107
- * @return {Bounds} The bounds for the mapper.
108
- */
109
- getBounds(): Bounds;
110
-
111
- /**
112
- * Get the `[x,y,z]` location of the center of the imageData.
113
- */
114
- getCenter(): Vector3;
115
-
116
- /**
117
- * Get dimensions of this structured points dataset. It is the number of
118
- * points on each axis. Dimensions are computed from Extents during this
119
- * call.
120
- */
121
- getDimensions(): Vector3;
122
-
123
- /**
124
- * Direction is a `mat3` matrix corresponding to the axes directions in
125
- * world coordinates for the I, J, K axes of the image. Direction must form
126
- * an orthonormal basis.
127
- */
128
- getDirection(): mat3;
129
-
130
- /**
131
- * The maximal extent of the projection.
132
- * @default [0, -1, 0, -1, 0, -1]
133
- */
134
- getExtent(): Extent;
135
-
136
- /**
137
- *
138
- * @default [0, -1, 0, -1, 0, -1]
139
- */
140
- getExtentByReference(): Extent;
141
-
142
- /**
143
- * Returns the data array index for the point at the provided world position.
144
- * @param {Vector3} xyz The [x,y,z] array in world coordinates.
145
- * @return {number} the corresponding pixel's index in the scalar array.
146
- */
147
- getOffsetIndexFromWorld(xyz: Vector3): number;
148
-
149
- /**
150
- *
151
- */
152
- getNumberOfCells(): number;
153
-
154
- /**
155
- * Get the number of points composing the dataset.
156
- */
157
- getNumberOfPoints(): number;
158
-
159
- /**
160
- * Get the world position of a data point. Index is the point's index in the
161
- * 1D data array.
162
- * @param {Number} index
163
- */
164
- getPoint(index: number): Vector3;
165
-
166
- /**
167
- * Get the origin of the dataset. The origin is the position in world
168
- * coordinates of the point of extent (0,0,0). This point does not have to
169
- * be part of the dataset, in other words, the dataset extent does not have
170
- * to start at (0,0,0) and the origin can be outside of the dataset bounding
171
- * box. The origin plus spacing determine the position in space of the
172
- * points.
173
- */
174
- getOrigin(): Vector3;
175
-
176
- /**
177
- * Get the origin of the dataset. The origin is the position in world
178
- */
179
- getOriginByReference(): Vector3;
180
-
181
- /**
182
- * Returns the scalar value for the point at the provided world position, or
183
- * `NaN` if the world bounds are outside the volumeData bounds. `comp` is
184
- * the scalar component index, for multi-component scalar data.
185
- * @param {Vector3} xyz The [x,y,z] array in world coordinates.
186
- * @param {Number} [comp] The scalar component index for multi-component scalars.
187
- * @return {number|NaN} The corresponding pixel's scalar value.
188
- */
189
- getScalarValueFromWorld(xyz: Vector3, comp?: number): number;
190
-
191
- /**
192
- * Set the spacing [width, height, length] of the cubical cells that compose
193
- * the data set.
194
- */
195
- getSpacing(): Vector3;
196
-
197
- /**
198
- *
199
- */
200
- getSpacingByReference(): Vector3;
201
-
202
- /**
203
- * Returns the `mat4` matrices used to convert between world and index.
204
- * `worldToIndex` is the inverse matrix of `indexToWorld`. Both are made
205
- * with `Float64Array`.
206
- */
207
- getIndexToWorld(): mat4;
208
-
209
- /**
210
- * Returns the `mat4` matrices used to convert between world and index.
211
- * `worldToIndex` is the inverse matrix of `indexToWorld`. Both are made
212
- * with `Float64Array`.
213
- */
214
- getWorldToIndex(): mat4;
215
-
216
- /**
217
- * this is the fast version, requires vec3 arguments
218
- * @param {ReadonlyVec3} vin
219
- * @param {vec3} [vout]
220
- */
221
- indexToWorldVec3(vin: ReadonlyVec3, vout?: vec3): vec3;
222
-
223
- /**
224
- * Converts the input index vector `[i,j,k]` to world values `[x,y,z]`.
225
- * If an out vector is not provided, a new one is created. If provided, it
226
- * modifies the out vector array in place, but also returns it.
227
- * @param {ReadonlyVec3} ain
228
- * @param {vec3} [aout]
229
- */
230
- indexToWorld(ain: ReadonlyVec3, aout?: vec3): vec3;
231
-
232
- /**
233
- * Calculate the corresponding world bounds for the given index bounds
234
- * `[i_min, i_max, j_min, j_max, k_min, k_max]`. Modifies `out` in place if
235
- * provided, or returns a new array. Returned bounds are NOT padded based
236
- * on voxel spacing (see getBounds). The output is merely a bounding box
237
- * calculated considering voxels as grid points.
238
- * @param {Bounds} bin
239
- * @param {Bounds} [bout]
240
- */
241
- indexToWorldBounds(bin: Bounds, bout?: Bounds): Bounds;
242
-
243
- /**
244
- * Set the values of the extent, from `0` to `(i-1)`, etc.
245
- * @param dims
246
- */
247
- setDimensions(dims: number[]): void;
248
-
249
- /**
250
- * Set the values of the extent, from `0` to `(i-1)`, etc.
251
- * @param {Number} i
252
- * @param {Number} j
253
- * @param {Number} k
254
- */
255
- setDimensions(i: number, j: number, k: number): void;
256
-
257
- /**
258
- * The direction matrix is a 3x3 basis for the I, J, K axes
259
- * of the image. The rows of the matrix correspond to the
260
- * axes directions in world coordinates. Direction must
261
- * form an orthonormal basis, results are undefined if
262
- * it is not.
263
- * @param {mat3} direction
264
- */
265
- setDirection(direction: mat3): boolean;
266
-
267
- /**
268
- * The direction matrix is a 3x3 basis for the I, J, K axes
269
- * of the image. The rows of the matrix correspond to the
270
- * axes directions in world coordinates. Direction must
271
- * form an orthonormal basis, results are undefined if
272
- * it is not.
273
- * @param e00
274
- * @param e01
275
- * @param e02
276
- * @param e10
277
- * @param e11
278
- * @param e12
279
- * @param e20
280
- * @param e21
281
- * @param e22
282
- */
283
- setDirection(e00: number, e01: number, e02: number, e10: number, e11: number, e12: number, e20: number, e21: number, e22: number): boolean;
284
-
285
- /**
286
- * Set the extent.
287
- * @param {Extent} extent
288
- */
289
- setExtent(extent: Extent): boolean;
290
-
291
- /**
292
- *
293
- * @param {Number} x1 The x coordinate of the first point.
294
- * @param {Number} x2 The x coordinate of the second point.
295
- * @param {Number} y1 The y coordinate of the first point.
296
- * @param {Number} y2 The y coordinate of the second point.
297
- * @param {Number} z1 The z coordinate of the first point.
298
- * @param {Number} z2 The z coordinate of the second point.
299
- */
300
- setExtent(x1: number, x2: number, y1: number, y2: number, z1: number, z2: number): void;
301
-
302
- /**
303
- * Set the origin of the image.
304
- * @param {Vector3} origin The coordinate of the origin point.
305
- */
306
- setOrigin(origin: Vector3): boolean;
307
-
308
- /**
309
- * Set the origin of the image.
310
- * @param {Vector3} origin The coordinate of the origin point.
311
- */
312
- setOriginFrom(origin: Vector3): boolean;
313
-
314
- /**
315
- *
316
- * @param spacing
317
- */
318
- setSpacing(spacing: number[]): boolean;
319
-
320
- /**
321
- *
322
- * @param spacing
323
- */
324
- setSpacingFrom(spacing: number[]): boolean;
325
-
326
- /**
327
- * this is the fast version, requires vec3 arguments
328
- * @param vin
329
- * @param [vout]
330
- */
331
- worldToIndexVec3(vin: ReadonlyVec3, vout?: vec3): vec3;
332
-
333
- /**
334
- * Converts the input world vector `[x,y,z]` to approximate index values
335
- * `[i,j,k]`. Should be rounded to integers before attempting to access the
336
- * index. If an out vector is not provided, a new one is created. If provided, it
337
- * modifies the out vector array in place, but also returns it.
338
- * @param ain
339
- * @param [aout]
340
- */
341
- worldToIndex(ain: ReadonlyVec3, aout?: vec3): vec3;
342
-
343
- /**
344
- * Calculate the corresponding index bounds for the given world bounds
345
- * `[x_min, x_max, y_min, y_max, z_min, z_max]`. Modifies `out` in place if
346
- * provided, or returns a new array.
347
- * @param {Bounds} bin
348
- * @param {Bounds} [bout]
349
- */
350
- worldToIndexBounds(bin: Bounds, bout?: Bounds): number[];
23
+ /**
24
+ * Returns an object with `{ minimum, maximum, average, variance, sigma, count }`
25
+ * of the imageData points found within the provided `worldBounds`.
26
+ *
27
+ * `voxelFunc(index, bounds)` is an optional function that is called with
28
+ * the `[i,j,k]` index and index `bounds`, expected to return truthy if the
29
+ * data point should be counted in the histogram, and falsey if not.
30
+ * @param {Bounds} worldBounds The bounds of the world.
31
+ * @param [voxelFunc]
32
+ */
33
+ computeHistogram(worldBounds: Bounds, voxelFunc?: any): IComputeHistogram;
34
+
35
+ /**
36
+ * Returns an `array[3]` of values to multiply an `[i,j,k]` index to convert
37
+ * into the actual data array index, from the provided extent.
38
+ * `numberOfComponents` should match the Scalar components.
39
+ * @internal
40
+ * @param {Extent} extent
41
+ * @param {Number} [numberOfComponents]
42
+ */
43
+ computeIncrements(extent: Extent, numberOfComponents?: number): number[];
44
+
45
+ /**
46
+ * Converts an `[i,j,k]` index to the flat data array index. Returns `NaN`
47
+ * if any of the i,j,k bounds are outside the data Extent.
48
+ * @internal
49
+ * @param {Vector3} ijk The localized `[i,j,k]` pixel array position. Float values will be rounded.
50
+ * @return {Number} the corresponding flattened index in the scalar array
51
+ */
52
+ computeOffsetIndex(ijk: Vector3): number;
53
+
54
+ /**
55
+ * Calculates the `indexToWorld` and `worldToIndex` conversion matrices from
56
+ * the origin, direction, and spacing. Shouldn't need to call this as it is
57
+ * handled internally, and updated whenever the vtkImageData is modified.
58
+ * @internal
59
+ */
60
+ computeTransforms(): void;
61
+
62
+ /**
63
+ * Returns a bounds array from a given Extent, useful if you need to
64
+ * calculate the world bounds of a subset of the imageData's data.
65
+ * @internal
66
+ * @param {Extent} ex
67
+ */
68
+ extentToBounds(ex: Extent): Bounds;
69
+
70
+ /**
71
+ * Get image extents without translation (i.e. with origin set to [0,0,0]) and under unit spacing
72
+ * (i.e. spacing = [1, 1, 1]).
73
+ * This includes a padding of 0.5 pixel/voxel in each principal direction.
74
+ * The padding is necessary for conventional images (textures, png, bmp)
75
+ * as well as medical images and volumes, since each pixel/voxel has a pre-defined width
76
+ * (based on specified spacing) including the ones on the boundary of the image.
77
+ * @internal
78
+ */
79
+ getSpatialExtent(): Extent;
80
+
81
+ /**
82
+ * Returns the axis-aligned bounds of vtkImageData in world coordinates.
83
+ * The axis-aligned Bounds of a vtkImage are returned as pairs of world coordinates
84
+ * ```[x_min, x_max, y_min, y_max, z_min, z_max]``` these are calculated
85
+ * from the Extent, Origin, and Spacing, defined
86
+ * through
87
+ * ```js
88
+ * [
89
+ * (i_min - 0.5)*Spacing[0] + Origin[0], (i_max + 0.5)*Spacing[0] + Origin[0],
90
+ * (j_min - 0.5)*Spacing[1] + Origin[1], (j_max + 0.5)*Spacing[1] + Origin[1],
91
+ * (k_min - 0.5)*Spacing[2] + Origin[2], (k_max + 0.5)*Spacing[2] + Origin[2]
92
+ * ];
93
+ * ```
94
+ * Note that this includes a padding of 0.5 voxel spacing in each principal direction,
95
+ * as well as any orientation of the image.
96
+ * You can't directly set the bounds. First you need to decide how many
97
+ * pixels across your image will be (i.e. what the extent should be), and
98
+ * then you must find the origin and spacing that will produce the bounds
99
+ * that you need from the extent that you have. This is simple algebra. In
100
+ * general, always set the extent to start at zero, e.g. `[0, 9, 0, 9, 0,
101
+ * 9]` for a 10x10x10 image. Calling `setDimensions(10,10,10)` does exactly
102
+ * the same thing as `setExtent(0,9,0,9,0,9)` but you should always do the
103
+ * latter to be explicit about where your extent starts.
104
+ * Such an image of dimensions [10, 10, 10], origin [0, 0, 0] and voxel-spacing of 1.0,
105
+ * will result in bounds equal to [-0.5, 9.5, -0.5, 9.5, -0.5, 9.5].
106
+ * @return {Bounds} The bounds for the mapper.
107
+ */
108
+ getBounds(): Bounds;
109
+
110
+ /**
111
+ * Get the `[x,y,z]` location of the center of the imageData.
112
+ */
113
+ getCenter(): Vector3;
114
+
115
+ /**
116
+ * Get dimensions of this structured points dataset. It is the number of
117
+ * points on each axis. Dimensions are computed from Extents during this
118
+ * call.
119
+ */
120
+ getDimensions(): Vector3;
121
+
122
+ /**
123
+ * Direction is a `mat3` matrix corresponding to the axes directions in
124
+ * world coordinates for the I, J, K axes of the image. Direction must form
125
+ * an orthonormal basis.
126
+ */
127
+ getDirection(): mat3;
128
+
129
+ /**
130
+ * The maximal extent of the projection.
131
+ * @default [0, -1, 0, -1, 0, -1]
132
+ */
133
+ getExtent(): Extent;
134
+
135
+ /**
136
+ *
137
+ * @default [0, -1, 0, -1, 0, -1]
138
+ */
139
+ getExtentByReference(): Extent;
140
+
141
+ /**
142
+ * Returns the data array index for the point at the provided world position.
143
+ * @param {Vector3} xyz The [x,y,z] array in world coordinates.
144
+ * @return {number} the corresponding pixel's index in the scalar array.
145
+ */
146
+ getOffsetIndexFromWorld(xyz: Vector3): number;
147
+
148
+ /**
149
+ *
150
+ */
151
+ getNumberOfCells(): number;
152
+
153
+ /**
154
+ * Get the number of points composing the dataset.
155
+ */
156
+ getNumberOfPoints(): number;
157
+
158
+ /**
159
+ * Get the world position of a data point. Index is the point's index in the
160
+ * 1D data array.
161
+ * @param {Number} index
162
+ */
163
+ getPoint(index: number): Vector3;
164
+
165
+ /**
166
+ * Get the origin of the dataset. The origin is the position in world
167
+ * coordinates of the point of extent (0,0,0). This point does not have to
168
+ * be part of the dataset, in other words, the dataset extent does not have
169
+ * to start at (0,0,0) and the origin can be outside of the dataset bounding
170
+ * box. The origin plus spacing determine the position in space of the
171
+ * points.
172
+ */
173
+ getOrigin(): Vector3;
174
+
175
+ /**
176
+ * Get the origin of the dataset. The origin is the position in world
177
+ */
178
+ getOriginByReference(): Vector3;
179
+
180
+ /**
181
+ * Returns the scalar value for the point at the provided world position, or
182
+ * `NaN` if the world bounds are outside the volumeData bounds. `comp` is
183
+ * the scalar component index, for multi-component scalar data.
184
+ * @param {Vector3} xyz The [x,y,z] array in world coordinates.
185
+ * @param {Number} [comp] The scalar component index for multi-component scalars.
186
+ * @return {number|NaN} The corresponding pixel's scalar value.
187
+ */
188
+ getScalarValueFromWorld(xyz: Vector3, comp?: number): number;
189
+
190
+ /**
191
+ * Set the spacing [width, height, length] of the cubical cells that compose
192
+ * the data set.
193
+ */
194
+ getSpacing(): Vector3;
195
+
196
+ /**
197
+ *
198
+ */
199
+ getSpacingByReference(): Vector3;
200
+
201
+ /**
202
+ * Returns the `mat4` matrices used to convert between world and index.
203
+ * `worldToIndex` is the inverse matrix of `indexToWorld`. Both are made
204
+ * with `Float64Array`.
205
+ */
206
+ getIndexToWorld(): mat4;
207
+
208
+ /**
209
+ * Returns the `mat4` matrices used to convert between world and index.
210
+ * `worldToIndex` is the inverse matrix of `indexToWorld`. Both are made
211
+ * with `Float64Array`.
212
+ */
213
+ getWorldToIndex(): mat4;
214
+
215
+ /**
216
+ * this is the fast version, requires vec3 arguments
217
+ * @param {ReadonlyVec3} vin
218
+ * @param {vec3} [vout]
219
+ */
220
+ indexToWorldVec3(vin: ReadonlyVec3, vout?: vec3): vec3;
221
+
222
+ /**
223
+ * Converts the input index vector `[i,j,k]` to world values `[x,y,z]`.
224
+ * If an out vector is not provided, a new one is created. If provided, it
225
+ * modifies the out vector array in place, but also returns it.
226
+ * @param {ReadonlyVec3} ain
227
+ * @param {vec3} [aout]
228
+ */
229
+ indexToWorld(ain: ReadonlyVec3, aout?: vec3): vec3;
230
+
231
+ /**
232
+ * Calculate the corresponding world bounds for the given index bounds
233
+ * `[i_min, i_max, j_min, j_max, k_min, k_max]`. Modifies `out` in place if
234
+ * provided, or returns a new array. Returned bounds are NOT padded based
235
+ * on voxel spacing (see getBounds). The output is merely a bounding box
236
+ * calculated considering voxels as grid points.
237
+ * @param {Bounds} bin
238
+ * @param {Bounds} [bout]
239
+ */
240
+ indexToWorldBounds(bin: Bounds, bout?: Bounds): Bounds;
241
+
242
+ /**
243
+ * Set the values of the extent, from `0` to `(i-1)`, etc.
244
+ * @param dims
245
+ */
246
+ setDimensions(dims: number[]): void;
247
+
248
+ /**
249
+ * Set the values of the extent, from `0` to `(i-1)`, etc.
250
+ * @param {Number} i
251
+ * @param {Number} j
252
+ * @param {Number} k
253
+ */
254
+ setDimensions(i: number, j: number, k: number): void;
255
+
256
+ /**
257
+ * The direction matrix is a 3x3 basis for the I, J, K axes
258
+ * of the image. The rows of the matrix correspond to the
259
+ * axes directions in world coordinates. Direction must
260
+ * form an orthonormal basis, results are undefined if
261
+ * it is not.
262
+ * @param {mat3} direction
263
+ */
264
+ setDirection(direction: mat3): boolean;
265
+
266
+ /**
267
+ * The direction matrix is a 3x3 basis for the I, J, K axes
268
+ * of the image. The rows of the matrix correspond to the
269
+ * axes directions in world coordinates. Direction must
270
+ * form an orthonormal basis, results are undefined if
271
+ * it is not.
272
+ * @param e00
273
+ * @param e01
274
+ * @param e02
275
+ * @param e10
276
+ * @param e11
277
+ * @param e12
278
+ * @param e20
279
+ * @param e21
280
+ * @param e22
281
+ */
282
+ setDirection(
283
+ e00: number,
284
+ e01: number,
285
+ e02: number,
286
+ e10: number,
287
+ e11: number,
288
+ e12: number,
289
+ e20: number,
290
+ e21: number,
291
+ e22: number
292
+ ): boolean;
293
+
294
+ /**
295
+ * Set the extent.
296
+ * @param {Extent} extent
297
+ */
298
+ setExtent(extent: Extent): boolean;
299
+
300
+ /**
301
+ *
302
+ * @param {Number} x1 The x coordinate of the first point.
303
+ * @param {Number} x2 The x coordinate of the second point.
304
+ * @param {Number} y1 The y coordinate of the first point.
305
+ * @param {Number} y2 The y coordinate of the second point.
306
+ * @param {Number} z1 The z coordinate of the first point.
307
+ * @param {Number} z2 The z coordinate of the second point.
308
+ */
309
+ setExtent(
310
+ x1: number,
311
+ x2: number,
312
+ y1: number,
313
+ y2: number,
314
+ z1: number,
315
+ z2: number
316
+ ): void;
317
+
318
+ /**
319
+ * Set the origin of the image.
320
+ * @param {Vector3} origin The coordinate of the origin point.
321
+ */
322
+ setOrigin(origin: Vector3): boolean;
323
+
324
+ /**
325
+ * Set the origin of the image.
326
+ * @param {Vector3} origin The coordinate of the origin point.
327
+ */
328
+ setOriginFrom(origin: Vector3): boolean;
329
+
330
+ /**
331
+ *
332
+ * @param spacing
333
+ */
334
+ setSpacing(spacing: number[]): boolean;
335
+
336
+ /**
337
+ *
338
+ * @param spacing
339
+ */
340
+ setSpacingFrom(spacing: number[]): boolean;
341
+
342
+ /**
343
+ * this is the fast version, requires vec3 arguments
344
+ * @param vin
345
+ * @param [vout]
346
+ */
347
+ worldToIndexVec3(vin: ReadonlyVec3, vout?: vec3): vec3;
348
+
349
+ /**
350
+ * Converts the input world vector `[x,y,z]` to approximate index values
351
+ * `[i,j,k]`. Should be rounded to integers before attempting to access the
352
+ * index. If an out vector is not provided, a new one is created. If provided, it
353
+ * modifies the out vector array in place, but also returns it.
354
+ * @param ain
355
+ * @param [aout]
356
+ */
357
+ worldToIndex(ain: ReadonlyVec3, aout?: vec3): vec3;
358
+
359
+ /**
360
+ * Calculate the corresponding index bounds for the given world bounds
361
+ * `[x_min, x_max, y_min, y_max, z_min, z_max]`. Modifies `out` in place if
362
+ * provided, or returns a new array.
363
+ * @param {Bounds} bin
364
+ * @param {Bounds} [bout]
365
+ */
366
+ worldToIndexBounds(bin: Bounds, bout?: Bounds): number[];
351
367
  }
352
368
 
353
369
  /**
@@ -357,13 +373,19 @@ export interface vtkImageData extends vtkDataSet {
357
373
  * @param model object on which data structure will be bounds (protected)
358
374
  * @param {IImageDataInitialValues} [initialValues] (default: {})
359
375
  */
360
- export function extend(publicAPI: object, model: object, initialValues?: IImageDataInitialValues): void;
376
+ export function extend(
377
+ publicAPI: object,
378
+ model: object,
379
+ initialValues?: IImageDataInitialValues
380
+ ): void;
361
381
 
362
382
  /**
363
383
  * Method used to create a new instance of vtkImageData.
364
384
  * @param {IImageDataInitialValues} [initialValues] for pre-setting some of its content
365
385
  */
366
- export function newInstance(initialValues?: IImageDataInitialValues): vtkImageData;
386
+ export function newInstance(
387
+ initialValues?: IImageDataInitialValues
388
+ ): vtkImageData;
367
389
 
368
390
  /**
369
391
  * vtkImageData is a data object that is a concrete implementation of
@@ -372,7 +394,7 @@ export function newInstance(initialValues?: IImageDataInitialValues): vtkImageDa
372
394
  * (voxel data) and pixmaps. All vtkDataSet functions are inherited.
373
395
  */
374
396
  export declare const vtkImageData: {
375
- newInstance: typeof newInstance,
376
- extend: typeof extend,
397
+ newInstance: typeof newInstance;
398
+ extend: typeof extend;
377
399
  };
378
400
  export default vtkImageData;