Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
20cc10f
PriorityCache updates
Jarbuckle Oct 2, 2025
64a4607
WIP
Jarbuckle Oct 2, 2025
e6d295d
Merge branch 'main' into joel/cached-loading
Jarbuckle Oct 2, 2025
c4db973
Merge branch 'main' into joel/cached-loading
Jarbuckle Oct 2, 2025
1ec2ad0
Fixed some linting issues
Jarbuckle Oct 2, 2025
118d46d
Fixed more linting warnings
Jarbuckle Oct 2, 2025
4cdf283
WIP 2
Jarbuckle Oct 3, 2025
9d8e7a0
Fmt updates
Jarbuckle Oct 3, 2025
0f671f2
Cleanup
Jarbuckle Oct 3, 2025
5130891
Un-export decoder (that's for later)
Jarbuckle Oct 3, 2025
7e0c526
WIP
Jarbuckle Oct 3, 2025
49540bf
Fixed how maxBytes is specified
Jarbuckle Oct 3, 2025
42e0098
Switched to using AsyncPriorityCache
Jarbuckle Oct 3, 2025
5ba1bed
Removed destroy() from CacheableByteArray
Jarbuckle Oct 3, 2025
42d1175
Merge branch 'joel/cached-loading' into joel/cached-omezarr-loading
Jarbuckle Oct 3, 2025
481f699
More WIP
Jarbuckle Oct 3, 2025
46098bf
Returned to PriorityCache over AsyncPriorityCache
Jarbuckle Oct 3, 2025
c56789a
Fmt fixes
Jarbuckle Oct 3, 2025
a829891
Added request tracking so aborting won't work if the same chunk is re…
Jarbuckle Oct 6, 2025
352cb5f
Fmt fixes
Jarbuckle Oct 6, 2025
5727f5c
Merge branch 'joel/cached-loading' into joel/cached-omezarr-loading
Jarbuckle Oct 6, 2025
8d1053a
Moved the WorkerMessage types to core
Jarbuckle Oct 6, 2025
18e4939
Fmt fixes
Jarbuckle Oct 6, 2025
dbf2d9e
Removed unnecessary waste in cached object handling
Jarbuckle Oct 6, 2025
57dcb6d
Added some robustness to error management
Jarbuckle Oct 6, 2025
abd8660
Made the WorkerPool a little more robust
Jarbuckle Oct 6, 2025
1512cdc
Moved WorkerPool to Core
Jarbuckle Oct 7, 2025
58b9ce1
Finished moving WorkerPool to Core
Jarbuckle Oct 7, 2025
5495aa0
Added worker status tracking. Added demo page.
Jarbuckle Oct 7, 2025
2fcfcb3
Added type: module to all packages
Jarbuckle Oct 7, 2025
4544178
Adding pnpm-lock
Jarbuckle Oct 7, 2025
8718c85
Removing "module": "path..." entries
Jarbuckle Oct 7, 2025
77413cc
Merge branch 'joel/cached-loading' into joel/cached-omezarr-loading
Jarbuckle Oct 7, 2025
6173de2
Merge branch 'joel/package-modules' into joel/cached-omezarr-loading
Jarbuckle Oct 7, 2025
696b07c
Merge branch 'main' into joel/cached-loading
Jarbuckle Oct 7, 2025
f0614b3
Merge branch 'joel/cached-loading' into joel/cached-omezarr-loading
Jarbuckle Oct 7, 2025
829eeca
Removing zod
Jarbuckle Oct 7, 2025
de3ad63
Fixes to Store
Jarbuckle Oct 7, 2025
64ec66a
Fmt fixes
Jarbuckle Oct 7, 2025
d3db4c0
Merge branch 'joel/cached-loading' into joel/cached-omezarr-loading
Jarbuckle Oct 7, 2025
6b5aa07
Silly me
Jarbuckle Oct 7, 2025
ca0d146
Merge branch 'joel/cached-loading' into joel/cached-omezarr-loading
Jarbuckle Oct 7, 2025
ed05092
some unit tests, most of which pass - one does not. I also made a sli…
froyo-np Oct 7, 2025
0671fe7
Updates to Store
Jarbuckle Oct 7, 2025
61f66ea
Fmt fixes
Jarbuckle Oct 7, 2025
851483f
Fixed type issues in test
Jarbuckle Oct 7, 2025
4ecd914
dont use onabort
froyo-np Oct 7, 2025
5797775
Update store.test to use updated Requesthandler contract
Jarbuckle Oct 7, 2025
3bb8d58
Merge branch 'joel/cached-loading' of https://github.com/AllenInstitu…
Jarbuckle Oct 7, 2025
5fecf61
only abort the inner request if the count is zero
froyo-np Oct 7, 2025
b8403fa
Merge branch 'joel/cached-loading' of https://github.com/AllenInstitu…
froyo-np Oct 7, 2025
5403640
Linting and formatting cleanup
Jarbuckle Oct 8, 2025
4e1f6cd
WIP
Jarbuckle Oct 8, 2025
5ecc1d0
Merge branch 'joel/cached-loading' into joel/cached-omezarr-loading
Jarbuckle Oct 8, 2025
e00a523
Merge branch 'main' into joel/cached-omezarr-rendering
Jarbuckle Oct 8, 2025
e66585d
Fixed Worker Pools to use IDs instead of indices for promises
Jarbuckle Oct 8, 2025
58f8eb7
Moved 'tile-renderer' to its own package and named it 'tile-rendering'
Jarbuckle Oct 8, 2025
170e6bf
Cleaned up outdated comment in loading.ts
Jarbuckle Oct 8, 2025
27827fa
Updated slice-renderer to use new tile-rendering nomenclature
Jarbuckle Oct 8, 2025
43197bc
First potentially-stable version
Jarbuckle Oct 9, 2025
9d93e90
Fmt and typecheck fixes
Jarbuckle Oct 9, 2025
253298b
Fixed up some typing and import issues
Jarbuckle Oct 9, 2025
f6bfb0c
Reorganized the planar renderer folder and type names
Jarbuckle Oct 9, 2025
ec367b0
Fmt fixes
Jarbuckle Oct 9, 2025
baf5e87
Some refactoring, adding calculations into data classes
Jarbuckle Oct 9, 2025
b50f683
Fmt fixes
Jarbuckle Oct 9, 2025
4c621ba
Cleaned up fileset.getLevel
Jarbuckle Oct 9, 2025
55b639f
Working on demo app + getting workers working
Jarbuckle Oct 10, 2025
63b7282
Fixed getNextInitializedWorker
Jarbuckle Oct 10, 2025
9b7ddd3
Fixes to get fetch to start
Jarbuckle Oct 10, 2025
b3b90a6
Fixes for various woopsies
Jarbuckle Oct 10, 2025
cf6a947
Some cleanup; added retries to getRange fetches
Jarbuckle Oct 10, 2025
4255feb
Fmt fixes
Jarbuckle Oct 10, 2025
b810610
Fixed store test
Jarbuckle Oct 13, 2025
60e7892
Fmt fixes
Jarbuckle Oct 13, 2025
3fb5b5c
Undoing unnecessary changes to tile rendering
Jarbuckle Oct 13, 2025
595cf5e
More reversion of changes
Jarbuckle Oct 13, 2025
6ed4208
And more :P
Jarbuckle Oct 13, 2025
eb9ac71
Yes?
Jarbuckle Oct 13, 2025
6b5dfed
Yes please?
Jarbuckle Oct 13, 2025
f82b34c
...
Jarbuckle Oct 13, 2025
0e73ac5
Removing unnecessary file
Jarbuckle Oct 13, 2025
479291e
Removed excess demo component
Jarbuckle Oct 13, 2025
7f4f13e
Fix typecheck issue
Jarbuckle Oct 13, 2025
f84d65e
Fixing some curious typecheck issues
Jarbuckle Oct 13, 2025
e7fe9b3
More fixes
Jarbuckle Oct 13, 2025
8bc5685
Revert "Moved 'tile-renderer' to its own package and named it 'tile-r…
Jarbuckle Oct 13, 2025
02618bc
Reverting buildTileRenderCommand
Jarbuckle Oct 13, 2025
2ab84e5
Woops!
Jarbuckle Oct 13, 2025
2fb893b
Reverting irrelevant change
Jarbuckle Oct 13, 2025
16cc4ff
WIP
Jarbuckle Oct 15, 2025
770eb3d
Merge branch 'main' into joel/override-existing-rendering-pipeline
Jarbuckle Oct 15, 2025
a8b5c45
Refinements
Jarbuckle Oct 15, 2025
33b342a
Merge branch 'main' into joel/override-existing-rendering-pipeline
Jarbuckle Oct 15, 2025
f6af76c
Removed redundant renderer
Jarbuckle Oct 15, 2025
e659e88
Removing old worker code from sliceview
Jarbuckle Oct 15, 2025
fcbf999
Cleanup, rearranging, and refinement
Jarbuckle Oct 15, 2025
ae86e44
Format fixes
Jarbuckle Oct 15, 2025
4c7e727
Removing unneeded demo files
Jarbuckle Oct 15, 2025
0f2149b
Updates to demo filesets; removal of old OME Zarr loading
Jarbuckle Oct 15, 2025
7205620
Undoing some pointless noise
Jarbuckle Oct 15, 2025
a2e7206
Some more example cleanup
Jarbuckle Oct 15, 2025
0954dd4
Fmt fix
Jarbuckle Oct 16, 2025
d4e7175
Fixing examples
Jarbuckle Oct 16, 2025
d8df692
Merge branch 'main' into joel/override-existing-rendering-pipeline
Jarbuckle Oct 16, 2025
c8de654
Removing unneeded change
Jarbuckle Oct 16, 2025
6d5dbf5
Fixed tests
Jarbuckle Oct 16, 2025
1a1756e
Fmt fixes
Jarbuckle Oct 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions packages/omezarr/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
export {
buildOmeZarrSliceRenderer,
buildAsyncOmezarrRenderer,
makeRGBColorChannels,
makeRenderSettings,
toZarrDataSpecifier,
type Decoder,
type VoxelTileImage,
type RenderSettings,
type RenderSettingsChannel,
Expand All @@ -25,37 +29,33 @@ export {
type OmeZarrOmeroChannelWindow,
type OmeZarrOmeroChannel,
type OmeZarrOmero,
type OmeZarrAttrs,
type OmeZarrArrayMetadata,
type OmeZarrData,
OmeZarrArrayTransform,
OmeZarrAxisSchema,
OmeZarrCoordinateTranslationSchema,
OmeZarrCoordinateScaleSchema,
OmeZarrCoordinateTransformSchema,
OmeZarrDatasetSchema,
OmeZarrGroupTransform,
OmeZarrMultiscaleSchema,
OmeZarrOmeroChannelWindowSchema,
OmeZarrOmeroChannelSchema,
OmeZarrOmeroSchema,
OmeZarrAttrsSchema,
OmeZarrMetadata,
type DehydratedOmeZarrArray,
type DehydratedOmeZarrMetadata,
} from './zarr/types';
export {
loadMetadata,
loadZarrArrayFile,
loadZarrAttrsFile,
pickBestScale,
loadSlice,
sizeInUnits,
sizeInVoxels,
nextSliceStep,
planeSizeInVoxels,
type ZarrRequest,
} from './zarr/loading';
CachedOmeZarrConnection,
type OmeZarrConnection,
type ZarrDataSpecifier,
} from './zarr/connection';

export { type CancelRequest, type ZarrSliceRequest, makeOmeZarrSliceLoaderWorker } from './sliceview/worker-loader';
export { decoderFactory } from './zarr/cache-lower';
export {
type OmeZarrLevelSpecifier,
type OmeZarrMultiscaleSpecifier,
OmeZarrMetadata,
} from './zarr/metadata';
export { OmeZarrLevel } from './zarr/level';
export {} from './zarr/omezarr-transforms';
// export { decoderFactory } from './zarr/cache-lower';
export { setupFetchDataWorker } from './zarr/cached-loading/fetch-data.worker-loader';
export {
type TransferrableRequestInit,
Expand Down
253 changes: 253 additions & 0 deletions packages/omezarr/src/sliceview/loader.test-data.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,253 @@
import { OmeZarrMetadata } from '../zarr/metadata';

export const exampleOmeZarr: OmeZarrMetadata = new OmeZarrMetadata(
new URL('https://allen-genetic-tools.s3.us-west-2.amazonaws.com/tissuecyte/1263343692/ome-zarr/'),
{
nodeType: 'group',
zarrFormat: 3,
attributes: {
multiscales: [
{
name: 'test',
version: '2',
axes: [
{
name: 'c',
type: 'channel',
unit: 'millimeter',
},
{
name: 'z',
type: 'space',
unit: 'millimeter',
},
{
name: 'y',
type: 'space',
unit: 'millimeter',
},
{
name: 'x',
type: 'space',
unit: 'millimeter',
},
],
datasets: [
{
coordinateTransformations: [
{
scale: [1, 0.1, 0.00035, 0.00035],
type: 'scale',
},
{
translation: [0, 0, 0, 0],
type: 'translation',
},
],
path: '0',
},
{
coordinateTransformations: [
{
scale: [1, 0.1, 0.0007, 0.0007],
type: 'scale',
},
{
translation: [0, 0, 0.00035, 0.00035],
type: 'translation',
},
],
path: '1',
},
{
coordinateTransformations: [
{
scale: [1, 0.1, 0.0014, 0.0014],
type: 'scale',
},
{
translation: [0, 0, 0.00105, 0.00105],
type: 'translation',
},
],
path: '2',
},
{
coordinateTransformations: [
{
scale: [1, 0.1, 0.0028, 0.0028],
type: 'scale',
},
{
translation: [0, 0, 0.00245, 0.00245],
type: 'translation',
},
],
path: '3',
},
{
coordinateTransformations: [
{
scale: [1, 0.1, 0.0056, 0.0056],
type: 'scale',
},
{
translation: [0, 0, 0.00525, 0.00525],
type: 'translation',
},
],
path: '4',
},
{
coordinateTransformations: [
{
scale: [1, 0.1, 0.0112, 0.0112],
type: 'scale',
},
{
translation: [0, 0, 0.01085, 0.01085],
type: 'translation',
},
],
path: '5',
},
{
coordinateTransformations: [
{
scale: [1, 0.1, 0.0224, 0.0224],
type: 'scale',
},
{
translation: [0, 0, 0.02205, 0.02205],
type: 'translation',
},
],
path: '6',
},
{
coordinateTransformations: [
{
scale: [1, 0.1, 0.0448, 0.0448],
type: 'scale',
},
{
translation: [0, 0, 0.044449999999999996, 0.044449999999999996],
type: 'translation',
},
],
path: '7',
},
{
coordinateTransformations: [
{
scale: [1, 0.1, 0.0896, 0.0896],
type: 'scale',
},
{
translation: [0, 0, 0.08925, 0.08925],
type: 'translation',
},
],
path: '8',
},
{
coordinateTransformations: [
{
scale: [1, 0.1, 0.1792, 0.1792],
type: 'scale',
},
{
translation: [0, 0, 0.17885, 0.17885],
type: 'translation',
},
],
path: '9',
},
],
},
],
},
},
{
'/0': {
nodeType: 'array',
path: '0',
chunkShape: [],
dataType: 'float32',
shape: [3, 142, 29998, 39998],
attributes: {},
},
'/1': {
nodeType: 'array',
path: '1',
chunkShape: [],
dataType: 'float32',
shape: [3, 142, 14999, 19999],
attributes: {},
},
'/2': {
nodeType: 'array',
path: '2',
chunkShape: [],
dataType: 'float32',
shape: [3, 142, 7499, 9999],
attributes: {},
},
'/3': {
nodeType: 'array',
path: '2',
chunkShape: [],
dataType: 'float32',
shape: [3, 142, 3749, 4999],
attributes: {},
},
'/4': {
nodeType: 'array',
path: '2',
chunkShape: [],
dataType: 'float32',
shape: [3, 142, 1874, 2499],
attributes: {},
},
'/5': {
nodeType: 'array',
path: '2',
chunkShape: [],
dataType: 'float32',
shape: [3, 142, 937, 1249],
attributes: {},
},
'/6': {
nodeType: 'array',
path: '2',
chunkShape: [],
dataType: 'float32',
shape: [3, 142, 468, 624],
attributes: {},
},
'/7': {
nodeType: 'array',
path: '2',
chunkShape: [],
dataType: 'float32',
shape: [3, 142, 234, 312],
attributes: {},
},
'/8': {
nodeType: 'array',
path: '2',
chunkShape: [],
dataType: 'float32',
shape: [3, 142, 117, 156],
attributes: {},
},
'/9': {
nodeType: 'array',
path: '2',
chunkShape: [],
dataType: 'float32',
shape: [3, 142, 58, 78],
attributes: {},
},
},
);
Loading