@jax-data-science/sci-image-visualizer 0.2.1 → 0.2.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.
- package/esm2022/lib/channel-histogram/channel-histogram.component.mjs +2 -1
- package/esm2022/lib/contracts/channel-histogram-api.contract.mjs +1 -1
- package/esm2022/lib/implementations/napari-js/napari-visualizer.service.mjs +25 -5
- package/esm2022/lib/routing-visualizer.service.mjs +2 -1
- package/esm2022/lib/store/visualizer-store.service.mjs +12 -1
- package/fesm2022/jax-data-science-sci-image-visualizer.mjs +37 -4
- package/fesm2022/jax-data-science-sci-image-visualizer.mjs.map +1 -1
- package/lib/contracts/channel-histogram-api.contract.d.ts +2 -0
- package/lib/implementations/napari-js/napari-visualizer.service.d.ts +2 -0
- package/lib/routing-visualizer.service.d.ts +1 -0
- package/lib/store/visualizer-store.service.d.ts +7 -0
- package/package.json +1 -1
|
@@ -63,6 +63,8 @@ export interface IChannelHistogramApi {
|
|
|
63
63
|
getChannels$(): Observable<IChannelState[]>;
|
|
64
64
|
/** Patch one channel's state (window/gamma/visibility/color); live-updates. */
|
|
65
65
|
setChannelState(index: number, partial: Partial<IChannelState>): void;
|
|
66
|
+
/** Set the channel selected in the pane — the band a single-scalar 3D Surface follows. */
|
|
67
|
+
setSelectedChannel(index: number): void;
|
|
66
68
|
/** Auto-window the given channels by saturating `saturation` (0..1) of pixels
|
|
67
69
|
* at each end of their histogram. */
|
|
68
70
|
autoContrast(indices: number[], saturation: number): void;
|
|
@@ -73,6 +73,8 @@ export declare class NapariVisualizerService extends BaseStoreVisualizer impleme
|
|
|
73
73
|
private surfaceLayer;
|
|
74
74
|
/** Which band the surface samples (a channel index for multichannel, else the composite). */
|
|
75
75
|
private surfaceChannel;
|
|
76
|
+
/** True when the mounted Surface follows one band of a multichannel image. */
|
|
77
|
+
private surfaceMultichannel;
|
|
76
78
|
/** Pre-loaded per-slice luminance planes (already decimated to the surface grid), keyed by z,
|
|
77
79
|
* so the stack slider rebuilds the surface instantly. Filled by {@link preloadSurfacePlanes}. */
|
|
78
80
|
private readonly surfacePlanes;
|
|
@@ -180,6 +180,7 @@ export declare class RoutingVisualizerService implements IVisualizer, IRegionEdi
|
|
|
180
180
|
/** Export the underlying data (16-bit multi-band TIFF) via the active backend. */
|
|
181
181
|
exportData(): void;
|
|
182
182
|
getChannels$(): Observable<IChannelState[]>;
|
|
183
|
+
setSelectedChannel(index: number): void;
|
|
183
184
|
setChannelState(index: number, partial: Partial<IChannelState>): void;
|
|
184
185
|
resetContrast(indices: number[]): void;
|
|
185
186
|
/** Auto-window each channel by saturating `saturation` (0..1) of pixels at each
|
|
@@ -32,6 +32,9 @@ export declare class VisualizerStore {
|
|
|
32
32
|
private readonly reverseScale$;
|
|
33
33
|
private readonly imageMeta$;
|
|
34
34
|
private readonly channelStates$;
|
|
35
|
+
/** Index of the channel selected in the Channels pane — the ONE band a
|
|
36
|
+
* single-scalar 3D view (the napari Surface) follows for a multichannel image. */
|
|
37
|
+
private readonly selectedChannel$;
|
|
35
38
|
private defaultChannelStates;
|
|
36
39
|
private readonly grayscale$;
|
|
37
40
|
private readonly invert$;
|
|
@@ -87,6 +90,10 @@ export declare class VisualizerStore {
|
|
|
87
90
|
private deriveChannels;
|
|
88
91
|
getChannelStates(): Observable<IChannelState[]>;
|
|
89
92
|
currentChannelStates(): IChannelState[];
|
|
93
|
+
/** The channel selected in the pane (drives a single-scalar 3D Surface). */
|
|
94
|
+
getSelectedChannel(): Observable<number>;
|
|
95
|
+
currentSelectedChannel(): number;
|
|
96
|
+
setSelectedChannel(index: number): void;
|
|
90
97
|
/** Patch one channel by index (immutable update). */
|
|
91
98
|
setChannelState(index: number, partial: Partial<IChannelState>): void;
|
|
92
99
|
/** Replace all channel states (used by auto/reset). */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jax-data-science/sci-image-visualizer",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Browser-based scientific image visualization for Angular — gigapixel whole-slide (OpenSeadragon), 2D/3D (Plotly) and WebGPU (napari-js) rendering, with region/annotation editing and in-browser SAM segmentation.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|