@jax-data-science/sci-image-visualizer 0.3.2 → 0.4.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.
Files changed (93) hide show
  1. package/README.md +215 -11
  2. package/esm2022/index.mjs +20 -1
  3. package/esm2022/lib/contracts/display-types.mjs +20 -2
  4. package/esm2022/lib/contracts/image.contract.mjs +1 -1
  5. package/esm2022/lib/contracts/plot-type.mjs +36 -1
  6. package/esm2022/lib/contracts/ports/spatial-data.port.mjs +3 -0
  7. package/esm2022/lib/contracts/spatial-dataset.contract.mjs +45 -0
  8. package/esm2022/lib/contracts/visualizer.contract.mjs +1 -1
  9. package/esm2022/lib/implementations/napari-js/napari-axes-labels.mjs +10 -19
  10. package/esm2022/lib/implementations/napari-js/napari-region-overlay.mjs +71 -7
  11. package/esm2022/lib/implementations/napari-js/napari-scale-bar.mjs +1 -1
  12. package/esm2022/lib/implementations/napari-js/napari-spatial-tooltip.mjs +96 -0
  13. package/esm2022/lib/implementations/napari-js/napari-visualizer.service.mjs +1934 -55
  14. package/esm2022/lib/implementations/napari-js/napari-zoom.mjs +18 -0
  15. package/esm2022/lib/implementations/osd/openseadragon-visualizer.service.mjs +5 -3
  16. package/esm2022/lib/implementations/osd/osd-region-overlay.mjs +3 -4
  17. package/esm2022/lib/implementations/osd/osd-zoom.mjs +20 -0
  18. package/esm2022/lib/implementations/plotly/omics-trace-builders.mjs +555 -0
  19. package/esm2022/lib/implementations/plotly/plotly.service.mjs +13 -7
  20. package/esm2022/lib/implementations/spatial-data-http/spatial-data-http.service.mjs +304 -0
  21. package/esm2022/lib/implementations/spatial-data-http/spatial-wire.mjs +179 -0
  22. package/esm2022/lib/routing-visualizer.service.mjs +223 -12
  23. package/esm2022/lib/spatial/embedding-compute.mjs +142 -0
  24. package/esm2022/lib/spatial/gene-search.mjs +77 -0
  25. package/esm2022/lib/spatial/spatial-density.mjs +224 -0
  26. package/esm2022/lib/spatial/spatial-encoding.mjs +232 -0
  27. package/esm2022/lib/spatial/spatial-expression.mjs +257 -0
  28. package/esm2022/lib/spatial/spatial-framing.mjs +60 -0
  29. package/esm2022/lib/spatial/spatial-heatmap.mjs +185 -0
  30. package/esm2022/lib/spatial/spatial-hover.mjs +79 -0
  31. package/esm2022/lib/spatial/spatial-sections.mjs +96 -0
  32. package/esm2022/lib/spatial/spatial-selection.mjs +264 -0
  33. package/esm2022/lib/spatial/spatial-volume-image.mjs +163 -0
  34. package/esm2022/lib/spatial/tsne-worker.mjs +10 -0
  35. package/esm2022/lib/spatial/world-grid.mjs +77 -0
  36. package/esm2022/lib/spatial-controls/spatial-charts/spatial-charts.component.mjs +1278 -0
  37. package/esm2022/lib/spatial-controls/spatial-controls.component.mjs +621 -0
  38. package/esm2022/lib/store/spatial-selection.service.mjs +47 -0
  39. package/esm2022/lib/store/visualizer-store.service.mjs +23 -1
  40. package/esm2022/lib/toolbar/segmentation/cellpose-segmenter.service.mjs +2 -2
  41. package/esm2022/lib/toolbar/segmentation/sam-model-registry.mjs +9 -9
  42. package/esm2022/lib/toolbar/toolbar.component.mjs +30 -7
  43. package/esm2022/lib/visualization.module.mjs +23 -5
  44. package/esm2022/lib/visualizer.component.mjs +283 -22
  45. package/fesm2022/{jax-data-science-sci-image-visualizer-onnx-sam-session-ci1q0xnJ.mjs → jax-data-science-sci-image-visualizer-onnx-sam-session-BwP-A11m.mjs} +6 -4
  46. package/fesm2022/{jax-data-science-sci-image-visualizer-onnx-sam-session-ci1q0xnJ.mjs.map → jax-data-science-sci-image-visualizer-onnx-sam-session-BwP-A11m.mjs.map} +1 -1
  47. package/fesm2022/jax-data-science-sci-image-visualizer-tsne-worker-B_nXDGf0.mjs +12 -0
  48. package/fesm2022/jax-data-science-sci-image-visualizer-tsne-worker-B_nXDGf0.mjs.map +1 -0
  49. package/fesm2022/jax-data-science-sci-image-visualizer.mjs +15282 -7829
  50. package/fesm2022/jax-data-science-sci-image-visualizer.mjs.map +1 -1
  51. package/fesm2022/tsne.worker.js +19091 -0
  52. package/index.d.ts +15 -0
  53. package/lib/contracts/display-types.d.ts +131 -0
  54. package/lib/contracts/image.contract.d.ts +7 -0
  55. package/lib/contracts/plot-type.d.ts +42 -2
  56. package/lib/contracts/ports/spatial-data.port.d.ts +90 -0
  57. package/lib/contracts/spatial-dataset.contract.d.ts +281 -0
  58. package/lib/contracts/visualizer.contract.d.ts +99 -1
  59. package/lib/implementations/napari-js/napari-axes-labels.d.ts +9 -7
  60. package/lib/implementations/napari-js/napari-region-overlay.d.ts +38 -4
  61. package/lib/implementations/napari-js/napari-scale-bar.d.ts +7 -3
  62. package/lib/implementations/napari-js/napari-spatial-tooltip.d.ts +32 -0
  63. package/lib/implementations/napari-js/napari-visualizer.service.d.ts +497 -16
  64. package/lib/implementations/napari-js/napari-zoom.d.ts +15 -0
  65. package/lib/implementations/osd/osd-zoom.d.ts +19 -0
  66. package/lib/implementations/plotly/omics-trace-builders.d.ts +193 -0
  67. package/lib/implementations/plotly/plotly.service.d.ts +9 -0
  68. package/lib/implementations/spatial-data-http/spatial-data-http.service.d.ts +123 -0
  69. package/lib/implementations/spatial-data-http/spatial-wire.d.ts +115 -0
  70. package/lib/routing-visualizer.service.d.ts +45 -6
  71. package/lib/spatial/embedding-compute.d.ts +73 -0
  72. package/lib/spatial/gene-search.d.ts +48 -0
  73. package/lib/spatial/spatial-density.d.ts +73 -0
  74. package/lib/spatial/spatial-encoding.d.ts +155 -0
  75. package/lib/spatial/spatial-expression.d.ts +144 -0
  76. package/lib/spatial/spatial-framing.d.ts +37 -0
  77. package/lib/spatial/spatial-heatmap.d.ts +111 -0
  78. package/lib/spatial/spatial-hover.d.ts +49 -0
  79. package/lib/spatial/spatial-sections.d.ts +59 -0
  80. package/lib/spatial/spatial-selection.d.ts +113 -0
  81. package/lib/spatial/spatial-volume-image.d.ts +67 -0
  82. package/lib/spatial/tsne-worker.d.ts +7 -0
  83. package/lib/spatial/world-grid.d.ts +58 -0
  84. package/lib/spatial-controls/spatial-charts/spatial-charts.component.d.ts +439 -0
  85. package/lib/spatial-controls/spatial-controls.component.d.ts +257 -0
  86. package/lib/store/spatial-selection.service.d.ts +27 -0
  87. package/lib/store/visualizer-store.service.d.ts +13 -0
  88. package/lib/toolbar/toolbar.component.d.ts +19 -3
  89. package/lib/visualization.module.d.ts +28 -24
  90. package/lib/visualizer.component.d.ts +73 -2
  91. package/package.json +7 -3
  92. package/src/lib/assets/spatial-omics-3d.svg +31 -0
  93. package/src/lib/assets/spatial-omics.svg +27 -0
@@ -0,0 +1,18 @@
1
+ import { WHEEL_DELTA_CLAMP } from 'napari-js';
2
+ import { OSD_ZOOM_PER_SCROLL } from '../osd/osd-zoom';
3
+ /**
4
+ * Wheel-zoom sensitivity for the napari-js backend, as `exp(-delta * speed)` per normalized,
5
+ * clamped wheel-delta unit.
6
+ *
7
+ * Derived from {@link OSD_ZOOM_PER_SCROLL} rather than written as its own number: the two backends
8
+ * draw the same images, and a wheel that zooms further under one renderer than the other is a
9
+ * difference the user has no way to explain.
10
+ *
11
+ * napari-js clamps a single event's delta before applying the speed — mouse notches and trackpad
12
+ * momentum ticks both exceed the clamp, so the clamped step IS the per-notch step — which makes
13
+ * matching the two a matter of solving `exp(WHEEL_DELTA_CLAMP * speed) = OSD_ZOOM_PER_SCROLL`.
14
+ * The clamp is imported rather than copied: it belongs to napari-js, and a local literal would go
15
+ * silently stale the day that library retuned it.
16
+ */
17
+ export const NAPARI_WHEEL_ZOOM_SPEED = Math.log(OSD_ZOOM_PER_SCROLL) / WHEEL_DELTA_CLAMP;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFwYXJpLXpvb20uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ltcGxlbWVudGF0aW9ucy9uYXBhcmktanMvbmFwYXJpLXpvb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXREOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXSEVFTF9ERUxUQV9DTEFNUCB9IGZyb20gJ25hcGFyaS1qcyc7XG5cbmltcG9ydCB7IE9TRF9aT09NX1BFUl9TQ1JPTEwgfSBmcm9tICcuLi9vc2Qvb3NkLXpvb20nO1xuXG4vKipcbiAqIFdoZWVsLXpvb20gc2Vuc2l0aXZpdHkgZm9yIHRoZSBuYXBhcmktanMgYmFja2VuZCwgYXMgYGV4cCgtZGVsdGEgKiBzcGVlZClgIHBlciBub3JtYWxpemVkLFxuICogY2xhbXBlZCB3aGVlbC1kZWx0YSB1bml0LlxuICpcbiAqIERlcml2ZWQgZnJvbSB7QGxpbmsgT1NEX1pPT01fUEVSX1NDUk9MTH0gcmF0aGVyIHRoYW4gd3JpdHRlbiBhcyBpdHMgb3duIG51bWJlcjogdGhlIHR3byBiYWNrZW5kc1xuICogZHJhdyB0aGUgc2FtZSBpbWFnZXMsIGFuZCBhIHdoZWVsIHRoYXQgem9vbXMgZnVydGhlciB1bmRlciBvbmUgcmVuZGVyZXIgdGhhbiB0aGUgb3RoZXIgaXMgYVxuICogZGlmZmVyZW5jZSB0aGUgdXNlciBoYXMgbm8gd2F5IHRvIGV4cGxhaW4uXG4gKlxuICogbmFwYXJpLWpzIGNsYW1wcyBhIHNpbmdsZSBldmVudCdzIGRlbHRhIGJlZm9yZSBhcHBseWluZyB0aGUgc3BlZWQg4oCUIG1vdXNlIG5vdGNoZXMgYW5kIHRyYWNrcGFkXG4gKiBtb21lbnR1bSB0aWNrcyBib3RoIGV4Y2VlZCB0aGUgY2xhbXAsIHNvIHRoZSBjbGFtcGVkIHN0ZXAgSVMgdGhlIHBlci1ub3RjaCBzdGVwIOKAlCB3aGljaCBtYWtlc1xuICogbWF0Y2hpbmcgdGhlIHR3byBhIG1hdHRlciBvZiBzb2x2aW5nIGBleHAoV0hFRUxfREVMVEFfQ0xBTVAgKiBzcGVlZCkgPSBPU0RfWk9PTV9QRVJfU0NST0xMYC5cbiAqIFRoZSBjbGFtcCBpcyBpbXBvcnRlZCByYXRoZXIgdGhhbiBjb3BpZWQ6IGl0IGJlbG9uZ3MgdG8gbmFwYXJpLWpzLCBhbmQgYSBsb2NhbCBsaXRlcmFsIHdvdWxkIGdvXG4gKiBzaWxlbnRseSBzdGFsZSB0aGUgZGF5IHRoYXQgbGlicmFyeSByZXR1bmVkIGl0LlxuICovXG5leHBvcnQgY29uc3QgTkFQQVJJX1dIRUVMX1pPT01fU1BFRUQgPSBNYXRoLmxvZyhPU0RfWk9PTV9QRVJfU0NST0xMKSAvIFdIRUVMX0RFTFRBX0NMQU1QO1xuIl19