@idetik/core 0.28.0 → 0.29.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/README.md +34 -9
- package/dist/assets/worker_kernel-CBlE4MBI.js.map +1 -1
- package/dist/index.d.ts +122 -4
- package/dist/index.js +1921 -1870
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +34 -34
- package/dist/index.umd.cjs.map +1 -1
- package/dist/types/src/core/channel.d.ts +1 -0
- package/dist/types/src/core/channel.d.ts.map +1 -1
- package/dist/types/src/core/image_source_policy.d.ts +4 -0
- package/dist/types/src/core/image_source_policy.d.ts.map +1 -1
- package/dist/types/src/core/layer.d.ts +17 -0
- package/dist/types/src/core/layer.d.ts.map +1 -1
- package/dist/types/src/data/chunk.d.ts +2 -0
- package/dist/types/src/data/chunk.d.ts.map +1 -1
- package/dist/types/src/data/chunk_manager.d.ts +7 -1
- package/dist/types/src/data/chunk_manager.d.ts.map +1 -1
- package/dist/types/src/data/chunk_queue.d.ts +1 -1
- package/dist/types/src/data/chunk_queue.d.ts.map +1 -1
- package/dist/types/src/data/ome_zarr/image_loader.d.ts +2 -0
- package/dist/types/src/data/ome_zarr/image_loader.d.ts.map +1 -1
- package/dist/types/src/data/ome_zarr/image_source.d.ts +5 -1
- package/dist/types/src/data/ome_zarr/image_source.d.ts.map +1 -1
- package/dist/types/src/data/ome_zarr/metadata_loaders.d.ts +4 -0
- package/dist/types/src/data/ome_zarr/metadata_loaders.d.ts.map +1 -1
- package/dist/types/src/idetik.d.ts +18 -0
- package/dist/types/src/idetik.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +7 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/layers/axes_layer.d.ts +1 -0
- package/dist/types/src/layers/axes_layer.d.ts.map +1 -1
- package/dist/types/src/layers/image_layer.d.ts +15 -0
- package/dist/types/src/layers/image_layer.d.ts.map +1 -1
- package/dist/types/src/layers/label_layer.d.ts +1 -0
- package/dist/types/src/layers/label_layer.d.ts.map +1 -1
- package/dist/types/src/layers/volume_layer.d.ts +1 -0
- package/dist/types/src/layers/volume_layer.d.ts.map +1 -1
- package/dist/types/src/math/color.d.ts +2 -0
- package/dist/types/src/math/color.d.ts.map +1 -1
- package/dist/types/src/objects/cameras/controls.d.ts +1 -0
- package/dist/types/src/objects/cameras/controls.d.ts.map +1 -1
- package/dist/types/src/objects/cameras/orbit_controls.d.ts +1 -0
- package/dist/types/src/objects/cameras/orbit_controls.d.ts.map +1 -1
- package/dist/types/src/objects/cameras/orthographic_camera.d.ts +23 -0
- package/dist/types/src/objects/cameras/orthographic_camera.d.ts.map +1 -1
- package/dist/types/src/objects/cameras/perspective_camera.d.ts +1 -0
- package/dist/types/src/objects/cameras/perspective_camera.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/image_renderable.d.ts +1 -0
- package/dist/types/src/objects/renderable/image_renderable.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/label_color_map.d.ts +1 -0
- package/dist/types/src/objects/renderable/label_color_map.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/label_image_renderable.d.ts +1 -0
- package/dist/types/src/objects/renderable/label_image_renderable.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/points.d.ts +1 -0
- package/dist/types/src/objects/renderable/points.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/projected_line.d.ts +1 -0
- package/dist/types/src/objects/renderable/projected_line.d.ts.map +1 -1
- package/dist/types/src/objects/renderable/volume_renderable.d.ts +1 -0
- package/dist/types/src/objects/renderable/volume_renderable.d.ts.map +1 -1
- package/dist/types/src/objects/textures/texture.d.ts +2 -0
- package/dist/types/src/objects/textures/texture.d.ts.map +1 -1
- package/dist/types/src/renderers/webgl_textures.d.ts +1 -3
- package/dist/types/src/renderers/webgl_textures.d.ts.map +1 -1
- package/dist/types/src/renderers/webgpu/webgpu_renderer.d.ts.map +1 -1
- package/dist/types/src/renderers/webgpu/webgpu_texture_pool.d.ts +4 -0
- package/dist/types/src/renderers/webgpu/webgpu_texture_pool.d.ts.map +1 -1
- package/package.json +11 -3
package/dist/index.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ declare abstract class Texture extends Node {
|
|
|
33
33
|
releaseCpuData(): void;
|
|
34
34
|
abstract get width(): number;
|
|
35
35
|
abstract get height(): number;
|
|
36
|
+
get depth(): number;
|
|
36
37
|
get type(): string;
|
|
37
38
|
}
|
|
38
39
|
|
|
@@ -95,6 +96,7 @@ type SourceDimensionLod = {
|
|
|
95
96
|
scale: number;
|
|
96
97
|
translation: number;
|
|
97
98
|
};
|
|
99
|
+
/** @group Layer Configuration */
|
|
98
100
|
type SliceCoordinates = {
|
|
99
101
|
z?: number;
|
|
100
102
|
c?: number[];
|
|
@@ -105,6 +107,7 @@ type ChunkSource = {
|
|
|
105
107
|
};
|
|
106
108
|
type ChunkLoader = {
|
|
107
109
|
getSourceDimensionMap(): SourceDimensionMap;
|
|
110
|
+
getBytesPerElement(): number;
|
|
108
111
|
loadChunkData(chunk: Chunk, signal: AbortSignal): Promise<void>;
|
|
109
112
|
};
|
|
110
113
|
|
|
@@ -141,9 +144,13 @@ type ImageSourcePolicy = Readonly<{
|
|
|
141
144
|
bias: number;
|
|
142
145
|
};
|
|
143
146
|
}>;
|
|
147
|
+
/** @group Layer Configuration */
|
|
144
148
|
declare function createImageSourcePolicy(config: ImageSourcePolicyConfig): ImageSourcePolicy;
|
|
149
|
+
/** @group Layer Configuration */
|
|
145
150
|
declare function createExplorationPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
|
|
151
|
+
/** @group Layer Configuration */
|
|
146
152
|
declare function createPlaybackPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
|
|
153
|
+
/** @group Layer Configuration */
|
|
147
154
|
declare function createNoPrefetchPolicy(overrides?: Partial<ImageSourcePolicyConfig>): ImageSourcePolicy;
|
|
148
155
|
|
|
149
156
|
declare class ChunkStore {
|
|
@@ -251,7 +258,11 @@ declare class ChunkManager {
|
|
|
251
258
|
private readonly queue_;
|
|
252
259
|
private readonly uploadTexture_?;
|
|
253
260
|
private readonly disposeTexture_?;
|
|
254
|
-
|
|
261
|
+
private readonly getGpuResidentBytes_;
|
|
262
|
+
private readonly memoryLimitBytes_;
|
|
263
|
+
private readonly maxGpuUploadsPerUpdate_;
|
|
264
|
+
constructor(uploadTexture?: (texture: Texture) => void, disposeTexture?: (texture: Texture) => void, getGpuResidentBytes?: () => number, memoryLimitBytes?: number, maxConcurrentRequests?: number, maxGpuUploadsPerUpdate?: number);
|
|
265
|
+
get memoryLimitBytes(): number;
|
|
255
266
|
get queueStats(): QueueStats;
|
|
256
267
|
get memoryStats(): {
|
|
257
268
|
cpuChunkBytes: number;
|
|
@@ -259,6 +270,8 @@ declare class ChunkManager {
|
|
|
259
270
|
};
|
|
260
271
|
addView(source: ChunkSource, policy: ImageSourcePolicy): ChunkStoreView;
|
|
261
272
|
update(): void;
|
|
273
|
+
private enqueueWithinBudget;
|
|
274
|
+
private chunkBytes;
|
|
262
275
|
private uploadLoadedChunks;
|
|
263
276
|
private disposeChunkTexture;
|
|
264
277
|
}
|
|
@@ -334,7 +347,9 @@ declare class TrsTransform {
|
|
|
334
347
|
|
|
335
348
|
type Shader = "floatScalarImage" | "floatVolume" | "intScalarImage" | "intVolume" | "labelImage" | "points" | "projectedLine" | "uintScalarImage" | "uintVolume" | "wireframe";
|
|
336
349
|
|
|
350
|
+
/** @group Layer Configuration */
|
|
337
351
|
type ColorLike = Color | vec3 | vec4 | string;
|
|
352
|
+
/** @group Layer Configuration */
|
|
338
353
|
declare class Color {
|
|
339
354
|
static readonly RED: Color;
|
|
340
355
|
static readonly GREEN: Color;
|
|
@@ -446,11 +461,34 @@ declare class EventDispatcher {
|
|
|
446
461
|
private readonly handleEvent;
|
|
447
462
|
}
|
|
448
463
|
|
|
464
|
+
/**
|
|
465
|
+
* A camera using an orthographic (parallel) projection.
|
|
466
|
+
*
|
|
467
|
+
* Orthographic projection has no perspective foreshortening, so object size is
|
|
468
|
+
* independent of distance from the camera. This is the camera to use for 2D
|
|
469
|
+
* image viewing, where it pairs naturally with {@link PanZoomControls}. The
|
|
470
|
+
* initial frame is given in world coordinates; zoom and pan are applied as
|
|
471
|
+
* scale and translation on top of that frame.
|
|
472
|
+
*
|
|
473
|
+
* @see {@link PerspectiveCamera} for 3D scenes with perspective projection.
|
|
474
|
+
*
|
|
475
|
+
* @group Cameras & Controls
|
|
476
|
+
*/
|
|
449
477
|
declare class OrthographicCamera extends Camera {
|
|
450
478
|
private width_;
|
|
451
479
|
private height_;
|
|
452
480
|
private viewportAspectRatio_;
|
|
453
481
|
private viewportSize_;
|
|
482
|
+
/**
|
|
483
|
+
* Creates an orthographic camera framing the given world-space rectangle.
|
|
484
|
+
*
|
|
485
|
+
* @param left - Left edge of the view frame, in world units.
|
|
486
|
+
* @param right - Right edge of the view frame, in world units.
|
|
487
|
+
* @param top - Top edge of the view frame, in world units.
|
|
488
|
+
* @param bottom - Bottom edge of the view frame, in world units.
|
|
489
|
+
* @param near - Near clipping plane distance. Defaults to `0.0`.
|
|
490
|
+
* @param far - Far clipping plane distance. Defaults to `100.0`.
|
|
491
|
+
*/
|
|
454
492
|
constructor(left: number, right: number, top: number, bottom: number, near?: number, far?: number);
|
|
455
493
|
get viewportSize(): [number, number];
|
|
456
494
|
setAspectRatio(aspectRatio: number): void;
|
|
@@ -466,6 +504,7 @@ interface CameraControls {
|
|
|
466
504
|
onUpdate(dt: number): void;
|
|
467
505
|
onEvent(event: EventContext): void;
|
|
468
506
|
}
|
|
507
|
+
/** @group Cameras & Controls */
|
|
469
508
|
declare class PanZoomControls implements CameraControls {
|
|
470
509
|
private readonly camera_;
|
|
471
510
|
private dragActive_;
|
|
@@ -519,6 +558,7 @@ declare class Viewport {
|
|
|
519
558
|
private updateAspectRatio;
|
|
520
559
|
}
|
|
521
560
|
|
|
561
|
+
/** @group Layers */
|
|
522
562
|
type LayerState = "initialized" | "loading" | "ready";
|
|
523
563
|
type BlendMode = "none" | "normal" | "additive" | "subtractive" | "multiply" | "premultiplied";
|
|
524
564
|
type StateChangeCallback = (newState: LayerState, prevState?: LayerState) => void;
|
|
@@ -526,6 +566,22 @@ interface LayerOptions {
|
|
|
526
566
|
opacity?: number;
|
|
527
567
|
blendMode?: BlendMode;
|
|
528
568
|
}
|
|
569
|
+
/**
|
|
570
|
+
* Abstract base class for everything that can be added to a viewport.
|
|
571
|
+
*
|
|
572
|
+
* A `Layer` owns a set of renderable objects and contributes them to the scene
|
|
573
|
+
* each frame. Subclasses (e.g. {@link ImageLayer}, {@link VolumeLayer},
|
|
574
|
+
* {@link LabelLayer}) implement {@link Layer.update} to build or refresh those
|
|
575
|
+
* objects for the current view, and may override the `attach`/`detach` hooks to
|
|
576
|
+
* acquire and release resources when the layer joins or leaves a viewport.
|
|
577
|
+
*
|
|
578
|
+
* Layers carry shared presentation state — {@link Layer.opacity} and blend mode —
|
|
579
|
+
* and expose a lifecycle {@link LayerState} (`initialized` → `loading` → `ready`)
|
|
580
|
+
* that observers can subscribe to. A layer instance may be attached to only one
|
|
581
|
+
* viewport at a time.
|
|
582
|
+
*
|
|
583
|
+
* @group Layers
|
|
584
|
+
*/
|
|
529
585
|
declare abstract class Layer {
|
|
530
586
|
abstract readonly type: string;
|
|
531
587
|
private objects_;
|
|
@@ -585,18 +641,24 @@ declare abstract class Renderer {
|
|
|
585
641
|
set backgroundColor(color: ColorLike);
|
|
586
642
|
}
|
|
587
643
|
|
|
644
|
+
/** @group Runtime */
|
|
588
645
|
type Overlay = {
|
|
589
646
|
update(idetik: Idetik): void;
|
|
590
647
|
};
|
|
648
|
+
/** @inline */
|
|
591
649
|
type IdetikParams = {
|
|
592
650
|
canvas: HTMLCanvasElement;
|
|
593
651
|
viewports?: ViewportConfig[];
|
|
594
652
|
overlays?: Overlay[];
|
|
595
653
|
showStats?: boolean;
|
|
654
|
+
memoryLimitMB?: number;
|
|
655
|
+
maxConcurrentRequests?: number;
|
|
656
|
+
maxGpuUploadsPerUpdate?: number;
|
|
596
657
|
};
|
|
597
658
|
type IdetikContext = {
|
|
598
659
|
chunkManager: ChunkManager;
|
|
599
660
|
};
|
|
661
|
+
/** @group Runtime */
|
|
600
662
|
type MemoryStats = {
|
|
601
663
|
cpuChunkBytes: number;
|
|
602
664
|
cpuChunkCount: number;
|
|
@@ -605,6 +667,18 @@ type MemoryStats = {
|
|
|
605
667
|
jsHeapUsedBytes?: number;
|
|
606
668
|
jsHeapLimitBytes?: number;
|
|
607
669
|
};
|
|
670
|
+
/**
|
|
671
|
+
* The top-level entry point for an Idetik visualization.
|
|
672
|
+
*
|
|
673
|
+
* An `Idetik` instance owns the renderer, the shared chunk manager, and one or
|
|
674
|
+
* more viewports. Each viewport pairs a camera, its controls, and a stack of
|
|
675
|
+
* layers and draws into a region of the canvas. Call {@link Idetik.start} to
|
|
676
|
+
* begin the render loop and {@link Idetik.stop} to halt it.
|
|
677
|
+
*
|
|
678
|
+
* @see {@link Layer} for the data layers rendered within a viewport.
|
|
679
|
+
*
|
|
680
|
+
* @group Runtime
|
|
681
|
+
*/
|
|
608
682
|
declare class Idetik {
|
|
609
683
|
private readonly chunkManager_;
|
|
610
684
|
private readonly context_;
|
|
@@ -975,8 +1049,10 @@ declare class OmeZarrImageLoader {
|
|
|
975
1049
|
private readonly arrays_;
|
|
976
1050
|
private readonly arrayParams_;
|
|
977
1051
|
private readonly dimensions_;
|
|
1052
|
+
private readonly bytesPerElement_;
|
|
978
1053
|
constructor(props: OmeZarrImageLoaderProps);
|
|
979
1054
|
getSourceDimensionMap(): SourceDimensionMap;
|
|
1055
|
+
getBytesPerElement(): number;
|
|
980
1056
|
loadChunkData(chunk: Chunk, signal: AbortSignal): Promise<void>;
|
|
981
1057
|
}
|
|
982
1058
|
|
|
@@ -1284,11 +1360,15 @@ type Version = (typeof versions)[number];
|
|
|
1284
1360
|
type AdaptedOme<T> = T & {
|
|
1285
1361
|
originalVersion: Version;
|
|
1286
1362
|
};
|
|
1363
|
+
/** @group Data Loading */
|
|
1287
1364
|
declare function loadOmeZarrPlate(url: string, version?: Version): Promise<AdaptedOme<Plate["ome"]>>;
|
|
1365
|
+
/** @group Data Loading */
|
|
1288
1366
|
declare function loadOmeZarrWell(url: string, path: string, version?: Version): Promise<AdaptedOme<Well["ome"]>>;
|
|
1289
1367
|
type OmeroMetadata = NonNullable<Image$1["ome"]["omero"]>;
|
|
1290
1368
|
type OmeroChannel = OmeroMetadata["channels"][number];
|
|
1369
|
+
/** @group Data Loading */
|
|
1291
1370
|
declare function loadOmeroChannels(source: OmeZarrImageSource): Promise<OmeroChannel[]>;
|
|
1371
|
+
/** @group Data Loading */
|
|
1292
1372
|
declare function loadOmeroDefaults(source: OmeZarrImageSource): Promise<OmeroMetadata["rdefs"]>;
|
|
1293
1373
|
|
|
1294
1374
|
type HttpOmeZarrImageSourceProps = {
|
|
@@ -1300,7 +1380,11 @@ type FileSystemOmeZarrImageSourceProps = {
|
|
|
1300
1380
|
version?: Version;
|
|
1301
1381
|
path?: `/${string}`;
|
|
1302
1382
|
};
|
|
1303
|
-
/**
|
|
1383
|
+
/**
|
|
1384
|
+
* Opens an OME-Zarr multiscale image Zarr group from either a URL or local directory.
|
|
1385
|
+
*
|
|
1386
|
+
* @group Data Loading
|
|
1387
|
+
*/
|
|
1304
1388
|
declare class OmeZarrImageSource {
|
|
1305
1389
|
readonly location: Location<Readable>;
|
|
1306
1390
|
readonly version?: Version;
|
|
@@ -1329,6 +1413,7 @@ declare class OmeZarrImageSource {
|
|
|
1329
1413
|
static fromFileSystem(props: FileSystemOmeZarrImageSourceProps): Promise<OmeZarrImageSource>;
|
|
1330
1414
|
}
|
|
1331
1415
|
|
|
1416
|
+
/** @group Layers */
|
|
1332
1417
|
declare class AxesLayer extends Layer {
|
|
1333
1418
|
readonly type = "AxesLayer";
|
|
1334
1419
|
constructor(params: {
|
|
@@ -1338,6 +1423,7 @@ declare class AxesLayer extends Layer {
|
|
|
1338
1423
|
update(): void;
|
|
1339
1424
|
}
|
|
1340
1425
|
|
|
1426
|
+
/** @group Layer Configuration */
|
|
1341
1427
|
type ChannelProps = {
|
|
1342
1428
|
visible?: boolean;
|
|
1343
1429
|
color?: ColorLike;
|
|
@@ -1358,6 +1444,7 @@ interface PointPickingResult {
|
|
|
1358
1444
|
value: number;
|
|
1359
1445
|
}
|
|
1360
1446
|
|
|
1447
|
+
/** @inline */
|
|
1361
1448
|
type ImageLayerProps = LayerOptions & {
|
|
1362
1449
|
source: ChunkSource;
|
|
1363
1450
|
sliceCoords: SliceCoordinates;
|
|
@@ -1365,6 +1452,20 @@ type ImageLayerProps = LayerOptions & {
|
|
|
1365
1452
|
channelProps?: ChannelProps[];
|
|
1366
1453
|
onPickValue?: (info: PointPickingResult) => void;
|
|
1367
1454
|
};
|
|
1455
|
+
/**
|
|
1456
|
+
* A layer that renders a 2D slice of a chunked, multi-channel image source.
|
|
1457
|
+
*
|
|
1458
|
+
* `ImageLayer` streams chunks from a `ChunkSource` (e.g.
|
|
1459
|
+
* {@link OmeZarrImageSource}) according to the supplied `ImageSourcePolicy`,
|
|
1460
|
+
* which decides which resolution levels and chunks to load for the current
|
|
1461
|
+
* view. Per-channel appearance (contrast limits,
|
|
1462
|
+
* color, visibility) is controlled via {@link ChannelProps}, and the visible
|
|
1463
|
+
* slice is selected with {@link SliceCoordinates}.
|
|
1464
|
+
*
|
|
1465
|
+
* @see {@link VolumeLayer} for 3D volume rendering of the same data.
|
|
1466
|
+
*
|
|
1467
|
+
* @group Layers
|
|
1468
|
+
*/
|
|
1368
1469
|
declare class ImageLayer extends Layer implements ChannelsEnabled {
|
|
1369
1470
|
readonly type = "ImageLayer";
|
|
1370
1471
|
private readonly source_;
|
|
@@ -1421,6 +1522,7 @@ type VolumeLayerProps = {
|
|
|
1421
1522
|
policy: ImageSourcePolicy;
|
|
1422
1523
|
channelProps?: ChannelProps[];
|
|
1423
1524
|
};
|
|
1525
|
+
/** @group Layers */
|
|
1424
1526
|
declare class VolumeLayer extends Layer implements ChannelsEnabled {
|
|
1425
1527
|
readonly type = "VolumeLayer";
|
|
1426
1528
|
private readonly source_;
|
|
@@ -1464,6 +1566,7 @@ type LabelColorMapProps = {
|
|
|
1464
1566
|
lookupTable?: ReadonlyMap<number, ColorLike>;
|
|
1465
1567
|
cycle?: ColorLike[];
|
|
1466
1568
|
};
|
|
1569
|
+
/** @group Renderable Objects */
|
|
1467
1570
|
declare class LabelColorMap {
|
|
1468
1571
|
readonly lookupTable: ReadonlyMap<number, Color>;
|
|
1469
1572
|
readonly cycle: ReadonlyArray<Color>;
|
|
@@ -1478,6 +1581,7 @@ type LabelLayerProps = LayerOptions & {
|
|
|
1478
1581
|
onPickValue?: (info: PointPickingResult) => void;
|
|
1479
1582
|
outlineSelected?: boolean;
|
|
1480
1583
|
};
|
|
1584
|
+
/** @group Layers */
|
|
1481
1585
|
declare class LabelLayer extends Layer {
|
|
1482
1586
|
readonly type = "LabelLayer";
|
|
1483
1587
|
private readonly source_;
|
|
@@ -1528,6 +1632,7 @@ type UniformValues = {
|
|
|
1528
1632
|
u_valueScale: number;
|
|
1529
1633
|
u_zTexCoord: number;
|
|
1530
1634
|
};
|
|
1635
|
+
/** @group Renderable Objects */
|
|
1531
1636
|
declare class ImageRenderable extends RenderableObject {
|
|
1532
1637
|
private channels_;
|
|
1533
1638
|
zTexCoord: number;
|
|
@@ -1546,6 +1651,7 @@ type LabelImageRenderableProps = {
|
|
|
1546
1651
|
outlineSelected?: boolean;
|
|
1547
1652
|
selectedValue?: number | null;
|
|
1548
1653
|
};
|
|
1654
|
+
/** @group Renderable Objects */
|
|
1549
1655
|
declare class LabelImageRenderable extends RenderableObject {
|
|
1550
1656
|
private outlineSelected_;
|
|
1551
1657
|
private selectedValue_;
|
|
@@ -1573,6 +1679,7 @@ type PointProperties = {
|
|
|
1573
1679
|
size: number;
|
|
1574
1680
|
marker: Marker;
|
|
1575
1681
|
};
|
|
1682
|
+
/** @group Renderable Objects */
|
|
1576
1683
|
declare class Points extends RenderableObject {
|
|
1577
1684
|
constructor(points: PointProperties[]);
|
|
1578
1685
|
get type(): string;
|
|
@@ -1589,6 +1696,7 @@ type LineParameters = {
|
|
|
1589
1696
|
color: ColorLike;
|
|
1590
1697
|
width: number;
|
|
1591
1698
|
};
|
|
1699
|
+
/** @group Renderable Objects */
|
|
1592
1700
|
declare class ProjectedLine extends RenderableObject {
|
|
1593
1701
|
private color_;
|
|
1594
1702
|
private width_;
|
|
@@ -1604,6 +1712,7 @@ declare class ProjectedLine extends RenderableObject {
|
|
|
1604
1712
|
};
|
|
1605
1713
|
}
|
|
1606
1714
|
|
|
1715
|
+
/** @group Renderable Objects */
|
|
1607
1716
|
declare class VolumeRenderable extends RenderableObject {
|
|
1608
1717
|
voxelScale: vec3;
|
|
1609
1718
|
private channels_;
|
|
@@ -1632,6 +1741,7 @@ type PerspectiveCameraOptions = {
|
|
|
1632
1741
|
far?: number;
|
|
1633
1742
|
position?: vec3;
|
|
1634
1743
|
};
|
|
1744
|
+
/** @group Cameras & Controls */
|
|
1635
1745
|
declare class PerspectiveCamera extends Camera {
|
|
1636
1746
|
private fov_;
|
|
1637
1747
|
private aspectRatio_;
|
|
@@ -1650,6 +1760,7 @@ type OrbitParams = {
|
|
|
1650
1760
|
target?: vec3;
|
|
1651
1761
|
dampingFactor?: number;
|
|
1652
1762
|
};
|
|
1763
|
+
/** @group Cameras & Controls */
|
|
1653
1764
|
declare class OrbitControls implements CameraControls {
|
|
1654
1765
|
private readonly camera_;
|
|
1655
1766
|
private readonly orbitVelocity_;
|
|
@@ -1875,5 +1986,12 @@ declare const Image: z.ZodObject<{
|
|
|
1875
1986
|
}>;
|
|
1876
1987
|
type Image = z.infer<typeof Image>;
|
|
1877
1988
|
|
|
1878
|
-
|
|
1879
|
-
|
|
1989
|
+
/**
|
|
1990
|
+
* Parsed OME-Zarr (OME-NGFF 0.4) image metadata.
|
|
1991
|
+
*
|
|
1992
|
+
* @group Data Loading
|
|
1993
|
+
*/
|
|
1994
|
+
type OmeZarrImage = Image;
|
|
1995
|
+
|
|
1996
|
+
export { AxesLayer, Color, Idetik, ImageLayer, ImageRenderable, LabelColorMap, LabelImageRenderable, LabelLayer, Layer, OmeZarrImageSource, OrbitControls, OrthographicCamera, PanZoomControls, PerspectiveCamera, Points, ProjectedLine, VolumeLayer, VolumeRenderable, createExplorationPolicy, createImageSourcePolicy, createNoPrefetchPolicy, createPlaybackPolicy, loadOmeZarrPlate, loadOmeZarrWell, loadOmeroChannels, loadOmeroDefaults };
|
|
1997
|
+
export type { ChannelProps, ColorLike, LayerState, MemoryStats, OmeZarrImage, Overlay, SliceCoordinates };
|