lightly-studio 0.3.2__py3-none-any.whl → 0.3.3__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.
- lightly_studio/__init__.py +1 -1
- lightly_studio/api/app.py +6 -4
- lightly_studio/api/db_tables.py +0 -3
- lightly_studio/api/routes/api/annotation.py +26 -0
- lightly_studio/api/routes/api/annotations/__init__.py +7 -0
- lightly_studio/api/routes/api/annotations/create_annotation.py +52 -0
- lightly_studio/api/routes/api/dataset.py +3 -5
- lightly_studio/api/routes/api/embeddings2d.py +104 -0
- lightly_studio/api/routes/api/export.py +73 -0
- lightly_studio/api/routes/api/selection.py +87 -0
- lightly_studio/core/add_samples.py +0 -9
- lightly_studio/core/dataset.py +32 -48
- lightly_studio/core/dataset_query/dataset_query.py +5 -0
- lightly_studio/dataset/env.py +4 -0
- lightly_studio/dataset/file_utils.py +13 -2
- lightly_studio/dataset/loader.py +0 -54
- lightly_studio/dataset/mobileclip_embedding_generator.py +3 -2
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/0.CA_CXIBb.css +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/_layout.DS78jgNY.css +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/{SelectableSvgGroup.BNTuXSAe.css → index.BVs_sZj9.css} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/{SelectableSvgGroup.BBm0IWdq.css → transform.D487hwJk.css} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/6t3IJ0vQ.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{gLNdjSzu.js → 8NsknIT2.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Cur71c3O.js → BND_-4Kp.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DRZO-E-T.js → BdfTHw61.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{BqBqV92V.js → BfHVnyNT.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BjkP1AHA.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BuuNVL9G.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{7YNGEs1C.js → BzKGpnl4.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{C0JiMuYn.js → CCx7Ho51.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DcGCxgpH.js → CH6P3X75.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CR2upx_Q.js +4 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CWPZrTTJ.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Ccq4ZD0B.js → Cs1XmhiF.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{OH7-C_mc.js → CwPowJfP.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CxFKfZ9T.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Cxevwdid.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{C98Hk3r5.js → D4whDBUi.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/D6r9vr07.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{DqUGznj_.js → DA6bFLPR.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{2O287xak.js → DEgUu98i.js} +2 -2
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{KpAtIldw.js → DGTPl6Gk.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Cs31G8Qn.js → DKGxBSlK.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{D8GZDMNN.js → DQXoLcsF.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DQe_kdRt.js +92 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DcY4jgG3.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Crk-jcvV.js → RmD8FzRo.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/V-MnMC1X.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/{Df3aMO5B.js → keKYsoph.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/{app.BI-EA5gL.js → app.BVr6DYqP.js} +2 -2
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/start.u7zsVvqp.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/0.Da2agmdd.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{1._I9GR805.js → 1.B11tVRJV.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{10.J2RBFrSr.js → 10.l30Zud4h.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{12.Cmqj25a-.js → 12.CgKPGcAP.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/2.C8HLK8mj.js +857 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{3.w9g4AcAx.js → 3.CLvg3QcJ.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{4.BBI8KwnD.js → 4.BQhDtXUI.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/5.-6XqWX5G.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{6.CrbkRPam.js → 6.uBV1Lhat.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{7.FomEdhD6.js → 7.BXsgoQZh.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/8.BkbcnUs8.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{9.CajIG5ce.js → 9.Bkrv-Vww.js} +1 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/workers/clustering.worker-DKqeLtG0.js +2 -0
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/workers/search.worker-vNSty3B0.js +1 -0
- lightly_studio/dist_lightly_studio_view_app/_app/version.json +1 -1
- lightly_studio/dist_lightly_studio_view_app/index.html +14 -14
- lightly_studio/export/export_dataset.py +65 -0
- lightly_studio/export/lightly_studio_label_input.py +120 -0
- lightly_studio/few_shot_classifier/classifier_manager.py +5 -26
- lightly_studio/metadata/compute_typicality.py +67 -0
- lightly_studio/models/annotation/annotation_base.py +11 -12
- lightly_studio/resolvers/annotation_label_resolver/__init__.py +2 -1
- lightly_studio/resolvers/annotation_label_resolver/get_all.py +15 -0
- lightly_studio/resolvers/annotation_resolver/__init__.py +2 -3
- lightly_studio/resolvers/annotation_resolver/create_many.py +3 -3
- lightly_studio/resolvers/annotation_resolver/delete_annotation.py +1 -1
- lightly_studio/resolvers/annotation_resolver/delete_annotations.py +7 -3
- lightly_studio/resolvers/annotation_resolver/get_by_id.py +19 -1
- lightly_studio/resolvers/annotation_resolver/update_annotation_label.py +0 -1
- lightly_studio/resolvers/annotations/annotations_filter.py +1 -11
- lightly_studio/selection/mundig.py +7 -10
- lightly_studio/selection/selection_config.py +4 -1
- lightly_studio/services/annotations_service/__init__.py +8 -0
- lightly_studio/services/annotations_service/create_annotation.py +63 -0
- lightly_studio/services/annotations_service/delete_annotation.py +22 -0
- {lightly_studio-0.3.2.dist-info → lightly_studio-0.3.3.dist-info}/METADATA +152 -27
- {lightly_studio-0.3.2.dist-info → lightly_studio-0.3.3.dist-info}/RECORD +89 -85
- lightly_studio/api/routes/api/annotation_task.py +0 -37
- lightly_studio/api/routes/api/metrics.py +0 -76
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/0.DenzbfeK.css +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/assets/_layout.T-zjSUd3.css +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BBoGk9hq.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/BRnH9v23.js +0 -92
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Bg1Y5eUZ.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CG0dMCJi.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/Cpy-nab_.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CsKrY2zA.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/CzgC3GFB.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DFRh-Spp.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/DkR_EZ_B.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/M1Q1F7bw.js +0 -4
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/chunks/i0ZZ4z06.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/entry/start.CcsRl3cZ.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/0.BbO4Zc3r.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/2.C45iKJHA.js +0 -6
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/5.huHuxdiF.js +0 -1
- lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/8.Cb_ADSLk.js +0 -1
- lightly_studio/metrics/__init__.py +0 -0
- lightly_studio/metrics/detection/__init__.py +0 -0
- lightly_studio/metrics/detection/map.py +0 -268
- lightly_studio/models/annotation_task.py +0 -28
- lightly_studio/resolvers/annotation_resolver/create.py +0 -19
- lightly_studio/resolvers/annotation_task_resolver.py +0 -31
- {lightly_studio-0.3.2.dist-info → lightly_studio-0.3.3.dist-info}/WHEEL +0 -0
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{3.w9g4AcAx.js → 3.CLvg3QcJ.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as a}from"../chunks/
|
|
1
|
+
import{u as a}from"../chunks/CCx7Ho51.js";import{L as d}from"../chunks/Cxevwdid.js";const s=async({parent:t,params:{dataset_id:e}})=>{const{globalStorage:o}=await t(),{tagsSelected:n}=a({dataset_id:e,kind:["annotation"]});return{annotationsSelectedTagsIds:n,annotationsSelectedAnnotationLabelsIds:o.selectedAnnotationFilterIds}},r=Object.freeze(Object.defineProperty({__proto__:null,load:s},Symbol.toStringTag,{value:"Module"}));export{d as component,r as universal};
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{4.BBI8KwnD.js → 4.BQhDtXUI.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as a}from"../chunks/
|
|
1
|
+
import{u as a}from"../chunks/8NsknIT2.js";import{u as l}from"../chunks/CCx7Ho51.js";import{u as m}from"../chunks/6t3IJ0vQ.js";import{L as b}from"../chunks/Cxevwdid.js";const r=async({params:{dataset_id:e}})=>{const{selectedAnnotationFilterIds:s,textEmbedding:o}=m(),{tagsSelected:t}=l({dataset_id:e,kind:["sample"]}),{dimensionsValues:n}=a();return{samplesSelectedTagsIds:t,samplesDimensions:n,samplesTextEmbedding:o,samplesSelectedAnnotationLabelsIds:s}},c=Object.freeze(Object.defineProperty({__proto__:null,load:r},Symbol.toStringTag,{value:"Module"}));export{b as component,c as universal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../chunks/CWj6FrbW.js";import{p as ft,f as A,n as ce,a as ht,ax as Ot,g as t,d as s,s as c,c as m,r as u,t as gt,l as Mt,u as Re,J as h,a7 as it,$ as oe}from"../chunks/CH6P3X75.js";import{c as dt,a as o,t as C,d as se,n as Et}from"../chunks/RmD8FzRo.js";import{i as H,a as Z,s as Lt}from"../chunks/DA6bFLPR.js";import{s as Dt}from"../chunks/CCx7Ho51.js";import{p as wt}from"../chunks/keKYsoph.js";import{I as ue,l as j,p as ve,z as me,B as He,C as Ne,D as Te,E as Gt,i as Ue,F as ge,_ as Fe,H as kt,J as fe,K as he,S as Xe,j as Zt,n as _e,y as ze,M as Ye,N as je,O as re,P as Ve,c as Oe,k as le,Q as Ze,R as Ke,T as Ge,U as Je,V as We,W as Qe}from"../chunks/DQe_kdRt.js";import{u as pe}from"../chunks/6t3IJ0vQ.js";import{a as qe,g as ta}from"../chunks/DEgUu98i.js";import"../chunks/8NsknIT2.js";import"../chunks/CxFKfZ9T.js";import"../chunks/69_IOA4Y.js";import{e as ie}from"../chunks/D4whDBUi.js";import{s as be,r as xe,a as at,b as ea,p as de}from"../chunks/DQXoLcsF.js";import{S as aa}from"../chunks/CR2upx_Q.js";import{r as Bt}from"../chunks/H7C68rOM.js";import{S as na,s as oa,d as sa,R as ra}from"../chunks/D6r9vr07.js";import{s as Kt}from"../chunks/DGTPl6Gk.js";import{B as la,a as ia,b as Ct,c as jt,H as da,d as Vt,D as ca,e as ua,u as we,Z as va,g as ma,S as ga}from"../chunks/DcY4jgG3.js";import{a as fa,b as ha,d as _a}from"../chunks/CWPZrTTJ.js";import{T as pa,P as ba}from"../chunks/V-MnMC1X.js";function xa(g,e){ft(e,!0);let i=xe(e,["$$slots","$$events","$$legacy"]);ue(g,be({name:"file-image"},()=>i,{iconNode:[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}],["circle",{cx:"10",cy:"12",r:"2"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22"}]],children:(v,a)=>{var r=dt(),N=A(r);Dt(N,()=>e.children??ce),o(v,r)},$$slots:{default:!0}})),ht()}function wa(g,e){ft(e,!0);let i=xe(e,["$$slots","$$events","$$legacy"]);ue(g,be({name:"images"},()=>i,{iconNode:[["path",{d:"M18 22H4a2 2 0 0 1-2-2V6"}],["path",{d:"m22 13-1.296-1.296a2.41 2.41 0 0 0-3.408 0L11 18"}],["circle",{cx:"12",cy:"8",r:"2"}],["rect",{width:"16",height:"16",x:"6",y:"2",rx:"2"}]],children:(v,a)=>{var r=dt(),N=A(r);Dt(N,()=>e.children??ce),o(v,r)},$$slots:{default:!0}})),ht()}var ya=C('<!> <span class="hidden sm:inline">Home</span>',1),Sa=C('<!> <span class="max-w-[150px] truncate"> </span>',1),Aa=C('<!> <span class="hidden sm:inline">Samples</span>',1),$a=C('<!> <span class="max-w-[200px] truncate"><!></span>',1),Ia=C("<!> <!> <!> <!> <!> <!> <!>",1);function Pa(g,e){ft(e,!0);const[i,b]=Lt(),v=()=>Z(a,"$samplesTotalCount",i),{samplesTotalCount:a}=pe();la(g,{class:"mb-2","data-testid":"sample-details-breadcrumb",children:(r,N)=>{ia(r,{children:(V,K)=>{var P=Ia(),G=A(P);Ct(G,{children:(x,ot)=>{const E=s(()=>Bt.toHome());jt(x,{get href(){return t(E)},class:"flex items-center gap-2",children:($,T)=>{var l=ya(),w=A(l);da(w,{class:"h-4 w-4"}),Ot(2),o($,l)},$$slots:{default:!0}})},$$slots:{default:!0}});var B=c(G,2);Vt(B,{});var M=c(B,2);Ct(M,{children:(x,ot)=>{const E=s(()=>Bt.toSamples(e.dataset.dataset_id));jt(x,{get href(){return t(E)},class:"flex items-center gap-2",get title(){return e.dataset.directory},children:($,T)=>{var l=Sa(),w=A(l);ca(w,{class:"h-4 w-4"});var f=c(w,2),k=m(f,!0);u(f),gt(()=>{j(f,"title",e.dataset.directory),Kt(k,e.dataset.name)}),o($,l)},$$slots:{default:!0}})},$$slots:{default:!0}});var U=c(M,2);Vt(U,{});var J=c(U,2);Ct(J,{children:(x,ot)=>{const E=s(()=>Bt.toSamples(e.dataset.dataset_id));jt(x,{get href(){return t(E)},class:"flex items-center gap-2",children:($,T)=>{var l=Aa(),w=A(l);wa(w,{class:"h-4 w-4"}),Ot(2),o($,l)},$$slots:{default:!0}})},$$slots:{default:!0}});var W=c(J,2);Vt(W,{});var nt=c(W,2);Ct(nt,{children:(x,ot)=>{ua(x,{class:"flex items-center gap-2",children:(E,$)=>{var T=$a(),l=A(T);xa(l,{class:"h-4 w-4"});var w=c(l,2),f=m(w);{var k=X=>{var p=se();gt(()=>Kt(p,`Sample ${e.sampleIndex+1} of ${v()??""}`)),o(X,p)},F=X=>{var p=se("Sample");o(X,p)};H(f,X=>{e.sampleIndex!==void 0?X(k):X(F,!1)})}u(w),o(E,T)},$$slots:{default:!0}})},$$slots:{default:!0}}),o(V,P)},$$slots:{default:!0}})},$$slots:{default:!0}}),ht(),b()}function ka(g,e){ft(e,!0);const[i,b]=Lt(),v=()=>Z(t(P),"$annotationResp",i),a=()=>Z(t(J),"$sample",i),r=()=>Z(V,"$showAnnotationTextLabelsStore",i),N=()=>Z(M,"$isEditingMode",i),{showAnnotationTextLabelsStore:V}=ve(),K=s(()=>Te({datasetId:e.datasetId,annotationId:e.annotationId})),P=s(()=>t(K).annotation),G=s(()=>t(K).updateAnnotation);let B=s(()=>v().data);const{isEditingMode:M}=wt.data.globalStorage,U=s(()=>we({sampleId:e.sampleId,datasetId:e.datasetId})),J=s(()=>t(U).sample);let W=s(()=>v().data?me(v().data):void 0);const nt=$=>{(async()=>{try{await t(G)({annotation_id:e.annotationId,dataset_id:e.datasetId,bounding_box:$})}catch(l){console.error("Failed to update annotation:",l.message)}})()};var x=dt(),ot=A(x);{var E=$=>{var T=dt(),l=A(T);He(l,()=>t(W),w=>{Ne(w,{get groupId(){return t(B).annotation_id},get onSelect(){return e.toggleAnnotationSelection},get box(){return t(W)},get isSelected(){return e.isSelected},children:(f,k)=>{const F=s(()=>({x:0,y:0,width:a().data.width,height:a().data.height}));na(f,{get annotation(){return t(B)},get showLabel(){return r()},get imageWidth(){return a().data.width},get constraintBox(){return t(F)},get isResizable(){return N()},onBoundingBoxChanged:nt})},$$slots:{default:!0}})}),o($,T)};H(ot,$=>{t(B)&&a().data&&t(W)&&$(E)})}o(g,x),ht(),b()}const Ca=({datasetId:g})=>{const e=Gt(fa());return e.subscribe(()=>{}),{createAnnotation:b=>new Promise((v,a)=>{Mt(e).mutate({path:{dataset_id:g},body:b},{onSuccess:r=>{v(r)},onError:r=>{a(r)}})})}},Ba=()=>{const g=Gt(ha());return g.subscribe(()=>{}),{createLabel:i=>new Promise((b,v)=>{Mt(g).mutate({body:i},{onSuccess:a=>{b(a)},onError:a=>{v(a)}})})}},Ma=({datasetId:g})=>{const e=Gt(_a());return e.subscribe(()=>{}),{deleteAnnotation:b=>new Promise((v,a)=>{Mt(e).mutate({path:{dataset_id:g,annotation_id:b}},{onSuccess:()=>{v()},onError:r=>{a(r)}})})}};var Ea=Et('<rect class="select-none" fill="transparent" role="button" style="outline: 0;cursor: crosshair;" tabindex="0"></rect>'),La=Et('<line x1="0" stroke-width="1" vector-effect="non-scaling-stroke" stroke-dasharray="5,5" opacity="0.6"></line><line y1="0" vector-effect="non-scaling-stroke" stroke-width="1" stroke-dasharray="5,5" opacity="0.6"></line>',1),Da=Et("<!><g><!><!><!></g>",1),Ra=Et("<image></image><!>",1),Ha=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>'),Na=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 Ta(g,e){ft(e,!0);const[i,b]=Lt(),v=()=>Z(E,"$labels",i),a=()=>Z(t(nt),"$sample",i),r=()=>Z(V,"$selectedSampleIds",i),N=()=>Z(G,"$isHidden",i),{selectedSampleIds:V,toggleSampleSelection:K}=pe(),P=e.dataset.dataset_id,{isHidden:G,handleKeyEvent:B}=Ue(),{settingsStore:M}=ve(),{deleteAnnotation:U}=Ma({datasetId:P}),J=()=>{ta(Bt.toSamples(P))},W=s(()=>we({sampleId:e.sampleId,datasetId:P})),nt=s(()=>t(W).sample),x=s(()=>t(W).refetch),{createAnnotation:ot}=Ca({datasetId:P}),E=ge(),{createLabel:$}=Ba(),T=async({x:n,y:d,width:D,height:O,labelName:y})=>{if(!v().data)return;let Y=v().data.find(R=>R.annotation_label_name===y);Y||(Y=await $({annotation_label_name:y}));try{const R=await ot({sample_id:e.sampleId,annotation_type:"object_detection",x:Math.round(n),y:Math.round(d),width:Math.round(D),height:Math.round(O),annotation_label_id:Y.annotation_label_id});return t(x)(),h(f,at(R.annotation_id)),kt.success("Annotation created successfully"),R}catch(R){kt.error("Failed to create annotation. Please try again."),console.error("Error creating annotation:",R);return}},l=n=>{switch(n.key){case Mt(M).key_go_back:J();break;case" ":n.preventDefault(),K(e.sampleId);break}B(n)};let w=s(()=>ma(e.sampleId)),f=it(void 0);qe(()=>{h(f,void 0),h(F,void 0)});const k=n=>{t(f)===n?h(f,void 0):h(f,at(n))};let F=it(void 0);const X=n=>{if(a().data.annotations){const d=a().data.annotations.find(D=>D.annotation_id===n);d&&h(F,at(me(d)))}};let p=it(!1);const _t=()=>{h(p,!t(p))};let Q=it(!1),I=it(null),L=it(null),_=it(null);const ct=()=>{h(Q,!1),h(I,null),h(_,null)};let q=it(!1);const yt=10,Rt=()=>{if(!t(L))return;const n=oa(t(L));let d=null;const D=sa().on("start",O=>{if(!t(q))return;h(Q,!0);const y=t(L).getBoundingClientRect(),Y=O.sourceEvent.clientX,R=O.sourceEvent.clientY,rt=(Y-y.left)/y.width*a().data.width,tt=(R-y.top)/y.height*a().data.height;d={x:rt,y:tt},h(I,at({x:rt,y:tt,width:0,height:0})),h(_,at({x:rt,y:tt}))}).on("drag",O=>{if(!t(I)||!t(Q)||!d)return;const y=t(L).getBoundingClientRect(),Y=O.sourceEvent.clientX,R=O.sourceEvent.clientY,rt=(Y-y.left)/y.width*a().data.width,tt=(R-y.top)/y.height*a().data.height,Tt=Math.min(d.x,rt),Ut=Math.min(d.y,tt),mt=Math.abs(rt-d.x),bt=Math.abs(tt-d.y);h(I,at({x:Tt,y:Ut,width:mt,height:bt})),h(_,at({x:rt,y:tt}))}).on("end",()=>{!t(I)||!t(Q)||(t(I).width>yt&&t(I).height>yt&&t(z)&&T({x:t(I).x,y:t(I).y,width:t(I).width,height:t(I).height,labelName:t(z).label}),ct(),d=null)});return n.call(D),n.on("mousemove",ut),()=>{D.on("start",null).on("drag",null).on("end",null)}},Ht=n=>{if(!t(L)||t(Q))return;const d=t(L).getBoundingClientRect(),D=n.clientX,O=n.clientY,y=(D-d.left)/d.width*a().data.width,Y=(O-d.top)/d.height*a().data.height;h(_,at({x:y,y:Y})),n.stopPropagation(),n.preventDefault()},ut=Fe.throttle(Ht,50);Re(()=>{Rt()});let z=it(void 0);const pt=s(()=>{if(!a().data)return[];let n=Ye(a().data);return t(p)&&(n=n.filter(d=>d.annotation_id===t(f))),n}),vt=s(()=>t(z)?je(t(z).label,1).color:"blue"),St=async n=>{if(!a().data)return;(async()=>{try{await U(n),kt.success("Annotation deleted successfully"),t(x)(),t(f)===n&&h(f,void 0)}catch(D){kt.error("Failed to delete annotation. Please try again."),console.error("Error deleting annotation:",D)}})()};var st=dt();ie("keydown",oe,l),ie("keyup",oe,B);var xt=A(st);{var Nt=n=>{var d=Na(),D=m(d),O=m(D);Pa(O,{get dataset(){return e.dataset},get sampleIndex(){return e.sampleIndex}}),u(D);var y=c(D,2);aa(y,{class:"mb-4 bg-border-hard"});var Y=c(y,2),R=m(Y),rt=m(R);fe(rt,{className:"h-full",children:(mt,bt)=>{he(mt,{className:"h-full",children:(Se,Ka)=>{var Ft=Ha(),Jt=m(Ft),Xt=m(Jt),Ae=m(Xt);const $e=s(()=>r().has(e.sampleId));Xe(Ae,{onSelect:()=>K(e.sampleId),get isSelected(){return t($e)}}),u(Xt);var Wt=c(Xt,2);{var Ie=At=>{var $t=dt(),It=A($t);Dt(It,()=>e.children),o(At,$t)};H(Wt,At=>{e.children&&At(Ie)})}var Pe=c(Wt,2);const ke=s(()=>t(q)?"crosshair":"auto");va(Pe,{get width(){return a().data.width},get height(){return a().data.height},get cursor(){return t(ke)},get boundingBox(){return t(F)},zoomableContent:$t=>{var It=Ra(),Qt=A(It),Ce=c(Qt);{var Be=zt=>{var qt=Da(),te=A(qt);{var Me=S=>{var et=Ea();ea(et,lt=>h(L,lt),()=>t(L)),gt(()=>{j(et,"width",a().data.width),j(et,"height",a().data.height)}),o(S,et)};H(te,S=>{t(q)&&S(Me)})}var Yt=c(te);let ee;var ae=m(Yt);Zt(ae,17,()=>t(pt),S=>S.annotation_id,(S,et)=>{const lt=s(()=>t(f)===t(et).annotation_id);ka(S,{get annotationId(){return t(et).annotation_id},get sampleId(){return e.sampleId},datasetId:P,get isSelected(){return t(lt)},toggleAnnotationSelection:k})});var ne=c(ae);{var Ee=S=>{ra(S,{get bbox(){return t(I)},get colorStroke(){return t(vt)},colorFill:"rgba(0, 123, 255, 0.1)",style:"outline: 0;",opacity:.8,scale:1})};H(ne,S=>{t(I)&&t(Q)&&t(z)&&S(Ee)})}var Le=c(ne);{var De=S=>{var et=La(),lt=A(et),Pt=c(lt);gt(()=>{j(lt,"y1",t(_).y),j(lt,"x2",a().data.width),j(lt,"y2",t(_).y),j(lt,"stroke",t(vt)),j(Pt,"x1",t(_).x),j(Pt,"x2",t(_).x),j(Pt,"y2",a().data.height),j(Pt,"stroke",t(vt))}),o(S,et)};H(Le,S=>{t(_)&&t(q)&&S(De)})}u(Yt),gt(S=>ee=_e(Yt,0,"",null,ee,S),[()=>({invisible:N()})]),o(zt,qt)};H(Ce,zt=>{a().data&&zt(Be)})}gt(()=>j(Qt,"href",t(w))),o($t,It)},$$slots:{zoomableContent:!0}}),u(Jt),u(Ft),o(Se,Ft)},$$slots:{default:!0}})},$$slots:{default:!0}}),u(R);var tt=c(R,2),Tt=m(tt);{var Ut=mt=>{Oa(mt,{get sample(){return a().data},get selectedAnnotationId(){return t(f)},get hideUnselected(){return t(p)},toggleHideUnselected:_t,onAnnotationClick:k,onClickCenterIcon:X,onDeleteAnnotation:St,get onUpdate(){return t(x)},get addAnnotationEnabled(){return t(q)},set addAnnotationEnabled(bt){h(q,at(bt))},get addAnnotationLabel(){return t(z)},set addAnnotationLabel(bt){h(z,at(bt))}})};H(Tt,mt=>{a().data&&mt(Ut)})}u(tt),u(Y),u(d),o(n,d)},ye=n=>{ze(n,{})};H(xt,n=>{a().data?n(Nt):n(ye,!1)})}o(g,st),ht(),b()}var Ua=C("<div> </div>"),Fa=C('<div class="flex gap-1"></div>'),Xa=C("<!> Add annotation",1),za=C('<label class="flex w-full flex-col gap-3 text-muted-foreground"><div class="text-sm">Select a label to create new annotation.</div> <!></label>'),Ya=C('<div class="items-left mb-2 flex flex-col justify-between space-y-2 bg-muted p-2"><div class="mb-2 w-full"><!></div> <!></div>'),ja=C('<div class="flex flex-col gap-3 space-y-4"><!> <div class="mb-2 flex items-center justify-between"><div class="space-y-2"><!></div></div> <div class="flex flex-col gap-2"></div></div>'),Va=C('<div class="flex h-full min-h-0 flex-col space-y-4 overflow-y-auto dark:[color-scheme:dark]"><!> <!> <!></div>');function Oa(g,e){ft(e,!0);const[i,b]=Lt(),v=()=>Z(G,"$annotationLabels",i),a=()=>Z(P,"$isEditingMode",i);let r=de(e,"addAnnotationEnabled",15,!1),N=de(e,"addAnnotationLabel",15,void 0);const V=e.sample.tags,K=s(()=>e.sample.annotations?[...e.sample.annotations].sort((M,U)=>M.annotation_label.annotation_label_name.localeCompare(U.annotation_label.annotation_label_name)):[]),{isEditingMode:P}=wt.data.globalStorage,G=ge(),B=s(()=>Qe(v().data||[]));fe(g,{className:"h-full",children:(M,U)=>{he(M,{className:"h-full flex flex-col",children:(J,W)=>{var nt=Va(),x=m(nt);{var ot=l=>{re(l,{title:"Tags",icon:pa,children:(w,f)=>{var k=Fa();Zt(k,21,()=>V,le,(F,X)=>{var p=Ua(),_t=m(p,!0);u(p),gt(Q=>{_e(p,1,Q),Kt(_t,t(X).name)},[()=>Ve(Oe("inline rounded-lg bg-card px-2 py-2 text-xs"))]),o(F,p)}),u(k),o(w,k)}})};H(x,l=>{V&&V.length>0&&l(ot)})}var E=c(x,2);{var $=l=>{re(l,{title:"Annotations",children:(w,f)=>{var k=ja(),F=m(k);{var X=L=>{var _=Ya(),ct=m(_),q=m(ct);const yt=s(()=>r()?"default":"outline");Ge(q,{title:"Add annotation",get variant(){return t(yt)},"data-testid":"create-rectangle",class:"w-full",onclick:()=>{r(!r())},children:(ut,z)=>{var pt=Xa(),vt=A(pt);ba(vt,{class:"h-4 w-4"}),Ot(),o(ut,pt)},$$slots:{default:!0}}),u(ct);var Rt=c(ct,2);{var Ht=ut=>{var z=za(),pt=c(m(z),2);const vt=s(()=>t(B).find(St=>{var st;return St.value===((st=N())==null?void 0:st.value)}));Je(pt,{get items(){return t(B)},get selectedItem(){return t(vt)},name:"annotation-label",label:"Choose a label",className:"w-full",placeholder:"Select a label",onSelect:st=>{N(st)},notFound:(st,xt)=>{let Nt=()=>xt==null?void 0:xt().inputValue;We(st,{get label(){return Nt()}})},$$slots:{notFound:!0}}),u(z),o(ut,z)};H(Rt,ut=>{r()&&ut(Ht)})}u(_),o(L,_)};H(F,L=>{a()&&L(X)})}var p=c(F,2),_t=m(p),Q=m(_t);Ze(Q,{name:"hide-unselected",label:"Hide unselected annotations",get isChecked(){return e.hideUnselected},get onCheckedChange(){return e.toggleHideUnselected}}),u(_t),u(p);var I=c(p,2);Zt(I,21,()=>t(K),le,(L,_)=>{const ct=s(()=>e.selectedAnnotationId===t(_).annotation_id);Ke(L,{get annotation(){return t(_)},get isSelected(){return t(ct)},onClick:()=>e.onAnnotationClick(t(_).annotation_id),onDeleteAnnotation:()=>e.onDeleteAnnotation(t(_).annotation_id),onClickCenterIcon:q=>{q.stopPropagation(),e.onClickCenterIcon(t(_).annotation_id)},get onUpdate(){return e.onUpdate}})}),u(I),u(k),o(w,k)}})};H(E,l=>{t(K).length>0&&l($)})}var T=c(E,2);ga(T,{get sample(){return e.sample}}),u(nt),o(J,nt)},$$slots:{default:!0}})},$$slots:{default:!0}}),ht(),b()}var Za=C('<div class="flex h-full w-full space-x-4 px-4 pb-4" data-testid="sample-details"><div class="h-full w-full space-y-6 rounded-[1vw] bg-card p-4"><!></div></div>');function _n(g,e){ft(e,!0);const i=s(()=>wt.params.sampleId),b=wt.data.dataset,v=s(()=>Number(wt.params.sampleIndex));var a=Za(),r=m(a),N=m(r);Ta(N,{get sampleId(){return t(i)},dataset:b,get sampleIndex(){return t(v)},children:(V,K)=>{var P=dt(),G=A(P);{var B=M=>{var U=dt(),J=A(U);Dt(J,()=>e.children),o(M,U)};H(G,M=>{e.children&&M(B)})}o(V,P)},$$slots:{default:!0}}),u(r),u(a),o(g,a),ht()}export{_n as component};
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{6.CrbkRPam.js → 6.uBV1Lhat.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s}from"../chunks/H7C68rOM.js";import{r as d}from"../chunks/
|
|
1
|
+
import{r as s}from"../chunks/H7C68rOM.js";import{r as d}from"../chunks/CxFKfZ9T.js";import{r as n}from"../chunks/B90CZVMX.js";const i=async()=>{const{data:t}=await d();if(!t||t.length===0)throw new Error("No datasets found");const e=t.toSorted((r,o)=>new Date(o.created_at||0).getTime()-new Date(r.created_at||0).getTime())[0],a=e==null?void 0:e.dataset_id;if(!a)throw new Error("No valid dataset ID found");n(307,s.toSamples(a))},m=Object.freeze(Object.defineProperty({__proto__:null,load:i},Symbol.toStringTag,{value:"Module"}));export{m as universal};
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{7.FomEdhD6.js → 7.BXsgoQZh.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunks/CWj6FrbW.js";import{p as f,u as $,a as h,g as o,d as r}from"../chunks/
|
|
1
|
+
import"../chunks/CWj6FrbW.js";import{p as f,u as $,a as h,g as o,d as r}from"../chunks/CH6P3X75.js";import{s as S,a as i}from"../chunks/DA6bFLPR.js";import{A as T}from"../chunks/DQe_kdRt.js";import{u as _}from"../chunks/6t3IJ0vQ.js";import"../chunks/DEgUu98i.js";import"../chunks/8NsknIT2.js";import"../chunks/CxFKfZ9T.js";import"../chunks/keKYsoph.js";import"../chunks/69_IOA4Y.js";import{u as G}from"../chunks/CCx7Ho51.js";function j(p,t){f(t,!0);const[e,m]=S(),n=()=>i(l,"$lastGridType",e),s=()=>i(d,"$sampleSize",e),{datasetId:a,sampleSize:d,selectedAnnotationFilterIds:c}=t.data,{lastGridType:l}=_(),u=r(()=>G({dataset_id:a})),g=r(()=>o(u).clearTagsSelected);$(()=>{n()!=="annotations"&&o(g)()}),T(p,{get itemHeight(){return s().height},get itemWidth(){return s().width},dataset_id:a,selectedAnnotationFilterIds:c}),h(),m()}export{j as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as T,f as B,n as Gt,a as H,w as Pt,l as _t,$ as ft,g as t,d as i,c as f,r as m,s as S,t as F,J as Kt,a7 as qt,ax as Mt}from"../chunks/CH6P3X75.js";import{c as Vt}from"../chunks/CxFKfZ9T.js";import{u as ht}from"../chunks/6t3IJ0vQ.js";import"../chunks/CWj6FrbW.js";import{c as Z,a as p,t as P,n as Jt}from"../chunks/RmD8FzRo.js";import{i as O,a as j,s as K}from"../chunks/DA6bFLPR.js";import{e as pt}from"../chunks/D4whDBUi.js";import{I as Zt,l as X,F as Xt,D as at,U as Yt,V as Qt,W as ta,X as aa,z as gt,O as ea,j as na,t as oa,J as Nt,K as Ct,y as Bt,i as sa,p as ia,S as ra,B as da,n as la,H as ca}from"../chunks/DQe_kdRt.js";import{g as tt,c as ua}from"../chunks/DEgUu98i.js";import{f as kt,S as va}from"../chunks/CR2upx_Q.js";import{r as z}from"../chunks/H7C68rOM.js";import"../chunks/8NsknIT2.js";import{p as R}from"../chunks/keKYsoph.js";import"../chunks/69_IOA4Y.js";import{s as ma}from"../chunks/CCx7Ho51.js";import{S as _a}from"../chunks/D6r9vr07.js";import{S as fa,B as pa,a as ga,b as Q,c as vt,H as ha,d as mt,D as ba,e as xa,Z as Ia,g as Aa,u as wa}from"../chunks/DcY4jgG3.js";import{S as Sa}from"../chunks/BdfTHw61.js";import{s as ya,r as $a,a as Ma}from"../chunks/DQXoLcsF.js";import{s as G}from"../chunks/DGTPl6Gk.js";import{C as ka}from"../chunks/CwPowJfP.js";function Pa(v,a){T(a,!0);let o=$a(a,["$$slots","$$events","$$legacy"]);Zt(v,ya({name:"square-dashed"},()=>o,{iconNode:[["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"}]],children:(e,s)=>{var r=Z(),I=B(r);ma(I,()=>a.children??Gt),p(e,r)},$$slots:{default:!0}})),H()}const Na=({annotationIndex:v,...a})=>{const o=Pt({isLoading:!1});return(async()=>{o.update(e=>({...e,isLoading:!0}));try{const{data:e}=await Vt({path:{dataset_id:a.dataset_id},query:{cursor:v>0?v-1:0,limit:3,annotation_label_ids:a.annotation_label_ids,tag_ids:a.tag_ids}});if(!e){o.update(n=>({...n,isLoading:!1,error:"No annotations data received",data:void 0}));return}const{setAnnotationsTotalCount:s}=ht();s(e.total_count);let r;const I=v>0?e.data[0]:void 0;e.data.length>1&&(r=v===0?e.data[1]:e.data[2]),o.update(n=>({...n,isLoading:!1,error:void 0,data:{annotationNext:r,annotationPrevious:I}}))}catch(e){o.update(s=>({...s,isLoading:!1,error:String(e)}))}})(),o},Ca=async({parent:v,params:{dataset_id:a,annotationId:o,annotationIndex:c}})=>{const{annotationsSelectedTagsIds:e,annotationsSelectedAnnotationLabelsIds:s,dataset:r}=await v(),I=parseInt(c,10),n=Pt();if(!r)throw new Error("Dataset data not found");return Na({annotationIndex:I,dataset_id:a,currentAnnotationId:o,annotation_label_ids:Array.from(_t(s)),tag_ids:Array.from(_t(e))}).subscribe(({data:N})=>{n.set(N)}),{annotationAdjacents:n,annotationIndex:I,annotationId:o,dataset:r}},ye=Object.freeze(Object.defineProperty({__proto__:null,load:Ca},Symbol.toStringTag,{value:"Module"}));function Ba(v,a){T(a,!0);const[o,c]=K(),e=()=>j(t(r),"$annotationAdjacents",o),s=i(()=>R.data.annotationIndex),r=i(()=>R.data.annotationAdjacents),I=()=>{e().annotationNext&&tt(z.toSampleWithAnnotation({datasetId:e().annotationNext.dataset_id,sampleId:e().annotationNext.sample_id,annotationId:e().annotationNext.annotation_id,annotationIndex:t(s)+1}))},n=()=>{e().annotationPrevious&&tt(z.toSampleWithAnnotation({datasetId:e().annotationPrevious.dataset_id,sampleId:e().annotationPrevious.sample_id,annotationId:e().annotationPrevious.annotation_id,annotationIndex:t(s)-1}))},N=h=>{switch(h.key){case"ArrowRight":I();break;case"ArrowLeft":n();break}};var y=Z();pt("keydown",ft,N);var w=B(y);{var $=h=>{const b=i(()=>!!e().annotationPrevious),A=i(()=>!!e().annotationNext);Sa(h,{get hasPrevious(){return t(b)},get hasNext(){return t(A)},onPrevious:n,onNext:I})};O(w,h=>{e()&&h($)})}p(v,y),H(),c()}const Da={object_detection:"Object Detection",instance_segmentation:"Instance Segmentation",semantic_segmentation:"Semantic Segmentation",classification:"Classification"};var La=P('<span class="text-sm"> </span> <span class="break-all text-sm"> </span>',1);function ja(v,a){var o=La(),c=B(o),e=f(c,!0);m(c);var s=S(c,2),r=f(s,!0);m(s),F(()=>{G(e,a.label),X(s,"data-testid",`annotation-metadata-${a.id}`),G(r,a.value)}),p(v,o)}var Ea=P('<span class="break-all text-sm"> </span>'),Ra=P('<span class="text-sm"> </span> <!>',1);function Ta(v,a){T(a,!0);const[o,c]=K(),e=()=>j(r,"$result",o),s=()=>j(a.isEditingMode,"$isEditingMode",o),r=Xt(),{updateAnnotation:I}=at({datasetId:a.datasetId,annotationId:a.annotationId,onUpdate:a.onUpdate}),n=i(()=>ta(e().data||[])),N=i(()=>{const x=t(n).find(u=>u.value===a.value);return x||{value:a.value,label:a.value}});var y=Ra(),w=B(y),$=f(w,!0);m(w);var h=S(w,2);{var b=x=>{const u=i(()=>t(n).find(d=>{var g;return d.value===((g=t(N))==null?void 0:g.value)}));Yt(x,{get items(){return t(n)},get selectedItem(){return t(u)},name:"annotation-label",placeholder:"Select a label",onSelect:g=>{I({annotation_id:a.annotationId,dataset_id:a.datasetId,label_name:g.value})},notFound:(g,_)=>{let k=()=>_==null?void 0:_().inputValue;Qt(g,{get label(){return k()}})},$$slots:{notFound:!0}})},A=x=>{var u=Ea();X(u,"data-testid","annotation-metadata-label");var d=f(u,!0);m(u),F(()=>G(d,a.value)),p(x,u)};O(h,x=>{s()?x(b):x(A,!1)})}F(()=>G($,a.label)),p(v,y),H(),c()}var Ha=P('<div class="flex flex-col gap-4"><div class="grid grid-cols-[6rem_1fr] gap-y-3 text-diffuse-foreground"></div></div>');function Ua(v,a){T(a,!0);const[o,c]=K(),e=()=>j(t(I),"$annotationResp",o),{datasetId:s}=R.data,r=i(()=>at({datasetId:s,annotationId:a.annotationId})),I=i(()=>t(r).annotation);let n=i(()=>e().data);const N=i(()=>{var A,x;if(!t(n))return[];let b=[{id:"label",label:"Label:",value:(x=(A=t(n))==null?void 0:A.annotation_label)==null?void 0:x.annotation_label_name},{id:"type",label:"Type:",value:Da[t(n).annotation_type]||"Unknown"}];if(t(n)&&!aa(t(n))){const{height:u,width:d}=gt(t(n));b=[{id:"height",label:"Height:",value:kt(Math.round(u))+"px"},{id:"width",label:"Width:",value:kt(Math.round(d))+"px"},...b]}return b}),{isEditingMode:y}=R.data.globalStorage;var w=Z(),$=B(w);{var h=b=>{ea(b,{title:"Annotation details",children:(A,x)=>{var u=Ha(),d=f(u);na(d,21,()=>t(N),({label:g,value:_,id:k})=>g,(g,_)=>{let k=()=>t(_).label,D=()=>t(_).value,M=()=>t(_).id;var C=Z(),l=B(C);{var q=E=>{Ta(E,{get onUpdate(){return a.onUpdate},get annotationId(){return a.annotationId},datasetId:s,get label(){return k()},get value(){return D()},isEditingMode:y})},et=E=>{ja(E,{get label(){return k()},get id(){return M()},get value(){return D()}})};O(l,E=>{M()==="label"&&y?E(q):E(et,!1)})}p(g,C)}),m(d),m(u),p(A,u)}})};O($,b=>{t(N).length>0&&b(h)})}p(v,w),H(),c()}var za=P('<!> <h2 class="py-2 text-lg font-semibold"><a>Check all sample annotations</a></h2>',1),Fa=P('<div class="flex h-full w-full items-center justify-center"><!></div>'),Oa=P('<div class="flex h-full min-h-0 flex-col space-y-4 overflow-hidden dark:[color-scheme:dark]"><!> <!></div>');function Wa(v,a){T(a,!0);const{datasetId:o}=R.data;let c=qt(void 0);at({datasetId:o,annotationId:a.annotationId}).annotation.subscribe(n=>{n.isSuccess&&Kt(c,Ma(n.data.sample))});const s=oa(),[r,I]=s;Nt(v,{className:"h-full",children:(n,N)=>{Ct(n,{className:"h-full flex flex-col",children:(y,w)=>{var $=Oa(),h=f($);Ua(h,{get annotationId(){return a.annotationId},get onUpdate(){return a.onUpdate}});var b=S(h,2);{var A=u=>{var d=za(),g=B(d);fa(g,{get sample(){return t(c)},showCustomMetadata:!1});var _=S(g,2),k=f(_);m(_),F(D=>X(k,"href",D),[()=>r(z.toSample({sampleId:t(c).sample_id,datasetId:t(c).dataset_id}),void 0)]),p(u,d)},x=u=>{var d=Fa(),g=f(d);Bt(g,{size:"large",align:"center"}),m(d),p(u,d)};O(b,u=>{t(c)?u(A):u(x,!1)})}m($),p(y,$)},$$slots:{default:!0}})},$$slots:{default:!0}}),H()}var Ga=P('<!> <span class="hidden sm:inline">Home</span>',1),Ka=P('<!> <span class="max-w-[150px] truncate"> </span>',1),qa=P('<!> <span class="hidden sm:inline">Annotations</span>',1),Va=P('<!> <span class="max-w-[200px] truncate"> </span>',1),Ja=P("<!> <!> <!> <!> <!> <!> <!>",1);function Za(v,a){T(a,!0);const[o,c]=K(),e=()=>j(s,"$annotationsTotalCount",o),{annotationsTotalCount:s}=ht();pa(v,{class:"mb-2",children:(r,I)=>{ga(r,{children:(n,N)=>{var y=Ja(),w=B(y);Q(w,{children:(d,g)=>{const _=i(()=>z.toHome());vt(d,{get href(){return t(_)},class:"flex items-center gap-2",children:(k,D)=>{var M=Ga(),C=B(M);ha(C,{class:"h-4 w-4"}),Mt(2),p(k,M)},$$slots:{default:!0}})},$$slots:{default:!0}});var $=S(w,2);mt($,{});var h=S($,2);Q(h,{children:(d,g)=>{const _=i(()=>z.toAnnotations(a.dataset.dataset_id));vt(d,{get href(){return t(_)},class:"flex items-center gap-2",get title(){return a.dataset.directory},children:(k,D)=>{var M=Ka(),C=B(M);ba(C,{class:"h-4 w-4"});var l=S(C,2),q=f(l,!0);m(l),F(()=>{X(l,"title",a.dataset.directory),G(q,a.dataset.name)}),p(k,M)},$$slots:{default:!0}})},$$slots:{default:!0}});var b=S(h,2);mt(b,{});var A=S(b,2);Q(A,{children:(d,g)=>{const _=i(()=>z.toAnnotations(a.dataset.dataset_id));vt(d,{get href(){return t(_)},class:"flex items-center gap-2",children:(k,D)=>{var M=qa(),C=B(M);ka(C,{class:"h-4 w-4"}),Mt(2),p(k,M)},$$slots:{default:!0}})},$$slots:{default:!0}});var x=S(A,2);mt(x,{});var u=S(x,2);Q(u,{children:(d,g)=>{xa(d,{class:"flex items-center gap-2",children:(_,k)=>{var D=Va(),M=B(D);Pa(M,{class:"h-4 w-4"});var C=S(M,2),l=f(C);m(C),F(()=>G(l,`Annotation ${a.annotationIndex+1} of ${e()??""}`)),p(_,D)},$$slots:{default:!0}})},$$slots:{default:!0}}),p(n,y)},$$slots:{default:!0}})},$$slots:{default:!0}}),H(),c()}var Xa=Jt("<image></image><g><!></g>",1),Ya=P('<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>'),Qa=P('<div class="flex h-full w-full items-center justify-center"><!></div>'),te=P('<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 ae(v,a){T(a,!0);const[o,c]=K(),e=()=>j(t(k),"$annotationResp",o),s=()=>j(N,"$selectedSampleAnnotationCropIds",o),r=()=>j($,"$isHidden",o),I=()=>j(E,"$isEditingMode",o),{toggleSampleAnnotationCropSelection:n,selectedSampleAnnotationCropIds:N,clearReversibleActionsByGroupId:y,addReversibleAction:w}=ht(),{isHidden:$,handleKeyEvent:h}=sa(),{settingsStore:b}=ia(),A=" ",x=_t(b).key_go_back,u=()=>{var L;(L=a.sample)!=null&&L.dataset_id?tt(z.toAnnotations(a.sample.dataset_id)):tt("/")},d=L=>{switch(L.key){case x:u();break;case A:L.preventDefault(),n(a.annotationId);break}h(L)},g=R.data.datasetId,_=i(()=>at({datasetId:g,annotationId:a.annotationId})),k=i(()=>t(_).annotation),D=i(()=>t(_).updateAnnotation),M="bbox-change-annotation-details";ua(()=>{y(M)});const C=L=>{if(t(l)){const V={annotation_id:t(l).annotation_id,dataset_id:t(l).dataset_id,bounding_box:L},it=gt(t(l)),At=async()=>{const J={annotation_id:t(l).annotation_id,dataset_id:t(l).dataset_id,bounding_box:it};await t(D)(J)};(async()=>{try{await t(D)(V),w({id:`bbox-change-${t(l).annotation_id}-${Date.now()}`,description:`Revert bounding box change for annotation ${t(l).annotation_id}`,execute:At,timestamp:new Date,groupId:M})}catch(J){ca.error("Failed to update annotations:"+J.message)}})()}};let l=i(()=>e().data),q=i(()=>{var L,V;return Aa(((V=(L=t(l))==null?void 0:L.sample)==null?void 0:V.sample_id)||"")}),et=i(()=>t(l)?gt(t(l)):void 0);const{isEditingMode:E}=R.data.globalStorage;var nt=te();pt("keydown",ft,d),pt("keyup",ft,h);var ot=f(nt),Dt=f(ot);Za(Dt,{get dataset(){return a.dataset},get annotationIndex(){return a.annotationIndex}}),m(ot);var bt=S(ot,2);va(bt,{class:"mb-4 bg-border-hard"});var xt=S(bt,2),st=f(xt),Lt=f(st);Nt(Lt,{className:"h-full",children:(L,V)=>{Ct(L,{className:"h-full",children:(it,At)=>{var rt=Z(),J=B(rt);{var Et=W=>{var U=Ya(),Y=f(U),dt=f(Y),Tt=f(dt);const Ht=i(()=>s().has(a.annotationId));ra(Tt,{onSelect:()=>n(a.annotationId),get isSelected(){return t(Ht)}}),m(dt);var wt=S(dt,2);Ba(wt,{});var Ut=S(wt,2);Ia(Ut,{get width(){return t(l).sample.width},get height(){return t(l).sample.height},get boundingBox(){return t(et)},zoomableContent:(zt,lt)=>{let Ft=()=>lt==null?void 0:lt().scale;var St=Xa(),yt=B(St),ct=S(yt);let $t;var Ot=f(ct);da(Ot,()=>e().dataUpdatedAt,ut=>{const Wt=i(()=>({x:0,y:0,width:t(l).sample.width,height:t(l).sample.height}));_a(ut,{get annotation(){return t(l)},showLabel:!0,get scale(){return Ft()},get imageWidth(){return t(l).sample.width},get isResizable(){return I()},onBoundingBoxChanged:C,get constraintBox(){return t(Wt)}})}),m(ct),F(ut=>{X(yt,"href",t(q)),$t=la(ct,0,"",null,$t,ut)},[()=>({invisible:r()})]),p(zt,St)},$$slots:{zoomableContent:!0}}),m(Y),m(U),p(W,U)},Rt=W=>{var U=Qa(),Y=f(U);Bt(Y,{size:"large",align:"center"}),m(U),p(W,U)};O(J,W=>{t(l)?W(Et):W(Rt,!1)})}p(it,rt)},$$slots:{default:!0}})},$$slots:{default:!0}}),m(st);var It=S(st,2),jt=f(It);Wa(jt,{get annotationId(){return a.annotationId}}),m(It),m(xt),m(nt),p(v,nt),H(),c()}var ee=P('<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 $e(v,a){T(a,!0);const[o,c]=K(),e=()=>j(t(y),"$sample",o),s=i(()=>a.data.annotationId),r=i(()=>a.data.dataset),I=i(()=>a.data.annotationIndex),{sampleId:n}=R.params,N=i(()=>wa({sampleId:n,datasetId:t(r).dataset_id})),y=i(()=>t(N).sample);var w=ee(),$=f(w),h=f($);{var b=A=>{ae(A,{get annotationId(){return t(s)},get annotationIndex(){return t(I)},get dataset(){return t(r)},get sample(){return e().data}})};O(h,A=>{e().data&&t(s)&&t(r)&&A(b)})}m($),m(w),p(v,w),H(),c()}export{$e as component,ye as universal};
|
lightly_studio/dist_lightly_studio_view_app/_app/immutable/nodes/{9.CajIG5ce.js → 9.Bkrv-Vww.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunks/CWj6FrbW.js";import{s as n,a as d}from"../chunks/
|
|
1
|
+
import"../chunks/CWj6FrbW.js";import{s as n,a as d}from"../chunks/DA6bFLPR.js";import"../chunks/DQe_kdRt.js";import"../chunks/6t3IJ0vQ.js";import"../chunks/DEgUu98i.js";import"../chunks/8NsknIT2.js";import"../chunks/CxFKfZ9T.js";import"../chunks/keKYsoph.js";import"../chunks/69_IOA4Y.js";import"../chunks/CCx7Ho51.js";import{S as l}from"../chunks/DKGxBSlK.js";function I(e,o){const[s,i]=n(),t=()=>d(a,"$sampleSize",s),{datasetId:r,sampleSize:a,selectedAnnotationFilterIds:p,globalStorage:{textEmbedding:m}}=o.data;l(e,{get sampleHeight(){return t().height},get sampleWidth(){return t().width},textEmbedding:m,dataset_id:r,selectedAnnotationFilterIds:p}),i()}export{I as component};
|