copper3d 3.4.8 → 3.4.9

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/dist/index.d.ts CHANGED
@@ -17,7 +17,7 @@ import { GaussianSmoother } from "./Utils/segmentation/core/GaussianSmoother";
17
17
  import { Copper3dTrackballControls } from "./Controls/Copper3dTrackballControls";
18
18
  import { MeshNodeTool } from "./Utils/MeshNodeTool";
19
19
  import { removeGuiFolderChilden } from "./Utils/segmentation/coreTools/gui";
20
- import { nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, exportPaintImageType, IOptVTKLoader } from "./types/types";
20
+ import { nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, exportPaintImageType, IOptVTKLoader, aligned4DSurfaceType, aligned4DOptsType, Aligned4DController } from "./types/types";
21
21
  import { IPaintImage, ICommXYZ, IGUIStates, IGuiParameterSettings, INrrdStates, IGuiMeta } from "./Utils/segmentation/core/types";
22
22
  import { NrrdState } from "./Utils/segmentation/coreTools/NrrdState";
23
23
  import { GuiState } from "./Utils/segmentation/coreTools/GuiState";
@@ -25,6 +25,6 @@ import type { ToolMode, IAnnotationCallbacks } from "./Utils/segmentation/core/t
25
25
  import { CHANNEL_COLORS, CHANNEL_HEX_COLORS, rgbaToHex, rgbaToCss } from "./Utils/segmentation/core/index";
26
26
  import type { LayerId, ChannelValue } from "./Utils/segmentation/core/index";
27
27
  import "./css/style.css";
28
- export declare const REVISION = "v3.4.8-beta";
28
+ export declare const REVISION = "v3.4.9-beta";
29
29
  export { copperRenderer, copperRendererOnDemond, copperMSceneRenderer, setHDRFilePath, addLabelToScene, convert3DPostoScreenPos, convertScreenPosto3DPos, addBoxHelper, fullScreenListenner, configKiwriousHeart, copperScene, copperSceneOnDemond, copperMScene, CameraViewPoint, kiwrious, NrrdTools, loading, Copper3dTrackballControls, createTexture2D_NRRD, MeshNodeTool, throttle, removeGuiFolderChilden, CHANNEL_COLORS, CHANNEL_HEX_COLORS, rgbaToHex, rgbaToCss, GaussianSmoother, };
30
- export type { positionType, screenPosType, optsType, nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, IPaintImage, exportPaintImageType, IOptVTKLoader, ICommXYZ, IGUIStates, IGuiParameterSettings, INrrdStates, NrrdState, GuiState, IGuiMeta, ToolMode, IAnnotationCallbacks, LayerId, ChannelValue, };
30
+ export type { positionType, screenPosType, optsType, nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, IPaintImage, exportPaintImageType, IOptVTKLoader, aligned4DSurfaceType, aligned4DOptsType, Aligned4DController, ICommXYZ, IGUIStates, IGuiParameterSettings, INrrdStates, NrrdState, GuiState, IGuiMeta, ToolMode, IAnnotationCallbacks, LayerId, ChannelValue, };
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@ import { MeshNodeTool } from "./Utils/MeshNodeTool";
21
21
  import { removeGuiFolderChilden } from "./Utils/segmentation/coreTools/gui";
22
22
  import { CHANNEL_COLORS, CHANNEL_HEX_COLORS, rgbaToHex, rgbaToCss } from "./Utils/segmentation/core/index";
23
23
  import "./css/style.css";
24
- export const REVISION = "v3.4.8-beta";
24
+ export const REVISION = "v3.4.9-beta";
25
25
  console.log(`%cCopper3D Visualisation %cBeta:${REVISION}`, "padding: 3px;color:white; background:#023047", "padding: 3px;color:white; background:#f50a25");
26
26
  export { copperRenderer, copperRendererOnDemond, copperMSceneRenderer, setHDRFilePath, addLabelToScene, convert3DPostoScreenPos, convertScreenPosto3DPos, addBoxHelper, fullScreenListenner, configKiwriousHeart, copperScene, copperSceneOnDemond, copperMScene, CameraViewPoint, kiwrious, NrrdTools, loading, Copper3dTrackballControls, createTexture2D_NRRD, MeshNodeTool, throttle, removeGuiFolderChilden, CHANNEL_COLORS, CHANNEL_HEX_COLORS, rgbaToHex, rgbaToCss, GaussianSmoother, };
27
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,eAAe,EAGf,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAY,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,iDAAiD;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAiB5E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG3G,OAAO,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC;AAEtC,OAAO,CAAC,GAAG,CACT,mCAAmC,QAAQ,EAAE,EAC7C,8CAA8C,EAC9C,8CAA8C,CAC/C,CAAC;AAEF,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,SAAS,EACT,OAAO,EACP,yBAAyB,EACzB,oBAAoB,EACpB,YAAY,EACZ,QAAQ,EACR,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,gBAAgB,GACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,eAAe,EAGf,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAY,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,iDAAiD;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAoB5E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG3G,OAAO,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC;AAEtC,OAAO,CAAC,GAAG,CACT,mCAAmC,QAAQ,EAAE,EAC7C,8CAA8C,EAC9C,8CAA8C,CAC/C,CAAC;AAEF,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,SAAS,EACT,OAAO,EACP,yBAAyB,EACzB,oBAAoB,EACpB,YAAY,EACZ,QAAQ,EACR,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,gBAAgB,GACjB,CAAC"}
@@ -1,5 +1,11 @@
1
- import { copperVolumeType } from "../types/types";
1
+ import { copperVolumeType, planeCorners } from "../types/types";
2
2
  export declare function copperDicomLoader(url: string, callback?: (copperVolume: copperVolumeType) => void): void;
3
+ /**
4
+ * Compute the 4 world-space corners of a DICOM image plane from its geometry tags.
5
+ * IPP is the CENTER of pixel (0,0), so corners sit half a pixel out. PixelSpacing is
6
+ * [rowSpacing, colSpacing]; IOP's first vector is the +column-index direction.
7
+ */
8
+ export declare function computeImagePlaneCorners(ipp: number[], iop: number[], spacing: number[], cols: number, rows: number): planeCorners;
3
9
  export declare function getLut(data: Uint16Array, windowWidth: number, windowCenter: number, invert: boolean, voiLUT: any): {
4
10
  minPixelValue: number;
5
11
  maxPixelValue: number;
@@ -8,7 +8,9 @@ export declare class copperRenderer extends baseRenderer {
8
8
  private delta;
9
9
  private interval;
10
10
  preRenderCallbackFunctions: Array<Function>;
11
+ private running;
11
12
  constructor(container: HTMLDivElement, options?: ICopperRenderOpt);
13
+ stop(): void;
12
14
  getSceneByName(name: string): copperScene | import("../Scene/baseScene").baseScene | import("..").copperMScene;
13
15
  setFPS(fps: number): void;
14
16
  setCurrentScene(sceneIn: copperScene): void;
@@ -5,7 +5,7 @@ import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
5
5
  import { baseScene } from "./baseScene";
6
6
  import { vtkModels } from "../types/types";
7
7
  import { TrackballControls } from "three/examples/jsm/controls/TrackballControls";
8
- import { ICopperSceneOpts } from "../types/types";
8
+ import { ICopperSceneOpts, aligned4DOptsType, Aligned4DController } from "../types/types";
9
9
  export declare class copperScene extends baseScene {
10
10
  clock: THREE.Clock;
11
11
  controls: Copper3dTrackballControls | OrbitControls | TrackballControls;
@@ -13,7 +13,6 @@ export declare class copperScene extends baseScene {
13
13
  private playRate;
14
14
  private modelReady;
15
15
  private clipAction;
16
- private texture2dMesh;
17
16
  constructor(container: HTMLDivElement, renderer: THREE.WebGLRenderer, opt?: ICopperSceneOpts);
18
17
  loadGltf(url: string, callback?: (content: THREE.Group) => void): void;
19
18
  loadPureGLB(url: string, callback?: (mesh: THREE.Group) => void, opts?: {
@@ -22,7 +21,13 @@ export declare class copperScene extends baseScene {
22
21
  }): void;
23
22
  loadVtk(url: string): void;
24
23
  loadVtks(models: Array<vtkModels>): void;
25
- texture2d(url: string): void;
24
+ /**
25
+ * Load an aligned 4D scene: a cine MRI (one slice, N cardiac phases) rendered as a
26
+ * world-placed plane, plus 0..N deforming surface sequences (e.g. LV endo/epi). MRI
27
+ * and surfaces stay in their shared patient coordinate frame (no center/scale), and
28
+ * advance together off ONE shared frame clock. Returns a controller (play/pause/...).
29
+ */
30
+ loadAligned4D(opts: aligned4DOptsType, callback?: (ctrl: Aligned4DController) => void): void;
26
31
  getPlayRate(): number;
27
32
  setPlayRate(playRate: number): void;
28
33
  setModelPosition(model: THREE.Group | THREE.Mesh, position: {
@@ -1,10 +1,12 @@
1
1
  import * as THREE from "three";
2
2
  import { copperVolumeType } from "../types/types";
3
3
  import { GUI } from "dat.gui";
4
- export declare function createTexture2D_Zip(url: string, scene: THREE.Scene): void;
5
- export declare function createTexture2D_NRRD(data: Uint8Array, width: number, height: number, depth: number, callback: (mesh: THREE.Mesh) => void): void;
6
- export declare function createTexture2D_Array(copperVolume: copperVolumeType, depth: number, scene: THREE.Scene, gui?: GUI): {
7
- mesh: THREE.Mesh<THREE.PlaneGeometry, THREE.ShaderMaterial, THREE.Object3DEventMap>;
4
+ export interface texture2dResult {
5
+ mesh: THREE.Mesh;
8
6
  copperVolume: copperVolumeType;
9
- updateTexture: (copperVolumeUp: copperVolumeType) => void;
10
- };
7
+ updateTexture: (copperVolume: copperVolumeType) => void;
8
+ setFrame: (i: number) => void;
9
+ setWindow: (center: number, width: number) => void;
10
+ }
11
+ export declare function createTexture2D_NRRD(data: Uint8Array, width: number, height: number, depth: number, callback: (mesh: THREE.Mesh) => void): void;
12
+ export declare function createTexture2D_Array(copperVolume: copperVolumeType, depth: number, scene: THREE.Scene, gui?: GUI, aligned?: boolean): texture2dResult;
@@ -17,7 +17,7 @@ import { GaussianSmoother } from "./Utils/segmentation/core/GaussianSmoother";
17
17
  import { Copper3dTrackballControls } from "./Controls/Copper3dTrackballControls";
18
18
  import { MeshNodeTool } from "./Utils/MeshNodeTool";
19
19
  import { removeGuiFolderChilden } from "./Utils/segmentation/coreTools/gui";
20
- import { nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, exportPaintImageType, IOptVTKLoader } from "./types/types";
20
+ import { nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, exportPaintImageType, IOptVTKLoader, aligned4DSurfaceType, aligned4DOptsType, Aligned4DController } from "./types/types";
21
21
  import { IPaintImage, ICommXYZ, IGUIStates, IGuiParameterSettings, INrrdStates, IGuiMeta } from "./Utils/segmentation/core/types";
22
22
  import { NrrdState } from "./Utils/segmentation/coreTools/NrrdState";
23
23
  import { GuiState } from "./Utils/segmentation/coreTools/GuiState";
@@ -25,6 +25,6 @@ import type { ToolMode, IAnnotationCallbacks } from "./Utils/segmentation/core/t
25
25
  import { CHANNEL_COLORS, CHANNEL_HEX_COLORS, rgbaToHex, rgbaToCss } from "./Utils/segmentation/core/index";
26
26
  import type { LayerId, ChannelValue } from "./Utils/segmentation/core/index";
27
27
  import "./css/style.css";
28
- export declare const REVISION = "v3.4.8-beta";
28
+ export declare const REVISION = "v3.4.9-beta";
29
29
  export { copperRenderer, copperRendererOnDemond, copperMSceneRenderer, setHDRFilePath, addLabelToScene, convert3DPostoScreenPos, convertScreenPosto3DPos, addBoxHelper, fullScreenListenner, configKiwriousHeart, copperScene, copperSceneOnDemond, copperMScene, CameraViewPoint, kiwrious, NrrdTools, loading, Copper3dTrackballControls, createTexture2D_NRRD, MeshNodeTool, throttle, removeGuiFolderChilden, CHANNEL_COLORS, CHANNEL_HEX_COLORS, rgbaToHex, rgbaToCss, GaussianSmoother, };
30
- export type { positionType, screenPosType, optsType, nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, IPaintImage, exportPaintImageType, IOptVTKLoader, ICommXYZ, IGUIStates, IGuiParameterSettings, INrrdStates, NrrdState, GuiState, IGuiMeta, ToolMode, IAnnotationCallbacks, LayerId, ChannelValue, };
30
+ export type { positionType, screenPosType, optsType, nrrdMeshesType, nrrdSliceType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, loadingBarType, IPaintImage, exportPaintImageType, IOptVTKLoader, aligned4DSurfaceType, aligned4DOptsType, Aligned4DController, ICommXYZ, IGUIStates, IGuiParameterSettings, INrrdStates, NrrdState, GuiState, IGuiMeta, ToolMode, IAnnotationCallbacks, LayerId, ChannelValue, };
@@ -149,6 +149,12 @@ interface vtkModels {
149
149
  urls: Array<string>;
150
150
  opts?: IOptVTKLoader;
151
151
  }
152
+ interface planeCorners {
153
+ tl: [number, number, number];
154
+ tr: [number, number, number];
155
+ bl: [number, number, number];
156
+ br: [number, number, number];
157
+ }
152
158
  interface copperVolumeType {
153
159
  tags: any;
154
160
  width: number;
@@ -159,6 +165,42 @@ interface copperVolumeType {
159
165
  uint16: Uint16Array;
160
166
  uint8: Uint8ClampedArray;
161
167
  order: number;
168
+ instanceNumber?: number;
169
+ imagePositionPatient?: number[];
170
+ imageOrientationPatient?: number[];
171
+ pixelSpacing?: number[];
172
+ corners?: planeCorners;
173
+ }
174
+ interface aligned4DSurfaceType {
175
+ name: string;
176
+ urls: Array<string>;
177
+ opts?: IOptVTKLoader;
178
+ offset?: number;
179
+ }
180
+ interface aligned4DOptsType {
181
+ dicomUrls: Array<string>;
182
+ surfaces?: Array<aligned4DSurfaceType>;
183
+ cycleMs?: number;
184
+ window?: {
185
+ center: number;
186
+ width: number;
187
+ };
188
+ }
189
+ interface Aligned4DController {
190
+ plane: THREE.Mesh;
191
+ surfaceMeshes: Record<string, THREE.Mesh>;
192
+ frameCount: number;
193
+ play: () => void;
194
+ pause: () => void;
195
+ toggle: () => void;
196
+ setSpeed: (x: number) => void;
197
+ setFrame: (i: number) => void;
198
+ setFrameOffset: (name: string, n: number) => void;
199
+ setWindow: (center: number, width: number) => void;
200
+ setPlaneOpacity: (v: number) => void;
201
+ setSurfaceOpacity: (name: string, v: number) => void;
202
+ setSurfaceVisible: (name: string, visible: boolean) => void;
203
+ dispose: () => void;
162
204
  }
163
205
  interface dicomLoaderOptsType {
164
206
  gui?: GUI;
@@ -185,4 +227,4 @@ interface IMeshNodes {
185
227
  nodes: INodes;
186
228
  elements: IElements;
187
229
  }
188
- export type { SceneMapType, ICopperRenderOpt, stateType, modelVisualisationDataType, preRenderCallbackFunctionType, baseStateType, nrrdMeshesType, nrrdSliceType, loadingBarType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, SerialService_kiwrious, kiwriousType, mouseMovePositionType, positionType, optionsGltfExporterType, vtkModels, copperVolumeType, dicomLoaderOptsType, exportPaintImagesType, exportPaintImageType, storeExportPaintImageType, IOptVTKLoader, ICopperSceneOpts, IMeshNodes, };
230
+ export type { SceneMapType, ICopperRenderOpt, stateType, modelVisualisationDataType, preRenderCallbackFunctionType, baseStateType, nrrdMeshesType, nrrdSliceType, loadingBarType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, SerialService_kiwrious, kiwriousType, mouseMovePositionType, positionType, optionsGltfExporterType, vtkModels, planeCorners, copperVolumeType, aligned4DSurfaceType, aligned4DOptsType, Aligned4DController, dicomLoaderOptsType, exportPaintImagesType, exportPaintImageType, storeExportPaintImageType, IOptVTKLoader, ICopperSceneOpts, IMeshNodes, };
@@ -149,6 +149,12 @@ interface vtkModels {
149
149
  urls: Array<string>;
150
150
  opts?: IOptVTKLoader;
151
151
  }
152
+ interface planeCorners {
153
+ tl: [number, number, number];
154
+ tr: [number, number, number];
155
+ bl: [number, number, number];
156
+ br: [number, number, number];
157
+ }
152
158
  interface copperVolumeType {
153
159
  tags: any;
154
160
  width: number;
@@ -159,6 +165,42 @@ interface copperVolumeType {
159
165
  uint16: Uint16Array;
160
166
  uint8: Uint8ClampedArray;
161
167
  order: number;
168
+ instanceNumber?: number;
169
+ imagePositionPatient?: number[];
170
+ imageOrientationPatient?: number[];
171
+ pixelSpacing?: number[];
172
+ corners?: planeCorners;
173
+ }
174
+ interface aligned4DSurfaceType {
175
+ name: string;
176
+ urls: Array<string>;
177
+ opts?: IOptVTKLoader;
178
+ offset?: number;
179
+ }
180
+ interface aligned4DOptsType {
181
+ dicomUrls: Array<string>;
182
+ surfaces?: Array<aligned4DSurfaceType>;
183
+ cycleMs?: number;
184
+ window?: {
185
+ center: number;
186
+ width: number;
187
+ };
188
+ }
189
+ interface Aligned4DController {
190
+ plane: THREE.Mesh;
191
+ surfaceMeshes: Record<string, THREE.Mesh>;
192
+ frameCount: number;
193
+ play: () => void;
194
+ pause: () => void;
195
+ toggle: () => void;
196
+ setSpeed: (x: number) => void;
197
+ setFrame: (i: number) => void;
198
+ setFrameOffset: (name: string, n: number) => void;
199
+ setWindow: (center: number, width: number) => void;
200
+ setPlaneOpacity: (v: number) => void;
201
+ setSurfaceOpacity: (name: string, v: number) => void;
202
+ setSurfaceVisible: (name: string, visible: boolean) => void;
203
+ dispose: () => void;
162
204
  }
163
205
  interface dicomLoaderOptsType {
164
206
  gui?: GUI;
@@ -185,4 +227,4 @@ interface IMeshNodes {
185
227
  nodes: INodes;
186
228
  elements: IElements;
187
229
  }
188
- export type { SceneMapType, ICopperRenderOpt, stateType, modelVisualisationDataType, preRenderCallbackFunctionType, baseStateType, nrrdMeshesType, nrrdSliceType, loadingBarType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, SerialService_kiwrious, kiwriousType, mouseMovePositionType, positionType, optionsGltfExporterType, vtkModels, copperVolumeType, dicomLoaderOptsType, exportPaintImagesType, exportPaintImageType, storeExportPaintImageType, IOptVTKLoader, ICopperSceneOpts, IMeshNodes, };
230
+ export type { SceneMapType, ICopperRenderOpt, stateType, modelVisualisationDataType, preRenderCallbackFunctionType, baseStateType, nrrdMeshesType, nrrdSliceType, loadingBarType, SensorDecodedValue_kiwrious, SensorReadResult_kiwrious, HeartRateResult_kiwrious, SerialService_kiwrious, kiwriousType, mouseMovePositionType, positionType, optionsGltfExporterType, vtkModels, planeCorners, copperVolumeType, aligned4DSurfaceType, aligned4DOptsType, Aligned4DController, dicomLoaderOptsType, exportPaintImagesType, exportPaintImageType, storeExportPaintImageType, IOptVTKLoader, ICopperSceneOpts, IMeshNodes, };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "copper3d",
3
3
  "description": "A 3d visualisation package base on threejs provides multiple scenes and Nrrd image load funtion.",
4
- "version": "3.4.8",
4
+ "version": "3.4.9",
5
5
  "main": "dist/bundle.umd.js",
6
6
  "moudle": "dist/bundle.esm.js",
7
7
  "types": "dist/types/index.d.ts",