@vitessce/all 3.1.2 → 3.2.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/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { f, P, h, d, V, z } from "./index-b711b37e.js";
1
+ import { f, P, h, d, V, z } from "./index-d4cd1fef.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-b711b37e.js";
1
+ import { B as BaseDecoder } from "./index-d4cd1fef.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-68f84e2a.js";
2
- import { g as getDefaultExportFromCjs, B as BaseDecoder, L as LercParameters, a as LercAddCompression } from "./index-b711b37e.js";
2
+ import { g as getDefaultExportFromCjs, B as BaseDecoder, L as LercParameters, a as LercAddCompression } from "./index-d4cd1fef.js";
3
3
  import "react";
4
4
  import "@vitessce/vit-s";
5
5
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-b711b37e.js";
1
+ import { B as BaseDecoder } from "./index-d4cd1fef.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-b711b37e.js";
1
+ import { B as BaseDecoder } from "./index-d4cd1fef.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-b711b37e.js";
1
+ import { B as BaseDecoder } from "./index-d4cd1fef.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-b711b37e.js";
1
+ import { B as BaseDecoder } from "./index-d4cd1fef.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -62,6 +62,26 @@ export declare const baseJointFileTypes: (PluginJointFileType<z.ZodObject<{
62
62
  name: string;
63
63
  scorePath?: string | undefined;
64
64
  }>, "many">>;
65
+ obsSpots: z.ZodOptional<z.ZodObject<{
66
+ path: z.ZodString;
67
+ dims: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
68
+ }, "strip", z.ZodTypeAny, {
69
+ path: string;
70
+ dims?: number[] | undefined;
71
+ }, {
72
+ path: string;
73
+ dims?: number[] | undefined;
74
+ }>>;
75
+ obsPoints: z.ZodOptional<z.ZodObject<{
76
+ path: z.ZodString;
77
+ dims: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ path: string;
80
+ dims?: number[] | undefined;
81
+ }, {
82
+ path: string;
83
+ dims?: number[] | undefined;
84
+ }>>;
65
85
  obsLocations: z.ZodOptional<z.ZodObject<{
66
86
  path: z.ZodString;
67
87
  dims: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
@@ -124,6 +144,14 @@ export declare const baseJointFileTypes: (PluginJointFileType<z.ZodObject<{
124
144
  name: string;
125
145
  scorePath?: string | undefined;
126
146
  }[] | undefined;
147
+ obsSpots?: {
148
+ path: string;
149
+ dims?: number[] | undefined;
150
+ } | undefined;
151
+ obsPoints?: {
152
+ path: string;
153
+ dims?: number[] | undefined;
154
+ } | undefined;
127
155
  obsLocations?: {
128
156
  path: string;
129
157
  dims?: number[] | undefined;
@@ -162,6 +190,14 @@ export declare const baseJointFileTypes: (PluginJointFileType<z.ZodObject<{
162
190
  name: string;
163
191
  scorePath?: string | undefined;
164
192
  }[] | undefined;
193
+ obsSpots?: {
194
+ path: string;
195
+ dims?: number[] | undefined;
196
+ } | undefined;
197
+ obsPoints?: {
198
+ path: string;
199
+ dims?: number[] | undefined;
200
+ } | undefined;
165
201
  obsLocations?: {
166
202
  path: string;
167
203
  dims?: number[] | undefined;
@@ -691,7 +727,7 @@ export declare const baseCoordinationTypes: (PluginCoordinationType<z.ZodNullabl
691
727
  }, {
692
728
  path: string[];
693
729
  color: number[];
694
- }>, "many">>> | PluginCoordinationType<z.ZodEnum<["geneSelection", "cellSetSelection"]>> | PluginCoordinationType<z.ZodNullable<z.ZodEnum<["log1p", "arcsinh"]>>> | PluginCoordinationType<z.ZodArray<z.ZodNumber, "many">> | PluginCoordinationType<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodObject<{
730
+ }>, "many">>> | PluginCoordinationType<z.ZodEnum<["geneSelection", "cellSetSelection", "spatialChannelColor", "spatialLayerColor", "obsLabels"]>> | PluginCoordinationType<z.ZodNullable<z.ZodEnum<["log1p", "arcsinh"]>>> | PluginCoordinationType<z.ZodArray<z.ZodNumber, "many">> | PluginCoordinationType<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodObject<{
695
731
  version: z.ZodLiteral<"0.1.3">;
696
732
  tree: z.ZodArray<z.ZodType<{
697
733
  name: string;
@@ -850,5 +886,5 @@ export declare const baseCoordinationTypes: (PluginCoordinationType<z.ZodNullabl
850
886
  color?: number[] | undefined;
851
887
  })[];
852
888
  })[];
853
- }>>>)[];
889
+ }>>> | PluginCoordinationType<z.ZodNullable<z.ZodArray<z.ZodNumber, "many">>> | PluginCoordinationType<z.ZodNullable<z.ZodEnum<["BlackIsZero", "RGB"]>>> | PluginCoordinationType<z.ZodNullable<z.ZodEnum<["2D", "3D"]>>> | PluginCoordinationType<z.ZodEnum<["maximumIntensityProjection", "additive"]>> | PluginCoordinationType<z.ZodEnum<["vertical", "horizontal"]>>)[];
854
890
  //# sourceMappingURL=base-plugins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"AASA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,CAAC,EA4BF,MAAM,mBAAmB,CAAC;AAoG3B,eAAO,MAAM,aAAa,kBAezB,CAAC;AAEF,eAAO,MAAM,aAAa,wDA8CzB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAc9B,CAAC;AAIF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4IjC,CAAC"}
1
+ {"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"AASA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,CAAC,EAgCF,MAAM,mBAAmB,CAAC;AA0G3B,eAAO,MAAM,aAAa,kBAiBzB,CAAC;AAEF,eAAO,MAAM,aAAa,wDAoDzB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAc9B,CAAC;AAIF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4WAmLjC,CAAC"}
@@ -1,22 +1,24 @@
1
1
  import { FileType, DataType, ViewType, CoordinationType, COMPONENT_COORDINATION_TYPES, } from '@vitessce/constants-internal';
2
2
  import { PluginFileType, PluginJointFileType, PluginViewType, PluginCoordinationType, } from '@vitessce/plugins';
3
- import { z, obsEmbeddingCsvSchema, obsSetsCsvSchema, obsLocationsCsvSchema, obsLabelsCsvSchema, featureLabelsCsvSchema, obsSetsAnndataSchema, obsEmbeddingAnndataSchema, obsLocationsAnndataSchema, obsLabelsAnndataSchema, obsFeatureMatrixAnndataSchema, obsSegmentationsAnndataSchema, featureLabelsAnndataSchema, rasterJsonSchema, anndataZarrSchema, anndataCellsZarrSchema, anndataCellSetsZarrSchema, anndataExpressionMatrixZarrSchema, cellsJsonSchema, imageOmeZarrSchema, imageOmeTiffSchema, obsSetPath, rgbArray, obsSetsSchema, imageLayerObj, cellsLayerObj, neighborhoodsLayerObj, moleculesLayerObj, } from '@vitessce/schemas';
3
+ import { z, obsEmbeddingCsvSchema, obsSetsCsvSchema, obsSpotsCsvSchema, obsPointsCsvSchema, obsLocationsCsvSchema, obsLabelsCsvSchema, featureLabelsCsvSchema, obsSetsAnndataSchema, obsEmbeddingAnndataSchema, obsSpotsAnndataSchema, obsPointsAnndataSchema, obsLocationsAnndataSchema, obsLabelsAnndataSchema, obsFeatureMatrixAnndataSchema, obsSegmentationsAnndataSchema, featureLabelsAnndataSchema, rasterJsonSchema, anndataZarrSchema, anndataCellsZarrSchema, anndataCellSetsZarrSchema, anndataExpressionMatrixZarrSchema, cellsJsonSchema, imageOmeZarrSchema, imageOmeTiffSchema, obsSetPath, rgbArray, obsSetsSchema, imageLayerObj, cellsLayerObj, neighborhoodsLayerObj, moleculesLayerObj, } from '@vitessce/schemas';
4
4
  // Register view type plugins
5
5
  import { DescriptionSubscriber } from '@vitessce/description';
6
6
  import { ObsSetsManagerSubscriber } from '@vitessce/obs-sets-manager';
7
7
  import { EmbeddingScatterplotSubscriber } from '@vitessce/scatterplot-embedding';
8
8
  import { GatingSubscriber } from '@vitessce/scatterplot-gating';
9
9
  import { SpatialSubscriber } from '@vitessce/spatial';
10
+ import { SpatialBetaSubscriber } from '@vitessce/spatial-beta';
10
11
  import { HeatmapSubscriber } from '@vitessce/heatmap';
11
12
  import { FeatureListSubscriber } from '@vitessce/feature-list';
12
13
  import { LayerControllerSubscriber } from '@vitessce/layer-controller';
14
+ import { LayerControllerBetaSubscriber } from '@vitessce/layer-controller-beta';
13
15
  import { StatusSubscriber } from '@vitessce/status';
14
16
  import { HiGlassSubscriber, GenomicProfilesSubscriber } from '@vitessce/genomic-profiles';
15
17
  import { CellSetExpressionPlotSubscriber, CellSetSizesPlotSubscriber, ExpressionHistogramSubscriber, } from '@vitessce/statistical-plots';
16
18
  // Register file type plugins
17
19
  import {
18
20
  // CSV
19
- CsvSource, ObsSetsCsvLoader, ObsEmbeddingCsvLoader, ObsLocationsCsvLoader, ObsLabelsCsvLoader, ObsFeatureMatrixCsvLoader, FeatureLabelsCsvLoader, } from '@vitessce/csv';
21
+ CsvSource, ObsSetsCsvLoader, ObsEmbeddingCsvLoader, ObsSpotsCsvLoader, ObsPointsCsvLoader, ObsLocationsCsvLoader, ObsLabelsCsvLoader, ObsFeatureMatrixCsvLoader, FeatureLabelsCsvLoader, } from '@vitessce/csv';
20
22
  import {
21
23
  // JSON
22
24
  JsonSource, JsonLoader, ObsSegmentationsJsonLoader, ObsSetsJsonLoader,
@@ -24,7 +26,7 @@ JsonSource, JsonLoader, ObsSegmentationsJsonLoader, ObsSetsJsonLoader,
24
26
  RasterJsonAsImageLoader, RasterJsonAsObsSegmentationsLoader, ClustersJsonAsObsFeatureMatrixLoader, GenesJsonAsObsFeatureMatrixLoader, CellsJsonAsObsLabelsLoader, CellsJsonAsObsEmbeddingLoader, CellsJsonAsObsLocationsLoader, CellsJsonAsObsSegmentationsLoader, MoleculesJsonAsObsLocationsLoader, MoleculesJsonAsObsLabelsLoader, } from '@vitessce/json';
25
27
  import {
26
28
  // AnnData
27
- AnnDataSource, ObsFeatureMatrixAnndataLoader, ObsEmbeddingAnndataLoader, ObsLocationsAnndataLoader, ObsSegmentationsAnndataLoader, ObsSetsAnndataLoader, ObsLabelsAnndataLoader, FeatureLabelsAnndataLoader,
29
+ AnnDataSource, ObsFeatureMatrixAnndataLoader, ObsEmbeddingAnndataLoader, ObsSpotsAnndataLoader, ObsPointsAnndataLoader, ObsLocationsAnndataLoader, ObsSegmentationsAnndataLoader, ObsSetsAnndataLoader, ObsLabelsAnndataLoader, FeatureLabelsAnndataLoader,
28
30
  // MuData
29
31
  MuDataSource,
30
32
  // OME
@@ -48,9 +50,11 @@ export const baseViewTypes = [
48
50
  makeViewType(ViewType.SCATTERPLOT, EmbeddingScatterplotSubscriber),
49
51
  makeViewType(ViewType.GATING, GatingSubscriber),
50
52
  makeViewType(ViewType.SPATIAL, SpatialSubscriber),
53
+ makeViewType(ViewType.SPATIAL_BETA, SpatialBetaSubscriber),
51
54
  makeViewType(ViewType.HEATMAP, HeatmapSubscriber),
52
55
  makeViewType(ViewType.FEATURE_LIST, FeatureListSubscriber),
53
56
  makeViewType(ViewType.LAYER_CONTROLLER, LayerControllerSubscriber),
57
+ makeViewType(ViewType.LAYER_CONTROLLER_BETA, LayerControllerBetaSubscriber),
54
58
  makeViewType(ViewType.STATUS, StatusSubscriber),
55
59
  makeViewType(ViewType.OBS_SET_FEATURE_VALUE_DISTRIBUTION, CellSetExpressionPlotSubscriber),
56
60
  makeViewType(ViewType.OBS_SET_SIZES, CellSetSizesPlotSubscriber),
@@ -62,6 +66,8 @@ export const baseFileTypes = [
62
66
  // All CSV file types
63
67
  makeFileType(FileType.OBS_SETS_CSV, DataType.OBS_SETS, ObsSetsCsvLoader, CsvSource, obsSetsCsvSchema),
64
68
  makeFileType(FileType.OBS_EMBEDDING_CSV, DataType.OBS_EMBEDDING, ObsEmbeddingCsvLoader, CsvSource, obsEmbeddingCsvSchema),
69
+ makeFileType(FileType.OBS_SPOTS_CSV, DataType.OBS_SPOTS, ObsSpotsCsvLoader, CsvSource, obsSpotsCsvSchema),
70
+ makeFileType(FileType.OBS_POINTS_CSV, DataType.OBS_POINTS, ObsPointsCsvLoader, CsvSource, obsPointsCsvSchema),
65
71
  makeFileType(FileType.OBS_LOCATIONS_CSV, DataType.OBS_LOCATIONS, ObsLocationsCsvLoader, CsvSource, obsLocationsCsvSchema),
66
72
  makeFileType(FileType.OBS_LABELS_CSV, DataType.OBS_LABELS, ObsLabelsCsvLoader, CsvSource, obsLabelsCsvSchema),
67
73
  makeFileType(FileType.OBS_FEATURE_MATRIX_CSV, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixCsvLoader, CsvSource, z.null()),
@@ -72,6 +78,8 @@ export const baseFileTypes = [
72
78
  // All AnnData file types
73
79
  makeFileType(FileType.OBS_SETS_ANNDATA_ZARR, DataType.OBS_SETS, ObsSetsAnndataLoader, AnnDataSource, obsSetsAnndataSchema),
74
80
  makeFileType(FileType.OBS_EMBEDDING_ANNDATA_ZARR, DataType.OBS_EMBEDDING, ObsEmbeddingAnndataLoader, AnnDataSource, obsEmbeddingAnndataSchema),
81
+ makeFileType(FileType.OBS_SPOTS_ANNDATA_ZARR, DataType.OBS_SPOTS, ObsSpotsAnndataLoader, AnnDataSource, obsSpotsAnndataSchema),
82
+ makeFileType(FileType.OBS_POINTS_ANNDATA_ZARR, DataType.OBS_POINTS, ObsPointsAnndataLoader, AnnDataSource, obsPointsAnndataSchema),
75
83
  makeFileType(FileType.OBS_LOCATIONS_ANNDATA_ZARR, DataType.OBS_LOCATIONS, ObsLocationsAnndataLoader, AnnDataSource, obsLocationsAnndataSchema),
76
84
  makeFileType(FileType.OBS_LABELS_ANNDATA_ZARR, DataType.OBS_LABELS, ObsLabelsAnndataLoader, AnnDataSource, obsLabelsAnndataSchema),
77
85
  makeFileType(FileType.OBS_FEATURE_MATRIX_ANNDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, AnnDataSource, obsFeatureMatrixAnndataSchema),
@@ -80,6 +88,8 @@ export const baseFileTypes = [
80
88
  // All MuData file types
81
89
  makeFileType(FileType.OBS_SETS_MUDATA_ZARR, DataType.OBS_SETS, ObsSetsAnndataLoader, MuDataSource, obsSetsAnndataSchema),
82
90
  makeFileType(FileType.OBS_EMBEDDING_MUDATA_ZARR, DataType.OBS_EMBEDDING, ObsEmbeddingAnndataLoader, MuDataSource, obsEmbeddingAnndataSchema),
91
+ makeFileType(FileType.OBS_SPOTS_MUDATA_ZARR, DataType.OBS_SPOTS, ObsSpotsAnndataLoader, MuDataSource, obsSpotsAnndataSchema),
92
+ makeFileType(FileType.OBS_POINTS_MUDATA_ZARR, DataType.OBS_POINTS, ObsPointsAnndataLoader, MuDataSource, obsPointsAnndataSchema),
83
93
  makeFileType(FileType.OBS_LOCATIONS_MUDATA_ZARR, DataType.OBS_LOCATIONS, ObsLocationsAnndataLoader, MuDataSource, obsLocationsAnndataSchema),
84
94
  makeFileType(FileType.OBS_LABELS_MUDATA_ZARR, DataType.OBS_LABELS, ObsLabelsAnndataLoader, MuDataSource, obsLabelsAnndataSchema),
85
95
  makeFileType(FileType.OBS_FEATURE_MATRIX_MUDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, MuDataSource, obsFeatureMatrixAnndataSchema),
@@ -148,9 +158,9 @@ export const baseCoordinationTypes = [
148
158
  new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_X, null, z.number().nullable()),
149
159
  new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_Y, null, z.number().nullable()),
150
160
  new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_Z, null, z.number().nullable()),
151
- new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_X, null, z.number().nullable()),
152
- new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_Y, null, z.number().nullable()),
153
- new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_Z, null, z.number().nullable()),
161
+ new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_X, 0, z.number().nullable()),
162
+ new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_Y, 0, z.number().nullable()),
163
+ new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_Z, 0, z.number().nullable()),
154
164
  new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_ORBIT, 0, z.number().nullable()),
155
165
  new PluginCoordinationType(CoordinationType.SPATIAL_ORBIT_AXIS, 'Y', z.string().nullable()),
156
166
  new PluginCoordinationType(CoordinationType.SPATIAL_AXIS_FIXED, false, z.boolean().nullable()),
@@ -173,7 +183,7 @@ export const baseCoordinationTypes = [
173
183
  path: obsSetPath,
174
184
  color: rgbArray,
175
185
  })).nullable()),
176
- new PluginCoordinationType(CoordinationType.OBS_COLOR_ENCODING, 'cellSetSelection', z.enum(['geneSelection', 'cellSetSelection'])),
186
+ new PluginCoordinationType(CoordinationType.OBS_COLOR_ENCODING, 'cellSetSelection', z.enum(['geneSelection', 'cellSetSelection', 'spatialChannelColor', 'spatialLayerColor', 'obsLabels'])),
177
187
  new PluginCoordinationType(CoordinationType.FEATURE_FILTER, null, z.array(z.string()).nullable()),
178
188
  new PluginCoordinationType(CoordinationType.FEATURE_HIGHLIGHT, null, z.string().nullable()),
179
189
  new PluginCoordinationType(CoordinationType.FEATURE_SELECTION, null, z.array(z.string()).nullable()),
@@ -190,4 +200,43 @@ export const baseCoordinationTypes = [
190
200
  new PluginCoordinationType(CoordinationType.GENOMIC_TARGET_Y, 1549999999.5, z.number()),
191
201
  new PluginCoordinationType(CoordinationType.ADDITIONAL_OBS_SETS, null, obsSetsSchema.nullable()),
192
202
  new PluginCoordinationType(CoordinationType.MOLECULE_HIGHLIGHT, null, z.string().nullable()),
203
+ new PluginCoordinationType(CoordinationType.FILE_UID, null, z.string().nullable()),
204
+ new PluginCoordinationType(CoordinationType.IMAGE_LAYER, null, z.string().nullable()),
205
+ new PluginCoordinationType(CoordinationType.IMAGE_CHANNEL, null, z.string().nullable()),
206
+ new PluginCoordinationType(CoordinationType.SEGMENTATION_LAYER, null, z.string().nullable()),
207
+ new PluginCoordinationType(CoordinationType.SEGMENTATION_CHANNEL, null, z.string().nullable()),
208
+ new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_C, null, z.number().nullable()),
209
+ new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_Z, null, z.number().nullable()),
210
+ new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_T, null, z.number().nullable()),
211
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_VISIBLE, true, z.boolean()),
212
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_OPACITY, 1.0, z.number()),
213
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_COLORMAP, null, z.string().nullable()),
214
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_TRANSPARENT_COLOR, null, z.array(z.number()).length(3).nullable()),
215
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_MODEL_MATRIX, null, z.array(z.number()).length(16).nullable()),
216
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_VISIBLE, true, z.boolean()),
217
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_OPACITY, 1.0, z.number()),
218
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_WINDOW, null, z.array(z.number()).length(2).nullable()),
219
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_COLOR, null, z.array(z.number()).length(3).nullable()),
220
+ new PluginCoordinationType(CoordinationType.SPATIAL_SEGMENTATION_FILLED, true, z.boolean()),
221
+ new PluginCoordinationType(CoordinationType.SPATIAL_SEGMENTATION_STROKE_WIDTH, 1.0, z.number()),
222
+ // Reference: https://www.awaresystems.be/imaging/tiff/tifftags/photometricinterpretation.html
223
+ new PluginCoordinationType(CoordinationType.PHOTOMETRIC_INTERPRETATION, null, z.enum(['BlackIsZero', 'RGB']).nullable()),
224
+ new PluginCoordinationType(CoordinationType.SPATIAL_RENDERING_MODE, '2D', z.enum(['2D', '3D']).nullable()),
225
+ new PluginCoordinationType(CoordinationType.VOLUMETRIC_RENDERING_ALGORITHM, 'additive', z.enum(['maximumIntensityProjection', 'additive'])),
226
+ new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_RESOLUTION, 0, z.number().nullable()),
227
+ new PluginCoordinationType(CoordinationType.SPATIAL_SLICE_X, null, z.array(z.number()).length(2).nullable()),
228
+ new PluginCoordinationType(CoordinationType.SPATIAL_SLICE_Y, null, z.array(z.number()).length(2).nullable()),
229
+ new PluginCoordinationType(CoordinationType.SPATIAL_SLICE_Z, null, z.array(z.number()).length(2).nullable()),
230
+ new PluginCoordinationType(CoordinationType.SPOT_LAYER, null, z.string().nullable()),
231
+ new PluginCoordinationType(CoordinationType.POINT_LAYER, null, z.string().nullable()),
232
+ new PluginCoordinationType(CoordinationType.SPATIAL_SPOT_RADIUS, 25.0, z.number().nullable()),
233
+ new PluginCoordinationType(CoordinationType.SPATIAL_SPOT_FILLED, true, z.boolean()),
234
+ new PluginCoordinationType(CoordinationType.SPATIAL_SPOT_STROKE_WIDTH, 1.0, z.number()),
235
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_COLOR, null, z.array(z.number()).length(3).nullable()),
236
+ new PluginCoordinationType(CoordinationType.PIXEL_HIGHLIGHT, null, z.array(z.number()).length(3).nullable()),
237
+ new PluginCoordinationType(CoordinationType.TOOLTIP_CROSSHAIRS_VISIBLE, true, z.boolean()),
238
+ new PluginCoordinationType(CoordinationType.LEGEND_VISIBLE, true, z.boolean()),
239
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_LABELS_VISIBLE, true, z.boolean()),
240
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_LABELS_ORIENTATION, 'vertical', z.enum(['vertical', 'horizontal'])),
241
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_LABEL_SIZE, 14, z.number()),
193
242
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"joint-file-types.d.ts","sourceRoot":"","sources":["../src/joint-file-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAS7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,SAmI7E"}
1
+ {"version":3,"file":"joint-file-types.d.ts","sourceRoot":"","sources":["../src/joint-file-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAe7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,SAuK7E"}
@@ -1,4 +1,9 @@
1
1
  import { FileType } from '@vitessce/constants-internal';
2
+ const expectedCoordinationTypes = [
3
+ 'obsType', 'featureType', 'featureValueType',
4
+ 'featureLabelsType', 'obsLabelsType',
5
+ 'embeddingType',
6
+ ];
2
7
  export function expandAnndataZarr(fileDef) {
3
8
  const baseFileDef = {
4
9
  url: fileDef.url,
@@ -10,6 +15,12 @@ export function expandAnndataZarr(fileDef) {
10
15
  featureValueType: fileDef.coordinationValues?.featureValueType || 'expression',
11
16
  },
12
17
  };
18
+ const extraCoordinationValues = {};
19
+ Object.entries(baseFileDef.coordinationValues).forEach(([key, value]) => {
20
+ if (!expectedCoordinationTypes.includes(key)) {
21
+ extraCoordinationValues[key] = value;
22
+ }
23
+ });
13
24
  const { options = {} } = fileDef;
14
25
  return [
15
26
  // obsFeatureMatrix
@@ -18,6 +29,7 @@ export function expandAnndataZarr(fileDef) {
18
29
  fileType: FileType.OBS_FEATURE_MATRIX_ANNDATA_ZARR,
19
30
  options: options.obsFeatureMatrix,
20
31
  coordinationValues: {
32
+ ...extraCoordinationValues,
21
33
  obsType: baseFileDef.coordinationValues.obsType,
22
34
  featureType: baseFileDef.coordinationValues.featureType,
23
35
  featureValueType: baseFileDef.coordinationValues.featureValueType,
@@ -29,6 +41,27 @@ export function expandAnndataZarr(fileDef) {
29
41
  fileType: FileType.OBS_SETS_ANNDATA_ZARR,
30
42
  options: options.obsSets,
31
43
  coordinationValues: {
44
+ ...extraCoordinationValues,
45
+ obsType: baseFileDef.coordinationValues.obsType,
46
+ },
47
+ }] : []),
48
+ // obsSpots
49
+ ...(options.obsSpots ? [{
50
+ ...baseFileDef,
51
+ fileType: FileType.OBS_SPOTS_ANNDATA_ZARR,
52
+ options: options.obsSpots,
53
+ coordinationValues: {
54
+ ...extraCoordinationValues,
55
+ obsType: baseFileDef.coordinationValues.obsType,
56
+ },
57
+ }] : []),
58
+ // obsPoints
59
+ ...(options.obsPoints ? [{
60
+ ...baseFileDef,
61
+ fileType: FileType.OBS_POINTS_ANNDATA_ZARR,
62
+ options: options.obsPoints,
63
+ coordinationValues: {
64
+ ...extraCoordinationValues,
32
65
  obsType: baseFileDef.coordinationValues.obsType,
33
66
  },
34
67
  }] : []),
@@ -38,6 +71,7 @@ export function expandAnndataZarr(fileDef) {
38
71
  fileType: FileType.OBS_LOCATIONS_ANNDATA_ZARR,
39
72
  options: options.obsLocations,
40
73
  coordinationValues: {
74
+ ...extraCoordinationValues,
41
75
  obsType: baseFileDef.coordinationValues.obsType,
42
76
  },
43
77
  }] : []),
@@ -47,6 +81,7 @@ export function expandAnndataZarr(fileDef) {
47
81
  fileType: FileType.OBS_SEGMENTATIONS_ANNDATA_ZARR,
48
82
  options: options.obsSegmentations,
49
83
  coordinationValues: {
84
+ ...extraCoordinationValues,
50
85
  obsType: baseFileDef.coordinationValues.obsType,
51
86
  },
52
87
  }] : []),
@@ -61,6 +96,7 @@ export function expandAnndataZarr(fileDef) {
61
96
  dims: oe.dims,
62
97
  },
63
98
  coordinationValues: {
99
+ ...extraCoordinationValues,
64
100
  obsType: baseFileDef.coordinationValues.obsType,
65
101
  // Move embedding type property out of options and into coordinationValues.
66
102
  embeddingType: oe.embeddingType,
@@ -71,6 +107,7 @@ export function expandAnndataZarr(fileDef) {
71
107
  fileType: FileType.OBS_EMBEDDING_ANNDATA_ZARR,
72
108
  options: options.obsEmbedding,
73
109
  coordinationValues: {
110
+ ...extraCoordinationValues,
74
111
  obsType: baseFileDef.coordinationValues.obsType,
75
112
  embeddingType: baseFileDef.coordinationValues.embeddingType,
76
113
  },
@@ -85,6 +122,7 @@ export function expandAnndataZarr(fileDef) {
85
122
  path: ol.path,
86
123
  },
87
124
  coordinationValues: {
125
+ ...extraCoordinationValues,
88
126
  obsType: baseFileDef.coordinationValues.obsType,
89
127
  // Move obsLabels type property out of options and into coordinationValues.
90
128
  obsLabelsType: ol.obsLabelsType,
@@ -95,6 +133,7 @@ export function expandAnndataZarr(fileDef) {
95
133
  fileType: FileType.OBS_LABELS_ANNDATA_ZARR,
96
134
  options: options.obsLabels,
97
135
  coordinationValues: {
136
+ ...extraCoordinationValues,
98
137
  obsType: baseFileDef.coordinationValues.obsType,
99
138
  obsLabelsType: baseFileDef.coordinationValues.obsLabelsType,
100
139
  },
@@ -109,6 +148,7 @@ export function expandAnndataZarr(fileDef) {
109
148
  path: fl.path,
110
149
  },
111
150
  coordinationValues: {
151
+ ...extraCoordinationValues,
112
152
  featureType: baseFileDef.coordinationValues.featureType,
113
153
  // Move featureLabels type property out of options and into coordinationValues.
114
154
  featureLabelsType: fl.featureLabelsType,
@@ -119,6 +159,7 @@ export function expandAnndataZarr(fileDef) {
119
159
  fileType: FileType.FEATURE_LABELS_ANNDATA_ZARR,
120
160
  options: options.featureLabels,
121
161
  coordinationValues: {
162
+ ...extraCoordinationValues,
122
163
  featureType: baseFileDef.coordinationValues.featureType,
123
164
  featureLabelsType: baseFileDef.coordinationValues.featureLabelsType,
124
165
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/all",
3
- "version": "3.1.2",
3
+ "version": "3.2.0",
4
4
  "author": "Gehlenborg Lab",
5
5
  "homepage": "http://vitessce.io",
6
6
  "repository": {
@@ -18,25 +18,27 @@
18
18
  "dependencies": {
19
19
  "@material-ui/core": "~4.12.3",
20
20
  "zod": "^3.21.4",
21
- "@vitessce/constants-internal": "3.1.2",
22
- "@vitessce/description": "3.1.2",
23
- "@vitessce/csv": "3.1.2",
24
- "@vitessce/feature-list": "3.1.2",
25
- "@vitessce/genomic-profiles": "3.1.2",
26
- "@vitessce/heatmap": "3.1.2",
27
- "@vitessce/json": "3.1.2",
28
- "@vitessce/layer-controller": "3.1.2",
29
- "@vitessce/obs-sets-manager": "3.1.2",
30
- "@vitessce/ome-tiff": "3.1.2",
31
- "@vitessce/plugins": "3.1.2",
32
- "@vitessce/scatterplot-embedding": "3.1.2",
33
- "@vitessce/scatterplot-gating": "3.1.2",
34
- "@vitessce/schemas": "3.1.2",
35
- "@vitessce/spatial": "3.1.2",
36
- "@vitessce/statistical-plots": "3.1.2",
37
- "@vitessce/status": "3.1.2",
38
- "@vitessce/vit-s": "3.1.2",
39
- "@vitessce/zarr": "3.1.2"
21
+ "@vitessce/constants-internal": "3.2.0",
22
+ "@vitessce/csv": "3.2.0",
23
+ "@vitessce/description": "3.2.0",
24
+ "@vitessce/feature-list": "3.2.0",
25
+ "@vitessce/genomic-profiles": "3.2.0",
26
+ "@vitessce/heatmap": "3.2.0",
27
+ "@vitessce/json": "3.2.0",
28
+ "@vitessce/layer-controller": "3.2.0",
29
+ "@vitessce/layer-controller-beta": "3.2.0",
30
+ "@vitessce/obs-sets-manager": "3.2.0",
31
+ "@vitessce/ome-tiff": "3.2.0",
32
+ "@vitessce/plugins": "3.2.0",
33
+ "@vitessce/scatterplot-embedding": "3.2.0",
34
+ "@vitessce/scatterplot-gating": "3.2.0",
35
+ "@vitessce/schemas": "3.2.0",
36
+ "@vitessce/spatial": "3.2.0",
37
+ "@vitessce/spatial-beta": "3.2.0",
38
+ "@vitessce/statistical-plots": "3.2.0",
39
+ "@vitessce/status": "3.2.0",
40
+ "@vitessce/vit-s": "3.2.0",
41
+ "@vitessce/zarr": "3.2.0"
40
42
  },
41
43
  "devDependencies": {
42
44
  "@types/react": "^18.0.28",
@@ -21,11 +21,15 @@ import {
21
21
  z,
22
22
  obsEmbeddingCsvSchema,
23
23
  obsSetsCsvSchema,
24
+ obsSpotsCsvSchema,
25
+ obsPointsCsvSchema,
24
26
  obsLocationsCsvSchema,
25
27
  obsLabelsCsvSchema,
26
28
  featureLabelsCsvSchema,
27
29
  obsSetsAnndataSchema,
28
30
  obsEmbeddingAnndataSchema,
31
+ obsSpotsAnndataSchema,
32
+ obsPointsAnndataSchema,
29
33
  obsLocationsAnndataSchema,
30
34
  obsLabelsAnndataSchema,
31
35
  obsFeatureMatrixAnndataSchema,
@@ -54,9 +58,11 @@ import { ObsSetsManagerSubscriber } from '@vitessce/obs-sets-manager';
54
58
  import { EmbeddingScatterplotSubscriber } from '@vitessce/scatterplot-embedding';
55
59
  import { GatingSubscriber } from '@vitessce/scatterplot-gating';
56
60
  import { SpatialSubscriber } from '@vitessce/spatial';
61
+ import { SpatialBetaSubscriber } from '@vitessce/spatial-beta';
57
62
  import { HeatmapSubscriber } from '@vitessce/heatmap';
58
63
  import { FeatureListSubscriber } from '@vitessce/feature-list';
59
64
  import { LayerControllerSubscriber } from '@vitessce/layer-controller';
65
+ import { LayerControllerBetaSubscriber } from '@vitessce/layer-controller-beta';
60
66
  import { StatusSubscriber } from '@vitessce/status';
61
67
  import { HiGlassSubscriber, GenomicProfilesSubscriber } from '@vitessce/genomic-profiles';
62
68
  import {
@@ -71,6 +77,8 @@ import {
71
77
  CsvSource,
72
78
  ObsSetsCsvLoader,
73
79
  ObsEmbeddingCsvLoader,
80
+ ObsSpotsCsvLoader,
81
+ ObsPointsCsvLoader,
74
82
  ObsLocationsCsvLoader,
75
83
  ObsLabelsCsvLoader,
76
84
  ObsFeatureMatrixCsvLoader,
@@ -99,6 +107,8 @@ import {
99
107
  AnnDataSource,
100
108
  ObsFeatureMatrixAnndataLoader,
101
109
  ObsEmbeddingAnndataLoader,
110
+ ObsSpotsAnndataLoader,
111
+ ObsPointsAnndataLoader,
102
112
  ObsLocationsAnndataLoader,
103
113
  ObsSegmentationsAnndataLoader,
104
114
  ObsSetsAnndataLoader,
@@ -152,9 +162,11 @@ export const baseViewTypes = [
152
162
  makeViewType(ViewType.SCATTERPLOT, EmbeddingScatterplotSubscriber),
153
163
  makeViewType(ViewType.GATING, GatingSubscriber),
154
164
  makeViewType(ViewType.SPATIAL, SpatialSubscriber),
165
+ makeViewType(ViewType.SPATIAL_BETA, SpatialBetaSubscriber),
155
166
  makeViewType(ViewType.HEATMAP, HeatmapSubscriber),
156
167
  makeViewType(ViewType.FEATURE_LIST, FeatureListSubscriber),
157
168
  makeViewType(ViewType.LAYER_CONTROLLER, LayerControllerSubscriber),
169
+ makeViewType(ViewType.LAYER_CONTROLLER_BETA, LayerControllerBetaSubscriber),
158
170
  makeViewType(ViewType.STATUS, StatusSubscriber),
159
171
  makeViewType(ViewType.OBS_SET_FEATURE_VALUE_DISTRIBUTION, CellSetExpressionPlotSubscriber),
160
172
  makeViewType(ViewType.OBS_SET_SIZES, CellSetSizesPlotSubscriber),
@@ -167,6 +179,8 @@ export const baseFileTypes = [
167
179
  // All CSV file types
168
180
  makeFileType(FileType.OBS_SETS_CSV, DataType.OBS_SETS, ObsSetsCsvLoader, CsvSource, obsSetsCsvSchema),
169
181
  makeFileType(FileType.OBS_EMBEDDING_CSV, DataType.OBS_EMBEDDING, ObsEmbeddingCsvLoader, CsvSource, obsEmbeddingCsvSchema),
182
+ makeFileType(FileType.OBS_SPOTS_CSV, DataType.OBS_SPOTS, ObsSpotsCsvLoader, CsvSource, obsSpotsCsvSchema),
183
+ makeFileType(FileType.OBS_POINTS_CSV, DataType.OBS_POINTS, ObsPointsCsvLoader, CsvSource, obsPointsCsvSchema),
170
184
  makeFileType(FileType.OBS_LOCATIONS_CSV, DataType.OBS_LOCATIONS, ObsLocationsCsvLoader, CsvSource, obsLocationsCsvSchema),
171
185
  makeFileType(FileType.OBS_LABELS_CSV, DataType.OBS_LABELS, ObsLabelsCsvLoader, CsvSource, obsLabelsCsvSchema),
172
186
  makeFileType(FileType.OBS_FEATURE_MATRIX_CSV, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixCsvLoader, CsvSource, z.null()),
@@ -177,6 +191,8 @@ export const baseFileTypes = [
177
191
  // All AnnData file types
178
192
  makeFileType(FileType.OBS_SETS_ANNDATA_ZARR, DataType.OBS_SETS, ObsSetsAnndataLoader, AnnDataSource, obsSetsAnndataSchema),
179
193
  makeFileType(FileType.OBS_EMBEDDING_ANNDATA_ZARR, DataType.OBS_EMBEDDING, ObsEmbeddingAnndataLoader, AnnDataSource, obsEmbeddingAnndataSchema),
194
+ makeFileType(FileType.OBS_SPOTS_ANNDATA_ZARR, DataType.OBS_SPOTS, ObsSpotsAnndataLoader, AnnDataSource, obsSpotsAnndataSchema),
195
+ makeFileType(FileType.OBS_POINTS_ANNDATA_ZARR, DataType.OBS_POINTS, ObsPointsAnndataLoader, AnnDataSource, obsPointsAnndataSchema),
180
196
  makeFileType(FileType.OBS_LOCATIONS_ANNDATA_ZARR, DataType.OBS_LOCATIONS, ObsLocationsAnndataLoader, AnnDataSource, obsLocationsAnndataSchema),
181
197
  makeFileType(FileType.OBS_LABELS_ANNDATA_ZARR, DataType.OBS_LABELS, ObsLabelsAnndataLoader, AnnDataSource, obsLabelsAnndataSchema),
182
198
  makeFileType(FileType.OBS_FEATURE_MATRIX_ANNDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, AnnDataSource, obsFeatureMatrixAnndataSchema),
@@ -185,6 +201,8 @@ export const baseFileTypes = [
185
201
  // All MuData file types
186
202
  makeFileType(FileType.OBS_SETS_MUDATA_ZARR, DataType.OBS_SETS, ObsSetsAnndataLoader, MuDataSource, obsSetsAnndataSchema),
187
203
  makeFileType(FileType.OBS_EMBEDDING_MUDATA_ZARR, DataType.OBS_EMBEDDING, ObsEmbeddingAnndataLoader, MuDataSource, obsEmbeddingAnndataSchema),
204
+ makeFileType(FileType.OBS_SPOTS_MUDATA_ZARR, DataType.OBS_SPOTS, ObsSpotsAnndataLoader, MuDataSource, obsSpotsAnndataSchema),
205
+ makeFileType(FileType.OBS_POINTS_MUDATA_ZARR, DataType.OBS_POINTS, ObsPointsAnndataLoader, MuDataSource, obsPointsAnndataSchema),
188
206
  makeFileType(FileType.OBS_LOCATIONS_MUDATA_ZARR, DataType.OBS_LOCATIONS, ObsLocationsAnndataLoader, MuDataSource, obsLocationsAnndataSchema),
189
207
  makeFileType(FileType.OBS_LABELS_MUDATA_ZARR, DataType.OBS_LABELS, ObsLabelsAnndataLoader, MuDataSource, obsLabelsAnndataSchema),
190
208
  makeFileType(FileType.OBS_FEATURE_MATRIX_MUDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, MuDataSource, obsFeatureMatrixAnndataSchema),
@@ -267,9 +285,9 @@ export const baseCoordinationTypes = [
267
285
  new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_X, null, z.number().nullable()),
268
286
  new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_Y, null, z.number().nullable()),
269
287
  new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_Z, null, z.number().nullable()),
270
- new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_X, null, z.number().nullable()),
271
- new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_Y, null, z.number().nullable()),
272
- new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_Z, null, z.number().nullable()),
288
+ new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_X, 0, z.number().nullable()),
289
+ new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_Y, 0, z.number().nullable()),
290
+ new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_Z, 0, z.number().nullable()),
273
291
  new PluginCoordinationType(CoordinationType.SPATIAL_ROTATION_ORBIT, 0, z.number().nullable()),
274
292
  new PluginCoordinationType(CoordinationType.SPATIAL_ORBIT_AXIS, 'Y', z.string().nullable()),
275
293
  new PluginCoordinationType(CoordinationType.SPATIAL_AXIS_FIXED, false, z.boolean().nullable()),
@@ -319,7 +337,7 @@ export const baseCoordinationTypes = [
319
337
  new PluginCoordinationType(
320
338
  CoordinationType.OBS_COLOR_ENCODING,
321
339
  'cellSetSelection',
322
- z.enum(['geneSelection', 'cellSetSelection']),
340
+ z.enum(['geneSelection', 'cellSetSelection', 'spatialChannelColor', 'spatialLayerColor', 'obsLabels']),
323
341
  ),
324
342
  new PluginCoordinationType(CoordinationType.FEATURE_FILTER, null, z.array(z.string()).nullable()),
325
343
  new PluginCoordinationType(CoordinationType.FEATURE_HIGHLIGHT, null, z.string().nullable()),
@@ -369,4 +387,43 @@ export const baseCoordinationTypes = [
369
387
  new PluginCoordinationType(CoordinationType.GENOMIC_TARGET_Y, 1549999999.5, z.number()),
370
388
  new PluginCoordinationType(CoordinationType.ADDITIONAL_OBS_SETS, null, obsSetsSchema.nullable()),
371
389
  new PluginCoordinationType(CoordinationType.MOLECULE_HIGHLIGHT, null, z.string().nullable()),
390
+ new PluginCoordinationType(CoordinationType.FILE_UID, null, z.string().nullable()),
391
+ new PluginCoordinationType(CoordinationType.IMAGE_LAYER, null, z.string().nullable()),
392
+ new PluginCoordinationType(CoordinationType.IMAGE_CHANNEL, null, z.string().nullable()),
393
+ new PluginCoordinationType(CoordinationType.SEGMENTATION_LAYER, null, z.string().nullable()),
394
+ new PluginCoordinationType(CoordinationType.SEGMENTATION_CHANNEL, null, z.string().nullable()),
395
+ new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_C, null, z.number().nullable()),
396
+ new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_Z, null, z.number().nullable()),
397
+ new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_T, null, z.number().nullable()),
398
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_VISIBLE, true, z.boolean()),
399
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_OPACITY, 1.0, z.number()),
400
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_COLORMAP, null, z.string().nullable()), // TODO: enum to be more strict
401
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_TRANSPARENT_COLOR, null, z.array(z.number()).length(3).nullable()),
402
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_MODEL_MATRIX, null, z.array(z.number()).length(16).nullable()),
403
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_VISIBLE, true, z.boolean()),
404
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_OPACITY, 1.0, z.number()),
405
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_WINDOW, null, z.array(z.number()).length(2).nullable()),
406
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_COLOR, null, z.array(z.number()).length(3).nullable()),
407
+ new PluginCoordinationType(CoordinationType.SPATIAL_SEGMENTATION_FILLED, true, z.boolean()),
408
+ new PluginCoordinationType(CoordinationType.SPATIAL_SEGMENTATION_STROKE_WIDTH, 1.0, z.number()),
409
+ // Reference: https://www.awaresystems.be/imaging/tiff/tifftags/photometricinterpretation.html
410
+ new PluginCoordinationType(CoordinationType.PHOTOMETRIC_INTERPRETATION, null, z.enum(['BlackIsZero', 'RGB']).nullable()),
411
+ new PluginCoordinationType(CoordinationType.SPATIAL_RENDERING_MODE, '2D', z.enum(['2D', '3D']).nullable()),
412
+ new PluginCoordinationType(CoordinationType.VOLUMETRIC_RENDERING_ALGORITHM, 'additive', z.enum(['maximumIntensityProjection', 'additive'])),
413
+ new PluginCoordinationType(CoordinationType.SPATIAL_TARGET_RESOLUTION, 0, z.number().nullable()),
414
+ new PluginCoordinationType(CoordinationType.SPATIAL_SLICE_X, null, z.array(z.number()).length(2).nullable()),
415
+ new PluginCoordinationType(CoordinationType.SPATIAL_SLICE_Y, null, z.array(z.number()).length(2).nullable()),
416
+ new PluginCoordinationType(CoordinationType.SPATIAL_SLICE_Z, null, z.array(z.number()).length(2).nullable()),
417
+ new PluginCoordinationType(CoordinationType.SPOT_LAYER, null, z.string().nullable()),
418
+ new PluginCoordinationType(CoordinationType.POINT_LAYER, null, z.string().nullable()),
419
+ new PluginCoordinationType(CoordinationType.SPATIAL_SPOT_RADIUS, 25.0, z.number().nullable()),
420
+ new PluginCoordinationType(CoordinationType.SPATIAL_SPOT_FILLED, true, z.boolean()),
421
+ new PluginCoordinationType(CoordinationType.SPATIAL_SPOT_STROKE_WIDTH, 1.0, z.number()),
422
+ new PluginCoordinationType(CoordinationType.SPATIAL_LAYER_COLOR, null, z.array(z.number()).length(3).nullable()),
423
+ new PluginCoordinationType(CoordinationType.PIXEL_HIGHLIGHT, null, z.array(z.number()).length(3).nullable()),
424
+ new PluginCoordinationType(CoordinationType.TOOLTIP_CROSSHAIRS_VISIBLE, true, z.boolean()),
425
+ new PluginCoordinationType(CoordinationType.LEGEND_VISIBLE, true, z.boolean()),
426
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_LABELS_VISIBLE, true, z.boolean()),
427
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_LABELS_ORIENTATION, 'vertical', z.enum(['vertical', 'horizontal'])),
428
+ new PluginCoordinationType(CoordinationType.SPATIAL_CHANNEL_LABEL_SIZE, 14, z.number()),
372
429
  ];