From 6ad25939a9c54d7b2700dcd93e63193421af954a Mon Sep 17 00:00:00 2001 From: sronilsson Date: Thu, 7 Nov 2024 11:48:59 -0500 Subject: [PATCH] timeseries features --- .../img/geometries_to_exterior_keypoints.webp | Bin 0 -> 5934 bytes simba/mixins/geometry_mixin.py | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 docs/_static/img/geometries_to_exterior_keypoints.webp diff --git a/docs/_static/img/geometries_to_exterior_keypoints.webp b/docs/_static/img/geometries_to_exterior_keypoints.webp new file mode 100644 index 0000000000000000000000000000000000000000..70f941ecd4191c8715d9ef34d49e640827e53146 GIT binary patch literal 5934 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

&m{htfXsfJ=eA@c+^&97wevpzw&MQB zB$Im+M})jCt>qNA9V8xx*Yp&^ZfujRs0368K`q@WTx7YlZ~`JC4VYAyj1o^(1Kl4B zKXCLgD9c5;JdGD9abFRt@P6P*HR_t=b-*vfWjHrc^N5VpX}~5~cI)kR^FhMeKJjz% zm9Lrj1SXx*fUR;8%z$A*Y>~4Yx|3&~1{#-BdrrFw$=LyBgnis0n7KO_G(ep_L7E!Y zLUnY38)I<{@ZsDj7S%zP6UUX7hi)0NWHX1-bYpN4fS4RghAV=}_ExyuEfGWAmekrK z8P#pK9O{V74V?Z`e8@OH*(l}*Q+)NXo#=?R$cdNX8lg1 z*yvmzhQ@K*5ac&KH;um@pgCz?1P>Ue%70f!3kDPAfo=z{j!C%oHQdM`VdvuOO?H5j z?OOuV-jQ?TK!{;r_?()t5*xPoE#tS(ZB&oUHI)RwTV)QOY?N_2?b+@S%C-U7Y0oy9 zOceC&599@N87N- zIy6E?Ndq`WlZD~vW91W2I8Z3>5m8#Lo+AIr73gsw{8`&B|L0O1lRcUD+F<~-_5~PY z=+#aPpZZ*sywoAi3mV4hy6@$N7%xTJl*lxY_CGe!lROW$RUd))xoCTE+@TC&bnV)) zf*GiwjU={h_F8d&;;#O*4X$nw_u8%hq0Na>^S=ZYo`x8k5}8**;1rn>IUAX=MLZ~x zoc4(Oe|-yn+l5Lxgs;!KEYriufI#na=-rk-SY4aRJjM?2XLRkEFXFiyjCP6UM0`PD zdoTa`_xJ5PrXyz;|B~Db72zr0^o;XExvymj@AQFU$rdi1Nyl>(SSeoW<-mZhQD2$) zePgw-be~pi&h&fc-2`50d7+3#9(oj??lNK<&HaQ@{l9jXP4+|v8MDf)6e?>kaYJ=) zjmZ|DeR8#mp&V<&41<03DX9W*Z(I!vNr`Jt&!f9Aoa{R4OOymXFLBM`H$n?Oul`!u z̎$+80IJ3nrev=aQcb21JV^g6*nBVTf6I9HJSa$WcFz`%;WG0u0m?=fvXxToAl zZ`ObQ&w2+N6sPkGOy>Vn0fTEqJdZL~AwX++=sAT zWYSZjGLtrwSbM9-iYz$@{ijy>Sk|xn_YOZ_>m8-4DV3EMg>{B>jd;@H;U?)S)yRNw zSwyT@@t>^R9HGPWQ3kuvrCferX^xY|-3hkSuK;$FZCa|>M#GvNIuUyu`d+z4Y!%mY zr599=icGsBs79H>XDpV+zq6CLhZ5caBIAS$J-5XgSH_&|@{>ak`Se>b-o770wT3z%c%CAj*m}D5q-$@|I85 zsAbxqEF1*9nQr}%nbWxw`)q{D4)%Jo%eG?BPUvgdcUz=~H+TEgdk-w2SJ_vm9=7Pm z5E>GyNX2_8TyXgwV<4I4aru#zga+8N$aErBx(H?QPe7TA53Z3@KzK7vywMw|*U^Xv zJ@3P&U^wq9qL}7x+*gvrL;KPiolZjV&A4;a`_cGpY$l^N0X=&L1^K@F!mDG4qDQho zJR)F{0coSrlzF?RxT1&f@`=Sm(5{GWMoYb<;2(u#7fSv<%zNxe(8Y3-kNQAmFYzSD zmhhNEV6_{yZ{Kstb}?x)MSW0H9P$eXl$pr|mS&m97Ng&D)?a!frs$Y<*|~wp$m`LY zDMN>p*7k7H%!39d_7arb;K_5UY;_|__hbR>Qd|6~8eid2_#f~FuTMj?nBlS`NTVUb zvrGv4`?RPf7+f*6V9=T#J=q*mWh;7NWVmK?Ua9!f=Fo;kraqCeg})IKA3X9b+tp&9 z_nxIJmlL~O>2HN+TcCzCVaV%ykL0l-4iJ3a*bb*F)>N~FFtRT1yXZ}O$}{ni$+HH) z@4EQg=9ZAmlHo1XT^vf}HBTYQXlyh0fQImEvDf72)p*GRRNe=pwfBF2ppPgQXl~Uo zT(Z*-x6PXRW2VpX%~J65Q9v3V0IRcI6^>07Qf?!}e>KgilybZ7f1|Uo4k5gR&Cnad; zJ%1}0sq56<-PSYaZVJe%vi*rb7>1`5*;cS3&6o}VC55l*?EtFy8JO_m%s_3E9_rods`&iKx1-jy z`|WQll$~IPFBV&*8Wj9E;B5fsm0cC4EtInpN41!r)OyIWTn!seP6Tc4eUk8MY`3%n z1;E*_dyMuoNkCH=Zq_9BT&q_Gmo8Zdiu6bvMRJmcKI}H7AE5dq^6X}VoPJ>=RHIeG zDdyHf3Wt^`kVon9(Je%^lI|;dY^-CZ8X`1Kt>KFRO7=Ts{Lu$rG;qXl@I;q1vRtt& zPDt=Qqog17_GnNn{A#O>KCVYL0X1(6wH3f(07POAqeGVW{v0B}TCx$+F4wgXW>4Ia zuey85FyNQ`bw#l}l2iIjc;*)zpGiw9WhsAizGInDY303}BI3Mxr?VdjnKP%O16_zPb;hbaa)UX0d@ Qum7h)Xn811tvvt$00)VubN~PV literal 0 HcmV?d00001 diff --git a/simba/mixins/geometry_mixin.py b/simba/mixins/geometry_mixin.py index 9e4997052..3ce6d768d 100644 --- a/simba/mixins/geometry_mixin.py +++ b/simba/mixins/geometry_mixin.py @@ -3669,6 +3669,10 @@ def geometries_to_exterior_keypoints(geometries: List[Polygon], core_cnt: Option """ Extract exterior keypoints from a list of Polygon geometries in parallel, with optional core count specification for multiprocessing. + .. image:: _static/img/geometries_to_exterior_keypoints.webp + :width: 400 + :align: center + :param List[Polygon] geometries: A list of Shapely `Polygon` objects representing geometries whose exterior keypoints will be extracted. :param Optional[int] core_cnt: The number of CPU cores to use for multiprocessing. If -1, it uses the maximum number of available cores. :return: A numpy array of exterior keypoints extracted from the input geometries.