@idetik/core 0.19.3 → 0.20.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.
Files changed (29) hide show
  1. package/dist/assets/worker_kernel-CO2aYqZv.js.map +1 -1
  2. package/dist/index.d.ts +47 -62
  3. package/dist/index.js +1244 -1510
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.umd.cjs +59 -59
  6. package/dist/index.umd.cjs.map +1 -1
  7. package/dist/types/src/data/chunk.d.ts +1 -4
  8. package/dist/types/src/data/chunk.d.ts.map +1 -1
  9. package/dist/types/src/data/ome_zarr/0.5/image.d.ts +8 -8
  10. package/dist/types/src/data/ome_zarr/image_loader.d.ts +0 -3
  11. package/dist/types/src/data/ome_zarr/image_loader.d.ts.map +1 -1
  12. package/dist/types/src/index.d.ts +3 -2
  13. package/dist/types/src/index.d.ts.map +1 -1
  14. package/dist/types/src/layers/label_layer.d.ts +61 -0
  15. package/dist/types/src/layers/label_layer.d.ts.map +1 -0
  16. package/dist/types/src/renderers/webgl_renderer.d.ts.map +1 -1
  17. package/dist/types/src/utilities/logger.d.ts +1 -1
  18. package/dist/types/src/utilities/logger.d.ts.map +1 -1
  19. package/package.json +1 -1
  20. package/dist/types/examples/image_labels_overlay_with_value_picking/main.d.ts +0 -2
  21. package/dist/types/examples/image_labels_overlay_with_value_picking/main.d.ts.map +0 -1
  22. package/dist/types/src/data/region.d.ts +0 -19
  23. package/dist/types/src/data/region.d.ts.map +0 -1
  24. package/dist/types/src/layers/image_series_loader.d.ts +0 -45
  25. package/dist/types/src/layers/image_series_loader.d.ts.map +0 -1
  26. package/dist/types/src/layers/label_image_layer.d.ts +0 -38
  27. package/dist/types/src/layers/label_image_layer.d.ts.map +0 -1
  28. package/dist/types/src/layers/label_image_series_layer.d.ts +0 -36
  29. package/dist/types/src/layers/label_image_series_layer.d.ts.map +0 -1
package/dist/index.d.ts CHANGED
@@ -4,25 +4,6 @@ import * as zarr from 'zarrita';
4
4
  import { Location, Readable } from 'zarrita';
5
5
  import { z } from 'zod';
6
6
 
7
- type Point = {
8
- type: "point";
9
- value: number;
10
- };
11
- type Interval = {
12
- type: "interval";
13
- start: number;
14
- stop: number;
15
- };
16
- type Full = {
17
- type: "full";
18
- };
19
- type Index = Point | Interval | Full;
20
- type DimensionalIndex = {
21
- dimension: string;
22
- index: Index;
23
- };
24
- type Region = Array<DimensionalIndex>;
25
-
26
7
  declare abstract class Node {
27
8
  readonly id: string;
28
9
  abstract get type(): string;
@@ -52,20 +33,6 @@ declare abstract class Texture extends Node {
52
33
  get type(): string;
53
34
  }
54
35
 
55
- declare class PromiseScheduler {
56
- private readonly maxConcurrent_;
57
- private readonly pending_;
58
- private readonly abortController_;
59
- private numRunning_;
60
- constructor(maxConcurrent: number);
61
- submit<T>(task: () => Promise<T>): Promise<T>;
62
- private maybeRunNext;
63
- get abortSignal(): AbortSignal;
64
- shutdown(): void;
65
- get numRunning(): number;
66
- get numPending(): number;
67
- }
68
-
69
36
  declare const chunkDataTypes: readonly [Int8ArrayConstructor, Int16ArrayConstructor, Int32ArrayConstructor, Uint8ArrayConstructor, Uint16ArrayConstructor, Uint32ArrayConstructor, Float32ArrayConstructor];
70
37
  type ChunkDataConstructor = (typeof chunkDataTypes)[number];
71
38
  type ChunkData = InstanceType<ChunkDataConstructor>;
@@ -138,7 +105,6 @@ type ChunkSource = {
138
105
  open(): Promise<ChunkLoader>;
139
106
  };
140
107
  type ChunkLoader = {
141
- loadRegion(input: Region, lod: number, scheduler?: PromiseScheduler): Promise<Chunk>;
142
108
  getSourceDimensionMap(): SourceDimensionMap;
143
109
  loadChunkData(chunk: Chunk, signal: AbortSignal): Promise<void>;
144
110
  };
@@ -922,35 +888,56 @@ declare class LabelColorMap {
922
888
  constructor(props?: LabelColorMapProps);
923
889
  }
924
890
 
925
- type LabelImageLayerProps = LayerOptions & {
891
+ type LabelLayerProps = LayerOptions & {
926
892
  source: ChunkSource;
927
- region: Region;
893
+ sliceCoords: SliceCoordinates;
894
+ policy: ImageSourcePolicy;
928
895
  colorMap?: LabelColorMapProps;
929
896
  onPickValue?: (info: PointPickingResult) => void;
930
- lod?: number;
931
897
  outlineSelected?: boolean;
932
898
  };
933
- declare class LabelImageLayer extends Layer {
934
- readonly type = "LabelImageLayer";
899
+ declare class LabelLayer extends Layer {
900
+ readonly type = "LabelLayer";
935
901
  private readonly source_;
936
- private readonly region_;
937
- private readonly lod_?;
938
- private colorMap_;
902
+ private readonly sliceCoords_;
939
903
  private readonly onPickValue_?;
940
904
  private readonly outlineSelected_;
941
- private image_?;
942
- private imageChunk_?;
943
- private pointerDownPos_;
905
+ private readonly visibleChunks_;
906
+ private readonly pool_;
907
+ private colorMap_;
944
908
  private selectedValue_;
945
- constructor({ source, region, colorMap, onPickValue, lod, outlineSelected, ...layerOptions }: LabelImageLayerProps);
946
- update(): void;
909
+ private policy_;
910
+ private chunkStoreView_?;
911
+ private pointerDownPos_;
912
+ private zPrevPointWorld_?;
913
+ private static readonly STALE_PRESENTATION_MS_;
914
+ private lastPresentationTimeStamp_?;
915
+ private lastPresentationTimeCoord_?;
916
+ constructor({ source, sliceCoords, policy, colorMap, onPickValue, outlineSelected, ...layerOptions }: LabelLayerProps);
917
+ onAttached(context: IdetikContext): Promise<void>;
918
+ onDetached(_context: IdetikContext): void;
919
+ update(context?: RenderContext): void;
920
+ private updateChunks;
921
+ private isPresentationStale;
922
+ private resliceIfZChanged;
923
+ onEvent(event: EventContext): void;
947
924
  get colorMap(): LabelColorMap;
948
925
  setColorMap(colorMap: LabelColorMapProps): void;
949
926
  setSelectedValue(value: number | null): void;
950
- onEvent(event: EventContext): void;
951
- private load;
952
- private createImage;
927
+ get sliceCoords(): SliceCoordinates;
928
+ get source(): ChunkSource;
929
+ get imageSourcePolicy(): Readonly<ImageSourcePolicy>;
930
+ set imageSourcePolicy(newPolicy: ImageSourcePolicy);
931
+ get chunkStoreView(): ChunkStoreView | undefined;
932
+ get lastPresentationTimeCoord(): number | undefined;
953
933
  getValueAtWorld(world: vec3): number | null;
934
+ private getValueFromChunk;
935
+ private slicePlane;
936
+ private getLabelForChunk;
937
+ private createLabel;
938
+ private getDataForLabel;
939
+ private updateLabelChunk;
940
+ private releaseAndRemoveChunks;
954
941
  }
955
942
 
956
943
  /**The zarr.json attributes key*/
@@ -1013,24 +1000,24 @@ declare const Image$1: z.ZodObject<{
1013
1000
  active: z.ZodOptional<z.ZodBoolean>;
1014
1001
  }, "strip", z.ZodTypeAny, {
1015
1002
  color?: string | undefined;
1003
+ label?: string | undefined;
1016
1004
  window?: {
1017
1005
  min: number;
1018
1006
  max: number;
1019
1007
  end: number;
1020
1008
  start: number;
1021
1009
  } | undefined;
1022
- label?: string | undefined;
1023
1010
  family?: string | undefined;
1024
1011
  active?: boolean | undefined;
1025
1012
  }, {
1026
1013
  color?: string | undefined;
1014
+ label?: string | undefined;
1027
1015
  window?: {
1028
1016
  min: number;
1029
1017
  max: number;
1030
1018
  end: number;
1031
1019
  start: number;
1032
1020
  } | undefined;
1033
- label?: string | undefined;
1034
1021
  family?: string | undefined;
1035
1022
  active?: boolean | undefined;
1036
1023
  }>, "many">;
@@ -1053,13 +1040,13 @@ declare const Image$1: z.ZodObject<{
1053
1040
  }, "strip", z.ZodTypeAny, {
1054
1041
  channels: {
1055
1042
  color?: string | undefined;
1043
+ label?: string | undefined;
1056
1044
  window?: {
1057
1045
  min: number;
1058
1046
  max: number;
1059
1047
  end: number;
1060
1048
  start: number;
1061
1049
  } | undefined;
1062
- label?: string | undefined;
1063
1050
  family?: string | undefined;
1064
1051
  active?: boolean | undefined;
1065
1052
  }[];
@@ -1072,13 +1059,13 @@ declare const Image$1: z.ZodObject<{
1072
1059
  }, {
1073
1060
  channels: {
1074
1061
  color?: string | undefined;
1062
+ label?: string | undefined;
1075
1063
  window?: {
1076
1064
  min: number;
1077
1065
  max: number;
1078
1066
  end: number;
1079
1067
  start: number;
1080
1068
  } | undefined;
1081
- label?: string | undefined;
1082
1069
  family?: string | undefined;
1083
1070
  active?: boolean | undefined;
1084
1071
  }[];
@@ -1105,13 +1092,13 @@ declare const Image$1: z.ZodObject<{
1105
1092
  omero?: {
1106
1093
  channels: {
1107
1094
  color?: string | undefined;
1095
+ label?: string | undefined;
1108
1096
  window?: {
1109
1097
  min: number;
1110
1098
  max: number;
1111
1099
  end: number;
1112
1100
  start: number;
1113
1101
  } | undefined;
1114
- label?: string | undefined;
1115
1102
  family?: string | undefined;
1116
1103
  active?: boolean | undefined;
1117
1104
  }[];
@@ -1136,13 +1123,13 @@ declare const Image$1: z.ZodObject<{
1136
1123
  omero?: {
1137
1124
  channels: {
1138
1125
  color?: string | undefined;
1126
+ label?: string | undefined;
1139
1127
  window?: {
1140
1128
  min: number;
1141
1129
  max: number;
1142
1130
  end: number;
1143
1131
  start: number;
1144
1132
  } | undefined;
1145
- label?: string | undefined;
1146
1133
  family?: string | undefined;
1147
1134
  active?: boolean | undefined;
1148
1135
  }[];
@@ -1169,13 +1156,13 @@ declare const Image$1: z.ZodObject<{
1169
1156
  omero?: {
1170
1157
  channels: {
1171
1158
  color?: string | undefined;
1159
+ label?: string | undefined;
1172
1160
  window?: {
1173
1161
  min: number;
1174
1162
  max: number;
1175
1163
  end: number;
1176
1164
  start: number;
1177
1165
  } | undefined;
1178
- label?: string | undefined;
1179
1166
  family?: string | undefined;
1180
1167
  active?: boolean | undefined;
1181
1168
  }[];
@@ -1202,13 +1189,13 @@ declare const Image$1: z.ZodObject<{
1202
1189
  omero?: {
1203
1190
  channels: {
1204
1191
  color?: string | undefined;
1192
+ label?: string | undefined;
1205
1193
  window?: {
1206
1194
  min: number;
1207
1195
  max: number;
1208
1196
  end: number;
1209
1197
  start: number;
1210
1198
  } | undefined;
1211
- label?: string | undefined;
1212
1199
  family?: string | undefined;
1213
1200
  active?: boolean | undefined;
1214
1201
  }[];
@@ -1264,8 +1251,6 @@ declare class OmeZarrImageLoader {
1264
1251
  constructor(props: OmeZarrImageLoaderProps);
1265
1252
  getSourceDimensionMap(): SourceDimensionMap;
1266
1253
  loadChunkData(chunk: Chunk, signal: AbortSignal): Promise<void>;
1267
- loadRegion(region: Region, lod: number, scheduler?: PromiseScheduler): Promise<Chunk>;
1268
- private regionToIndices;
1269
1254
  }
1270
1255
 
1271
1256
  /**The zarr.json attributes key*/
@@ -1890,5 +1875,5 @@ declare class Texture3D extends Texture {
1890
1875
  static createWithChunk(chunk: Chunk): Texture3D;
1891
1876
  }
1892
1877
 
1893
- export { AxesLayer, Box2, Box3, Color, EventContext, Frustum, Idetik, ImageLayer, LabelImageLayer, Layer, LayerManager, Image as OmeZarrImage, OmeZarrImageSource, OrbitControls, OrthographicCamera, PanZoomControls, PerspectiveCamera, Plane, Points, Spherical, Texture2DArray, Texture3D, Viewport, VolumeLayer, WebGLRenderer, createExplorationPolicy, createImageSourcePolicy, createNoPrefetchPolicy, createPlaybackPolicy, loadOmeZarrPlate, loadOmeZarrWell, loadOmeroChannels, loadOmeroDefaults, parseViewportConfigs, validateNewViewport };
1894
- export type { CameraControls, ChannelProps, ChannelsEnabled, Chunk, ChunkLoader, ColorLike, ImageLayerProps, ImageSourcePolicy, ImageSourcePolicyConfig, LayerState, OmeroChannel, OmeroMetadata, Overlay, PointPickingResult, PriorityCategory, QueueStats, Region, SliceCoordinates, ViewportConfig };
1878
+ export { AxesLayer, Box2, Box3, Color, EventContext, Frustum, Idetik, ImageLayer, LabelLayer, Layer, LayerManager, Image as OmeZarrImage, OmeZarrImageSource, OrbitControls, OrthographicCamera, PanZoomControls, PerspectiveCamera, Plane, Points, Spherical, Texture2DArray, Texture3D, Viewport, VolumeLayer, WebGLRenderer, createExplorationPolicy, createImageSourcePolicy, createNoPrefetchPolicy, createPlaybackPolicy, loadOmeZarrPlate, loadOmeZarrWell, loadOmeroChannels, loadOmeroDefaults, parseViewportConfigs, validateNewViewport };
1879
+ export type { CameraControls, ChannelProps, ChannelsEnabled, Chunk, ChunkLoader, ColorLike, ImageLayerProps, ImageSourcePolicy, ImageSourcePolicyConfig, LabelColorMapProps, LabelLayerProps, LayerState, OmeroChannel, OmeroMetadata, Overlay, PointPickingResult, PriorityCategory, QueueStats, SliceCoordinates, ViewportConfig };