lightly-studio 0.3.4__py3-none-any.whl → 0.4.0__py3-none-any.whl

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.

Potentially problematic release.


This version of lightly-studio might be problematic. Click here for more details.

Files changed (98) hide show
  1. lightly_studio/api/features.py +3 -5
  2. lightly_studio/api/routes/api/dataset_tag.py +10 -0
  3. lightly_studio/api/routes/api/embeddings2d.py +8 -37
  4. lightly_studio/core/dataset.py +89 -2
  5. lightly_studio/core/dataset_query/__init__.py +14 -0
  6. lightly_studio/core/sample.py +33 -1
  7. lightly_studio/db_manager.py +4 -2
  8. lightly_studio/dist_lightly_studio_view_app/_app/env.js +1 -1
  9. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/0.CN4hnTks.css +1 -0
  10. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/{Samples.CIbricz7.css → Samples.C0_eo9eP.css} +1 -1
  11. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/_layout.kFFGI0zL.css +1 -0
  12. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/{transform.2jKMtOWG.css → transform.sLzR40om.css} +1 -1
  13. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{qIv1kPyv.js → BOmrKuMn.js} +1 -1
  14. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{B7302SU7.js → BPpOWbDa.js} +1 -1
  15. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BaFFwDFr.js +1 -0
  16. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{CZGpyrcA.js → BiGQqqJP.js} +1 -1
  17. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{D_JuJOO3.js → BrNKoXwc.js} +1 -1
  18. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BsaJCCG_.js +96 -0
  19. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{sLqs1uaK.js → BtXGzlpP.js} +1 -1
  20. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Frwd2CjB.js → C3xJX0nD.js} +1 -1
  21. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{H4l0JFh9.js → CANX9QXL.js} +1 -1
  22. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CAPx0Bfm.js +1 -0
  23. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CP9M7pei.js +39 -0
  24. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CWuDkrMZ.js +436 -0
  25. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/ChlxSwqI.js +1 -0
  26. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DzBTnFhV.js → Cj4nZbtb.js} +1 -1
  27. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Bqz7dyEC.js → ClzkJBWk.js} +1 -1
  28. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CpbA3HU7.js +2 -0
  29. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DQ8aZ1o-.js → D8ZGoCPm.js} +1 -1
  30. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DMJzr1NB.js +1 -0
  31. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{CSCQddQS.js → DNJnBfHs.js} +1 -1
  32. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DSxvnAMh.js → DUtlYNuP.js} +1 -1
  33. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DVxjPOJB.js +1 -0
  34. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DmGM9V9Q.js +1 -0
  35. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DoEId1MK.js +1 -0
  36. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DthpwYR_.js +2 -0
  37. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DyIcJj6J.js +1 -0
  38. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/SiegjVo0.js +1 -0
  39. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Dj4O-5se.js → WEyXQRi6.js} +1 -1
  40. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/gBp1tBnA.js +1 -0
  41. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/xQhUoIl9.js +1 -0
  42. lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/app.Y-sSoz5q.js +2 -0
  43. lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/start.CvxVp0Cu.js +1 -0
  44. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/0.0Fm6E-5B.js +4 -0
  45. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{1.Cdy-7S5q.js → 1.DB-0vkHb.js} +1 -1
  46. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/10.vaUePh5k.js +1 -0
  47. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/11.7i7ljNVT.js +1 -0
  48. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{12.DcO8wIAc.js → 13.9qy3WtZv.js} +1 -1
  49. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{2.BIldfkxL.js → 2.Drwwdm7A.js} +95 -94
  50. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{3.BC9z_TWM.js → 3.D3X_-Wan.js} +1 -1
  51. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{4.D8X_Ch5n.js → 4.C9TqY3tA.js} +1 -1
  52. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/5.iRw6HCWX.js +39 -0
  53. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{6.DRA5Ru_2.js → 6.fqfYR7dB.js} +1 -1
  54. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{7.WVBsruHQ.js → 7.C7gMM-gk.js} +1 -1
  55. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/8.C4v1w-oS.js +20 -0
  56. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/9.DbHcSiMn.js +1 -0
  57. lightly_studio/dist_lightly_studio_view_app/_app/version.json +1 -1
  58. lightly_studio/dist_lightly_studio_view_app/index.html +14 -14
  59. lightly_studio/models/caption.py +1 -0
  60. lightly_studio/models/sample.py +7 -0
  61. lightly_studio/models/settings.py +5 -0
  62. lightly_studio/resolvers/dataset_resolver.py +2 -4
  63. lightly_studio/resolvers/sample_resolver.py +1 -0
  64. lightly_studio/resolvers/settings_resolver.py +3 -0
  65. lightly_studio/resolvers/twodim_embedding_resolver.py +29 -0
  66. lightly_studio/selection/__init__.py +1 -0
  67. lightly_studio/selection/mundig.py +41 -0
  68. lightly_studio-0.4.0.dist-info/METADATA +78 -0
  69. {lightly_studio-0.3.4.dist-info → lightly_studio-0.4.0.dist-info}/RECORD +71 -69
  70. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/0.B3oFNb6O.css +0 -1
  71. lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/_layout.7Ma7YdVg.css +0 -1
  72. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/-DXuGN29.js +0 -1
  73. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BeWf8-vJ.js +0 -1
  74. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CfQ4mGwl.js +0 -1
  75. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CiaNZCBa.js +0 -1
  76. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Cqo0Vpvt.js +0 -417
  77. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Cy4fgWTG.js +0 -1
  78. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/D5w4xp5l.js +0 -1
  79. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DD63uD-T.js +0 -1
  80. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/D_ynJAfY.js +0 -2
  81. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dafy4oEQ.js +0 -1
  82. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DmjAI-UV.js +0 -1
  83. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dug7Bq1S.js +0 -1
  84. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Dv5BSBQG.js +0 -1
  85. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DzX_yyqb.js +0 -1
  86. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/H60ATh8g.js +0 -2
  87. lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/u-it74zV.js +0 -96
  88. lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/app.BPc0HQPq.js +0 -2
  89. lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/start.SNvc2nrm.js +0 -1
  90. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/0.5jT7P06o.js +0 -1
  91. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/10.C_uoESTX.js +0 -1
  92. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/5.CAXhxJu6.js +0 -39
  93. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/8.BuKUrCEN.js +0 -20
  94. lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/9.CUIn1yCR.js +0 -1
  95. lightly_studio/selection/README.md +0 -6
  96. lightly_studio-0.3.4.dist-info/METADATA +0 -879
  97. /lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{11.CWG1ehzT.js → 12.CWG1ehzT.js} +0 -0
  98. {lightly_studio-0.3.4.dist-info → lightly_studio-0.4.0.dist-info}/WHEEL +0 -0
@@ -1,20 +0,0 @@
1
- import{p as U,f as E,n as Qt,a as z,w as Dt,m as _t,$ as gt,g as t,b as i,c as g,r as f,s as S,t as G,Y as pt,ak as Et,au as Ct}from"../chunks/Frwd2CjB.js";import{l as Xt}from"../chunks/D5w4xp5l.js";import{u as xt}from"../chunks/qIv1kPyv.js";import"../chunks/CWj6FrbW.js";import{c as Q,a as m,f as C,t as Nt,b as ta}from"../chunks/CiaNZCBa.js";import{i as T,s as R,a as Y}from"../chunks/-DXuGN29.js";import{e as ht}from"../chunks/Dug7Bq1S.js";import{s as et,e as aa,g as ea,u as na,k as oa,b as sa,t as ia}from"../chunks/D_ynJAfY.js";import{g as at,c as ra}from"../chunks/DQ8aZ1o-.js";import{I as da,s as la,q as nt,y as ca,z as ua,B as va,D as ma,o as bt,E as Bt,F as fa,C as Lt,v as Rt,H as _a,n as jt,f as ga,S as pa}from"../chunks/Cqo0Vpvt.js";import"../chunks/Bqz7dyEC.js";import{p as H}from"../chunks/DSxvnAMh.js";import"../chunks/69_IOA4Y.js";import{S as ha}from"../chunks/CZGpyrcA.js";import{s as ba}from"../chunks/DzX_yyqb.js";import{r as q}from"../chunks/CfQ4mGwl.js";import{S as xa}from"../chunks/DmjAI-UV.js";import{B as Ia,a as Aa,b as tt,c as mt,H as wa,d as ft,D as Sa,e as $a,Z as ya,g as Ma,u as ka}from"../chunks/u-it74zV.js";import{S as Pa}from"../chunks/CSCQddQS.js";import{s as V}from"../chunks/H60ATh8g.js";import{C as Ca}from"../chunks/sLqs1uaK.js";import{s as Na,r as Ba}from"../chunks/Dafy4oEQ.js";function Da(u,a){U(a,!0);/**
2
- * @license @lucide/svelte v0.482.0 - ISC
3
- *
4
- * ISC License
5
- *
6
- * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2022.
7
- *
8
- * Permission to use, copy, modify, and/or distribute this software for any
9
- * purpose with or without fee is hereby granted, provided that the above
10
- * copyright notice and this permission notice appear in all copies.
11
- *
12
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19
- *
20
- */let e=Ba(a,["$$slots","$$events","$$legacy"]);const d=[["path",{d:"M5 3a2 2 0 0 0-2 2"}],["path",{d:"M19 3a2 2 0 0 1 2 2"}],["path",{d:"M21 19a2 2 0 0 1-2 2"}],["path",{d:"M5 21a2 2 0 0 1-2-2"}],["path",{d:"M9 3h1"}],["path",{d:"M9 21h1"}],["path",{d:"M14 3h1"}],["path",{d:"M14 21h1"}],["path",{d:"M3 9v1"}],["path",{d:"M21 9v1"}],["path",{d:"M3 14v1"}],["path",{d:"M21 14v1"}]];da(u,Na({name:"square-dashed"},()=>e,{get iconNode(){return d},children:(o,l)=>{var s=Q(),I=E(s);ba(I,()=>a.children??Qt),m(o,s)},$$slots:{default:!0}})),z()}const Ea=({annotationIndex:u,...a})=>{const e=Dt({isLoading:!1});return(async()=>{e.update(o=>({...o,isLoading:!0}));try{const{data:o}=await Xt({path:{dataset_id:a.dataset_id},query:{cursor:u>0?u-1:0,limit:3,annotation_label_ids:a.annotation_label_ids,tag_ids:a.tag_ids}});if(!o){e.update(n=>({...n,isLoading:!1,error:"No annotations data received",data:void 0}));return}const{setAnnotationsTotalCount:l}=xt();l(o.total_count);let s;const I=u>0?o.data[0]:void 0;o.data.length>1&&(s=u===0?o.data[1]:o.data[2]),e.update(n=>({...n,isLoading:!1,error:void 0,data:{annotationNext:s,annotationPrevious:I}}))}catch(o){e.update(l=>({...l,isLoading:!1,error:String(o)}))}})(),e},La=async({parent:u,params:{dataset_id:a,annotationId:e,annotationIndex:d}})=>{const{annotationsSelectedTagsIds:o,annotationsSelectedAnnotationLabelsIds:l,dataset:s}=await u(),I=parseInt(d,10),n=Dt();if(!s)throw new Error("Dataset data not found");return Ea({annotationIndex:I,dataset_id:a,currentAnnotationId:e,annotation_label_ids:Array.from(_t(l)),tag_ids:Array.from(_t(o))}).subscribe(({data:D})=>{n.set(D)}),{annotationAdjacents:n,annotationIndex:I,annotationId:e,dataset:s}},Pe=Object.freeze(Object.defineProperty({__proto__:null,load:La},Symbol.toStringTag,{value:"Module"}));function Ra(u,a){U(a,!0);const e=()=>R(t(s),"$annotationAdjacents",d),[d,o]=Y(),l=i(()=>H.data.annotationIndex),s=i(()=>H.data.annotationAdjacents),I=()=>{e().annotationNext&&at(q.toSampleWithAnnotation({datasetId:e().annotationNext.dataset_id,sampleId:e().annotationNext.sample_id,annotationId:e().annotationNext.annotation_id,annotationIndex:t(l)+1}))},n=()=>{e().annotationPrevious&&at(q.toSampleWithAnnotation({datasetId:e().annotationPrevious.dataset_id,sampleId:e().annotationPrevious.sample_id,annotationId:e().annotationPrevious.annotation_id,annotationIndex:t(l)-1}))},D=p=>{switch(p.key){case"ArrowRight":I();break;case"ArrowLeft":n();break}};var $=Q();ht("keydown",gt,D);var w=E($);{var y=p=>{{let h=i(()=>!!e().annotationPrevious),A=i(()=>!!e().annotationNext);Pa(p,{get hasPrevious(){return t(h)},get hasNext(){return t(A)},onPrevious:n,onNext:I})}};T(w,p=>{e()&&p(y)})}m(u,$),z(),o()}const ja={object_detection:"Object Detection",instance_segmentation:"Instance Segmentation",semantic_segmentation:"Semantic Segmentation",classification:"Classification"};var Ta=C('<span class="text-sm"> </span> <span class="break-all text-sm"> </span>',1);function Ha(u,a){var e=Ta(),d=E(e),o=g(d,!0);f(d);var l=S(d,2),s=g(l,!0);f(l),G(()=>{V(o,a.label),et(l,"data-testid",`annotation-metadata-${a.id}`),V(s,a.value)}),m(u,e)}var Ua=C('<span class="break-all text-sm"> </span>'),za=C('<span class="text-sm"> </span> <!>',1);function Fa(u,a){U(a,!0);const e=()=>R(s,"$result",o),d=()=>R(a.isEditingMode,"$isEditingMode",o),[o,l]=Y(),s=la(),{updateAnnotation:I}=nt({datasetId:a.datasetId,annotationId:a.annotationId,onUpdate:a.onUpdate}),n=i(()=>va(e().data||[])),D=i(()=>{const b=t(n).find(r=>r.value===a.value);return b||{value:a.value,label:a.value}});var $=za(),w=E($),y=g(w,!0);f(w);var p=S(w,2);{var h=b=>{{const r=(x,v)=>{let k=()=>v==null?void 0:v().inputValue;ua(x,{get label(){return k()}})};let c=i(()=>t(n).find(x=>{var v;return x.value===((v=t(D))==null?void 0:v.value)}));ca(b,{get items(){return t(n)},get selectedItem(){return t(c)},name:"annotation-label",placeholder:"Select a label",onSelect:x=>{I({annotation_id:a.annotationId,dataset_id:a.datasetId,label_name:x.value})},notFound:r,$$slots:{notFound:!0}})}},A=b=>{var r=Ua();et(r,"data-testid","annotation-metadata-label");var c=g(r,!0);f(r),G(()=>V(c,a.value)),m(b,r)};T(p,b=>{d()?b(h):b(A,!1)})}G(()=>V(y,a.label)),m(u,$),z(),l()}var Oa=C('<div class="flex flex-col gap-4"><div class="grid grid-cols-[6rem_1fr] gap-y-3 text-diffuse-foreground"></div></div>');function qa(u,a){U(a,!0);const e=()=>R(t(I),"$annotationResp",d),[d,o]=Y(),{datasetId:l}=H.data,s=i(()=>nt({datasetId:l,annotationId:a.annotationId})),I=i(()=>t(s).annotation);let n=i(()=>e().data);const D=i(()=>{var A,b;if(!t(n))return[];let h=[{id:"label",label:"Label:",value:(b=(A=t(n))==null?void 0:A.annotation_label)==null?void 0:b.annotation_label_name},{id:"type",label:"Type:",value:ja[t(n).annotation_type]||"Unknown"}];if(t(n)&&!ma(t(n))){const{height:r,width:c}=bt(t(n));h=[{id:"height",label:"Height:",value:Bt(Math.round(r))+"px"},{id:"width",label:"Width:",value:Bt(Math.round(c))+"px"},...h]}return h}),{isEditingMode:$}=H.data.globalStorage;var w=Q(),y=E(w);{var p=h=>{fa(h,{title:"Annotation details",children:(A,b)=>{var r=Oa(),c=g(r);aa(c,21,()=>t(D),({label:x,value:v,id:k})=>x,(x,v)=>{let k=()=>t(v).label,L=()=>t(v).value,P=()=>t(v).id;var N=Q(),j=E(N);{var F=B=>{Fa(B,{get onUpdate(){return a.onUpdate},get annotationId(){return a.annotationId},get datasetId(){return l},get label(){return k()},get value(){return L()},get isEditingMode(){return $}})},_=B=>{Ha(B,{get label(){return k()},get id(){return P()},get value(){return L()}})};T(j,B=>{P()==="label"&&$?B(F):B(_,!1)})}m(x,N)}),f(c),f(r),m(A,r)}})};T(y,h=>{t(D).length>0&&h(p)})}m(u,w),z(),o()}var Ga=C('<!> <h2 class="py-2 text-lg font-semibold"><a>Check all sample annotations</a></h2>',1),Ka=C('<div class="flex h-full w-full items-center justify-center"><!></div>'),Wa=C('<div class="flex h-full min-h-0 flex-col space-y-4 overflow-hidden dark:[color-scheme:dark]"><!> <!></div>');function Va(u,a){U(a,!0);const{datasetId:e}=H.data;let d=Et(void 0);nt({datasetId:e,annotationId:a.annotationId}).annotation.subscribe(n=>{n.isSuccess&&pt(d,n.data.sample,!0)});const l=ea(),[s,I]=l;Lt(u,{className:"h-full",children:(n,D)=>{Rt(n,{className:"h-full flex flex-col",children:($,w)=>{var y=Wa(),p=g(y);qa(p,{get annotationId(){return a.annotationId},get onUpdate(){return a.onUpdate}});var h=S(p,2);{var A=r=>{var c=Ga(),x=E(c);_a(x,{get sample(){return t(d)},showCustomMetadata:!1});var v=S(x,2),k=g(v);f(v),G(L=>et(k,"href",L),[()=>s(q.toSample({sampleId:t(d).sample_id,datasetId:t(d).dataset_id}),void 0)]),m(r,c)},b=r=>{var c=Ka(),x=g(c);jt(x,{size:"large",align:"center"}),f(c),m(r,c)};T(h,r=>{t(d)?r(A):r(b,!1)})}f(y),m($,y)},$$slots:{default:!0}})},$$slots:{default:!0}}),z()}var Ya=C('<!> <span class="hidden sm:inline">Home</span>',1),Za=C('<!> <span class="max-w-[150px] truncate"> </span>',1),Ja=C('<!> <span class="hidden sm:inline">Annotations</span>',1),Qa=C('<!> <span class="max-w-[200px] truncate"><!></span>',1),Xa=C("<!> <!> <!> <!> <!> <!> <!>",1);function te(u,a){U(a,!0);const e=()=>R(l,"$annotationsTotalCount",d),[d,o]=Y(),{annotationsTotalCount:l}=xt();Ia(u,{class:"mb-2",children:(s,I)=>{Aa(s,{children:(n,D)=>{var $=Xa(),w=E($);tt(w,{children:(c,x)=>{{let v=i(()=>q.toHome());mt(c,{get href(){return t(v)},class:"flex items-center gap-2",children:(k,L)=>{var P=Ya(),N=E(P);wa(N,{class:"h-4 w-4"}),Ct(2),m(k,P)},$$slots:{default:!0}})}},$$slots:{default:!0}});var y=S(w,2);ft(y,{});var p=S(y,2);tt(p,{children:(c,x)=>{{let v=i(()=>q.toAnnotations(a.dataset.dataset_id));mt(c,{get href(){return t(v)},class:"flex items-center gap-2",children:(k,L)=>{var P=Za(),N=E(P);Sa(N,{class:"h-4 w-4"});var j=S(N,2),F=g(j,!0);f(j),G(()=>V(F,a.dataset.name)),m(k,P)},$$slots:{default:!0}})}},$$slots:{default:!0}});var h=S(p,2);ft(h,{});var A=S(h,2);tt(A,{children:(c,x)=>{{let v=i(()=>q.toAnnotations(a.dataset.dataset_id));mt(c,{get href(){return t(v)},class:"flex items-center gap-2",children:(k,L)=>{var P=Ja(),N=E(P);Ca(N,{class:"h-4 w-4"}),Ct(2),m(k,P)},$$slots:{default:!0}})}},$$slots:{default:!0}});var b=S(A,2);ft(b,{});var r=S(b,2);tt(r,{children:(c,x)=>{$a(c,{class:"flex items-center gap-2",children:(v,k)=>{var L=Qa(),P=E(L);Da(P,{class:"h-4 w-4"});var N=S(P,2),j=g(N);{var F=B=>{var K=Nt();G(()=>V(K,`Annotation ${a.annotationIndex+1} of ${e()??""}`)),m(B,K)},_=B=>{var K=Nt("Annotation");m(B,K)};T(j,B=>{a.annotationIndex?B(F):B(_,!1)})}f(N),m(v,L)},$$slots:{default:!0}})},$$slots:{default:!0}}),m(n,$)},$$slots:{default:!0}})},$$slots:{default:!0}}),z(),o()}var ae=ta("<image></image><g><!></g>",1),ee=C('<div class="h-full w-full overflow-hidden"><div class="sample relative h-full w-full"><div class="absolute right-4 top-2 z-30"><!></div> <!> <!></div></div>'),ne=C('<div class="flex h-full w-full items-center justify-center"><!></div>'),oe=C('<div class="flex h-full w-full flex-col space-y-4"><div class="flex w-full items-center"><!></div> <!> <div class="flex min-h-0 flex-1 gap-4"><div class="flex-1"><!></div> <div class="relative w-[375px]"><!></div></div></div>');function se(u,a){U(a,!0);const e=()=>R(Tt,"$isEditingMode",s),d=()=>R(t(P),"$annotationResp",s),o=()=>R(D,"$selectedSampleAnnotationCropIds",s),l=()=>R(y,"$isHidden",s),[s,I]=Y(),{toggleSampleAnnotationCropSelection:n,selectedSampleAnnotationCropIds:D,clearReversibleActionsByGroupId:$,addReversibleAction:w}=xt(),{isHidden:y,handleKeyEvent:p}=ga(),{settingsStore:h}=na(),A=" ",b=_t(h).key_go_back;let r=Et(!1);const c=()=>{var M;(M=a.sample)!=null&&M.dataset_id?at(q.toAnnotations(a.sample.dataset_id)):at("/")},x=M=>{switch(M.key){case b:c();break;case" ":M.preventDefault(),e()?pt(r,!0):n(a.annotationId);break;case A:M.preventDefault(),n(a.annotationId);break}p(M)},v=M=>{M.key===" "&&pt(r,!1),p(M)},k=H.data.datasetId,L=i(()=>nt({datasetId:k,annotationId:a.annotationId})),P=i(()=>t(L).annotation),N=i(()=>t(L).updateAnnotation),j="bbox-change-annotation-details";ra(()=>{$(j)});const F=M=>{if(t(_)){const Z={annotation_id:t(_).annotation_id,dataset_id:t(_).dataset_id,bounding_box:M},rt=bt(t(_)),St=async()=>{const J={annotation_id:t(_).annotation_id,dataset_id:t(_).dataset_id,bounding_box:rt};await t(N)(J)};(async()=>{try{await t(N)(Z),w({id:`bbox-change-${t(_).annotation_id}-${Date.now()}`,description:`Revert bounding box change for annotation ${t(_).annotation_id}`,execute:St,timestamp:new Date,groupId:j})}catch(J){ia.error("Failed to update annotations:"+J.message)}})()}};let _=i(()=>d().data),B=i(()=>{var M,Z;return Ma(((Z=(M=t(_))==null?void 0:M.sample)==null?void 0:Z.sample_id)||"")}),K=i(()=>t(_)?bt(t(_)):void 0);const{isEditingMode:Tt}=H.data.globalStorage,Ht=i(()=>t(r)?"grab":"auto"),Ut=i(()=>e()&&!t(r));var ot=oe();ht("keydown",gt,x),ht("keyup",gt,v);var st=g(ot),zt=g(st);te(zt,{get dataset(){return a.dataset},get annotationIndex(){return a.annotationIndex}}),f(st);var It=S(st,2);ha(It,{class:"mb-4 bg-border-hard"});var At=S(It,2),it=g(At),Ft=g(it);Lt(Ft,{className:"h-full",children:(M,Z)=>{Rt(M,{className:"h-full",children:(rt,St)=>{var dt=Q(),J=E(dt);{var qt=W=>{var O=ee(),X=g(O),lt=g(X),Kt=g(lt);{let yt=i(()=>o().has(a.annotationId));pa(Kt,{onSelect:()=>n(a.annotationId),get isSelected(){return t(yt)}})}f(lt);var $t=S(lt,2);Ra($t,{});var Wt=S($t,2);ya(Wt,{get width(){return t(_).sample.width},get height(){return t(_).sample.height},get cursor(){return t(Ht)},get boundingBox(){return t(K)},zoomableContent:(Vt,ct)=>{let Yt=()=>ct==null?void 0:ct().scale;var Mt=ae(),kt=E(Mt),ut=S(kt);let Pt;var Zt=g(ut);oa(Zt,()=>d().dataUpdatedAt,vt=>{{let Jt=i(()=>({x:0,y:0,width:t(_).sample.width,height:t(_).sample.height}));xa(vt,{get annotation(){return t(_)},showLabel:!0,get scale(){return Yt()},get imageWidth(){return t(_).sample.width},get isResizable(){return t(Ut)},onBoundingBoxChanged:F,get constraintBox(){return t(Jt)}})}}),f(ut),G(vt=>{et(kt,"href",t(B)),Pt=sa(ut,0,"",null,Pt,vt)},[()=>({invisible:l()})]),m(Vt,Mt)},$$slots:{zoomableContent:!0}}),f(X),f(O),m(W,O)},Gt=W=>{var O=ne(),X=g(O);jt(X,{size:"large",align:"center"}),f(O),m(W,O)};T(J,W=>{t(_)?W(qt):W(Gt,!1)})}m(rt,dt)},$$slots:{default:!0}})},$$slots:{default:!0}}),f(it);var wt=S(it,2),Ot=g(wt);Va(Ot,{get annotationId(){return a.annotationId}}),f(wt),f(At),f(ot),m(u,ot),z(),I()}var ie=C('<div class="flex h-full w-full space-x-4 px-4 pb-4" data-testid="annotation-details"><div class="h-full w-full space-y-6 rounded-[1vw] bg-card p-4"><!></div></div>');function Ce(u,a){U(a,!0);const e=()=>R(t($),"$sample",d),[d,o]=Y(),l=i(()=>a.data.annotationId),s=i(()=>a.data.dataset),I=i(()=>a.data.annotationIndex),{sampleId:n}=H.params,D=i(()=>ka({sampleId:n,datasetId:t(s).dataset_id})),$=i(()=>t(D).sample);var w=ie(),y=g(w),p=g(y);{var h=A=>{se(A,{get annotationId(){return t(l)},get annotationIndex(){return t(I)},get dataset(){return t(s)},get sample(){return e().data}})};T(p,A=>{e().data&&t(l)&&t(s)&&A(h)})}f(y),f(w),m(u,w),z(),o()}export{Ce as component,Pe as universal};
@@ -1 +0,0 @@
1
- import"../chunks/CWj6FrbW.js";import{a as n,s as d}from"../chunks/-DXuGN29.js";import"../chunks/Cqo0Vpvt.js";import"../chunks/qIv1kPyv.js";import"../chunks/D_ynJAfY.js";import"../chunks/Bqz7dyEC.js";import"../chunks/D5w4xp5l.js";import"../chunks/DSxvnAMh.js";import"../chunks/69_IOA4Y.js";import"../chunks/DQ8aZ1o-.js";import"../chunks/DzX_yyqb.js";import{S as g}from"../chunks/BeWf8-vJ.js";function A(e,r){const t=()=>d(a,"$sampleSize",o),[o,i]=n(),{datasetId:s,sampleSize:a,selectedAnnotationFilterIds:m,globalStorage:{textEmbedding:p}}=r.data;g(e,{get sampleHeight(){return t().height},get sampleWidth(){return t().width},get textEmbedding(){return p},get dataset_id(){return s},get selectedAnnotationFilterIds(){return m}}),i()}export{A as component};
@@ -1,6 +0,0 @@
1
- # Selection
2
-
3
- The architecture follows the design document.
4
- See https://docs.google.com/document/d/1ZRICdFmfJmxUBy3FFoeUWsAgsCNWDHg8CK5MJiGmX74/edit?tab=t.kbfvnrepsuf#bookmark=id.4wbh2eqhgokk
5
- The design document also contains an architecture diagram showing the
6
- relationship between the various components of the system.