@niivue/niivue 0.48.1 → 0.49.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/build/index.d.ts +25 -6
- package/build/index.js +369 -238
- package/build/index.js.map +1 -1
- package/build/index.min.js +1 -1
- package/build/metafile-esm.json +1 -0
- package/dist/index.d.ts +25 -6
- package/dist/index.js +2703 -90308
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/metafile-esm.json +1 -0
- package/dist/niivue.umd.js +146 -180
- package/package.json +1 -2
- package/src/colortables.ts +3 -1
- package/src/index.html +6 -2
- package/src/niivue/index.ts +212 -35
- package/src/nvdocument.ts +9 -50
- package/src/nvimage/index.ts +140 -131
- package/src/nvmesh-loaders.ts +2 -1
- package/src/nvmesh.ts +26 -6
- package/src/nvutilities.ts +10 -0
- package/src/shader-srcs.ts +5 -0
package/build/index.d.ts
CHANGED
|
@@ -392,7 +392,6 @@ declare class NVImage {
|
|
|
392
392
|
calculateOblique(): void;
|
|
393
393
|
THD_daxes_to_NIFTI(xyzDelta: number[], xyzOrigin: number[], orientSpecific: number[]): void;
|
|
394
394
|
SetPixDimFromSForm(): void;
|
|
395
|
-
readDICOM(buf: ArrayBuffer | ArrayBuffer[]): ArrayBuffer;
|
|
396
395
|
readECAT(buffer: ArrayBuffer): ArrayBuffer;
|
|
397
396
|
readV16(buffer: ArrayBuffer): ArrayBuffer;
|
|
398
397
|
readVMR(buffer: ArrayBuffer): ArrayBuffer;
|
|
@@ -429,7 +428,10 @@ declare class NVImage {
|
|
|
429
428
|
intensityScaled2Raw(scaled: number): number;
|
|
430
429
|
saveToUint8Array(fnm: string, drawing8?: Uint8Array | null): Uint8Array;
|
|
431
430
|
saveToDisk(fnm?: string, drawing8?: Uint8Array | null): Uint8Array;
|
|
432
|
-
static fetchDicomData(url: string, headers?: Record<string, string>): Promise<
|
|
431
|
+
static fetchDicomData(url: string, headers?: Record<string, string>): Promise<Array<{
|
|
432
|
+
name: string;
|
|
433
|
+
data: ArrayBuffer;
|
|
434
|
+
}>>;
|
|
433
435
|
static fetchPartial(url: string, bytesToLoad: number, headers?: Record<string, string>): Promise<Response>;
|
|
434
436
|
/**
|
|
435
437
|
* factory function to load and return a new NVImage instance from a given URL
|
|
@@ -698,6 +700,7 @@ type NVConfigOptions = {
|
|
|
698
700
|
measureTextColor: number[];
|
|
699
701
|
measureLineColor: number[];
|
|
700
702
|
measureTextHeight: number;
|
|
703
|
+
isAlphaClipDark: boolean;
|
|
701
704
|
};
|
|
702
705
|
declare const DEFAULT_OPTIONS: NVConfigOptions;
|
|
703
706
|
type SceneData = {
|
|
@@ -1250,7 +1253,7 @@ declare class NVMesh {
|
|
|
1250
1253
|
hierarchicalOrder(): number;
|
|
1251
1254
|
decimateFaces(n: number, ntarget: number): void;
|
|
1252
1255
|
decimateHierarchicalMesh(gl: WebGL2RenderingContext, order?: number): boolean;
|
|
1253
|
-
setLayerProperty(id: number, key: keyof NVMeshLayer, val: number | string | boolean, gl: WebGL2RenderingContext): void
|
|
1256
|
+
setLayerProperty(id: number, key: keyof NVMeshLayer, val: number | string | boolean, gl: WebGL2RenderingContext): Promise<void>;
|
|
1254
1257
|
setProperty(key: keyof this, val: unknown, gl: WebGL2RenderingContext): void;
|
|
1255
1258
|
generatePosNormClr(pts: Float32Array, tris: Uint32Array, rgba255: Uint8Array): Float32Array;
|
|
1256
1259
|
static readMesh(buffer: ArrayBuffer, name: string, gl: WebGL2RenderingContext, opacity?: number, rgba255?: Uint8Array, visible?: boolean): NVMesh;
|
|
@@ -1516,6 +1519,7 @@ type TypedNumberArray = Float64Array | Float32Array | Uint32Array | Uint16Array
|
|
|
1516
1519
|
declare class NVUtilities {
|
|
1517
1520
|
static arrayBufferToBase64(arrayBuffer: ArrayBuffer): string;
|
|
1518
1521
|
static readMatV4(buffer: ArrayBuffer): Record<string, TypedNumberArray>;
|
|
1522
|
+
static b64toUint8(base64: string): Uint8Array;
|
|
1519
1523
|
static uint8tob64(bytes: Uint8Array): string;
|
|
1520
1524
|
static download(content: string | ArrayBuffer, fileName: string, contentType: string): void;
|
|
1521
1525
|
static readFileAsync(file: Blob): Promise<ArrayBuffer>;
|
|
@@ -1702,6 +1706,14 @@ type SaveImageOptions = {
|
|
|
1702
1706
|
isSaveDrawing: boolean;
|
|
1703
1707
|
volumeByIndex: number;
|
|
1704
1708
|
};
|
|
1709
|
+
type DicomLoaderInput = ArrayBuffer | ArrayBuffer[] | File[];
|
|
1710
|
+
type DicomLoader = {
|
|
1711
|
+
loader: (data: DicomLoaderInput) => Promise<Array<{
|
|
1712
|
+
name: string;
|
|
1713
|
+
data: ArrayBuffer;
|
|
1714
|
+
}>>;
|
|
1715
|
+
toExt: string;
|
|
1716
|
+
};
|
|
1705
1717
|
/**
|
|
1706
1718
|
* Niivue can be attached to a canvas. An instance of Niivue contains methods for
|
|
1707
1719
|
* loading and rendering NIFTI image data in a WebGL 2.0 context.
|
|
@@ -1711,6 +1723,7 @@ type SaveImageOptions = {
|
|
|
1711
1723
|
*/
|
|
1712
1724
|
declare class Niivue {
|
|
1713
1725
|
loaders: {};
|
|
1726
|
+
dicomLoader: DicomLoader | null;
|
|
1714
1727
|
canvas: HTMLCanvasElement | null;
|
|
1715
1728
|
_gl: WebGL2RenderingContext | null;
|
|
1716
1729
|
isBusy: boolean;
|
|
@@ -1780,7 +1793,6 @@ declare class Niivue {
|
|
|
1780
1793
|
backgroundMasksOverlays: number;
|
|
1781
1794
|
overlayOutlineWidth: number;
|
|
1782
1795
|
overlayAlphaShader: number;
|
|
1783
|
-
isAlphaClipDark: boolean;
|
|
1784
1796
|
position?: vec3;
|
|
1785
1797
|
extentsMin?: vec3;
|
|
1786
1798
|
extentsMax?: vec3;
|
|
@@ -1998,6 +2010,7 @@ declare class Niivue {
|
|
|
1998
2010
|
onCustomMeshShaderAdded: (fragmentShaderText: string, name: string) => void;
|
|
1999
2011
|
onMeshShaderChanged: (meshIndex: number, shaderIndex: number) => void;
|
|
2000
2012
|
onMeshPropertyChanged: (meshIndex: number, key: string, val: unknown) => void;
|
|
2013
|
+
onDicomLoaderFinishedWithImages: (files: NVImage[] | NVMesh[]) => void;
|
|
2001
2014
|
/**
|
|
2002
2015
|
* callback function to run when the user loads a new NiiVue document
|
|
2003
2016
|
* @example
|
|
@@ -2011,6 +2024,8 @@ declare class Niivue {
|
|
|
2011
2024
|
get opts(): NVConfigOptions;
|
|
2012
2025
|
get sliceMosaicString(): string;
|
|
2013
2026
|
set sliceMosaicString(newSliceMosaicString: string);
|
|
2027
|
+
get isAlphaClipDark(): boolean;
|
|
2028
|
+
set isAlphaClipDark(newVal: boolean);
|
|
2014
2029
|
mediaUrlMap: Map<NVImage | NVMesh, string>;
|
|
2015
2030
|
initialized: boolean;
|
|
2016
2031
|
currentDrawUndoBitmap: number;
|
|
@@ -2174,6 +2189,7 @@ declare class Niivue {
|
|
|
2174
2189
|
* @see {@link https://niivue.github.io/niivue/features/document.3d.html | live demo usage}
|
|
2175
2190
|
*/
|
|
2176
2191
|
removeVolumeByUrl(url: string): void;
|
|
2192
|
+
traverseFileTree(item: any, path: string, fileArray: any): Promise<File[]>;
|
|
2177
2193
|
readDirectory(directory: FileSystemDirectoryEntry): FileSystemEntry[];
|
|
2178
2194
|
/**
|
|
2179
2195
|
* Returns boolean: true if filename ends with mesh extension (TRK, pial, etc)
|
|
@@ -2193,6 +2209,8 @@ declare class Niivue {
|
|
|
2193
2209
|
*/
|
|
2194
2210
|
loadFromFile(file: File): Promise<void>;
|
|
2195
2211
|
useLoader(loader: unknown, fileExt: string, toExt: string): void;
|
|
2212
|
+
useDicomLoader(loader: DicomLoader): void;
|
|
2213
|
+
getDicomLoader(): DicomLoader;
|
|
2196
2214
|
dropListener(e: DragEvent): void;
|
|
2197
2215
|
/**
|
|
2198
2216
|
* insert a gap between slices of a mutliplanar view.
|
|
@@ -2394,7 +2412,7 @@ declare class Niivue {
|
|
|
2394
2412
|
* @example niivue.setMeshLayerProperty(niivue.meshes[0].id, 0, 'frame4D', 22)
|
|
2395
2413
|
* @see {@link https://niivue.github.io/niivue/features/mesh.4D.html | live demo usage}
|
|
2396
2414
|
*/
|
|
2397
|
-
setMeshLayerProperty(mesh: number, layer: number, key: keyof NVMeshLayer, val: number): void
|
|
2415
|
+
setMeshLayerProperty(mesh: number, layer: number, key: keyof NVMeshLayer, val: number): Promise<void>;
|
|
2398
2416
|
/**
|
|
2399
2417
|
* adjust offset position and scale of 2D sliceScale
|
|
2400
2418
|
* @param xyzmmZoom - first three components are spatial, fourth is scaling
|
|
@@ -2680,6 +2698,7 @@ declare class Niivue {
|
|
|
2680
2698
|
*/
|
|
2681
2699
|
saveDocument(fileName?: string, compress?: boolean): Promise<void>;
|
|
2682
2700
|
loadImages(images: Array<ImageFromUrlOptions | LoadFromUrlParams>): Promise<this>;
|
|
2701
|
+
loadDicoms(dicomList: ImageFromUrlOptions[]): Promise<this>;
|
|
2683
2702
|
/**
|
|
2684
2703
|
* load an array of volume objects
|
|
2685
2704
|
* @param volumeList - the array of objects to load. each object must have a resolvable "url" property at a minimum
|
|
@@ -3157,4 +3176,4 @@ declare class Niivue {
|
|
|
3157
3176
|
set gl(gl: WebGL2RenderingContext | null);
|
|
3158
3177
|
}
|
|
3159
3178
|
|
|
3160
|
-
export { type Connectome, type ConnectomeOptions, DEFAULT_OPTIONS, DRAG_MODE, type DocumentData, type DragReleaseParams, type ExportDocumentData, INITIAL_SCENE_DATA, LabelAnchorPoint, 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 SyncOpts, type Volume, cmapper, ColorTables as colortables };
|
|
3179
|
+
export { type Connectome, type ConnectomeOptions, DEFAULT_OPTIONS, DRAG_MODE, type DicomLoader, type DicomLoaderInput, type DocumentData, type DragReleaseParams, type ExportDocumentData, INITIAL_SCENE_DATA, LabelAnchorPoint, 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 SyncOpts, type Volume, cmapper, ColorTables as colortables };
|