@jax-data-science/sci-image-visualizer 0.8.0 → 0.8.2

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.
@@ -21,6 +21,10 @@ import * as i0 from "@angular/core";
21
21
  export declare class ToolbarComponent implements OnChanges {
22
22
  /** Current image (gates which control groups are shown). */
23
23
  imageInfo: IImageInfo | undefined;
24
+ /** A spatial dataset is on offer: its plot modes are a choice even with no image loaded. */
25
+ hasSpatialDataset: boolean;
26
+ /** Whether the plot-type dropdown shows: for an image, or a spatial dataset with none. */
27
+ get showPlotTypes(): boolean;
24
28
  /** Plot types the active backend advertises, then any contributed modes. */
25
29
  plotTypeOptions: PlotTypeOption[];
26
30
  /** The selector's value: a built-in type or a contributed mode's id. */
@@ -250,5 +254,5 @@ export declare class ToolbarComponent implements OnChanges {
250
254
  get isIntensityCapable(): boolean;
251
255
  showHelp(): void;
252
256
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarComponent, never>;
253
- static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "plotting-toolbar", never, { "imageInfo": { "alias": "imageInfo"; "required": false; }; "plotTypeOptions": { "alias": "plotTypeOptions"; "required": false; }; "selectedPlotType": { "alias": "selectedPlotType"; "required": false; }; "basePlotType": { "alias": "basePlotType"; "required": false; }; "isoRange": { "alias": "isoRange"; "required": false; }; "maxIndex": { "alias": "maxIndex"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "isHeatmap": { "alias": "isHeatmap"; "required": false; }; "is3dRegions": { "alias": "is3dRegions"; "required": false; }; "activeDragMode": { "alias": "activeDragMode"; "required": false; }; "activeSurface3dMode": { "alias": "activeSurface3dMode"; "required": false; }; "axesVisible": { "alias": "axesVisible"; "required": false; }; "wireframeActive": { "alias": "wireframeActive"; "required": false; }; "resolutionScale": { "alias": "resolutionScale"; "required": false; }; "wandSensitivity": { "alias": "wandSensitivity"; "required": false; }; "brushSize": { "alias": "brushSize"; "required": false; }; "vertexEraserRadius": { "alias": "vertexEraserRadius"; "required": false; }; "canUndo": { "alias": "canUndo"; "required": false; }; "canRedo": { "alias": "canRedo"; "required": false; }; "stackOptions": { "alias": "stackOptions"; "required": false; }; "tools": { "alias": "tools"; "required": false; }; "imageSmoothingEnabled": { "alias": "imageSmoothingEnabled"; "required": false; }; "samModels": { "alias": "samModels"; "required": false; }; "samModelId": { "alias": "samModelId"; "required": false; }; "contributedTools": { "alias": "contributedTools"; "required": false; }; "dialogTools": { "alias": "dialogTools"; "required": false; }; "openDialogToolId": { "alias": "openDialogToolId"; "required": false; }; "toolModelIds": { "alias": "toolModelIds"; "required": false; }; }, { "selectPlotType": "selectPlotType"; "addProfileLine": "addProfileLine"; "toggleImageSmoothing": "toggleImageSmoothing"; "isoRangeChange": "isoRangeChange"; "openChannelHistogram": "openChannelHistogram"; "openSpatialControls": "openSpatialControls"; "openRegionEditor": "openRegionEditor"; "selectStackOption": "selectStackOption"; "zScrub": "zScrub"; "zSlide": "zSlide"; "zIndexInput": "zIndexInput"; "reloadAndPlot": "reloadAndPlot"; "downloadImage": "downloadImage"; "autoscaleImage": "autoscaleImage"; "toggleDragMode": "toggleDragMode"; "zoomIn": "zoomIn"; "zoomOut": "zoomOut"; "toggleSurface3dMode": "toggleSurface3dMode"; "resetSurfaceCamera": "resetSurfaceCamera"; "toggleAxes": "toggleAxes"; "toggleWireframe": "toggleWireframe"; "selectResolution": "selectResolution"; "deleteRegion": "deleteRegion"; "undoRegion": "undoRegion"; "redoRegion": "redoRegion"; "segmentRegions": "segmentRegions"; "segmentCellpose": "segmentCellpose"; "runTool": "runTool"; "toggleDialogTool": "toggleDialogTool"; "toolModelChange": "toolModelChange"; "openToolParams": "openToolParams"; "samModelChange": "samModelChange"; "wandSensitivityChange": "wandSensitivityChange"; "brushSizeChange": "brushSizeChange"; "vertexEraserRadiusChange": "vertexEraserRadiusChange"; }, never, ["*"], false, never>;
257
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarComponent, "plotting-toolbar", never, { "imageInfo": { "alias": "imageInfo"; "required": false; }; "hasSpatialDataset": { "alias": "hasSpatialDataset"; "required": false; }; "plotTypeOptions": { "alias": "plotTypeOptions"; "required": false; }; "selectedPlotType": { "alias": "selectedPlotType"; "required": false; }; "basePlotType": { "alias": "basePlotType"; "required": false; }; "isoRange": { "alias": "isoRange"; "required": false; }; "maxIndex": { "alias": "maxIndex"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "isHeatmap": { "alias": "isHeatmap"; "required": false; }; "is3dRegions": { "alias": "is3dRegions"; "required": false; }; "activeDragMode": { "alias": "activeDragMode"; "required": false; }; "activeSurface3dMode": { "alias": "activeSurface3dMode"; "required": false; }; "axesVisible": { "alias": "axesVisible"; "required": false; }; "wireframeActive": { "alias": "wireframeActive"; "required": false; }; "resolutionScale": { "alias": "resolutionScale"; "required": false; }; "wandSensitivity": { "alias": "wandSensitivity"; "required": false; }; "brushSize": { "alias": "brushSize"; "required": false; }; "vertexEraserRadius": { "alias": "vertexEraserRadius"; "required": false; }; "canUndo": { "alias": "canUndo"; "required": false; }; "canRedo": { "alias": "canRedo"; "required": false; }; "stackOptions": { "alias": "stackOptions"; "required": false; }; "tools": { "alias": "tools"; "required": false; }; "imageSmoothingEnabled": { "alias": "imageSmoothingEnabled"; "required": false; }; "samModels": { "alias": "samModels"; "required": false; }; "samModelId": { "alias": "samModelId"; "required": false; }; "contributedTools": { "alias": "contributedTools"; "required": false; }; "dialogTools": { "alias": "dialogTools"; "required": false; }; "openDialogToolId": { "alias": "openDialogToolId"; "required": false; }; "toolModelIds": { "alias": "toolModelIds"; "required": false; }; }, { "selectPlotType": "selectPlotType"; "addProfileLine": "addProfileLine"; "toggleImageSmoothing": "toggleImageSmoothing"; "isoRangeChange": "isoRangeChange"; "openChannelHistogram": "openChannelHistogram"; "openSpatialControls": "openSpatialControls"; "openRegionEditor": "openRegionEditor"; "selectStackOption": "selectStackOption"; "zScrub": "zScrub"; "zSlide": "zSlide"; "zIndexInput": "zIndexInput"; "reloadAndPlot": "reloadAndPlot"; "downloadImage": "downloadImage"; "autoscaleImage": "autoscaleImage"; "toggleDragMode": "toggleDragMode"; "zoomIn": "zoomIn"; "zoomOut": "zoomOut"; "toggleSurface3dMode": "toggleSurface3dMode"; "resetSurfaceCamera": "resetSurfaceCamera"; "toggleAxes": "toggleAxes"; "toggleWireframe": "toggleWireframe"; "selectResolution": "selectResolution"; "deleteRegion": "deleteRegion"; "undoRegion": "undoRegion"; "redoRegion": "redoRegion"; "segmentRegions": "segmentRegions"; "segmentCellpose": "segmentCellpose"; "runTool": "runTool"; "toggleDialogTool": "toggleDialogTool"; "toolModelChange": "toolModelChange"; "openToolParams": "openToolParams"; "samModelChange": "samModelChange"; "wandSensitivityChange": "wandSensitivityChange"; "brushSizeChange": "brushSizeChange"; "vertexEraserRadiusChange": "vertexEraserRadiusChange"; }, never, ["*"], false, never>;
254
258
  }
@@ -101,6 +101,10 @@ export declare class VisualizerComponent implements OnInit, OnChanges, AfterView
101
101
  * the newer render's overlay, or applying its ROIs.
102
102
  */
103
103
  private renderToken;
104
+ /** Set once the template, and with it the plot div, exists (see ngAfterViewInit). */
105
+ private viewReady;
106
+ /** An image-less dataset whose draw waits for the view: see plotSpatialWithoutImage. */
107
+ private pendingSpatialDraw;
104
108
  zIndex: number;
105
109
  maxIndex: number;
106
110
  contextMenu: ContextMenu;
@@ -309,7 +313,10 @@ export declare class VisualizerComponent implements OnInit, OnChanges, AfterView
309
313
  isoRange: number[];
310
314
  /** Whether a spatial-omics dataset is currently published on
311
315
  * `SPATIAL_DATA_PORT` — gates the spatial plot types in the selector. */
312
- private hasSpatialDataset;
316
+ /** Bound by the toolbar, which offers the plot modes for a dataset with no image too. */
317
+ hasSpatialDataset: boolean;
318
+ /** The spatial dataset on offer, for drawing one that brings no image (see reloadAndPlot). */
319
+ private spatialDataset;
313
320
  /** Whether that dataset's observations carry a z, gating the 3D spatial mode. */
314
321
  private hasSpatial3dDataset;
315
322
  /** Whether it carries a registered volume. Change detection only: a volume
@@ -401,6 +408,8 @@ export declare class VisualizerComponent implements OnInit, OnChanges, AfterView
401
408
  private reconcileSelectedPlotType;
402
409
  ngOnInit(): void;
403
410
  ngAfterViewInit(): void;
411
+ /** The plot div exists now: run an image-less draw that arrived before it did. */
412
+ private onViewReady;
404
413
  onProfilePanelDragStart(e: MouseEvent): void;
405
414
  /** Grab the toolbar handle: detach it into a floating window (if still docked)
406
415
  * and start dragging. */
@@ -465,6 +474,12 @@ export declare class VisualizerComponent implements OnInit, OnChanges, AfterView
465
474
  /** Move the displayed slice by `delta`, clamped to the stack bounds. */
466
475
  stepSlice(delta: number): void;
467
476
  reloadAndPlot(): void;
477
+ /**
478
+ * Draw a spatial mode with no image behind it: the observations alone, framed on their own
479
+ * extent, as the seqFISH example shows them. The image info is a placeholder naming the
480
+ * dataset, so regions drawn here are kept per dataset like any image's.
481
+ */
482
+ private plotSpatialWithoutImage;
468
483
  cancelLoading(): void;
469
484
  downloadImage(): void;
470
485
  autoscaleImage(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jax-data-science/sci-image-visualizer",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "engines": {
5
5
  "node": ">=20.9.0"
6
6
  },