@jax-data-science/sci-image-visualizer 0.2.14 → 0.2.15
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.
|
@@ -28,6 +28,36 @@ const EYE_DEFAULTS = {
|
|
|
28
28
|
overlapX: 0,
|
|
29
29
|
overlapY: 0,
|
|
30
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* The retina is an elongated band spanning the whole field, so it crosses tile
|
|
33
|
+
* seams wherever they fall.
|
|
34
|
+
*
|
|
35
|
+
* With no overlap the tiles butt together at fixed boundaries: a structure
|
|
36
|
+
* sitting across a seam is cut in half, each tile sees only a slice, and the
|
|
37
|
+
* slice often fails to clear the confidence threshold — so the object vanishes
|
|
38
|
+
* exactly where the seam lands. Observed as multi-thousand-pixel holes in the
|
|
39
|
+
* middle of an otherwise continuous retina, which closed once overlap was
|
|
40
|
+
* raised.
|
|
41
|
+
*
|
|
42
|
+
* An object of size `s` is guaranteed to sit wholly inside some tile only when
|
|
43
|
+
* the overlap is at least `s / tileSize`; at 60% that covers anything up to
|
|
44
|
+
* ~307px of a 512px tile. The server's own table uses 0 here and has the same
|
|
45
|
+
* blind spot — this deliberately diverges from it.
|
|
46
|
+
*/
|
|
47
|
+
const RETINA_DEFAULTS = {
|
|
48
|
+
confidence: 0.6,
|
|
49
|
+
iouThreshold: 0.5,
|
|
50
|
+
// Cross-tile merging uses intersection-over-*smaller*, so at 0.3 a fragment is
|
|
51
|
+
// discarded once 30% of its own area is covered by a larger box — even when
|
|
52
|
+
// most of it lies outside. On a band detected as a chain of overlapping
|
|
53
|
+
// fragments that deletes the middle ones. Measured on one slide: 0.3 gave two
|
|
54
|
+
// boxes covering 75% of the band with a 3150px hole through it; 0.8 gave four
|
|
55
|
+
// boxes covering 100% with no hole, at the cost of two overlapping pairs.
|
|
56
|
+
// Matches the value jit-ui already sends the server for this checkpoint.
|
|
57
|
+
mergeThreshold: 0.8,
|
|
58
|
+
overlapX: 60,
|
|
59
|
+
overlapY: 60,
|
|
60
|
+
};
|
|
31
61
|
// Embryos are large, touch each other, and are imaged at native scale — hence
|
|
32
62
|
// the heavy overlap and the far looser merge thresholds.
|
|
33
63
|
const EMBRYO_DEFAULTS = {
|
|
@@ -48,7 +78,7 @@ export const YOLO_MODELS = [
|
|
|
48
78
|
id: 'yolov8x-seg-retina',
|
|
49
79
|
label: 'Retina',
|
|
50
80
|
modelUrl: `${HF}/yolov8x-seg-retina-onnx/resolve/main/model.fp16w.onnx`,
|
|
51
|
-
defaults: { ...
|
|
81
|
+
defaults: { ...RETINA_DEFAULTS },
|
|
52
82
|
},
|
|
53
83
|
{
|
|
54
84
|
id: 'yolov8x-seg-embryo-m2',
|
|
@@ -96,4 +126,4 @@ export function setDefaultYoloModel(id) {
|
|
|
96
126
|
export function getDefaultYoloModelId() {
|
|
97
127
|
return defaultModelId;
|
|
98
128
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW9sby1tb2RlbC1yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdG9vbGJhci9zZWdtZW50YXRpb24veW9sby1tb2RlbC1yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBc0JILE1BQU0sRUFBRSxHQUFHLGtDQUFrQyxDQUFDO0FBRTlDLE1BQU0sWUFBWSxHQUFHO0lBQ25CLFVBQVUsRUFBRSxHQUFHO0lBQ2YsWUFBWSxFQUFFLEdBQUc7SUFDakIsY0FBYyxFQUFFLEdBQUc7SUFDbkIsUUFBUSxFQUFFLENBQUM7SUFDWCxRQUFRLEVBQUUsQ0FBQztDQUNaLENBQUM7QUFFRiw4RUFBOEU7QUFDOUUseURBQXlEO0FBQ3pELE1BQU0sZUFBZSxHQUFHO0lBQ3RCLFVBQVUsRUFBRSxHQUFHO0lBQ2YsWUFBWSxFQUFFLEdBQUc7SUFDakIsY0FBYyxFQUFFLEdBQUc7SUFDbkIsUUFBUSxFQUFFLEVBQUU7SUFDWixRQUFRLEVBQUUsRUFBRTtDQUNiLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQW1CO0lBQ3pDO1FBQ0UsRUFBRSxFQUFFLHdCQUF3QjtRQUM1QixLQUFLLEVBQUUsYUFBYTtRQUNwQixRQUFRLEVBQUUsR0FBRyxFQUFFLDREQUE0RDtRQUMzRSxRQUFRLEVBQUUsRUFBRSxHQUFHLFlBQVksRUFBRTtLQUM5QjtJQUNEO1FBQ0UsRUFBRSxFQUFFLG9CQUFvQjtRQUN4QixLQUFLLEVBQUUsUUFBUTtRQUNmLFFBQVEsRUFBRSxHQUFHLEVBQUUsd0RBQXdEO1FBQ3ZFLFFBQVEsRUFBRSxFQUFFLEdBQUcsWUFBWSxFQUFFO0tBQzlCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsdUJBQXVCO1FBQzNCLEtBQUssRUFBRSxhQUFhO1FBQ3BCLFFBQVEsRUFBRSxHQUFHLEVBQUUsMkRBQTJEO1FBQzFFLFFBQVEsRUFBRSxFQUFFLEdBQUcsZUFBZSxFQUFFO0tBQ2pDO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsdUJBQXVCO1FBQzNCLEtBQUssRUFBRSxhQUFhO1FBQ3BCLFFBQVEsRUFBRSxHQUFHLEVBQUUsMkRBQTJEO1FBQzFFLFFBQVEsRUFBRSxFQUFFLEdBQUcsZUFBZSxFQUFFO0tBQ2pDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHdCQUF3QixDQUFDO0FBRTlELElBQUksY0FBYyxHQUFHLHFCQUFxQixDQUFDO0FBRTNDLDZFQUE2RTtBQUM3RSxNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQVU7SUFDckMsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCwyREFBMkQ7QUFDM0QsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEVBQVU7SUFDekMsTUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsRUFBVSxFQUFFLElBQTZDO0lBQ3hGLE1BQU0sQ0FBQyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQixJQUFJLENBQUMsQ0FBQztRQUFFLE9BQU87SUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUztRQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM1RCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUztRQUFFLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUMzRCxDQUFDO0FBRUQsK0RBQStEO0FBQy9ELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxFQUFVO0lBQzVDLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUFFLGNBQWMsR0FBRyxFQUFFLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUI7SUFDbkMsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVnaXN0cnkgb2YgWU9MT3Y4LXNlZyBpbnN0YW5jZS1zZWdtZW50YXRpb24gbW9kZWxzLlxuICpcbiAqIE1pcnJvcnMge0BsaW5rIFNBTV9NT0RFTFN9OiBwdWJsaWMgSEYtaG9zdGVkIE9OTlggYnkgZGVmYXVsdCBzbyB0aGUgdG9vbCB3b3Jrc1xuICogb3V0IG9mIHRoZSBib3ggaW4gYW55IGhvc3QsIHJlcG9pbnRhYmxlIGF0IHByaXZhdGUgaG9zdGluZyB2aWFcbiAqIHtAbGluayBzZXRZb2xvTW9kZWxVcmxzfS5cbiAqXG4gKiBFYWNoIGVudHJ5IGNhcnJpZXMgdGhlIHBlci1tb2RlbCAqZGVmYXVsdHMqIHRoZSBzZXJ2ZXItc2lkZSB3b3JrZXIgdXNlcyBmb3JcbiAqIHRoYXQgY2hlY2twb2ludC4gVGhlc2UgYXJlIHByb3BlcnRpZXMgb2YgaG93IHRoZSBtb2RlbCB3YXMgdHJhaW5lZCAob2JqZWN0XG4gKiBzY2FsZSwgZXhwZWN0ZWQgY3Jvd2RpbmcpLCBub3QgVUkgcHJlZmVyZW5jZXMg4oCUIHRoZSBlbWJyeW8gbW9kZWxzIHdhbnQgaGVhdnlcbiAqIDYwJSB0aWxlIG92ZXJsYXAgYW5kIGxvb3NlIG1lcmdlIHRocmVzaG9sZHMgYmVjYXVzZSB0aGVpciBvYmplY3RzIGFyZSBsYXJnZVxuICogYW5kIHRvdWNoLCB3aGlsZSB0aGUgZXllIG1vZGVscyB3ZXJlIHRyYWluZWQgb24gc3BhcnNlLCBkb3duc2FtcGxlZCBmaWVsZHMuXG4gKiBLZWVwaW5nIHRoZW0gaGVyZSBtZWFucyBhIGhvc3QgdGhhdCBqdXN0IHBpY2tzIGEgbW9kZWwgZ2V0cyBzYW5lIGJlaGF2aW91clxuICogd2l0aG91dCBoYXZpbmcgdG8ga25vdyBhbnkgb2YgdGhhdC5cbiAqXG4gKiBXZWlnaHRzIHBvaW50IGF0IHRoZSBgbW9kZWwuZnAxNncub25ueGAgdmFyaWFudCBkZWxpYmVyYXRlbHkuIFRoZSBgLmZwMTZgXG4gKiB2YXJpYW50IGFjY3VtdWxhdGVzIGluIGhhbGYgcHJlY2lzaW9uIG9uIFdlYkdQVSBhbmQsIGF0IHRoZSB4LXNjYWxlIHRoZXNlXG4gKiBtb2RlbHMgdXNlLCBwcm9kdWNlcyBtYXRlcmlhbGx5IHdyb25nIGJveGVzOyBgZnAxNndgIHN0b3JlcyB3ZWlnaHRzIGluIGZwMTZcbiAqIGFuZCBjb21wdXRlcyBpbiBmcDMyLCBzbyBpdCBpcyBoYWxmIHRoZSBkb3dubG9hZCBhdCBpZGVudGljYWwgYWNjdXJhY3kuXG4gKlxuICogRXhwb3J0IHRvb2xpbmc6IHRoZSBzaWJsaW5nIGBicm93c2VyLW9ubngtdG9vbHNgIHByb2plY3QuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBZb2xvTW9kZWxEZWYge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICAvKiogVVJMIG9mIHRoZSBgLm9ubnhgIHdlaWdodHMuIEVtcHR5IGRpc2FibGVzIHRoZSBtb2RlbC4gKi9cbiAgbW9kZWxVcmw6IHN0cmluZztcbiAgLyoqXG4gICAqIFVSTCBvZiB0aGUgYG1vZGVsLmpzb25gIHNpZGVjYXIuIE9taXQgdG8gdXNlIGBtb2RlbC5qc29uYCBhbG9uZ3NpZGUgdGhlXG4gICAqIHdlaWdodHMsIHdoaWNoIGlzIGhvdyBldmVyeSBwdWJsaXNoZWQgcmVwbyBpcyBsYWlkIG91dC5cbiAgICovXG4gIG1ldGFVcmw/OiBzdHJpbmc7XG4gIC8qKiBQZXItbW9kZWwgZGVmYXVsdHMsIGZyb20gdGhlIHNlcnZlciB3b3JrZXIncyBtb2RlbCB0YWJsZS4gKi9cbiAgZGVmYXVsdHM6IHtcbiAgICBjb25maWRlbmNlOiBudW1iZXI7XG4gICAgaW91VGhyZXNob2xkOiBudW1iZXI7XG4gICAgbWVyZ2VUaHJlc2hvbGQ6IG51bWJlcjtcbiAgICBvdmVybGFwWDogbnVtYmVyO1xuICAgIG92ZXJsYXBZOiBudW1iZXI7XG4gIH07XG59XG5cbmNvbnN0IEhGID0gJ2h0dHBzOi8vaHVnZ2luZ2ZhY2UuY28vQmFsbG9uOTk5JztcblxuY29uc3QgRVlFX0RFRkFVTFRTID0ge1xuICBjb25maWRlbmNlOiAwLjYsXG4gIGlvdVRocmVzaG9sZDogMC41LFxuICBtZXJnZVRocmVzaG9sZDogMC4zLFxuICBvdmVybGFwWDogMCxcbiAgb3ZlcmxhcFk6IDAsXG59O1xuXG4vLyBFbWJyeW9zIGFyZSBsYXJnZSwgdG91Y2ggZWFjaCBvdGhlciwgYW5kIGFyZSBpbWFnZWQgYXQgbmF0aXZlIHNjYWxlIOKAlCBoZW5jZVxuLy8gdGhlIGhlYXZ5IG92ZXJsYXAgYW5kIHRoZSBmYXIgbG9vc2VyIG1lcmdlIHRocmVzaG9sZHMuXG5jb25zdCBFTUJSWU9fREVGQVVMVFMgPSB7XG4gIGNvbmZpZGVuY2U6IDAuNixcbiAgaW91VGhyZXNob2xkOiAwLjgsXG4gIG1lcmdlVGhyZXNob2xkOiAwLjgsXG4gIG92ZXJsYXBYOiA2MCxcbiAgb3ZlcmxhcFk6IDYwLFxufTtcblxuZXhwb3J0IGNvbnN0IFlPTE9fTU9ERUxTOiBZb2xvTW9kZWxEZWZbXSA9IFtcbiAge1xuICAgIGlkOiAneW9sb3Y4eC1zZWctb3B0aWNuZXJ2ZScsXG4gICAgbGFiZWw6ICdPcHRpYyBuZXJ2ZScsXG4gICAgbW9kZWxVcmw6IGAke0hGfS95b2xvdjh4LXNlZy1vcHRpY25lcnZlLW9ubngvcmVzb2x2ZS9tYWluL21vZGVsLmZwMTZ3Lm9ubnhgLFxuICAgIGRlZmF1bHRzOiB7IC4uLkVZRV9ERUZBVUxUUyB9LFxuICB9LFxuICB7XG4gICAgaWQ6ICd5b2xvdjh4LXNlZy1yZXRpbmEnLFxuICAgIGxhYmVsOiAnUmV0aW5hJyxcbiAgICBtb2RlbFVybDogYCR7SEZ9L3lvbG92OHgtc2VnLXJldGluYS1vbm54L3Jlc29sdmUvbWFpbi9tb2RlbC5mcDE2dy5vbm54YCxcbiAgICBkZWZhdWx0czogeyAuLi5FWUVfREVGQVVMVFMgfSxcbiAgfSxcbiAge1xuICAgIGlkOiAneW9sb3Y4eC1zZWctZW1icnlvLW0yJyxcbiAgICBsYWJlbDogJ0VtYnJ5byAoTTIpJyxcbiAgICBtb2RlbFVybDogYCR7SEZ9L3lvbG92OHgtc2VnLWVtYnJ5by1tMi1vbm54L3Jlc29sdmUvbWFpbi9tb2RlbC5mcDE2dy5vbm54YCxcbiAgICBkZWZhdWx0czogeyAuLi5FTUJSWU9fREVGQVVMVFMgfSxcbiAgfSxcbiAge1xuICAgIGlkOiAneW9sb3Y4eC1zZWctZW1icnlvLW0zJyxcbiAgICBsYWJlbDogJ0VtYnJ5byAoTTMpJyxcbiAgICBtb2RlbFVybDogYCR7SEZ9L3lvbG92OHgtc2VnLWVtYnJ5by1tMy1vbm54L3Jlc29sdmUvbWFpbi9tb2RlbC5mcDE2dy5vbm54YCxcbiAgICBkZWZhdWx0czogeyAuLi5FTUJSWU9fREVGQVVMVFMgfSxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1lPTE9fTU9ERUxfSUQgPSAneW9sb3Y4eC1zZWctb3B0aWNuZXJ2ZSc7XG5cbmxldCBkZWZhdWx0TW9kZWxJZCA9IERFRkFVTFRfWU9MT19NT0RFTF9JRDtcblxuLyoqIExvb2sgdXAgYSBtb2RlbCBkZWZpbml0aW9uIGJ5IGlkLiBSZXR1cm5zIHVuZGVmaW5lZCBmb3IgYW4gdW5rbm93biBpZC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRZb2xvTW9kZWwoaWQ6IHN0cmluZyk6IFlvbG9Nb2RlbERlZiB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBZT0xPX01PREVMUy5maW5kKChtKSA9PiBtLmlkID09PSBpZCk7XG59XG5cbi8qKiBXaGV0aGVyIGEgbW9kZWwgaGFzIGEgdXNhYmxlIHdlaWdodHMgVVJMIGNvbmZpZ3VyZWQuICovXG5leHBvcnQgZnVuY3Rpb24gaXNZb2xvTW9kZWxSZWFkeShpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IG0gPSBnZXRZb2xvTW9kZWwoaWQpO1xuICByZXR1cm4gISFtICYmIG0ubW9kZWxVcmwudHJpbSgpLmxlbmd0aCA+IDA7XG59XG5cbi8qKlxuICogUmVwb2ludCBhIG1vZGVsIGF0IGRpZmZlcmVudCBob3N0aW5nIChlLmcuIGEgR0NTIGJ1Y2tldCBvciBhIHNhbWUtb3JpZ2luXG4gKiBwcm94eSkuIENhbGwgb25jZSBhdCBhcHAgaW5pdCwgYmVmb3JlIHRoZSBmaXJzdCBydW4uIEFuIGVtcHR5IGBtb2RlbFVybGBcbiAqIGRpc2FibGVzIHRoZSBtb2RlbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldFlvbG9Nb2RlbFVybHMoaWQ6IHN0cmluZywgdXJsczogeyBtb2RlbFVybD86IHN0cmluZzsgbWV0YVVybD86IHN0cmluZyB9KTogdm9pZCB7XG4gIGNvbnN0IG0gPSBnZXRZb2xvTW9kZWwoaWQpO1xuICBpZiAoIW0pIHJldHVybjtcbiAgaWYgKHVybHMubW9kZWxVcmwgIT09IHVuZGVmaW5lZCkgbS5tb2RlbFVybCA9IHVybHMubW9kZWxVcmw7XG4gIGlmICh1cmxzLm1ldGFVcmwgIT09IHVuZGVmaW5lZCkgbS5tZXRhVXJsID0gdXJscy5tZXRhVXJsO1xufVxuXG4vKiogQ2hhbmdlIHdoaWNoIG1vZGVsIHJ1bnMgd2hlbiBhIGNhbGxlciBkb2VzIG5vdCBuYW1lIG9uZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXREZWZhdWx0WW9sb01vZGVsKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKGdldFlvbG9Nb2RlbChpZCkpIGRlZmF1bHRNb2RlbElkID0gaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0WW9sb01vZGVsSWQoKTogc3RyaW5nIHtcbiAgcmV0dXJuIGRlZmF1bHRNb2RlbElkO1xufVxuIl19
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW9sby1tb2RlbC1yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdG9vbGJhci9zZWdtZW50YXRpb24veW9sby1tb2RlbC1yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBc0JILE1BQU0sRUFBRSxHQUFHLGtDQUFrQyxDQUFDO0FBRTlDLE1BQU0sWUFBWSxHQUFHO0lBQ25CLFVBQVUsRUFBRSxHQUFHO0lBQ2YsWUFBWSxFQUFFLEdBQUc7SUFDakIsY0FBYyxFQUFFLEdBQUc7SUFDbkIsUUFBUSxFQUFFLENBQUM7SUFDWCxRQUFRLEVBQUUsQ0FBQztDQUNaLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxNQUFNLGVBQWUsR0FBRztJQUN0QixVQUFVLEVBQUUsR0FBRztJQUNmLFlBQVksRUFBRSxHQUFHO0lBQ2pCLCtFQUErRTtJQUMvRSw0RUFBNEU7SUFDNUUsd0VBQXdFO0lBQ3hFLDhFQUE4RTtJQUM5RSw4RUFBOEU7SUFDOUUsMEVBQTBFO0lBQzFFLHlFQUF5RTtJQUN6RSxjQUFjLEVBQUUsR0FBRztJQUNuQixRQUFRLEVBQUUsRUFBRTtJQUNaLFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLDhFQUE4RTtBQUM5RSx5REFBeUQ7QUFDekQsTUFBTSxlQUFlLEdBQUc7SUFDdEIsVUFBVSxFQUFFLEdBQUc7SUFDZixZQUFZLEVBQUUsR0FBRztJQUNqQixjQUFjLEVBQUUsR0FBRztJQUNuQixRQUFRLEVBQUUsRUFBRTtJQUNaLFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBbUI7SUFDekM7UUFDRSxFQUFFLEVBQUUsd0JBQXdCO1FBQzVCLEtBQUssRUFBRSxhQUFhO1FBQ3BCLFFBQVEsRUFBRSxHQUFHLEVBQUUsNERBQTREO1FBQzNFLFFBQVEsRUFBRSxFQUFFLEdBQUcsWUFBWSxFQUFFO0tBQzlCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsb0JBQW9CO1FBQ3hCLEtBQUssRUFBRSxRQUFRO1FBQ2YsUUFBUSxFQUFFLEdBQUcsRUFBRSx3REFBd0Q7UUFDdkUsUUFBUSxFQUFFLEVBQUUsR0FBRyxlQUFlLEVBQUU7S0FDakM7SUFDRDtRQUNFLEVBQUUsRUFBRSx1QkFBdUI7UUFDM0IsS0FBSyxFQUFFLGFBQWE7UUFDcEIsUUFBUSxFQUFFLEdBQUcsRUFBRSwyREFBMkQ7UUFDMUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxlQUFlLEVBQUU7S0FDakM7SUFDRDtRQUNFLEVBQUUsRUFBRSx1QkFBdUI7UUFDM0IsS0FBSyxFQUFFLGFBQWE7UUFDcEIsUUFBUSxFQUFFLEdBQUcsRUFBRSwyREFBMkQ7UUFDMUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxlQUFlLEVBQUU7S0FDakM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsd0JBQXdCLENBQUM7QUFFOUQsSUFBSSxjQUFjLEdBQUcscUJBQXFCLENBQUM7QUFFM0MsNkVBQTZFO0FBQzdFLE1BQU0sVUFBVSxZQUFZLENBQUMsRUFBVTtJQUNyQyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELDJEQUEyRDtBQUMzRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsRUFBVTtJQUN6QyxNQUFNLENBQUMsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxFQUFVLEVBQUUsSUFBNkM7SUFDeEYsTUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLElBQUksQ0FBQyxDQUFDO1FBQUUsT0FBTztJQUNmLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO1FBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzVELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTO1FBQUUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQzNELENBQUM7QUFFRCwrREFBK0Q7QUFDL0QsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEVBQVU7SUFDNUMsSUFBSSxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQUUsY0FBYyxHQUFHLEVBQUUsQ0FBQztBQUM1QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZWdpc3RyeSBvZiBZT0xPdjgtc2VnIGluc3RhbmNlLXNlZ21lbnRhdGlvbiBtb2RlbHMuXG4gKlxuICogTWlycm9ycyB7QGxpbmsgU0FNX01PREVMU306IHB1YmxpYyBIRi1ob3N0ZWQgT05OWCBieSBkZWZhdWx0IHNvIHRoZSB0b29sIHdvcmtzXG4gKiBvdXQgb2YgdGhlIGJveCBpbiBhbnkgaG9zdCwgcmVwb2ludGFibGUgYXQgcHJpdmF0ZSBob3N0aW5nIHZpYVxuICoge0BsaW5rIHNldFlvbG9Nb2RlbFVybHN9LlxuICpcbiAqIEVhY2ggZW50cnkgY2FycmllcyB0aGUgcGVyLW1vZGVsICpkZWZhdWx0cyogdGhlIHNlcnZlci1zaWRlIHdvcmtlciB1c2VzIGZvclxuICogdGhhdCBjaGVja3BvaW50LiBUaGVzZSBhcmUgcHJvcGVydGllcyBvZiBob3cgdGhlIG1vZGVsIHdhcyB0cmFpbmVkIChvYmplY3RcbiAqIHNjYWxlLCBleHBlY3RlZCBjcm93ZGluZyksIG5vdCBVSSBwcmVmZXJlbmNlcyDigJQgdGhlIGVtYnJ5byBtb2RlbHMgd2FudCBoZWF2eVxuICogNjAlIHRpbGUgb3ZlcmxhcCBhbmQgbG9vc2UgbWVyZ2UgdGhyZXNob2xkcyBiZWNhdXNlIHRoZWlyIG9iamVjdHMgYXJlIGxhcmdlXG4gKiBhbmQgdG91Y2gsIHdoaWxlIHRoZSBleWUgbW9kZWxzIHdlcmUgdHJhaW5lZCBvbiBzcGFyc2UsIGRvd25zYW1wbGVkIGZpZWxkcy5cbiAqIEtlZXBpbmcgdGhlbSBoZXJlIG1lYW5zIGEgaG9zdCB0aGF0IGp1c3QgcGlja3MgYSBtb2RlbCBnZXRzIHNhbmUgYmVoYXZpb3VyXG4gKiB3aXRob3V0IGhhdmluZyB0byBrbm93IGFueSBvZiB0aGF0LlxuICpcbiAqIFdlaWdodHMgcG9pbnQgYXQgdGhlIGBtb2RlbC5mcDE2dy5vbm54YCB2YXJpYW50IGRlbGliZXJhdGVseS4gVGhlIGAuZnAxNmBcbiAqIHZhcmlhbnQgYWNjdW11bGF0ZXMgaW4gaGFsZiBwcmVjaXNpb24gb24gV2ViR1BVIGFuZCwgYXQgdGhlIHgtc2NhbGUgdGhlc2VcbiAqIG1vZGVscyB1c2UsIHByb2R1Y2VzIG1hdGVyaWFsbHkgd3JvbmcgYm94ZXM7IGBmcDE2d2Agc3RvcmVzIHdlaWdodHMgaW4gZnAxNlxuICogYW5kIGNvbXB1dGVzIGluIGZwMzIsIHNvIGl0IGlzIGhhbGYgdGhlIGRvd25sb2FkIGF0IGlkZW50aWNhbCBhY2N1cmFjeS5cbiAqXG4gKiBFeHBvcnQgdG9vbGluZzogdGhlIHNpYmxpbmcgYGJyb3dzZXItb25ueC10b29sc2AgcHJvamVjdC5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFlvbG9Nb2RlbERlZiB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKiBVUkwgb2YgdGhlIGAub25ueGAgd2VpZ2h0cy4gRW1wdHkgZGlzYWJsZXMgdGhlIG1vZGVsLiAqL1xuICBtb2RlbFVybDogc3RyaW5nO1xuICAvKipcbiAgICogVVJMIG9mIHRoZSBgbW9kZWwuanNvbmAgc2lkZWNhci4gT21pdCB0byB1c2UgYG1vZGVsLmpzb25gIGFsb25nc2lkZSB0aGVcbiAgICogd2VpZ2h0cywgd2hpY2ggaXMgaG93IGV2ZXJ5IHB1Ymxpc2hlZCByZXBvIGlzIGxhaWQgb3V0LlxuICAgKi9cbiAgbWV0YVVybD86IHN0cmluZztcbiAgLyoqIFBlci1tb2RlbCBkZWZhdWx0cywgZnJvbSB0aGUgc2VydmVyIHdvcmtlcidzIG1vZGVsIHRhYmxlLiAqL1xuICBkZWZhdWx0czoge1xuICAgIGNvbmZpZGVuY2U6IG51bWJlcjtcbiAgICBpb3VUaHJlc2hvbGQ6IG51bWJlcjtcbiAgICBtZXJnZVRocmVzaG9sZDogbnVtYmVyO1xuICAgIG92ZXJsYXBYOiBudW1iZXI7XG4gICAgb3ZlcmxhcFk6IG51bWJlcjtcbiAgfTtcbn1cblxuY29uc3QgSEYgPSAnaHR0cHM6Ly9odWdnaW5nZmFjZS5jby9CYWxsb245OTknO1xuXG5jb25zdCBFWUVfREVGQVVMVFMgPSB7XG4gIGNvbmZpZGVuY2U6IDAuNixcbiAgaW91VGhyZXNob2xkOiAwLjUsXG4gIG1lcmdlVGhyZXNob2xkOiAwLjMsXG4gIG92ZXJsYXBYOiAwLFxuICBvdmVybGFwWTogMCxcbn07XG5cbi8qKlxuICogVGhlIHJldGluYSBpcyBhbiBlbG9uZ2F0ZWQgYmFuZCBzcGFubmluZyB0aGUgd2hvbGUgZmllbGQsIHNvIGl0IGNyb3NzZXMgdGlsZVxuICogc2VhbXMgd2hlcmV2ZXIgdGhleSBmYWxsLlxuICpcbiAqIFdpdGggbm8gb3ZlcmxhcCB0aGUgdGlsZXMgYnV0dCB0b2dldGhlciBhdCBmaXhlZCBib3VuZGFyaWVzOiBhIHN0cnVjdHVyZVxuICogc2l0dGluZyBhY3Jvc3MgYSBzZWFtIGlzIGN1dCBpbiBoYWxmLCBlYWNoIHRpbGUgc2VlcyBvbmx5IGEgc2xpY2UsIGFuZCB0aGVcbiAqIHNsaWNlIG9mdGVuIGZhaWxzIHRvIGNsZWFyIHRoZSBjb25maWRlbmNlIHRocmVzaG9sZCDigJQgc28gdGhlIG9iamVjdCB2YW5pc2hlc1xuICogZXhhY3RseSB3aGVyZSB0aGUgc2VhbSBsYW5kcy4gT2JzZXJ2ZWQgYXMgbXVsdGktdGhvdXNhbmQtcGl4ZWwgaG9sZXMgaW4gdGhlXG4gKiBtaWRkbGUgb2YgYW4gb3RoZXJ3aXNlIGNvbnRpbnVvdXMgcmV0aW5hLCB3aGljaCBjbG9zZWQgb25jZSBvdmVybGFwIHdhc1xuICogcmFpc2VkLlxuICpcbiAqIEFuIG9iamVjdCBvZiBzaXplIGBzYCBpcyBndWFyYW50ZWVkIHRvIHNpdCB3aG9sbHkgaW5zaWRlIHNvbWUgdGlsZSBvbmx5IHdoZW5cbiAqIHRoZSBvdmVybGFwIGlzIGF0IGxlYXN0IGBzIC8gdGlsZVNpemVgOyBhdCA2MCUgdGhhdCBjb3ZlcnMgYW55dGhpbmcgdXAgdG9cbiAqIH4zMDdweCBvZiBhIDUxMnB4IHRpbGUuIFRoZSBzZXJ2ZXIncyBvd24gdGFibGUgdXNlcyAwIGhlcmUgYW5kIGhhcyB0aGUgc2FtZVxuICogYmxpbmQgc3BvdCDigJQgdGhpcyBkZWxpYmVyYXRlbHkgZGl2ZXJnZXMgZnJvbSBpdC5cbiAqL1xuY29uc3QgUkVUSU5BX0RFRkFVTFRTID0ge1xuICBjb25maWRlbmNlOiAwLjYsXG4gIGlvdVRocmVzaG9sZDogMC41LFxuICAvLyBDcm9zcy10aWxlIG1lcmdpbmcgdXNlcyBpbnRlcnNlY3Rpb24tb3Zlci0qc21hbGxlciosIHNvIGF0IDAuMyBhIGZyYWdtZW50IGlzXG4gIC8vIGRpc2NhcmRlZCBvbmNlIDMwJSBvZiBpdHMgb3duIGFyZWEgaXMgY292ZXJlZCBieSBhIGxhcmdlciBib3gg4oCUIGV2ZW4gd2hlblxuICAvLyBtb3N0IG9mIGl0IGxpZXMgb3V0c2lkZS4gT24gYSBiYW5kIGRldGVjdGVkIGFzIGEgY2hhaW4gb2Ygb3ZlcmxhcHBpbmdcbiAgLy8gZnJhZ21lbnRzIHRoYXQgZGVsZXRlcyB0aGUgbWlkZGxlIG9uZXMuIE1lYXN1cmVkIG9uIG9uZSBzbGlkZTogMC4zIGdhdmUgdHdvXG4gIC8vIGJveGVzIGNvdmVyaW5nIDc1JSBvZiB0aGUgYmFuZCB3aXRoIGEgMzE1MHB4IGhvbGUgdGhyb3VnaCBpdDsgMC44IGdhdmUgZm91clxuICAvLyBib3hlcyBjb3ZlcmluZyAxMDAlIHdpdGggbm8gaG9sZSwgYXQgdGhlIGNvc3Qgb2YgdHdvIG92ZXJsYXBwaW5nIHBhaXJzLlxuICAvLyBNYXRjaGVzIHRoZSB2YWx1ZSBqaXQtdWkgYWxyZWFkeSBzZW5kcyB0aGUgc2VydmVyIGZvciB0aGlzIGNoZWNrcG9pbnQuXG4gIG1lcmdlVGhyZXNob2xkOiAwLjgsXG4gIG92ZXJsYXBYOiA2MCxcbiAgb3ZlcmxhcFk6IDYwLFxufTtcblxuLy8gRW1icnlvcyBhcmUgbGFyZ2UsIHRvdWNoIGVhY2ggb3RoZXIsIGFuZCBhcmUgaW1hZ2VkIGF0IG5hdGl2ZSBzY2FsZSDigJQgaGVuY2Vcbi8vIHRoZSBoZWF2eSBvdmVybGFwIGFuZCB0aGUgZmFyIGxvb3NlciBtZXJnZSB0aHJlc2hvbGRzLlxuY29uc3QgRU1CUllPX0RFRkFVTFRTID0ge1xuICBjb25maWRlbmNlOiAwLjYsXG4gIGlvdVRocmVzaG9sZDogMC44LFxuICBtZXJnZVRocmVzaG9sZDogMC44LFxuICBvdmVybGFwWDogNjAsXG4gIG92ZXJsYXBZOiA2MCxcbn07XG5cbmV4cG9ydCBjb25zdCBZT0xPX01PREVMUzogWW9sb01vZGVsRGVmW10gPSBbXG4gIHtcbiAgICBpZDogJ3lvbG92OHgtc2VnLW9wdGljbmVydmUnLFxuICAgIGxhYmVsOiAnT3B0aWMgbmVydmUnLFxuICAgIG1vZGVsVXJsOiBgJHtIRn0veW9sb3Y4eC1zZWctb3B0aWNuZXJ2ZS1vbm54L3Jlc29sdmUvbWFpbi9tb2RlbC5mcDE2dy5vbm54YCxcbiAgICBkZWZhdWx0czogeyAuLi5FWUVfREVGQVVMVFMgfSxcbiAgfSxcbiAge1xuICAgIGlkOiAneW9sb3Y4eC1zZWctcmV0aW5hJyxcbiAgICBsYWJlbDogJ1JldGluYScsXG4gICAgbW9kZWxVcmw6IGAke0hGfS95b2xvdjh4LXNlZy1yZXRpbmEtb25ueC9yZXNvbHZlL21haW4vbW9kZWwuZnAxNncub25ueGAsXG4gICAgZGVmYXVsdHM6IHsgLi4uUkVUSU5BX0RFRkFVTFRTIH0sXG4gIH0sXG4gIHtcbiAgICBpZDogJ3lvbG92OHgtc2VnLWVtYnJ5by1tMicsXG4gICAgbGFiZWw6ICdFbWJyeW8gKE0yKScsXG4gICAgbW9kZWxVcmw6IGAke0hGfS95b2xvdjh4LXNlZy1lbWJyeW8tbTItb25ueC9yZXNvbHZlL21haW4vbW9kZWwuZnAxNncub25ueGAsXG4gICAgZGVmYXVsdHM6IHsgLi4uRU1CUllPX0RFRkFVTFRTIH0sXG4gIH0sXG4gIHtcbiAgICBpZDogJ3lvbG92OHgtc2VnLWVtYnJ5by1tMycsXG4gICAgbGFiZWw6ICdFbWJyeW8gKE0zKScsXG4gICAgbW9kZWxVcmw6IGAke0hGfS95b2xvdjh4LXNlZy1lbWJyeW8tbTMtb25ueC9yZXNvbHZlL21haW4vbW9kZWwuZnAxNncub25ueGAsXG4gICAgZGVmYXVsdHM6IHsgLi4uRU1CUllPX0RFRkFVTFRTIH0sXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9ZT0xPX01PREVMX0lEID0gJ3lvbG92OHgtc2VnLW9wdGljbmVydmUnO1xuXG5sZXQgZGVmYXVsdE1vZGVsSWQgPSBERUZBVUxUX1lPTE9fTU9ERUxfSUQ7XG5cbi8qKiBMb29rIHVwIGEgbW9kZWwgZGVmaW5pdGlvbiBieSBpZC4gUmV0dXJucyB1bmRlZmluZWQgZm9yIGFuIHVua25vd24gaWQuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0WW9sb01vZGVsKGlkOiBzdHJpbmcpOiBZb2xvTW9kZWxEZWYgfCB1bmRlZmluZWQge1xuICByZXR1cm4gWU9MT19NT0RFTFMuZmluZCgobSkgPT4gbS5pZCA9PT0gaWQpO1xufVxuXG4vKiogV2hldGhlciBhIG1vZGVsIGhhcyBhIHVzYWJsZSB3ZWlnaHRzIFVSTCBjb25maWd1cmVkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzWW9sb01vZGVsUmVhZHkoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBtID0gZ2V0WW9sb01vZGVsKGlkKTtcbiAgcmV0dXJuICEhbSAmJiBtLm1vZGVsVXJsLnRyaW0oKS5sZW5ndGggPiAwO1xufVxuXG4vKipcbiAqIFJlcG9pbnQgYSBtb2RlbCBhdCBkaWZmZXJlbnQgaG9zdGluZyAoZS5nLiBhIEdDUyBidWNrZXQgb3IgYSBzYW1lLW9yaWdpblxuICogcHJveHkpLiBDYWxsIG9uY2UgYXQgYXBwIGluaXQsIGJlZm9yZSB0aGUgZmlyc3QgcnVuLiBBbiBlbXB0eSBgbW9kZWxVcmxgXG4gKiBkaXNhYmxlcyB0aGUgbW9kZWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRZb2xvTW9kZWxVcmxzKGlkOiBzdHJpbmcsIHVybHM6IHsgbW9kZWxVcmw/OiBzdHJpbmc7IG1ldGFVcmw/OiBzdHJpbmcgfSk6IHZvaWQge1xuICBjb25zdCBtID0gZ2V0WW9sb01vZGVsKGlkKTtcbiAgaWYgKCFtKSByZXR1cm47XG4gIGlmICh1cmxzLm1vZGVsVXJsICE9PSB1bmRlZmluZWQpIG0ubW9kZWxVcmwgPSB1cmxzLm1vZGVsVXJsO1xuICBpZiAodXJscy5tZXRhVXJsICE9PSB1bmRlZmluZWQpIG0ubWV0YVVybCA9IHVybHMubWV0YVVybDtcbn1cblxuLyoqIENoYW5nZSB3aGljaCBtb2RlbCBydW5zIHdoZW4gYSBjYWxsZXIgZG9lcyBub3QgbmFtZSBvbmUuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0RGVmYXVsdFlvbG9Nb2RlbChpZDogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChnZXRZb2xvTW9kZWwoaWQpKSBkZWZhdWx0TW9kZWxJZCA9IGlkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdFlvbG9Nb2RlbElkKCk6IHN0cmluZyB7XG4gIHJldHVybiBkZWZhdWx0TW9kZWxJZDtcbn1cbiJdfQ==
|
|
@@ -425,6 +425,36 @@ const EYE_DEFAULTS = {
|
|
|
425
425
|
overlapX: 0,
|
|
426
426
|
overlapY: 0,
|
|
427
427
|
};
|
|
428
|
+
/**
|
|
429
|
+
* The retina is an elongated band spanning the whole field, so it crosses tile
|
|
430
|
+
* seams wherever they fall.
|
|
431
|
+
*
|
|
432
|
+
* With no overlap the tiles butt together at fixed boundaries: a structure
|
|
433
|
+
* sitting across a seam is cut in half, each tile sees only a slice, and the
|
|
434
|
+
* slice often fails to clear the confidence threshold — so the object vanishes
|
|
435
|
+
* exactly where the seam lands. Observed as multi-thousand-pixel holes in the
|
|
436
|
+
* middle of an otherwise continuous retina, which closed once overlap was
|
|
437
|
+
* raised.
|
|
438
|
+
*
|
|
439
|
+
* An object of size `s` is guaranteed to sit wholly inside some tile only when
|
|
440
|
+
* the overlap is at least `s / tileSize`; at 60% that covers anything up to
|
|
441
|
+
* ~307px of a 512px tile. The server's own table uses 0 here and has the same
|
|
442
|
+
* blind spot — this deliberately diverges from it.
|
|
443
|
+
*/
|
|
444
|
+
const RETINA_DEFAULTS = {
|
|
445
|
+
confidence: 0.6,
|
|
446
|
+
iouThreshold: 0.5,
|
|
447
|
+
// Cross-tile merging uses intersection-over-*smaller*, so at 0.3 a fragment is
|
|
448
|
+
// discarded once 30% of its own area is covered by a larger box — even when
|
|
449
|
+
// most of it lies outside. On a band detected as a chain of overlapping
|
|
450
|
+
// fragments that deletes the middle ones. Measured on one slide: 0.3 gave two
|
|
451
|
+
// boxes covering 75% of the band with a 3150px hole through it; 0.8 gave four
|
|
452
|
+
// boxes covering 100% with no hole, at the cost of two overlapping pairs.
|
|
453
|
+
// Matches the value jit-ui already sends the server for this checkpoint.
|
|
454
|
+
mergeThreshold: 0.8,
|
|
455
|
+
overlapX: 60,
|
|
456
|
+
overlapY: 60,
|
|
457
|
+
};
|
|
428
458
|
// Embryos are large, touch each other, and are imaged at native scale — hence
|
|
429
459
|
// the heavy overlap and the far looser merge thresholds.
|
|
430
460
|
const EMBRYO_DEFAULTS = {
|
|
@@ -445,7 +475,7 @@ const YOLO_MODELS = [
|
|
|
445
475
|
id: 'yolov8x-seg-retina',
|
|
446
476
|
label: 'Retina',
|
|
447
477
|
modelUrl: `${HF}/yolov8x-seg-retina-onnx/resolve/main/model.fp16w.onnx`,
|
|
448
|
-
defaults: { ...
|
|
478
|
+
defaults: { ...RETINA_DEFAULTS },
|
|
449
479
|
},
|
|
450
480
|
{
|
|
451
481
|
id: 'yolov8x-seg-embryo-m2',
|