@kitware/vtk.js 22.5.10 → 23.0.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.
- package/Common/Core/MatrixBuilder.d.ts +3 -3
- package/Common/DataModel/ITKHelper.js +16 -20
- package/Common/DataModel/ImageData.d.ts +48 -46
- package/Filters/General/ImageSliceFilter.d.ts +1 -1
- package/Filters/General/ImageStreamline.d.ts +135 -0
- package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.d.ts +9 -0
- package/IO/Core/DataAccessHelper/HttpDataAccessHelper.d.ts +9 -0
- package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.d.ts +13 -0
- package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.d.ts +9 -0
- package/IO/Core/DataAccessHelper.d.ts +32 -0
- package/IO/Core/HttpDataSetReader.d.ts +226 -0
- package/IO/Geometry/DracoReader.d.ts +12 -8
- package/IO/Geometry/PLYReader.d.ts +12 -8
- package/IO/Geometry/STLReader.d.ts +13 -8
- package/IO/Misc/ElevationReader.d.ts +10 -5
- package/IO/Misc/JSONNucleoReader.d.ts +12 -8
- package/IO/Misc/JSONReader.d.ts +3 -3
- package/IO/Misc/MTLReader.d.ts +9 -5
- package/IO/Misc/OBJReader.d.ts +9 -5
- package/IO/Misc/PDBReader.d.ts +9 -5
- package/IO/XML/XMLReader.d.ts +19 -15
- package/Interaction/Widgets/OrientationMarkerWidget.d.ts +12 -0
- package/Interaction/Widgets/OrientationMarkerWidget.js +62 -37
- package/LICENSE +21 -18
- package/Rendering/Core/Actor.d.ts +17 -14
- package/Rendering/Core/ImageProperty.d.ts +9 -0
- package/Rendering/Core/ImageProperty.js +3 -2
- package/Rendering/Core/RenderWindowInteractor.js +30 -5
- package/Rendering/Core/Renderer.d.ts +5 -5
- package/Rendering/OpenGL/ImageMapper.js +1 -1
- package/Rendering/OpenGL/VolumeMapper.js +16 -1
- package/Rendering/OpenGL/glsl/vtkVolumeFS.glsl.js +1 -1
- package/Rendering/WebGPU/ImageMapper.js +1 -1
- package/Widgets/Core/AbstractWidgetFactory.js +5 -3
- package/Widgets/Representations/ImplicitPlaneRepresentation.js +8 -2
- package/index.d.ts +146 -0
- package/package.json +3 -2
- package/tsconfig.json +8 -0
- package/vtk.d.ts +15 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mat4 } from 'gl-matrix';
|
|
2
|
-
import { TypedArray } from '@kitware/vtk.js/types';
|
|
2
|
+
import { TypedArray, Vector3 } from '@kitware/vtk.js/types';
|
|
3
3
|
|
|
4
4
|
declare interface Transform {
|
|
5
5
|
|
|
@@ -22,9 +22,9 @@ declare interface Transform {
|
|
|
22
22
|
* Normalizes the axis of rotation then rotates the current matrix `angle`
|
|
23
23
|
* degrees/radians around the provided axis.
|
|
24
24
|
* @param {Number} angle
|
|
25
|
-
* @param {
|
|
25
|
+
* @param {Vector3} axis
|
|
26
26
|
*/
|
|
27
|
-
rotate(angle: number, axis:
|
|
27
|
+
rotate(angle: number, axis: Vector3): Transform
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* Rotates `angle` degrees/radians around the X axis.
|
|
@@ -41,10 +41,11 @@ var ITKWASMPixelTypes = {
|
|
|
41
41
|
VariableLengthVector: 'VariableLengthVector',
|
|
42
42
|
VariableSizeMatrix: 'VariableSizeMatrix'
|
|
43
43
|
};
|
|
44
|
+
var vtkArrayTypeToItkComponentType = new Map([['Uint8Array', 'uint8'], ['Int8Array', 'int8'], ['Uint16Array', 'uint16'], ['Int16Array', 'int16'], ['Uint32Array', 'uint32'], ['Int32Array', 'int32'], ['Float32Array', 'float32'], ['Float64Array', 'float64']]);
|
|
44
45
|
/**
|
|
45
|
-
* Converts an itk
|
|
46
|
+
* Converts an itk-wasm Image to a vtk.js vtkImageData.
|
|
46
47
|
*
|
|
47
|
-
* Requires an itk
|
|
48
|
+
* Requires an itk-wasm Image as input.
|
|
48
49
|
*/
|
|
49
50
|
|
|
50
51
|
function convertItkToVtkImage(itkImage) {
|
|
@@ -161,40 +162,35 @@ function convertItkToVtkImage(itkImage) {
|
|
|
161
162
|
|
|
162
163
|
return imageData;
|
|
163
164
|
}
|
|
164
|
-
|
|
165
|
-
var vtkArrayTypeToItkComponentType = new Map([['Uint8Array', 'uint8_t'], ['Int8Array', 'int8_t'], ['Uint16Array', 'uint16_t'], ['Int16Array', 'int16_t'], ['Uint32Array', 'uint32_t'], ['Int32Array', 'int32_t'], ['Float32Array', 'float'], ['Float64Array', 'double']]);
|
|
166
165
|
/**
|
|
167
|
-
* Converts a vtk.js
|
|
166
|
+
* Converts a vtk.js vtkImageData to an itk-wasm Image.
|
|
167
|
+
*
|
|
168
|
+
* Requires a vtk.js vtkImageData as input.
|
|
168
169
|
*
|
|
169
|
-
* Requires a vtk.js image as input.
|
|
170
170
|
*/
|
|
171
171
|
|
|
172
|
+
|
|
172
173
|
function convertVtkToItkImage(vtkImage) {
|
|
173
174
|
var copyData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
175
|
+
var dimension = 3;
|
|
174
176
|
var itkImage = {
|
|
175
177
|
imageType: {
|
|
176
|
-
dimension:
|
|
177
|
-
pixelType:
|
|
178
|
+
dimension: dimension,
|
|
179
|
+
pixelType: ITKWASMPixelTypes.Scalar,
|
|
178
180
|
componentType: '',
|
|
179
181
|
components: 1
|
|
180
182
|
},
|
|
181
|
-
name: '
|
|
183
|
+
name: 'vtkImageData',
|
|
182
184
|
origin: vtkImage.getOrigin(),
|
|
183
185
|
spacing: vtkImage.getSpacing(),
|
|
184
|
-
direction:
|
|
185
|
-
data: [1, 0, 0, 0, 1, 0, 0, 0, 1]
|
|
186
|
-
},
|
|
186
|
+
direction: new Float64Array(9),
|
|
187
187
|
size: vtkImage.getDimensions()
|
|
188
188
|
};
|
|
189
|
-
var direction = vtkImage.getDirection();
|
|
190
|
-
var dimension = itkImage.size.length;
|
|
191
|
-
itkImage.imageType.dimension = dimension;
|
|
192
|
-
itkImage.direction.rows = dimension;
|
|
193
|
-
itkImage.direction.columns = dimension; // Transpose the direction matrix from column-major to row-major
|
|
189
|
+
var direction = vtkImage.getDirection(); // Transpose the direction matrix from column-major to row-major
|
|
194
190
|
|
|
195
191
|
for (var idx = 0; idx < dimension; ++idx) {
|
|
196
192
|
for (var idy = 0; idy < dimension; ++idy) {
|
|
197
|
-
itkImage.direction
|
|
193
|
+
itkImage.direction[idx + idy * dimension] = direction[idy + idx * dimension];
|
|
198
194
|
}
|
|
199
195
|
}
|
|
200
196
|
|
|
@@ -202,10 +198,10 @@ function convertVtkToItkImage(vtkImage) {
|
|
|
202
198
|
var vtkArray;
|
|
203
199
|
|
|
204
200
|
if (pointData.getTensors() !== null) {
|
|
205
|
-
itkImage.imageType.pixelType =
|
|
201
|
+
itkImage.imageType.pixelType = ITKWASMPixelTypes.DiffusionTensor3D;
|
|
206
202
|
vtkArray = pointData.getTensors();
|
|
207
203
|
} else if (pointData.getVectors() != null) {
|
|
208
|
-
itkImage.imageType.pixelType =
|
|
204
|
+
itkImage.imageType.pixelType = ITKWASMPixelTypes.Vector;
|
|
209
205
|
vtkArray = pointData.getVectors();
|
|
210
206
|
} else {
|
|
211
207
|
vtkArray = pointData.getScalars();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mat3, mat4, ReadonlyVec3, vec3 } from 'gl-matrix';
|
|
2
|
-
import { Bounds, Vector3 } from '@kitware/vtk.js/types';
|
|
2
|
+
import { Bounds, Extent, Vector3 } from '@kitware/vtk.js/types';
|
|
3
3
|
import vtkDataSet, { IDataSetInitialValues } from '@kitware/vtk.js/Common/DataModel/DataSet';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -28,29 +28,29 @@ export interface vtkImageData extends vtkDataSet {
|
|
|
28
28
|
* `voxelFunc(index, bounds)` is an optional function that is called with
|
|
29
29
|
* the `[i,j,k]` index and index `bounds`, expected to return truthy if the
|
|
30
30
|
* data point should be counted in the histogram, and falsey if not.
|
|
31
|
-
* @param {
|
|
31
|
+
* @param {Bounds} worldBounds The bounds of the world.
|
|
32
32
|
* @param [voxelFunc]
|
|
33
33
|
*/
|
|
34
|
-
computeHistogram(worldBounds:
|
|
34
|
+
computeHistogram(worldBounds: Bounds, voxelFunc?: any): IComputeHistogram;
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* Returns an `array[3]` of values to multiply an `[i,j,k]` index to convert
|
|
38
38
|
* into the actual data array index, from the provided extent.
|
|
39
39
|
* `numberOfComponents` should match the Scalar components.
|
|
40
40
|
* @internal
|
|
41
|
-
* @param {
|
|
41
|
+
* @param {Extent} extent
|
|
42
42
|
* @param {Number} [numberOfComponents]
|
|
43
43
|
*/
|
|
44
|
-
computeIncrements(extent:
|
|
44
|
+
computeIncrements(extent: Extent, numberOfComponents?: number): number[]
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
47
|
* Converts an `[i,j,k]` index to the flat data array index. Returns `NaN`
|
|
48
48
|
* if any of the i,j,k bounds are outside the data Extent.
|
|
49
49
|
* @internal
|
|
50
|
-
* @param {
|
|
50
|
+
* @param {Vector3} ijk The localized `[i,j,k]` pixel array position. Float values will be rounded.
|
|
51
51
|
* @return {Number} the corresponding flattened index in the scalar array
|
|
52
52
|
*/
|
|
53
|
-
computeOffsetIndex(ijk:
|
|
53
|
+
computeOffsetIndex(ijk: Vector3): number;
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* Calculates the `indexToWorld` and `worldToIndex` conversion matrices from
|
|
@@ -64,9 +64,9 @@ export interface vtkImageData extends vtkDataSet {
|
|
|
64
64
|
* Returns a bounds array from a given Extent, useful if you need to
|
|
65
65
|
* calculate the world bounds of a subset of the imageData's data.
|
|
66
66
|
* @internal
|
|
67
|
-
* @param {
|
|
67
|
+
* @param {Extent} ex
|
|
68
68
|
*/
|
|
69
|
-
extentToBounds(ex:
|
|
69
|
+
extentToBounds(ex: Extent): Bounds;
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* The Bounds of a vtkImage are returned as pairs of world coordinates
|
|
@@ -96,14 +96,14 @@ export interface vtkImageData extends vtkDataSet {
|
|
|
96
96
|
/**
|
|
97
97
|
* Get the `[x,y,z]` location of the center of the imageData.
|
|
98
98
|
*/
|
|
99
|
-
getCenter():
|
|
99
|
+
getCenter(): Vector3;
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
102
|
* Get dimensions of this structured points dataset. It is the number of
|
|
103
103
|
* points on each axis. Dimensions are computed from Extents during this
|
|
104
104
|
* call.
|
|
105
105
|
*/
|
|
106
|
-
getDimensions():
|
|
106
|
+
getDimensions(): Vector3;
|
|
107
107
|
|
|
108
108
|
/**
|
|
109
109
|
* Direction is a `mat3` matrix corresponding to the axes directions in
|
|
@@ -116,20 +116,20 @@ export interface vtkImageData extends vtkDataSet {
|
|
|
116
116
|
* The maximal extent of the projection.
|
|
117
117
|
* @default [0, -1, 0, -1, 0, -1]
|
|
118
118
|
*/
|
|
119
|
-
getExtent():
|
|
119
|
+
getExtent(): Extent;
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
122
|
*
|
|
123
123
|
* @default [0, -1, 0, -1, 0, -1]
|
|
124
124
|
*/
|
|
125
|
-
getExtentByReference():
|
|
125
|
+
getExtentByReference(): Extent;
|
|
126
126
|
|
|
127
127
|
/**
|
|
128
128
|
* Returns the data array index for the point at the provided world position.
|
|
129
|
-
* @param {
|
|
130
|
-
* @return {number
|
|
129
|
+
* @param {Vector3} xyz The [x,y,z] array in world coordinates.
|
|
130
|
+
* @return {number} the corresponding pixel's index in the scalar array.
|
|
131
131
|
*/
|
|
132
|
-
getOffsetIndexFromWorld(xyz:
|
|
132
|
+
getOffsetIndexFromWorld(xyz: Vector3): number;
|
|
133
133
|
|
|
134
134
|
/**
|
|
135
135
|
*
|
|
@@ -144,9 +144,9 @@ export interface vtkImageData extends vtkDataSet {
|
|
|
144
144
|
/**
|
|
145
145
|
* Get the world position of a data point. Index is the point's index in the
|
|
146
146
|
* 1D data array.
|
|
147
|
-
* @param index
|
|
147
|
+
* @param {Number} index
|
|
148
148
|
*/
|
|
149
|
-
getPoint(index: number):
|
|
149
|
+
getPoint(index: number): Vector3;
|
|
150
150
|
|
|
151
151
|
/**
|
|
152
152
|
* Get the origin of the dataset. The origin is the position in world
|
|
@@ -156,33 +156,33 @@ export interface vtkImageData extends vtkDataSet {
|
|
|
156
156
|
* box. The origin plus spacing determine the position in space of the
|
|
157
157
|
* points.
|
|
158
158
|
*/
|
|
159
|
-
getOrigin():
|
|
159
|
+
getOrigin(): Vector3;
|
|
160
160
|
|
|
161
161
|
/**
|
|
162
162
|
* Get the origin of the dataset. The origin is the position in world
|
|
163
163
|
*/
|
|
164
|
-
getOriginByReference():
|
|
164
|
+
getOriginByReference(): Vector3;
|
|
165
165
|
|
|
166
166
|
/**
|
|
167
167
|
* Returns the scalar value for the point at the provided world position, or
|
|
168
168
|
* `NaN` if the world bounds are outside the volumeData bounds. `comp` is
|
|
169
169
|
* the scalar component index, for multi-component scalar data.
|
|
170
|
-
* @param {
|
|
170
|
+
* @param {Vector3} xyz The [x,y,z] array in world coordinates.
|
|
171
171
|
* @param {Number} [comp] The scalar component index for multi-component scalars.
|
|
172
172
|
* @return {number|NaN} The corresponding pixel's scalar value.
|
|
173
173
|
*/
|
|
174
|
-
getScalarValueFromWorld(xyz:
|
|
174
|
+
getScalarValueFromWorld(xyz: Vector3, comp?: number): number;
|
|
175
175
|
|
|
176
176
|
/**
|
|
177
177
|
* Set the spacing [width, height, length] of the cubical cells that compose
|
|
178
178
|
* the data set.
|
|
179
179
|
*/
|
|
180
|
-
getSpacing():
|
|
180
|
+
getSpacing(): Vector3;
|
|
181
181
|
|
|
182
182
|
/**
|
|
183
183
|
*
|
|
184
184
|
*/
|
|
185
|
-
getSpacingByReference():
|
|
185
|
+
getSpacingByReference(): Vector3;
|
|
186
186
|
|
|
187
187
|
/**
|
|
188
188
|
* Returns the `mat4` matrices used to convert between world and index.
|
|
@@ -201,26 +201,27 @@ export interface vtkImageData extends vtkDataSet {
|
|
|
201
201
|
/**
|
|
202
202
|
* this is the fast version, requires vec3 arguments
|
|
203
203
|
* @param {ReadonlyVec3} vin
|
|
204
|
-
* @param {vec3} vout
|
|
204
|
+
* @param {vec3} [vout]
|
|
205
205
|
*/
|
|
206
|
-
indexToWorldVec3(vin: ReadonlyVec3, vout
|
|
206
|
+
indexToWorldVec3(vin: ReadonlyVec3, vout?: vec3): vec3;
|
|
207
207
|
|
|
208
208
|
/**
|
|
209
|
-
* Converts the input index vector `[i,j,k]` to world values `[x,y,z]`.
|
|
210
|
-
*
|
|
209
|
+
* Converts the input index vector `[i,j,k]` to world values `[x,y,z]`.
|
|
210
|
+
* If an out vector is not provided, a new one is created. If provided, it
|
|
211
|
+
* modifies the out vector array in place, but also returns it.
|
|
211
212
|
* @param {ReadonlyVec3} ain
|
|
212
|
-
* @param {vec3} aout
|
|
213
|
+
* @param {vec3} [aout]
|
|
213
214
|
*/
|
|
214
|
-
indexToWorld(ain: ReadonlyVec3, aout
|
|
215
|
+
indexToWorld(ain: ReadonlyVec3, aout?: vec3): vec3;
|
|
215
216
|
|
|
216
217
|
/**
|
|
217
218
|
* Calculate the corresponding world bounds for the given index bounds
|
|
218
219
|
* `[i_min, i_max, j_min, j_max, k_min, k_max]`. Modifies `out` in place if
|
|
219
220
|
* provided, or returns a new array.
|
|
220
|
-
* @param {
|
|
221
|
-
* @param {
|
|
221
|
+
* @param {Bounds} bin
|
|
222
|
+
* @param {Bounds} [bout]
|
|
222
223
|
*/
|
|
223
|
-
indexToWorldBounds(bin:
|
|
224
|
+
indexToWorldBounds(bin: Bounds, bout?: Bounds): Bounds;
|
|
224
225
|
|
|
225
226
|
/**
|
|
226
227
|
* Set the values of the extent, from `0` to `(i-1)`, etc.
|
|
@@ -230,9 +231,9 @@ export interface vtkImageData extends vtkDataSet {
|
|
|
230
231
|
|
|
231
232
|
/**
|
|
232
233
|
* Set the values of the extent, from `0` to `(i-1)`, etc.
|
|
233
|
-
* @param i
|
|
234
|
-
* @param j
|
|
235
|
-
* @param k
|
|
234
|
+
* @param {Number} i
|
|
235
|
+
* @param {Number} j
|
|
236
|
+
* @param {Number} k
|
|
236
237
|
*/
|
|
237
238
|
setDimensions(i: number, j: number, k: number): void;
|
|
238
239
|
|
|
@@ -266,9 +267,9 @@ export interface vtkImageData extends vtkDataSet {
|
|
|
266
267
|
|
|
267
268
|
/**
|
|
268
269
|
* Set the extent.
|
|
269
|
-
* @param extent
|
|
270
|
+
* @param {Extent} extent
|
|
270
271
|
*/
|
|
271
|
-
setExtent(extent:
|
|
272
|
+
setExtent(extent: Extent): boolean;
|
|
272
273
|
|
|
273
274
|
/**
|
|
274
275
|
*
|
|
@@ -308,27 +309,28 @@ export interface vtkImageData extends vtkDataSet {
|
|
|
308
309
|
/**
|
|
309
310
|
* this is the fast version, requires vec3 arguments
|
|
310
311
|
* @param vin
|
|
311
|
-
* @param vout
|
|
312
|
+
* @param [vout]
|
|
312
313
|
*/
|
|
313
|
-
worldToIndexVec3(vin: ReadonlyVec3, vout
|
|
314
|
+
worldToIndexVec3(vin: ReadonlyVec3, vout?: vec3): vec3;
|
|
314
315
|
|
|
315
316
|
/**
|
|
316
317
|
* Converts the input world vector `[x,y,z]` to approximate index values
|
|
317
318
|
* `[i,j,k]`. Should be rounded to integers before attempting to access the
|
|
318
|
-
* index.
|
|
319
|
+
* index. If an out vector is not provided, a new one is created. If provided, it
|
|
320
|
+
* modifies the out vector array in place, but also returns it.
|
|
319
321
|
* @param ain
|
|
320
|
-
* @param aout
|
|
322
|
+
* @param [aout]
|
|
321
323
|
*/
|
|
322
|
-
worldToIndex(ain: ReadonlyVec3, aout
|
|
324
|
+
worldToIndex(ain: ReadonlyVec3, aout?: vec3): vec3;
|
|
323
325
|
|
|
324
326
|
/**
|
|
325
327
|
* Calculate the corresponding index bounds for the given world bounds
|
|
326
328
|
* `[x_min, x_max, y_min, y_max, z_min, z_max]`. Modifies `out` in place if
|
|
327
329
|
* provided, or returns a new array.
|
|
328
|
-
* @param {
|
|
329
|
-
* @param {
|
|
330
|
+
* @param {Bounds} bin
|
|
331
|
+
* @param {Bounds} [bout]
|
|
330
332
|
*/
|
|
331
|
-
worldToIndexBounds(bin:
|
|
333
|
+
worldToIndexBounds(bin: Bounds, bout?: Bounds): number[];
|
|
332
334
|
}
|
|
333
335
|
|
|
334
336
|
/**
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
|
|
2
|
+
import { vtkAlgorithm, vtkObject } from '@kitware/vtk.js/interfaces';
|
|
3
|
+
import { Bounds, Extent, Vector2, Vector3 } from '@kitware/vtk.js/types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
export interface IImageStreamlineInitialValues {
|
|
9
|
+
integrationStep?: number,
|
|
10
|
+
maximumNumberOfSteps?: number,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type vtkImageStreamlineBase = vtkObject & vtkAlgorithm;
|
|
14
|
+
|
|
15
|
+
export interface vtkImageStreamline extends vtkImageStreamlineBase {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @param velArray
|
|
20
|
+
* @param image
|
|
21
|
+
* @param {Number} delT
|
|
22
|
+
* @param {Number[]} xyz
|
|
23
|
+
*/
|
|
24
|
+
computeNextStep(velArray: any, image: any, delT: number, xyz: number[]): boolean;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
* @param {Vector3} x
|
|
29
|
+
* @param {Vector3} ijk
|
|
30
|
+
* @param {Vector3} pcoords
|
|
31
|
+
* @param {Extent} extent
|
|
32
|
+
* @param {Vector3} spacing
|
|
33
|
+
* @param {Vector3} origin
|
|
34
|
+
* @param {Bounds} bounds
|
|
35
|
+
*/
|
|
36
|
+
computeStructuredCoordinates(x: Vector3, ijk: Vector3, pcoords: Vector3, extent: Extent, spacing: Vector3, origin: Vector3, bounds: Bounds): boolean;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Get the step length (delT) used during integration.
|
|
40
|
+
*/
|
|
41
|
+
getIntegrationStep(): number;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Get the number of steps to be used in the integration.
|
|
45
|
+
*/
|
|
46
|
+
getMaximumNumberOfSteps(): number;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @param {Vector3} ijk
|
|
51
|
+
* @param {Vector2} dims
|
|
52
|
+
* @param {Number[]} ids
|
|
53
|
+
*/
|
|
54
|
+
getVoxelIndices(ijk: Vector3, dims: Vector2, ids: number[]): void;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
*
|
|
58
|
+
* @param {Vector3} pcoords
|
|
59
|
+
* @param {Number[]} sf
|
|
60
|
+
*/
|
|
61
|
+
interpolationFunctions(pcoords: Vector3, sf: number[]): void;
|
|
62
|
+
/**
|
|
63
|
+
*
|
|
64
|
+
* @param inData
|
|
65
|
+
* @param outData
|
|
66
|
+
*/
|
|
67
|
+
requestData(inData: any, outData: any): void;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Set the step length (delT) used during integration.
|
|
71
|
+
* @param {Number} integrationStep
|
|
72
|
+
*/
|
|
73
|
+
setIntegrationStep(integrationStep: number): boolean;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Set the number of steps to be used in the integration.
|
|
77
|
+
* Integration can terminal earlier if the streamline leaves the domain.
|
|
78
|
+
* @param {Number} maximumNumberOfSteps
|
|
79
|
+
*/
|
|
80
|
+
setMaximumNumberOfSteps(maximumNumberOfSteps: number): boolean;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
* @param velArray
|
|
85
|
+
* @param {vtkImageData} image
|
|
86
|
+
* @param {Number[]} seed
|
|
87
|
+
* @param {Number} offset
|
|
88
|
+
*/
|
|
89
|
+
streamIntegrate(velArray: any, image: vtkImageData, seed: number[], offset: number): any[];
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
*
|
|
93
|
+
* @param {Number[]} xyz
|
|
94
|
+
* @param velArray
|
|
95
|
+
* @param {vtkImageData} image
|
|
96
|
+
* @param velAtArg
|
|
97
|
+
*/
|
|
98
|
+
vectorAt(xyz: number[], velArray: any, image: vtkImageData, velAtArg: any): boolean;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Method used to decorate a given object (publicAPI+model) with vtkImageStreamline characteristics.
|
|
103
|
+
*
|
|
104
|
+
* @param publicAPI object on which methods will be bounds (public)
|
|
105
|
+
* @param model object on which data structure will be bounds (protected)
|
|
106
|
+
* @param {IImageStreamlineInitialValues} [initialValues] (default: {})
|
|
107
|
+
*/
|
|
108
|
+
export function extend(publicAPI: object, model: object, initialValues?: IImageStreamlineInitialValues): void;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Method used to create a new instance of vtkImageStreamline
|
|
112
|
+
* @param {IImageStreamlineInitialValues} [initialValues] for pre-setting some of its content
|
|
113
|
+
*/
|
|
114
|
+
export function newInstance(initialValues?: IImageStreamlineInitialValues): vtkImageStreamline;
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* vtkImageStreamline - integrate streamlines in a vtkImageData
|
|
119
|
+
*
|
|
120
|
+
* vtkImageStreamline is a filter that generates streamlines from a vtkImageData
|
|
121
|
+
* input over which a vector field is defined. This filter will look for vectors
|
|
122
|
+
* (i.e. getVectors()) in the input. It will then integrate these vectors, using
|
|
123
|
+
* Runge-Kutta 2, from a starting set of seeds defined by the points of the 2nd
|
|
124
|
+
* input until a specified maximum number of steps is reached or until the
|
|
125
|
+
* streamline leaves the domain.
|
|
126
|
+
*
|
|
127
|
+
* The output will be a vtkPolyData which contains a polyline for each
|
|
128
|
+
* streamline. Currently, this filter does not interpolate any input fields to
|
|
129
|
+
* the points of the streamline.
|
|
130
|
+
*/
|
|
131
|
+
export declare const vtkImageStreamline: {
|
|
132
|
+
newInstance: typeof newInstance;
|
|
133
|
+
extend: typeof extend;
|
|
134
|
+
}
|
|
135
|
+
export default vtkImageStreamline;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface HtmlDataAccessHelper {
|
|
2
|
+
fetchArray(instance: any, baseURL: string, array: object[], options?: object): Promise<object[]>;
|
|
3
|
+
fetchJSON(instance: any, url: string, options?: object): Promise<object>;
|
|
4
|
+
fetchText(instance: any, url: string, options?: object): Promise<string>;
|
|
5
|
+
fetchBinary(instance: any, url: string, options?: object): Promise<ArrayBuffer>;
|
|
6
|
+
fetchImage(instance: any, url: string, options?: object): Promise<HTMLImageElement>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export default HtmlDataAccessHelper;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface HttpDataAccessHelper {
|
|
2
|
+
fetchArray(instance: any, baseURL: string, array: object[], options?: object): Promise<object[]>;
|
|
3
|
+
fetchJSON(instance: any, url: string, options?: object): Promise<object>;
|
|
4
|
+
fetchText(instance: any, url: string, options?: object): Promise<string>;
|
|
5
|
+
fetchBinary(instance: any, url: string, options?: object): Promise<ArrayBuffer>;
|
|
6
|
+
fetchImage(instance: any, url: string, options?: object): Promise<HTMLImageElement>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export default HttpDataAccessHelper;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface IJSZipDataAccessHelper {
|
|
2
|
+
fetchArray(instance: any, baseURL: string, array: object[], options?: object): Promise<object[]>;
|
|
3
|
+
fetchJSON(instance: any, url: string, options?: object): Promise<object>;
|
|
4
|
+
fetchText(instance: any, url: string, options?: object): Promise<string>;
|
|
5
|
+
fetchBinary(instance: any, url: string, options?: object): Promise<ArrayBuffer>;
|
|
6
|
+
fetchImage(instance: any, url: string, options?: object): Promise<HTMLImageElement>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface JSZipDataAccessHelper {
|
|
10
|
+
create(createOptions: object): IJSZipDataAccessHelper
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default JSZipDataAccessHelper;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface LiteHttpDataAccessHelper {
|
|
2
|
+
fetchArray(instance: any, baseURL: string, array: object[], options?: object): Promise<object[]>;
|
|
3
|
+
fetchJSON(instance: any, url: string, options?: object): Promise<object>;
|
|
4
|
+
fetchText(instance: any, url: string, options?: object): Promise<string>;
|
|
5
|
+
fetchBinary(instance: any, url: string, options?: object): Promise<ArrayBuffer>;
|
|
6
|
+
fetchImage(instance: any, url: string, options?: object): Promise<HTMLImageElement>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export default LiteHttpDataAccessHelper;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import HtmlDataAccessHelper from '@kitware/vtk.js/IO/Core/DataAccessHelper/HtmlDataAccessHelper';
|
|
2
|
+
import HttpDataAccessHelper from '@kitware/vtk.js/IO/Core/DataAccessHelper/HttpDataAccessHelper';
|
|
3
|
+
import JSZipDataAccessHelper from '@kitware/vtk.js/IO/Core/DataAccessHelper/JSZipDataAccessHelper';
|
|
4
|
+
import LiteHttpDataAccessHelper from '@kitware/vtk.js/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper';
|
|
5
|
+
|
|
6
|
+
export function has(type: string): boolean;
|
|
7
|
+
export function get(type?: string, options?: object): HtmlDataAccessHelper | HttpDataAccessHelper | JSZipDataAccessHelper | LiteHttpDataAccessHelper
|
|
8
|
+
export function registerType(type: string, fn: any): void;
|
|
9
|
+
|
|
10
|
+
export interface DataAccessHelper {
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param {String} type
|
|
14
|
+
*/
|
|
15
|
+
has(type: string): boolean;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @param {String} type
|
|
20
|
+
* @param options
|
|
21
|
+
*/
|
|
22
|
+
get(type?: string, options?: object): HtmlDataAccessHelper | HttpDataAccessHelper | JSZipDataAccessHelper | LiteHttpDataAccessHelper
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param {String} type
|
|
27
|
+
* @param fn
|
|
28
|
+
*/
|
|
29
|
+
registerType(type: string, fn: any): void;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default DataAccessHelper;
|