@cornerstonejs/core 0.30.0 → 0.31.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 (67) hide show
  1. package/dist/cjs/RenderingEngine/BaseVolumeViewport.d.ts +5 -1
  2. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js +55 -5
  3. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  4. package/dist/cjs/RenderingEngine/StackViewport.d.ts +3 -1
  5. package/dist/cjs/RenderingEngine/StackViewport.js +53 -21
  6. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  7. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +2 -248
  8. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  9. package/dist/cjs/enums/VOILUTFunctionType.d.ts +5 -0
  10. package/dist/cjs/enums/VOILUTFunctionType.js +9 -0
  11. package/dist/cjs/enums/VOILUTFunctionType.js.map +1 -0
  12. package/dist/cjs/enums/index.d.ts +2 -1
  13. package/dist/cjs/enums/index.js +3 -1
  14. package/dist/cjs/enums/index.js.map +1 -1
  15. package/dist/cjs/types/EventTypes.d.ts +2 -0
  16. package/dist/cjs/types/IImage.d.ts +1 -0
  17. package/dist/cjs/types/IVolumeViewport.d.ts +1 -1
  18. package/dist/cjs/types/Metadata.d.ts +1 -0
  19. package/dist/cjs/types/StackViewportProperties.d.ts +2 -0
  20. package/dist/cjs/types/VolumeViewportProperties.d.ts +2 -0
  21. package/dist/cjs/utilities/createLinearRGBTransferFunction.d.ts +3 -0
  22. package/dist/cjs/utilities/createLinearRGBTransferFunction.js +22 -0
  23. package/dist/cjs/utilities/createLinearRGBTransferFunction.js.map +1 -0
  24. package/dist/cjs/utilities/createSigmoidRGBTransferFunction.d.ts +3 -0
  25. package/dist/cjs/utilities/createSigmoidRGBTransferFunction.js +29 -0
  26. package/dist/cjs/utilities/createSigmoidRGBTransferFunction.js.map +1 -0
  27. package/dist/cjs/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +2 -0
  28. package/dist/cjs/utilities/getVoiFromSigmoidRGBTransferFunction.js +22 -0
  29. package/dist/cjs/utilities/getVoiFromSigmoidRGBTransferFunction.js.map +1 -0
  30. package/dist/cjs/utilities/index.d.ts +4 -1
  31. package/dist/cjs/utilities/index.js +7 -1
  32. package/dist/cjs/utilities/index.js.map +1 -1
  33. package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +5 -1
  34. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +57 -7
  35. package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  36. package/dist/esm/RenderingEngine/StackViewport.d.ts +3 -1
  37. package/dist/esm/RenderingEngine/StackViewport.js +54 -22
  38. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  39. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +2 -248
  40. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  41. package/dist/esm/enums/VOILUTFunctionType.d.ts +5 -0
  42. package/dist/esm/enums/VOILUTFunctionType.js +7 -0
  43. package/dist/esm/enums/VOILUTFunctionType.js.map +1 -0
  44. package/dist/esm/enums/index.d.ts +2 -1
  45. package/dist/esm/enums/index.js +2 -1
  46. package/dist/esm/enums/index.js.map +1 -1
  47. package/dist/esm/types/EventTypes.d.ts +2 -0
  48. package/dist/esm/types/IImage.d.ts +1 -0
  49. package/dist/esm/types/IVolumeViewport.d.ts +1 -1
  50. package/dist/esm/types/Metadata.d.ts +1 -0
  51. package/dist/esm/types/StackViewportProperties.d.ts +2 -0
  52. package/dist/esm/types/VolumeViewportProperties.d.ts +2 -0
  53. package/dist/esm/utilities/createLinearRGBTransferFunction.d.ts +3 -0
  54. package/dist/esm/utilities/createLinearRGBTransferFunction.js +16 -0
  55. package/dist/esm/utilities/createLinearRGBTransferFunction.js.map +1 -0
  56. package/dist/esm/utilities/createSigmoidRGBTransferFunction.d.ts +3 -0
  57. package/dist/esm/utilities/createSigmoidRGBTransferFunction.js +23 -0
  58. package/dist/esm/utilities/createSigmoidRGBTransferFunction.js.map +1 -0
  59. package/dist/esm/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +2 -0
  60. package/dist/esm/utilities/getVoiFromSigmoidRGBTransferFunction.js +19 -0
  61. package/dist/esm/utilities/getVoiFromSigmoidRGBTransferFunction.js.map +1 -0
  62. package/dist/esm/utilities/index.d.ts +4 -1
  63. package/dist/esm/utilities/index.js +4 -1
  64. package/dist/esm/utilities/index.js.map +1 -1
  65. package/dist/umd/index.js +1 -1
  66. package/dist/umd/index.js.map +1 -1
  67. package/package.json +4 -4
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.newInstance = exports.extend = void 0;
7
- const gl_matrix_1 = require("gl-matrix");
8
7
  const macros_1 = __importDefault(require("@kitware/vtk.js/macros"));
9
8
  const VolumeMapper_1 = __importDefault(require("@kitware/vtk.js/Rendering/OpenGL/VolumeMapper"));
10
9
  const Constants_1 = require("@kitware/vtk.js/Rendering/OpenGL/Texture/Constants");
@@ -152,260 +151,15 @@ function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
152
151
  }
153
152
  model.VBOBuildTime.modified();
154
153
  };
155
- publicAPI.setCameraShaderParameters = (cellBO, ren, actor) => {
156
- const program = cellBO.getProgram();
157
- const cam = model.openGLCamera.getRenderable();
158
- const crange = cam.getClippingRange();
159
- program.setUniformf('camThick', crange[1] - crange[0]);
160
- program.setUniformf('camNear', crange[0]);
161
- program.setUniformf('camFar', crange[1]);
162
- const keyMats = model.openGLCamera.getKeyMatrices(ren);
163
- const actMats = model.openGLVolume.getKeyMatrices();
164
- gl_matrix_1.mat4.multiply(model.modelToView, keyMats.wcvc, actMats.mcwc);
165
- const bounds = model.currentInput.getBounds();
166
- const spc = model.currentInput.getSpacing();
167
- const dims = model.currentInput.getDimensions();
168
- const pos = new Float64Array(3);
169
- const dir = new Float64Array(3);
170
- let dcxmin = 1.0;
171
- let dcxmax = -1.0;
172
- let dcymin = 1.0;
173
- let dcymax = -1.0;
174
- for (let i = 0; i < 8; ++i) {
175
- gl_matrix_1.vec3.set(pos, bounds[i % 2], bounds[2 + (Math.floor(i / 2) % 2)], bounds[4 + Math.floor(i / 4)]);
176
- gl_matrix_1.vec3.transformMat4(pos, pos, model.modelToView);
177
- if (!cam.getParallelProjection()) {
178
- gl_matrix_1.vec3.normalize(dir, pos);
179
- const t = -crange[0] / pos[2];
180
- gl_matrix_1.vec3.scale(pos, dir, t);
181
- }
182
- gl_matrix_1.vec3.transformMat4(pos, pos, keyMats.vcpc);
183
- dcxmin = Math.min(pos[0], dcxmin);
184
- dcxmax = Math.max(pos[0], dcxmax);
185
- dcymin = Math.min(pos[1], dcymin);
186
- dcymax = Math.max(pos[1], dcymax);
187
- }
188
- program.setUniformf('dcxmin', dcxmin);
189
- program.setUniformf('dcxmax', dcxmax);
190
- program.setUniformf('dcymin', dcymin);
191
- program.setUniformf('dcymax', dcymax);
192
- if (program.isUniformUsed('cameraParallel')) {
193
- program.setUniformi('cameraParallel', cam.getParallelProjection());
194
- }
195
- const ext = model.currentInput.getSpatialExtent();
196
- const vsize = new Float64Array(3);
197
- gl_matrix_1.vec3.set(vsize, (ext[1] - ext[0]) * spc[0], (ext[3] - ext[2]) * spc[1], (ext[5] - ext[4]) * spc[2]);
198
- program.setUniform3f('vSpacing', spc[0], spc[1], spc[2]);
199
- gl_matrix_1.vec3.set(pos, ext[0], ext[2], ext[4]);
200
- model.currentInput.indexToWorldVec3(pos, pos);
201
- gl_matrix_1.vec3.transformMat4(pos, pos, model.modelToView);
202
- program.setUniform3f('vOriginVC', pos[0], pos[1], pos[2]);
203
- const i2wmat4 = model.currentInput.getIndexToWorld();
204
- gl_matrix_1.mat4.multiply(model.idxToView, model.modelToView, i2wmat4);
205
- gl_matrix_1.mat3.multiply(model.idxNormalMatrix, keyMats.normalMatrix, actMats.normalMatrix);
206
- gl_matrix_1.mat3.multiply(model.idxNormalMatrix, model.idxNormalMatrix, model.currentInput.getDirection());
207
- const maxSamples = gl_matrix_1.vec3.length(vsize) / model.renderable.getSampleDistance();
208
- if (maxSamples > model.renderable.getMaximumSamplesPerRay()) {
209
- vtkWarningMacro(`The number of steps required ${Math.ceil(maxSamples)} is larger than the
210
- specified maximum number of steps ${model.renderable.getMaximumSamplesPerRay()}.
211
- Please either change the
212
- volumeMapper sampleDistance or its maximum number of samples.`);
213
- }
214
- const vctoijk = new Float64Array(3);
215
- gl_matrix_1.vec3.set(vctoijk, 1.0, 1.0, 1.0);
216
- gl_matrix_1.vec3.divide(vctoijk, vctoijk, vsize);
217
- program.setUniform3f('vVCToIJK', vctoijk[0], vctoijk[1], vctoijk[2]);
218
- program.setUniform3i('volumeDimensions', dims[0], dims[1], dims[2]);
219
- if (!model._openGLRenderWindow.getWebgl2()) {
220
- const volInfo = model.scalarTexture.getVolumeInfo();
221
- program.setUniformf('texWidth', model.scalarTexture.getWidth());
222
- program.setUniformf('texHeight', model.scalarTexture.getHeight());
223
- program.setUniformi('xreps', volInfo.xreps);
224
- program.setUniformi('xstride', volInfo.xstride);
225
- program.setUniformi('ystride', volInfo.ystride);
226
- }
227
- const normal = new Float64Array(3);
228
- const pos2 = new Float64Array(3);
229
- for (let i = 0; i < 6; ++i) {
230
- switch (i) {
231
- case 1:
232
- gl_matrix_1.vec3.set(normal, -1.0, 0.0, 0.0);
233
- gl_matrix_1.vec3.set(pos2, ext[0], ext[2], ext[4]);
234
- break;
235
- case 2:
236
- gl_matrix_1.vec3.set(normal, 0.0, 1.0, 0.0);
237
- gl_matrix_1.vec3.set(pos2, ext[1], ext[3], ext[5]);
238
- break;
239
- case 3:
240
- gl_matrix_1.vec3.set(normal, 0.0, -1.0, 0.0);
241
- gl_matrix_1.vec3.set(pos2, ext[0], ext[2], ext[4]);
242
- break;
243
- case 4:
244
- gl_matrix_1.vec3.set(normal, 0.0, 0.0, 1.0);
245
- gl_matrix_1.vec3.set(pos2, ext[1], ext[3], ext[5]);
246
- break;
247
- case 5:
248
- gl_matrix_1.vec3.set(normal, 0.0, 0.0, -1.0);
249
- gl_matrix_1.vec3.set(pos2, ext[0], ext[2], ext[4]);
250
- break;
251
- case 0:
252
- default:
253
- gl_matrix_1.vec3.set(normal, 1.0, 0.0, 0.0);
254
- gl_matrix_1.vec3.set(pos2, ext[1], ext[3], ext[5]);
255
- break;
256
- }
257
- gl_matrix_1.vec3.transformMat3(normal, normal, model.idxNormalMatrix);
258
- gl_matrix_1.vec3.transformMat4(pos2, pos2, model.idxToView);
259
- const dist = -1.0 * gl_matrix_1.vec3.dot(pos2, normal);
260
- program.setUniform3f(`vPlaneNormal${i}`, normal[0], normal[1], normal[2]);
261
- program.setUniformf(`vPlaneDistance${i}`, dist);
262
- if (actor.getProperty().getUseLabelOutline()) {
263
- const image = model.currentInput;
264
- const worldToIndex = image.getWorldToIndex();
265
- program.setUniformMatrix('vWCtoIDX', worldToIndex);
266
- const camera = ren.getActiveCamera();
267
- const [cRange0, cRange1] = camera.getClippingRange();
268
- const distance = camera.getDistance();
269
- camera.setClippingRange(distance, distance + 0.1);
270
- const labelOutlineKeyMats = model.openGLCamera.getKeyMatrices(ren);
271
- gl_matrix_1.mat4.invert(model.projectionToWorld, labelOutlineKeyMats.wcpc);
272
- camera.setClippingRange(cRange0, cRange1);
273
- model.openGLCamera.getKeyMatrices(ren);
274
- program.setUniformMatrix('PCWCMatrix', model.projectionToWorld);
275
- const size = publicAPI.getRenderTargetSize();
276
- program.setUniformf('vpWidth', size[0]);
277
- program.setUniformf('vpHeight', size[1]);
278
- const offset = publicAPI.getRenderTargetOffset();
279
- program.setUniformf('vpOffsetX', offset[0] / size[0]);
280
- program.setUniformf('vpOffsetY', offset[1] / size[1]);
281
- }
282
- }
283
- gl_matrix_1.mat4.invert(model.projectionToView, keyMats.vcpc);
284
- program.setUniformMatrix('PCVCMatrix', model.projectionToView);
285
- switch (model.lastLightComplexity) {
286
- default:
287
- case 0:
288
- break;
289
- case 1:
290
- case 2:
291
- case 3: {
292
- let lightNum = 0;
293
- const lightColor = [];
294
- ren.getLights().forEach((light) => {
295
- const status = light.getSwitch();
296
- if (status > 0) {
297
- const dColor = light.getColor();
298
- const intensity = light.getIntensity();
299
- lightColor[0] = dColor[0] * intensity;
300
- lightColor[1] = dColor[1] * intensity;
301
- lightColor[2] = dColor[2] * intensity;
302
- program.setUniform3fArray(`lightColor${lightNum}`, lightColor);
303
- const ldir = light.getDirection();
304
- gl_matrix_1.vec3.set(normal, ldir[0], ldir[1], ldir[2]);
305
- gl_matrix_1.vec3.transformMat3(normal, normal, keyMats.normalMatrix);
306
- program.setUniform3f(`lightDirectionVC${lightNum}`, normal[0], normal[1], normal[2]);
307
- const halfAngle = [
308
- -0.5 * normal[0],
309
- -0.5 * normal[1],
310
- -0.5 * (normal[2] - 1.0),
311
- ];
312
- program.setUniform3fArray(`lightHalfAngleVC${lightNum}`, halfAngle);
313
- lightNum++;
314
- }
315
- });
316
- }
317
- }
318
- let lightNum = 0;
319
- const lightColor = [];
320
- const lightDir = [];
321
- const halfAngle = [];
322
- ren.getLights().forEach((light) => {
323
- const status = light.getSwitch();
324
- if (status > 0) {
325
- const dColor = light.getColor();
326
- const intensity = light.getIntensity();
327
- lightColor[0 + lightNum * 3] = dColor[0] * intensity;
328
- lightColor[1 + lightNum * 3] = dColor[1] * intensity;
329
- lightColor[2 + lightNum * 3] = dColor[2] * intensity;
330
- const ldir = light.getDirection();
331
- gl_matrix_1.vec3.set(normal, ldir[0], ldir[1], ldir[2]);
332
- gl_matrix_1.vec3.transformMat3(normal, normal, keyMats.normalMatrix);
333
- gl_matrix_1.vec3.normalize(normal, normal);
334
- lightDir[0 + lightNum * 3] = normal[0];
335
- lightDir[1 + lightNum * 3] = normal[1];
336
- lightDir[2 + lightNum * 3] = normal[2];
337
- halfAngle[0 + lightNum * 3] = -0.5 * normal[0];
338
- halfAngle[1 + lightNum * 3] = -0.5 * normal[1];
339
- halfAngle[2 + lightNum * 3] = -0.5 * (normal[2] - 1.0);
340
- lightNum++;
341
- }
342
- });
343
- program.setUniformi('twoSidedLighting', ren.getTwoSidedLighting());
344
- program.setUniformi('lightNum', lightNum);
345
- program.setUniform3fv('lightColor', lightColor);
346
- program.setUniform3fv('lightDirectionVC', lightDir);
347
- program.setUniform3fv('lightHalfAngleVC', halfAngle);
348
- if (model.lastLightComplexity === 3) {
349
- lightNum = 0;
350
- const lightPositionVC = [];
351
- const lightAttenuation = [];
352
- const lightConeAngle = [];
353
- const lightExponent = [];
354
- const lightPositional = [];
355
- ren.getLights().forEach((light) => {
356
- const status = light.getSwitch();
357
- if (status > 0) {
358
- const attenuation = light.getAttenuationValues();
359
- lightAttenuation[0 + lightNum * 3] = attenuation[0];
360
- lightAttenuation[1 + lightNum * 3] = attenuation[1];
361
- lightAttenuation[2 + lightNum * 3] = attenuation[2];
362
- lightExponent[lightNum] = light.getExponent();
363
- lightConeAngle[lightNum] = light.getConeAngle();
364
- lightPositional[lightNum] = light.getPositional();
365
- const lp = light.getTransformedPosition();
366
- gl_matrix_1.vec3.transformMat4(lp, lp, model.modelToView);
367
- lightPositionVC[0 + lightNum * 3] = lp[0];
368
- lightPositionVC[1 + lightNum * 3] = lp[1];
369
- lightPositionVC[2 + lightNum * 3] = lp[2];
370
- lightNum += 1;
371
- }
372
- });
373
- program.setUniform3fv('lightPositionVC', lightPositionVC);
374
- program.setUniform3fv('lightAttenuation', lightAttenuation);
375
- program.setUniformfv('lightConeAngle', lightConeAngle);
376
- program.setUniformfv('lightExponent', lightExponent);
377
- program.setUniformiv('lightPositional', lightPositional);
378
- }
379
- if (model.renderable.getVolumetricScatteringBlending() > 0.0) {
380
- program.setUniformf('giReach', model.renderable.getGlobalIlluminationReach());
381
- program.setUniformf('volumetricScatteringBlending', model.renderable.getVolumetricScatteringBlending());
382
- program.setUniformf('volumeShadowSamplingDistFactor', model.renderable.getVolumeShadowSamplingDistFactor());
383
- program.setUniformf('anisotropy', model.renderable.getAnisotropy());
384
- program.setUniformf('anisotropy2', Math.pow(model.renderable.getAnisotropy(), 2.0));
385
- }
386
- if (model.renderable.getVolumetricScatteringBlending() === 0.0 &&
387
- model.renderable.getLocalAmbientOcclusion() &&
388
- actor.getProperty().getAmbient() > 0.0) {
389
- const ks = model.renderable.getLAOKernelSize();
390
- program.setUniformi('kernelSize', ks);
391
- const kernelSample = [];
392
- for (let i = 0; i < ks; i++) {
393
- kernelSample[i * 2] = Math.random() * 0.5;
394
- kernelSample[i * 2 + 1] = Math.random() * 0.5;
395
- }
396
- program.setUniform2fv('kernelSample', kernelSample);
397
- program.setUniformi('kernelRadius', model.renderable.getLAOKernelRadius());
398
- }
399
- };
400
154
  publicAPI.getRenderTargetSize = () => {
401
155
  if (model._useSmallViewport) {
402
156
  return [model._smallViewportWidth, model._smallViewportHeight];
403
157
  }
404
- const { usize, vsize } = model.openGLRenderer.getTiledSizeAndOrigin();
158
+ const { usize, vsize } = model._openGLRenderer.getTiledSizeAndOrigin();
405
159
  return [usize, vsize];
406
160
  };
407
161
  publicAPI.getRenderTargetOffset = () => {
408
- const { lowerLeftU, lowerLeftV } = model.openGLRenderer.getTiledSizeAndOrigin();
162
+ const { lowerLeftU, lowerLeftV } = model._openGLRenderer.getTiledSizeAndOrigin();
409
163
  return [lowerLeftU, lowerLeftV];
410
164
  };
411
165
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vtkStreamingOpenGLVolumeMapper.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vtkStreamingOpenGLVolumeMapper.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ declare enum VOILUTFunctionType {
2
+ LINEAR = "LINEAR",
3
+ SAMPLED_SIGMOID = "SIGMOID"
4
+ }
5
+ export default VOILUTFunctionType;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var VOILUTFunctionType;
4
+ (function (VOILUTFunctionType) {
5
+ VOILUTFunctionType["LINEAR"] = "LINEAR";
6
+ VOILUTFunctionType["SAMPLED_SIGMOID"] = "SIGMOID";
7
+ })(VOILUTFunctionType || (VOILUTFunctionType = {}));
8
+ exports.default = VOILUTFunctionType;
9
+ //# sourceMappingURL=VOILUTFunctionType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VOILUTFunctionType.js","sourceRoot":"","sources":["../../../src/enums/VOILUTFunctionType.ts"],"names":[],"mappings":";;AAGA,IAAK,kBAIJ;AAJD,WAAK,kBAAkB;IACrB,uCAAiB,CAAA;IACjB,iDAA2B,CAAA;AAE7B,CAAC,EAJI,kBAAkB,KAAlB,kBAAkB,QAItB;AAED,kBAAe,kBAAkB,CAAC"}
@@ -7,4 +7,5 @@ import OrientationAxis from './OrientationAxis';
7
7
  import SharedArrayBufferModes from './SharedArrayBufferModes';
8
8
  import GeometryType from './GeometryType';
9
9
  import ContourType from './ContourType';
10
- export { Events, BlendModes, InterpolationType, RequestType, ViewportType, OrientationAxis, SharedArrayBufferModes, GeometryType, ContourType, };
10
+ import VOILUTFunctionType from './VOILUTFunctionType';
11
+ export { Events, BlendModes, InterpolationType, RequestType, ViewportType, OrientationAxis, SharedArrayBufferModes, GeometryType, ContourType, VOILUTFunctionType, };
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ContourType = exports.GeometryType = exports.SharedArrayBufferModes = exports.OrientationAxis = exports.ViewportType = exports.RequestType = exports.InterpolationType = exports.BlendModes = exports.Events = void 0;
6
+ exports.VOILUTFunctionType = exports.ContourType = exports.GeometryType = exports.SharedArrayBufferModes = exports.OrientationAxis = exports.ViewportType = exports.RequestType = exports.InterpolationType = exports.BlendModes = exports.Events = void 0;
7
7
  const Events_1 = __importDefault(require("./Events"));
8
8
  exports.Events = Events_1.default;
9
9
  const RequestType_1 = __importDefault(require("./RequestType"));
@@ -22,4 +22,6 @@ const GeometryType_1 = __importDefault(require("./GeometryType"));
22
22
  exports.GeometryType = GeometryType_1.default;
23
23
  const ContourType_1 = __importDefault(require("./ContourType"));
24
24
  exports.ContourType = ContourType_1.default;
25
+ const VOILUTFunctionType_1 = __importDefault(require("./VOILUTFunctionType"));
26
+ exports.VOILUTFunctionType = VOILUTFunctionType_1.default;
25
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAW5B,iBAXK,gBAAM,CAWL;AAVR,gEAAwC;AAatC,sBAbK,qBAAW,CAaL;AAZb,kEAA0C;AAaxC,uBAbK,sBAAY,CAaL;AAZd,4EAAoD;AAUlD,4BAVK,2BAAiB,CAUL;AATnB,8DAAsC;AAQpC,qBARK,oBAAU,CAQL;AAPZ,wEAAgD;AAW9C,0BAXK,yBAAe,CAWL;AAVjB,sFAA8D;AAW5D,iCAXK,gCAAsB,CAWL;AAVxB,kEAA0C;AAWxC,uBAXK,sBAAY,CAWL;AAVd,gEAAwC;AAWtC,sBAXK,qBAAW,CAWL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enums/index.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAY5B,iBAZK,gBAAM,CAYL;AAXR,gEAAwC;AActC,sBAdK,qBAAW,CAcL;AAbb,kEAA0C;AAcxC,uBAdK,sBAAY,CAcL;AAbd,4EAAoD;AAWlD,4BAXK,2BAAiB,CAWL;AAVnB,8DAAsC;AASpC,qBATK,oBAAU,CASL;AARZ,wEAAgD;AAY9C,0BAZK,yBAAe,CAYL;AAXjB,sFAA8D;AAY5D,iCAZK,gCAAsB,CAYL;AAXxB,kEAA0C;AAYxC,uBAZK,sBAAY,CAYL;AAXd,gEAAwC;AAYtC,sBAZK,qBAAW,CAYL;AAXb,8EAAsD;AAYpD,6BAZK,4BAAkB,CAYL"}
@@ -7,6 +7,7 @@ import type ICamera from './ICamera';
7
7
  import type IImage from './IImage';
8
8
  import type IImageVolume from './IImageVolume';
9
9
  import type { VOIRange } from './voi';
10
+ import type VOILUTFunctionType from '../enums/VOILUTFunctionType';
10
11
  declare type CameraModifiedEventDetail = {
11
12
  previousCamera: ICamera;
12
13
  camera: ICamera;
@@ -19,6 +20,7 @@ declare type VoiModifiedEventDetail = {
19
20
  viewportId: string;
20
21
  range: VOIRange;
21
22
  volumeId?: string;
23
+ VOILUTFunction?: VOILUTFunctionType;
22
24
  };
23
25
  declare type ElementDisabledEventDetail = {
24
26
  element: HTMLDivElement;
@@ -20,6 +20,7 @@ interface IImage {
20
20
  intercept: number;
21
21
  windowCenter: number[] | number;
22
22
  windowWidth: number[] | number;
23
+ voiLUTFunction: string;
23
24
  getPixelData: () => Array<number>;
24
25
  getCanvas: () => HTMLCanvasElement;
25
26
  rows: number;
@@ -9,7 +9,7 @@ import { VolumeViewportProperties } from '.';
9
9
  export default interface IVolumeViewport extends IViewport {
10
10
  useCPURendering: boolean;
11
11
  getFrameOfReferenceUID: () => string;
12
- getProperties: () => any;
12
+ getProperties: () => VolumeViewportProperties;
13
13
  canvasToWorld: (canvasPos: Point2) => Point3;
14
14
  worldToCanvas: (worldPos: Point3) => Point2;
15
15
  getCurrentImageIdIndex: () => number;
@@ -14,5 +14,6 @@ declare type Metadata = {
14
14
  Columns: number;
15
15
  Rows: number;
16
16
  voiLut: Array<VOI>;
17
+ VOILUTFunction: string;
17
18
  };
18
19
  export default Metadata;
@@ -1,7 +1,9 @@
1
1
  import InterpolationType from '../enums/InterpolationType';
2
+ import VOILUTFunctionType from '../enums/VOILUTFunctionType';
2
3
  import { VOIRange } from './voi';
3
4
  declare type StackViewportProperties = {
4
5
  voiRange?: VOIRange;
6
+ VOILUTFunction?: VOILUTFunctionType;
5
7
  invert?: boolean;
6
8
  interpolationType?: InterpolationType;
7
9
  rotation?: number;
@@ -1,5 +1,7 @@
1
1
  import { VOIRange } from './voi';
2
+ import VOILUTFunctionType from '../enums/VOILUTFunctionType';
2
3
  declare type VolumeViewportProperties = {
3
4
  voiRange?: VOIRange;
5
+ VOILUTFunction?: VOILUTFunctionType;
4
6
  };
5
7
  export default VolumeViewportProperties;
@@ -0,0 +1,3 @@
1
+ import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
2
+ import { VOIRange } from '../types';
3
+ export default function createLinearRGBTransferFunction(voiRange: VOIRange): vtkColorTransferFunction;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ColorTransferFunction_1 = __importDefault(require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"));
7
+ function createLinearRGBTransferFunction(voiRange) {
8
+ const cfun = ColorTransferFunction_1.default.newInstance();
9
+ let lower = 0;
10
+ let upper = 1024;
11
+ if (voiRange &&
12
+ voiRange.lower !== undefined &&
13
+ voiRange.upper !== undefined) {
14
+ lower = voiRange.lower;
15
+ upper = voiRange.upper;
16
+ }
17
+ cfun.addRGBPoint(lower, 0.0, 0.0, 0.0);
18
+ cfun.addRGBPoint(upper, 1.0, 1.0, 1.0);
19
+ return cfun;
20
+ }
21
+ exports.default = createLinearRGBTransferFunction;
22
+ //# sourceMappingURL=createLinearRGBTransferFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLinearRGBTransferFunction.js","sourceRoot":"","sources":["../../../src/utilities/createLinearRGBTransferFunction.ts"],"names":[],"mappings":";;;;;AAAA,iHAA4F;AAG5F,SAAwB,+BAA+B,CACrD,QAAkB;IAElB,MAAM,IAAI,GAAG,+BAAwB,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IACE,QAAQ;QACR,QAAQ,CAAC,KAAK,KAAK,SAAS;QAC5B,QAAQ,CAAC,KAAK,KAAK,SAAS,EAC5B;QACA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QACvB,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;KACxB;IACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAEvC,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,kDAkBC"}
@@ -0,0 +1,3 @@
1
+ import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
2
+ import { VOIRange } from '../types';
3
+ export default function createSigmoidRGBTransferFunction(voiRange: VOIRange, approximationNodes?: number): vtkColorTransferFunction;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ColorTransferFunction_1 = __importDefault(require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"));
7
+ const DataArray_1 = __importDefault(require("@kitware/vtk.js/Common/Core/DataArray"));
8
+ const _1 = require(".");
9
+ function createSigmoidRGBTransferFunction(voiRange, approximationNodes = 1024) {
10
+ const { windowWidth, windowCenter } = _1.windowLevel.toWindowLevel(voiRange.lower, voiRange.upper);
11
+ const sigmoid = (x, wc, ww) => {
12
+ return 1 / (1 + Math.exp((-4 * (x - wc)) / ww));
13
+ };
14
+ const logit = (y, wc, ww) => {
15
+ return wc - (ww / 4) * Math.log((1 - y) / y);
16
+ };
17
+ const range = [...Array(approximationNodes + 2).keys()]
18
+ .map((v) => v / (approximationNodes + 2))
19
+ .slice(1, -1);
20
+ const table = range.reduce((res, y) => {
21
+ const x = logit(y, windowCenter, windowWidth);
22
+ return res.concat(x, y, y, y, 0.5, 0.0);
23
+ }, []);
24
+ const cfun = ColorTransferFunction_1.default.newInstance();
25
+ cfun.buildFunctionFromArray(DataArray_1.default.newInstance({ values: table, numberOfComponents: 6 }));
26
+ return cfun;
27
+ }
28
+ exports.default = createSigmoidRGBTransferFunction;
29
+ //# sourceMappingURL=createSigmoidRGBTransferFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSigmoidRGBTransferFunction.js","sourceRoot":"","sources":["../../../src/utilities/createSigmoidRGBTransferFunction.ts"],"names":[],"mappings":";;;;;AAAA,iHAA4F;AAC5F,sFAAiE;AAEjE,wBAAmD;AAoBnD,SAAwB,gCAAgC,CACtD,QAAkB,EAClB,kBAAkB,GAAG,IAAI;IAEzB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,cAAe,CAAC,aAAa,CACjE,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,KAAK,CACf,CAAC;IAIF,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE;QACpD,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC;IAQF,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE;QAClD,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;IAGF,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,+BAAwB,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,CAAC,sBAAsB,CACzB,mBAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CACnE,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAvCD,mDAuCC"}
@@ -0,0 +1,2 @@
1
+ import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
2
+ export default function getVoiFromSigmoidRGBTransferFunction(cfun: vtkColorTransferFunction): [number, number];
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getVoiFromSigmoidRGBTransferFunction(cfun) {
4
+ let cfunRange = [];
5
+ const [lower, upper] = cfun.getRange();
6
+ cfun.getTable(lower, upper, 1024, cfunRange);
7
+ cfunRange = cfunRange.filter((v, k) => k % 3 === 0);
8
+ const cfunDomain = [...Array(1024).keys()].map((v, k) => {
9
+ return lower + ((upper - lower) / (1024 - 1)) * k;
10
+ });
11
+ const y1 = cfunRange[256];
12
+ const logy1 = Math.log((1 - y1) / y1);
13
+ const x1 = cfunDomain[256];
14
+ const y2 = cfunRange[256 * 3];
15
+ const logy2 = Math.log((1 - y2) / y2);
16
+ const x2 = cfunDomain[256 * 3];
17
+ const ww = Math.round((4 * (x2 - x1)) / (logy1 - logy2));
18
+ const wc = Math.round(x1 + (ww * logy1) / 4);
19
+ return [Math.round(wc - ww / 2), Math.round(wc + ww / 2)];
20
+ }
21
+ exports.default = getVoiFromSigmoidRGBTransferFunction;
22
+ //# sourceMappingURL=getVoiFromSigmoidRGBTransferFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVoiFromSigmoidRGBTransferFunction.js","sourceRoot":"","sources":["../../../src/utilities/getVoiFromSigmoidRGBTransferFunction.ts"],"names":[],"mappings":";;AAEA,SAAwB,oCAAoC,CAC1D,IAA8B;IAE9B,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7C,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtD,OAAO,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AApBD,uDAoBC"}
@@ -1,4 +1,7 @@
1
1
  import csUtils from './invertRgbTransferFunction';
2
+ import createSigmoidRGBTransferFunction from './createSigmoidRGBTransferFunction';
3
+ import getVoiFromSigmoidRGBTransferFunction from './getVoiFromSigmoidRGBTransferFunction';
4
+ import createLinearRGBTransferFunction from './createLinearRGBTransferFunction';
2
5
  import scaleRgbTransferFunction from './scaleRgbTransferFunction';
3
6
  import triggerEvent from './triggerEvent';
4
7
  import uuidv4 from './uuidv4';
@@ -35,4 +38,4 @@ import hasNaNValues from './hasNaNValues';
35
38
  import applyPreset from './applyPreset';
36
39
  import * as planar from './planar';
37
40
  import * as windowLevel from './windowLevel';
38
- export { csUtils as invertRgbTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, };
41
+ export { csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvas, worldToImageCoords, imageToWorldCoords, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, };
@@ -26,9 +26,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.applyPreset = exports.hasNaNValues = exports.getViewportImageCornersInWorld = exports.spatialRegistrationMetadataProvider = exports.calculateViewportsSpatialRegistration = exports.getClosestStackImageIndexForPoint = exports.getViewportsWithImageURI = exports.actorIsA = exports.isImageActor = exports.getImageSliceDataForVolumeViewport = exports.snapFocalPointToSlice = exports.getSliceRange = exports.imageToWorldCoords = exports.worldToImageCoords = exports.renderToCanvas = exports.loadImageToCanvas = exports.transformWorldToIndex = exports.getViewportsWithVolumeId = exports.getVolumeViewportsContainingSameVolumes = exports.indexWithinDimensions = exports.getVolumeActorCorners = exports.getTargetVolumeAndSpacingInNormalDir = exports.getSpacingInNormalDirection = exports.getClosestImageId = exports.windowLevel = exports.createUint8SharedArray = exports.createFloat32SharedArray = exports.isOpposite = exports.isEqual = exports.getRuntimeId = exports.getMinMax = exports.planar = exports.uuidv4 = exports.calibratedPixelSpacingMetadataProvider = exports.imageIdToURI = exports.triggerEvent = exports.scaleRgbTransferFunction = exports.invertRgbTransferFunction = void 0;
29
+ exports.applyPreset = exports.hasNaNValues = exports.getViewportImageCornersInWorld = exports.spatialRegistrationMetadataProvider = exports.calculateViewportsSpatialRegistration = exports.getClosestStackImageIndexForPoint = exports.getViewportsWithImageURI = exports.actorIsA = exports.isImageActor = exports.getImageSliceDataForVolumeViewport = exports.snapFocalPointToSlice = exports.getSliceRange = exports.imageToWorldCoords = exports.worldToImageCoords = exports.renderToCanvas = exports.loadImageToCanvas = exports.transformWorldToIndex = exports.getViewportsWithVolumeId = exports.getVolumeViewportsContainingSameVolumes = exports.indexWithinDimensions = exports.getVolumeActorCorners = exports.getTargetVolumeAndSpacingInNormalDir = exports.getSpacingInNormalDirection = exports.getClosestImageId = exports.windowLevel = exports.createUint8SharedArray = exports.createFloat32SharedArray = exports.isOpposite = exports.isEqual = exports.getRuntimeId = exports.getMinMax = exports.planar = exports.uuidv4 = exports.calibratedPixelSpacingMetadataProvider = exports.imageIdToURI = exports.triggerEvent = exports.scaleRgbTransferFunction = exports.createLinearRGBTransferFunction = exports.getVoiFromSigmoidRGBTransferFunction = exports.createSigmoidRGBTransferFunction = exports.invertRgbTransferFunction = void 0;
30
30
  const invertRgbTransferFunction_1 = __importDefault(require("./invertRgbTransferFunction"));
31
31
  exports.invertRgbTransferFunction = invertRgbTransferFunction_1.default;
32
+ const createSigmoidRGBTransferFunction_1 = __importDefault(require("./createSigmoidRGBTransferFunction"));
33
+ exports.createSigmoidRGBTransferFunction = createSigmoidRGBTransferFunction_1.default;
34
+ const getVoiFromSigmoidRGBTransferFunction_1 = __importDefault(require("./getVoiFromSigmoidRGBTransferFunction"));
35
+ exports.getVoiFromSigmoidRGBTransferFunction = getVoiFromSigmoidRGBTransferFunction_1.default;
36
+ const createLinearRGBTransferFunction_1 = __importDefault(require("./createLinearRGBTransferFunction"));
37
+ exports.createLinearRGBTransferFunction = createLinearRGBTransferFunction_1.default;
32
38
  const scaleRgbTransferFunction_1 = __importDefault(require("./scaleRgbTransferFunction"));
33
39
  exports.scaleRgbTransferFunction = scaleRgbTransferFunction_1.default;
34
40
  const triggerEvent_1 = __importDefault(require("./triggerEvent"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4FAAkD;AAyCrC,oCAzCN,mCAAO,CAyCwB;AAxCtC,0FAAkE;AAyChE,mCAzCK,kCAAwB,CAyCL;AAxC1B,kEAA0C;AAyCxC,uBAzCK,sBAAY,CAyCL;AAxCd,sDAA8B;AA2C5B,iBA3CK,gBAAM,CA2CL;AA1CR,4DAAoC;AA4ClC,oBA5CK,mBAAS,CA4CL;AA3CX,kEAA0C;AA4CxC,uBA5CK,sBAAY,CA4CL;AA3Cd,kEAA0C;AAsCxC,uBAtCK,sBAAY,CAsCL;AArCd,sHAA8F;AAsC5F,iDAtCK,gDAAsC,CAsCL;AArCxC,wDAAgC;AA0C9B,kBA1CK,iBAAO,CA0CL;AAzCT,8DAAsC;AA0CpC,qBA1CK,oBAAU,CA0CL;AAzCZ,sFAA8D;AA2C5D,iCA3CK,gCAAsB,CA2CL;AA1CxB,0FAAkE;AAyChE,mCAzCK,kCAAwB,CAyCL;AAxC1B,4EAAoD;AA2ClD,4BA3CK,2BAAiB,CA2CL;AA1CnB,gGAAwE;AA2CtE,sCA3CK,qCAA2B,CA2CL;AA1C7B,kHAA0F;AA2CxF,+CA3CK,8CAAoC,CA2CL;AA1CtC,oFAA4D;AA2C1D,gCA3CK,+BAAqB,CA2CL;AA1CvB,oFAA4D;AA2C1D,gCA3CK,+BAAqB,CA2CL;AA1CvB,wHAAgG;AA2C9F,kDA3CK,iDAAuC,CA2CL;AA1CzC,0FAAkE;AA2ChE,mCA3CK,kCAAwB,CA2CL;AA1C1B,oFAA4D;AA2C1D,gCA3CK,+BAAqB,CA2CL;AA1CvB,4EAAoD;AA2ClD,4BA3CK,2BAAiB,CA2CL;AA1CnB,sEAA8C;AA2C5C,yBA3CK,wBAAc,CA2CL;AA1ChB,8EAAsD;AA2CpD,6BA3CK,4BAAkB,CA2CL;AA1CpB,8EAAsD;AA2CpD,6BA3CK,4BAAkB,CA2CL;AA1CpB,oEAA4C;AA2C1C,wBA3CK,uBAAa,CA2CL;AA1Cf,oFAA4D;AA2C1D,gCA3CK,+BAAqB,CA2CL;AA1CvB,8GAAsF;AA2CpF,6CA3CK,4CAAkC,CA2CL;AA1CpC,6CAAsD;AA2CpD,6FA3CO,yBAAY,OA2CP;AACZ,yFA5CqB,qBAAQ,OA4CrB;AA3CV,0FAAkE;AA4ChE,mCA5CK,kCAAwB,CA4CL;AA3C1B,4GAAoF;AA4ClF,4CA5CK,2CAAiC,CA4CL;AA3CnC,oHAA4F;AA4C1F,gDA5CK,+CAAqC,CA4CL;AA3CvC,gHAAwF;AA4CtF,8CA5CK,6CAAmC,CA4CL;AA3CrC,sGAA8E;AA4C5E,yCA5CK,wCAA8B,CA4CL;AA3ChC,kEAA0C;AA4CxC,uBA5CK,sBAAY,CA4CL;AA3Cd,gEAAwC;AA4CtC,sBA5CK,qBAAW,CA4CL;AAzCb,iDAAmC;AAUjC,wBAAM;AATR,2DAA6C;AAgB3C,kCAAW"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4FAAkD;AA4CrC,oCA5CN,mCAAO,CA4CwB;AA3CtC,0GAAkF;AA4ChF,2CA5CK,0CAAgC,CA4CL;AA3ClC,kHAA0F;AA4CxF,+CA5CK,8CAAoC,CA4CL;AA3CtC,wGAAgF;AA4C9E,0CA5CK,yCAA+B,CA4CL;AA3CjC,0FAAkE;AA4ChE,mCA5CK,kCAAwB,CA4CL;AA3C1B,kEAA0C;AA4CxC,uBA5CK,sBAAY,CA4CL;AA3Cd,sDAA8B;AA8C5B,iBA9CK,gBAAM,CA8CL;AA7CR,4DAAoC;AA+ClC,oBA/CK,mBAAS,CA+CL;AA9CX,kEAA0C;AA+CxC,uBA/CK,sBAAY,CA+CL;AA9Cd,kEAA0C;AAyCxC,uBAzCK,sBAAY,CAyCL;AAxCd,sHAA8F;AAyC5F,iDAzCK,gDAAsC,CAyCL;AAxCxC,wDAAgC;AA6C9B,kBA7CK,iBAAO,CA6CL;AA5CT,8DAAsC;AA6CpC,qBA7CK,oBAAU,CA6CL;AA5CZ,sFAA8D;AA8C5D,iCA9CK,gCAAsB,CA8CL;AA7CxB,0FAAkE;AA4ChE,mCA5CK,kCAAwB,CA4CL;AA3C1B,4EAAoD;AA8ClD,4BA9CK,2BAAiB,CA8CL;AA7CnB,gGAAwE;AA8CtE,sCA9CK,qCAA2B,CA8CL;AA7C7B,kHAA0F;AA8CxF,+CA9CK,8CAAoC,CA8CL;AA7CtC,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,wHAAgG;AA8C9F,kDA9CK,iDAAuC,CA8CL;AA7CzC,0FAAkE;AA8ChE,mCA9CK,kCAAwB,CA8CL;AA7C1B,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,4EAAoD;AA8ClD,4BA9CK,2BAAiB,CA8CL;AA7CnB,sEAA8C;AA8C5C,yBA9CK,wBAAc,CA8CL;AA7ChB,8EAAsD;AA8CpD,6BA9CK,4BAAkB,CA8CL;AA7CpB,8EAAsD;AA8CpD,6BA9CK,4BAAkB,CA8CL;AA7CpB,oEAA4C;AA8C1C,wBA9CK,uBAAa,CA8CL;AA7Cf,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,8GAAsF;AA8CpF,6CA9CK,4CAAkC,CA8CL;AA7CpC,6CAAsD;AA8CpD,6FA9CO,yBAAY,OA8CP;AACZ,yFA/CqB,qBAAQ,OA+CrB;AA9CV,0FAAkE;AA+ChE,mCA/CK,kCAAwB,CA+CL;AA9C1B,4GAAoF;AA+ClF,4CA/CK,2CAAiC,CA+CL;AA9CnC,oHAA4F;AA+C1F,gDA/CK,+CAAqC,CA+CL;AA9CvC,gHAAwF;AA+CtF,8CA/CK,6CAAmC,CA+CL;AA9CrC,sGAA8E;AA+C5E,yCA/CK,wCAA8B,CA+CL;AA9ChC,kEAA0C;AA+CxC,uBA/CK,sBAAY,CA+CL;AA9Cd,gEAAwC;AA+CtC,sBA/CK,qBAAW,CA+CL;AA5Cb,iDAAmC;AAajC,wBAAM;AAZR,2DAA6C;AAmB3C,kCAAW"}