@niivue/niivue 0.43.7 → 0.44.1
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/build/index.d.ts +48 -2
- package/build/index.js +382 -35
- package/build/index.js.map +1 -1
- package/build/index.min.js +1 -1
- package/dist/index.d.ts +48 -2
- package/dist/index.js +504 -158
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/niivue.umd.js +31 -29
- package/package.json +1 -1
- package/src/index.html +5 -1
- package/src/niivue/index.ts +165 -28
- package/src/nvdocument.ts +10 -0
- package/src/nvimage/index.ts +25 -2
- package/src/nvimage/utils.ts +2 -0
- package/src/nvmesh-loaders.ts +26 -5
- package/src/nvmesh-utilities.ts +139 -0
- package/src/nvmesh.ts +96 -0
package/build/index.d.ts
CHANGED
|
@@ -211,6 +211,7 @@ type ImageFromUrlOptions = {
|
|
|
211
211
|
useQFormNotSForm?: boolean;
|
|
212
212
|
alphaThreshold?: boolean;
|
|
213
213
|
colormapNegative?: string;
|
|
214
|
+
colorMapNegative?: string;
|
|
214
215
|
cal_minNeg?: number;
|
|
215
216
|
cal_maxNeg?: number;
|
|
216
217
|
colorbarVisible?: boolean;
|
|
@@ -436,7 +437,7 @@ declare class NVImage {
|
|
|
436
437
|
* read a 3D slab of voxels from a volume
|
|
437
438
|
* @param voxStart - first row, column and slice (RAS order) for selection
|
|
438
439
|
* @param voxEnd - final row, column and slice (RAS order) for selection
|
|
439
|
-
* @param dataType - array data type. Options: 'same' (default), 'uint8', 'float32'
|
|
440
|
+
* @param dataType - array data type. Options: 'same' (default), 'uint8', 'float32', 'scaled', 'normalized', 'windowed'
|
|
440
441
|
* @returns the an array where ret[0] is the voxel values and ret[1] is dimension of selection
|
|
441
442
|
* @see {@link https://niivue.github.io/niivue/features/slab_selection.html | live demo usage}
|
|
442
443
|
*/
|
|
@@ -558,6 +559,11 @@ declare enum SLICE_TYPE {
|
|
|
558
559
|
MULTIPLANAR = 3,
|
|
559
560
|
RENDER = 4
|
|
560
561
|
}
|
|
562
|
+
declare enum SHOW_RENDER {
|
|
563
|
+
NEVER = 0,
|
|
564
|
+
ALWAYS = 1,
|
|
565
|
+
AUTO = 2
|
|
566
|
+
}
|
|
561
567
|
/**
|
|
562
568
|
* Multi-planar layout
|
|
563
569
|
* @ignore
|
|
@@ -613,6 +619,7 @@ type NVConfigOptions = {
|
|
|
613
619
|
isOrientCube: boolean;
|
|
614
620
|
multiplanarPadPixels: number;
|
|
615
621
|
multiplanarForceRender: boolean;
|
|
622
|
+
multiplanarShowRender: SHOW_RENDER;
|
|
616
623
|
isRadiologicalConvention: boolean;
|
|
617
624
|
meshThicknessOn2D: number | string;
|
|
618
625
|
dragMode: DRAG_MODE;
|
|
@@ -1184,6 +1191,9 @@ declare class NVMesh {
|
|
|
1184
1191
|
unloadMesh(gl: WebGL2RenderingContext): void;
|
|
1185
1192
|
updateMesh(gl: WebGL2RenderingContext): void;
|
|
1186
1193
|
reverseFaces(gl: WebGL2RenderingContext): void;
|
|
1194
|
+
hierarchicalOrder(): number;
|
|
1195
|
+
decimateFaces(n: number, ntarget: number): void;
|
|
1196
|
+
decimateHierarchicalMesh(gl: WebGL2RenderingContext, order?: number): boolean;
|
|
1187
1197
|
setLayerProperty(id: number, key: keyof NVMeshLayer, val: number | string | boolean, gl: WebGL2RenderingContext): void;
|
|
1188
1198
|
setProperty(key: keyof this, val: unknown, gl: WebGL2RenderingContext): void;
|
|
1189
1199
|
generatePosNormClr(pts: Float32Array, tris: Uint32Array, rgba255: Uint8Array): Float32Array;
|
|
@@ -1513,6 +1523,7 @@ declare class NVMeshLoaders {
|
|
|
1513
1523
|
static readSRF(buffer: ArrayBuffer): DefaultMeshType;
|
|
1514
1524
|
static readTxtSTL(buffer: ArrayBuffer): DefaultMeshType;
|
|
1515
1525
|
static readSTL(buffer: ArrayBuffer): DefaultMeshType;
|
|
1526
|
+
static decimateLayerVertices(nVertLayer: number, nVertMesh: number): number;
|
|
1516
1527
|
static readNII2(buffer: ArrayBuffer, n_vert?: number, anatomicalStructurePrimary?: string): Int32Array | Float32Array | Int16Array | Uint8Array;
|
|
1517
1528
|
static readNII(buffer: ArrayBuffer, n_vert?: number, anatomicalStructurePrimary?: string): Float32Array | Uint8Array | Int32Array | Int16Array;
|
|
1518
1529
|
static readMGH(buffer: ArrayBuffer, n_vert?: number, isReadColortables?: boolean): MGH;
|
|
@@ -1520,6 +1531,26 @@ declare class NVMeshLoaders {
|
|
|
1520
1531
|
static readGII(buffer: ArrayBuffer, n_vert?: number): GII;
|
|
1521
1532
|
}
|
|
1522
1533
|
|
|
1534
|
+
type Extents = {
|
|
1535
|
+
mxDx: number;
|
|
1536
|
+
extentsMin: number | number[];
|
|
1537
|
+
extentsMax: number | number[];
|
|
1538
|
+
};
|
|
1539
|
+
/**
|
|
1540
|
+
* Utilities class for common mesh functions
|
|
1541
|
+
*/
|
|
1542
|
+
declare class NVMeshUtilities {
|
|
1543
|
+
static getClusterBoundaryU8(u8: Uint8Array, faces: number[] | Uint32Array): boolean[];
|
|
1544
|
+
static createMZ3(vertices: Float32Array, indices: Uint32Array, compress?: boolean): ArrayBuffer;
|
|
1545
|
+
static createOBJ(vertices: Float32Array, indices: Uint32Array): ArrayBuffer;
|
|
1546
|
+
static createSTL(vertices: Float32Array, indices: Uint32Array): ArrayBuffer;
|
|
1547
|
+
static downloadArrayBuffer(buffer: ArrayBuffer, filename: string): void;
|
|
1548
|
+
static saveMesh(vertices: Float32Array, indices: Uint32Array, filename?: string, compress?: boolean): ArrayBuffer;
|
|
1549
|
+
static getClusterBoundary(rgba8: Uint8Array, faces: number[] | Uint32Array): boolean[];
|
|
1550
|
+
static getExtents(pts: number[] | Float32Array): Extents;
|
|
1551
|
+
static generateNormals(pts: number[] | Float32Array, tris: number[] | Uint32Array): Float32Array;
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1523
1554
|
type ColormapListEntry = {
|
|
1524
1555
|
name: string;
|
|
1525
1556
|
min: number;
|
|
@@ -2059,6 +2090,7 @@ declare class Niivue {
|
|
|
2059
2090
|
* @see {@link https://niivue.github.io/niivue/features/document.3d.html | live demo usage}
|
|
2060
2091
|
*/
|
|
2061
2092
|
addVolumeFromUrl(imageOptions: ImageFromUrlOptions): Promise<NVImage>;
|
|
2093
|
+
addVolumesFromUrl(imageOptionsArray: ImageFromUrlOptions[]): Promise<NVImage[]>;
|
|
2062
2094
|
/**
|
|
2063
2095
|
* Find media by url
|
|
2064
2096
|
*/
|
|
@@ -2256,6 +2288,15 @@ declare class Niivue {
|
|
|
2256
2288
|
* @see {@link https://niivue.github.io/niivue/features/clipplanes.html | live demo usage}
|
|
2257
2289
|
*/
|
|
2258
2290
|
indexNearestXYZmm(mesh: number, Xmm: number, Ymm: number, Zmm: number): number[];
|
|
2291
|
+
/**
|
|
2292
|
+
* reduce complexity of FreeSurfer mesh
|
|
2293
|
+
* @param mesh - identity of mesh to change
|
|
2294
|
+
* @param order - decimation order 0..6
|
|
2295
|
+
* @example niivue.decimateHierarchicalMesh(niivue.meshes[0].id, 4)
|
|
2296
|
+
* @returns boolean false if mesh is not hierarchical or of lower order
|
|
2297
|
+
* @see {@link https://niivue.github.io/niivue/features/meshes.html | live demo usage}
|
|
2298
|
+
*/
|
|
2299
|
+
decimateHierarchicalMesh(mesh: number, order?: number): boolean;
|
|
2259
2300
|
/**
|
|
2260
2301
|
* reverse triangle winding of mesh (swap front and back faces)
|
|
2261
2302
|
* @param id - identity of mesh to change
|
|
@@ -2572,6 +2613,11 @@ declare class Niivue {
|
|
|
2572
2613
|
* @see {@link https://niivue.github.io/niivue/features/multiuser.meshes.html | live demo usage}
|
|
2573
2614
|
*/
|
|
2574
2615
|
addMeshFromUrl(meshOptions: LoadFromUrlParams): Promise<NVMesh>;
|
|
2616
|
+
/**
|
|
2617
|
+
* Add mesh and notify subscribers
|
|
2618
|
+
* @see {@link https://niivue.github.io/niivue/features/multiuser.meshes.html | live demo usage}
|
|
2619
|
+
*/
|
|
2620
|
+
addMeshesFromUrl(meshOptions: LoadFromUrlParams[]): Promise<NVMesh[]>;
|
|
2575
2621
|
/**
|
|
2576
2622
|
* load an array of meshes
|
|
2577
2623
|
* @param meshList - the array of objects to load. each object must have a resolvable "url" property at a minimum
|
|
@@ -2996,4 +3042,4 @@ declare class Niivue {
|
|
|
2996
3042
|
set gl(gl: WebGL2RenderingContext | null);
|
|
2997
3043
|
}
|
|
2998
3044
|
|
|
2999
|
-
export { type Connectome, type ConnectomeOptions, DEFAULT_OPTIONS, DRAG_MODE, type DocumentData, type DragReleaseParams, type ExportDocumentData, INITIAL_SCENE_DATA, LabelLineTerminator, LabelTextAlignment, type LegacyConnectome, type LegacyNodes, MULTIPLANAR_TYPE, type NVConfigOptions, type NVConnectomeEdge, type NVConnectomeNode, NVController, NVDocument, NVImage, NVImageFromUrlOptions, NVLabel3D, NVLabel3DStyle, NVMesh, NVMeshFromUrlOptions, NVMeshLayerDefaults, NVMeshLoaders, NVUtilities, type NiftiHeader, type NiiVueLocation, type NiiVueLocationValue, Niivue, type Point, SLICE_TYPE, type Scene, type Volume, cmapper, ColorTables as colortables };
|
|
3045
|
+
export { type Connectome, type ConnectomeOptions, DEFAULT_OPTIONS, DRAG_MODE, type DocumentData, type DragReleaseParams, type ExportDocumentData, INITIAL_SCENE_DATA, LabelLineTerminator, LabelTextAlignment, type LegacyConnectome, type LegacyNodes, MULTIPLANAR_TYPE, type NVConfigOptions, type NVConnectomeEdge, type NVConnectomeNode, NVController, NVDocument, NVImage, NVImageFromUrlOptions, NVLabel3D, NVLabel3DStyle, NVMesh, NVMeshFromUrlOptions, NVMeshLayerDefaults, NVMeshLoaders, NVMeshUtilities, NVUtilities, type NiftiHeader, type NiiVueLocation, type NiiVueLocationValue, Niivue, type Point, SHOW_RENDER, SLICE_TYPE, type Scene, type Volume, cmapper, ColorTables as colortables };
|