@jax-data-science/sci-image-visualizer 0.4.0 → 0.6.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/README.md +109 -0
- package/esm2022/index.mjs +2 -1
- package/esm2022/lib/contracts/display-types.mjs +1 -1
- package/esm2022/lib/contracts/plot-type-contribution.contract.mjs +66 -0
- package/esm2022/lib/contracts/plot-type.mjs +6 -1
- package/esm2022/lib/contracts/toolbar-tool.contract.mjs +46 -4
- package/esm2022/lib/contracts/visualizer.contract.mjs +1 -1
- package/esm2022/lib/implementations/napari-js/napari-visualizer.service.mjs +2 -3
- package/esm2022/lib/implementations/osd/openseadragon-visualizer.service.mjs +70 -7
- package/esm2022/lib/implementations/osd/osd-coordinate-transform.mjs +8 -1
- package/esm2022/lib/implementations/plotly/plotly.service.mjs +2 -3
- package/esm2022/lib/plot-mode/plot-mode-controller.mjs +329 -0
- package/esm2022/lib/routing-visualizer.service.mjs +6 -1
- package/esm2022/lib/toolbar/brush/brush-tool.service.mjs +44 -3
- package/esm2022/lib/toolbar/toolbar.component.mjs +50 -21
- package/esm2022/lib/visualizer.component.mjs +479 -43
- package/fesm2022/jax-data-science-sci-image-visualizer.mjs +1092 -75
- package/fesm2022/jax-data-science-sci-image-visualizer.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/contracts/display-types.d.ts +10 -0
- package/lib/contracts/plot-type-contribution.contract.d.ts +199 -0
- package/lib/contracts/plot-type.d.ts +10 -0
- package/lib/contracts/toolbar-tool.contract.d.ts +84 -5
- package/lib/contracts/visualizer.contract.d.ts +5 -0
- package/lib/implementations/osd/openseadragon-visualizer.service.d.ts +21 -0
- package/lib/implementations/osd/osd-coordinate-transform.d.ts +6 -0
- package/lib/plot-mode/plot-mode-controller.d.ts +130 -0
- package/lib/routing-visualizer.service.d.ts +4 -0
- package/lib/toolbar/brush/brush-tool.service.d.ts +21 -0
- package/lib/toolbar/toolbar.component.d.ts +28 -8
- package/lib/visualizer.component.d.ts +121 -8
- package/package.json +1 -1
|
@@ -16,10 +16,17 @@ export class OsdCoordinateTransform {
|
|
|
16
16
|
const rect = this.viewer.canvas.getBoundingClientRect();
|
|
17
17
|
return elementToImage(this.viewer, clientX - rect.left, clientY - rect.top);
|
|
18
18
|
}
|
|
19
|
+
/** Data (image-pixel) coordinates -> client (mouse event) pixel. The inverse
|
|
20
|
+
* of {@link clientToData}. */
|
|
21
|
+
dataToClient(x, y) {
|
|
22
|
+
const rect = this.viewer.canvas.getBoundingClientRect();
|
|
23
|
+
const p = imageToElement(this.viewer, x, y);
|
|
24
|
+
return { x: p.x + rect.left, y: p.y + rect.top };
|
|
25
|
+
}
|
|
19
26
|
dataLengthToScreen(dataLength) {
|
|
20
27
|
const a = imageToElement(this.viewer, 0, 0);
|
|
21
28
|
const b = imageToElement(this.viewer, dataLength, 0);
|
|
22
29
|
return Math.abs(b.x - a.x);
|
|
23
30
|
}
|
|
24
31
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NkLWNvb3JkaW5hdGUtdHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9pbXBsZW1lbnRhdGlvbnMvb3NkL29zZC1jb29yZGluYXRlLXRyYW5zZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsWUFBb0IsTUFBVztRQUFYLFdBQU0sR0FBTixNQUFNLENBQUs7SUFBRyxDQUFDO0lBRW5DLE9BQU87UUFDTCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFlLEVBQUUsT0FBZTtRQUMzQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3hELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7bUNBQytCO0lBQy9CLFlBQVksQ0FBQyxDQUFTLEVBQUUsQ0FBUztRQUMvQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELGtCQUFrQixDQUFDLFVBQWtCO1FBQ25DLE1BQU0sQ0FBQyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDb29yZGluYXRlVHJhbnNmb3JtIH0gZnJvbSAnLi4vLi4vY29udHJhY3RzL2Nvb3JkaW5hdGUtdHJhbnNmb3JtLmNvbnRyYWN0JztcbmltcG9ydCB7IGVsZW1lbnRUb0ltYWdlLCBpbWFnZVRvRWxlbWVudCB9IGZyb20gJy4vb3NkLWNvb3Jkcyc7XG5cbi8qKlxuICogT3BlblNlYWRyYWdvbiBpbXBsZW1lbnRhdGlvbiBvZiB7QGxpbmsgSUNvb3JkaW5hdGVUcmFuc2Zvcm19LiBcIkRhdGEgY29vcmRzXCJcbiAqIGhlcmUgYXJlIGltYWdlLXBpeGVsIGNvb3JkaW5hdGVzIChPU0QncyBuYXRpdmUgc2hhcGUgc3BhY2UpLCBvYnRhaW5lZCBmcm9tIHRoZVxuICogdmlld3BvcnQgQVBJLiBUaGlzIGlzIHRoZSByZWFzb24gdGhlIHRvb2xzIGNhbiBydW4gb3ZlciBPU0QgYXQgYWxsOiB0aGVcbiAqIHZpZXdwb3J0IGdpdmVzIGEgY2xlYW4gc2NyZWVuPC0+aW1hZ2UgbWFwcGluZyB0aGF0IGhvbGRzIGFjcm9zcyBwYW4vem9vbS5cbiAqL1xuZXhwb3J0IGNsYXNzIE9zZENvb3JkaW5hdGVUcmFuc2Zvcm0gaW1wbGVtZW50cyBJQ29vcmRpbmF0ZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3ZXI6IGFueSkge31cblxuICBpc1JlYWR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMudmlld2VyPy52aWV3cG9ydCAmJiB0aGlzLnZpZXdlci53b3JsZD8uZ2V0SXRlbUNvdW50KCkgPiAwO1xuICB9XG5cbiAgY2xpZW50VG9EYXRhKGNsaWVudFg6IG51bWJlciwgY2xpZW50WTogbnVtYmVyKTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHtcbiAgICBjb25zdCByZWN0ID0gdGhpcy52aWV3ZXIuY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHJldHVybiBlbGVtZW50VG9JbWFnZSh0aGlzLnZpZXdlciwgY2xpZW50WCAtIHJlY3QubGVmdCwgY2xpZW50WSAtIHJlY3QudG9wKTtcbiAgfVxuXG4gIC8qKiBEYXRhIChpbWFnZS1waXhlbCkgY29vcmRpbmF0ZXMgLT4gY2xpZW50IChtb3VzZSBldmVudCkgcGl4ZWwuIFRoZSBpbnZlcnNlXG4gICAqICBvZiB7QGxpbmsgY2xpZW50VG9EYXRhfS4gKi9cbiAgZGF0YVRvQ2xpZW50KHg6IG51bWJlciwgeTogbnVtYmVyKTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHtcbiAgICBjb25zdCByZWN0ID0gdGhpcy52aWV3ZXIuY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHAgPSBpbWFnZVRvRWxlbWVudCh0aGlzLnZpZXdlciwgeCwgeSk7XG4gICAgcmV0dXJuIHsgeDogcC54ICsgcmVjdC5sZWZ0LCB5OiBwLnkgKyByZWN0LnRvcCB9O1xuICB9XG5cbiAgZGF0YUxlbmd0aFRvU2NyZWVuKGRhdGFMZW5ndGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgYSA9IGltYWdlVG9FbGVtZW50KHRoaXMudmlld2VyLCAwLCAwKTtcbiAgICBjb25zdCBiID0gaW1hZ2VUb0VsZW1lbnQodGhpcy52aWV3ZXIsIGRhdGFMZW5ndGgsIDApO1xuICAgIHJldHVybiBNYXRoLmFicyhiLnggLSBhLngpO1xuICB9XG59XG4iXX0=
|