From 54f511cf4b5e4558a0d3ccf45085f96a28ef3602 Mon Sep 17 00:00:00 2001 From: Matteo Visconti di Oleggio Castello Date: Wed, 8 Jul 2026 10:02:06 -0700 Subject: [PATCH 1/2] ENH Visualize HCP fs_LR 32k data and resample to fsaverage (cortex.hcp) Add a `cortex.hcp` module for working with HCP fs_LR 32k data in pycortex: - download_fs_lr(): fetch the prebuilt 32k_fs_LR pycortex subject (registered with download_subject) for native fs_LR rendering. - cifti_to_surface()/get_cifti_vertex_indices(): expand CIFTI grayordinates to the full 64984-vertex fs_LR surface, filling the medial wall with NaN. - project_fslr_to_fsaverage()/to_fsaverage(): resample fs_LR 32k data to fsaverage5/6/fsaverage via a pure-python spherical-barycentric matrix built from the HCP standard-mesh spheres. This matches `wb_command -metric-resample ... BARYCENTRIC`, so Connectome Workbench is not required at runtime. Also make upsample_to_fsaverage() FreeSurfer-free for the common cases: the per-vertex nearest-neighbor mapping is a fixed property of the fsaverage tessellation, so ship precomputed neighbor tables for fsaverage5/6 (0.68 MB) and fall back to computing from the sphere (and caching) for other orders. Output is numerically identical to the previous sphere-based implementation. Add examples/hcp/plot_hcp_fs_lr.py (renders both the native and the resampled flatmaps) and tests in cortex/tests/test_hcp.py, plus FreeSurfer-free upsample_to_fsaverage tests. The barycentric matrix is validated against wb_command when it is available. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_019z37ML4wsmosg5Xvvq6ENN --- cortex/__init__.py | 30 +- cortex/data/upsample_fsaverage_neighbors.npz | Bin 0 -> 682140 bytes cortex/freesurfer.py | 1202 ++++++++++-------- cortex/hcp.py | 608 +++++++++ cortex/tests/test_freesurfer.py | 116 +- cortex/tests/test_hcp.py | 225 ++++ cortex/utils.py | 450 ++++--- examples/hcp/README.txt | 5 + examples/hcp/plot_hcp_fs_lr.py | 77 ++ pyproject.toml | 3 + setup.py | 193 ++- 11 files changed, 2102 insertions(+), 807 deletions(-) create mode 100644 cortex/data/upsample_fsaverage_neighbors.npz create mode 100644 cortex/hcp.py create mode 100644 cortex/tests/test_hcp.py create mode 100644 examples/hcp/README.txt create mode 100644 examples/hcp/plot_hcp_fs_lr.py diff --git a/cortex/__init__.py b/cortex/__init__.py index 0c0bc11cd..28c3dc4e6 100644 --- a/cortex/__init__.py +++ b/cortex/__init__.py @@ -1,6 +1,15 @@ # emacs: -*- coding: utf-8; mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*- # vi: set fileencoding=utf-8 ft=python sts=4 ts=4 sw=4 et: -from cortex.dataset import Dataset, Volume, Vertex, VolumeRGB, VertexRGB, Volume2D, Vertex2D, Colors +from cortex.dataset import ( + Dataset, + Volume, + Vertex, + VolumeRGB, + VertexRGB, + Volume2D, + Vertex2D, + Colors, +) from cortex import align, volume, quickflat, webgl, segment, options from cortex.database import db from cortex.utils import * @@ -12,9 +21,11 @@ try: from cortex import formats except ImportError: - raise ImportError("Either are running pycortex from the source directory, or the build is broken. " - "If your current working directory is 'cortex', where pycortex is installed, then change this. " - "If your current working directory is somewhere else, then you may have to rebuild pycortex.") + raise ImportError( + "Either are running pycortex from the source directory, or the build is broken. " + "If your current working directory is 'cortex', where pycortex is installed, then change this. " + "If your current working directory is somewhere else, then you may have to rebuild pycortex." + ) load = Dataset.from_file @@ -29,20 +40,29 @@ except ImportError: pass +try: + from cortex import hcp +except ImportError: + pass + + # Create deprecated interface for database class dep(object): def __getattr__(self, name): warnings.warn("cortex.surfs is deprecated, use cortex.db instead", Warning) return getattr(db, name) + def __dir__(self): warnings.warn("cortex.surfs is deprecated, use cortex.db instead", Warning) return db.__dir__() + surfs = dep() import sys + if sys.version_info < (3,): stdout = sys.stdout reload(sys) - sys.setdefaultencoding('utf8') + sys.setdefaultencoding("utf8") sys.stdout = stdout diff --git a/cortex/data/upsample_fsaverage_neighbors.npz b/cortex/data/upsample_fsaverage_neighbors.npz new file mode 100644 index 0000000000000000000000000000000000000000..664cd196c4eaab758073ad27132d60de451d5b71 GIT binary patch literal 682140 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�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 z zvSI9RoKmN4owl*MsqU$6L75KQ?+_JUiPfo(A=19gDh-1ghBpk)_00oamA{n3j&4eK z(5!8i_C1v&j-E;{&_n61k;_^J^-=mNEra?h{geXV0^fd0f91Gifbusqr)^H# zfl6}wLCPRyse7<8SQ!Y0fT2o4&~o=MMKv50`xg6-R7QbS?$L^hZrenc(SEgitfD&W z7^jR;n&`$Wqst~Js)Le=-`v(RRi z%~n(eL35OX@VQE7-?_>>Wxlf0Jzu%%nA&!MvOwA8UZ^Zo_P7@**BpzK#b9aK(y~rL z``k;FPC>BnQs3oD7uZU0(7jT*6gzsKukFr;J?AWL5hu&y=qwN6&Z+}ox9a5e+4k(9}MBQQKT-gyt)itPVc-L^s z_qam)o={GL8}3uezm8MNX>ikh(|tx!y>O`SQ*`H)J7s->&MOx{pYV&yMdgyRz~_>3 zS$XZaqFhm~D#mukcGncK{dML4ZYbBlP36C`|H=jjJ$2t!RCg54_b&9V^4@Vzxu@I* z)!Jq1{&oNBeyBWD9)SnSV;-u1{!dZ4+vVuq zx!<|JIzG5xDX+mxB}ey0K|ODkx5_(ZQqZLE_sV-^vCm?k56UOyr{j~>&q`XmFUmLf zSLK)E2lN~G4(uMg=ZEsk{X>}*^i!D?{!8)ks`Cr+_4<1Kyk+fl-a?&UoL`(?J<{dX zh4_07@JUS%;{87q99Iac1xGpylBfZ&%-?J~pq_YX`w`4zDT%nBppWD|#)^KR_i-Wla_D`k*S_s-T*- z>YAXC#qIv|cGiW&)%4c%{t;Kp8yxbdx3;E^cUw^9xH{gtU|V=SZ#Un1-um7K8cWE| zc46KyZ?(8^uQjAbT!c3Q-bH##b&=jEP%|#d8x3N>a-Zcsv0j%qB&1H9%j@=DXm_Dq zoOfFLx^WG?^J!VFc>k{{I2zu}+g#Ja8y?rf+tT~2T`MoHo7KLx_y5{> zTY1}R+JTt3cHT2VXTptM-uIc3;H?%C8<*r&C4;%`opIGe+;J)1>LID{p3tRv`+3s6 z4dXJr8Qx3bm%=l>D}1uOs#+mU;&Q#YUR%5^KF`}Uu4!DpH{V+T@&K(X^p5u23M%pz zYi@x-v#BzsqNwI33`Fvnm&M!@9R}`MREPSs{Wb*V83U-=W9^MxPjiUL0`kahX3t5 z(07PeHB{3$WN`d&?_av@?MvfEct?0gdYgm{_m0wx_WA{5aihIsfM3K|?>O&TpYh%a z-WDNb+(hq0@2vP)@jY~V+E4cWU(1jw-l^cW=eB2>my4U`Ef+l9TP|XTcZlx{?<^q1 z&GNPhneCke4z!=^{l9r&j<=U?zV}~`Dfl1n0$_?TMJ)6#(j`$ z-3y;sFblTNJ0fnMw{CFVh`JFYeGht7hct)1T=U)lGZSujv$Qw8x4a|dXa9P$wYR;u zy?21Tx$Cv%-}BB(xbKxc0OOJI$RqD#Z+Gp&1i9@J+a*5rKFC;<&_lZ<;hFcj_o?@V zceJW?e(U^~-en0dy)6P;M7{RD_P+6MRlM=O^%iPZCcO8)_sX~Q8K-)hu`1!CcTK`4 zuk3?&oa(dpi_cfkChD8_oA*1+4{tB+h6K4ky-eZ+)y9Nh-rm~HzW(<90X_2-r~=)Z zpg=nZBIrS{5>=r}RQ-R! zq9Xjb^J*)hfzaiN%M*jpPZ_}|sy&ntf`*_$Xei+G!_dFN(H>Ei(W!_Q)uK9-&>l;W zt49ssc*5}nQfowws0kR*X{svd==`ea>4a)%HMAtEBx)Km9jS@dL~Eg}_FO`3=#|7e zXdU!d#`%Q0XkD}(kk2z!5ompIIiWrp2^yd?kzI-?_^}*?Mx)mfV$c}$b>i#9IjZXk z*AwEm{BuoL5FJZCdjp-HgulqUVhaF1*)eBEzy?f^Mpinlr|A<<vJEI>HI-^}cD(DK* zz~_W?bdok5?FPOid`ZYazro0l{OyJ=Rb`>K^QQ*>NRS@@H8pB#)O=(C(p|n0I66(+ z1MLCLYL(S0AJu05PAEVX=0bG3HXqGLSE!26m-)r0(p-#|fVok<(B9~NMQ^kZ+Sg~c zwiNZYTCFl=`kDKqWnl(@e&}k|K=gb5(m*dNzm`T}D26UZaFjsjYb%)LlIX}*YgN@V zX>@_Ml36Z=vOXLLGV`cxO_YExK?GDpB`^qGtew|tFuGn9Y7R9ILBq{MQQ2U07#NOj z4%C`QKw+XrqNC7*iqYs8bcJ>dIu^RM)i`vMs($8pbfvb6c>*e%h|2f+s$MV&t!AEt z?hc%c?vDBoodTw!YqT}Ya;KrwK}~Z_^IGi;bSAo1I}@FSZc)ubqY4fM&PHdWbI?Ok zbJ4lzN@PAd4_$z6)YdmIgf2uMwOWKmnir$8B|b}i>;=ovW$1GBRN$$o73gZ@h+-8g zTMgELpRInjT8o-9(F)RcI{epExJp!0o{mR3fu_YgkFl;jIKeppt4aU^nVC??GiZqxPcfkafsD^Z>eF>oLo%*ScQo zL#QY7FnSnmZa#t@K@XuveUAAYM;``0jCvTg0Xd1D@;RbCjh=zJTDw}GMO$W`LuKcE z&Y~B*#g#h)O6B z3O)pOG2cNy1l~dKqMMM-;2!z_J*!PKKZHI+AAxjpy7`>;G5Q2Or+otF?1A0pJ0i9K#4El(E@=->AM!$fsKHt!5 z+Uc#oqu|2Mh@ z8vt`hE1%1Ntp!0rWwEkYIV>o;Jhlrtt2nFh$0}d}pd$7_d$je@)|XV>GXt@|fL^6eb!Ec+JFVKgP#QsOqLMj#9Y9Qc|cR_ySAyX%`kIPbBxSvf&I|7z*=A}vF0EV zD_7VGleGq}=p^h2a#@jrC1WXA8*H(;E%sa6E(u^u%ARv z>x3l+b;i12N0FmQD%SO%G?1V4L?vaeHh05hDqRMajy+LjVzmmhFj?E6Y^-hcF(enu z!{jNW+hpzm?cuvc@Md#9mXB>U`)+Ip=Ry!ym>N`s6=B6#YIF%!g7w0B`}FbY3nnF% zVxu$rVg0bZ=KffJtn}}HlEvJG*+By_-!HQ8=6V7-fnXSp1?mo(2`GUrPkN&opGjds zx+7+}B*uU?g>4G+gIJ6M`O*2&ClLV?FcF+Ei&&^m!UkdQRFgALn!|Lb%|kHRP}p=U z>{d7oJ8K?>^$r@2jQ}?kHx#3=(U?v*8XE(>k~9_@i(NF2!^UBk&EqlI1ni@#sIaKe z8+6q?5u1d0qbFmhk^iv&uqppc1=GOn%p2w^x?AQMSQXt2Y$iYpXJK^EENnIuCi)CA z7ds0xAFH98k1c?zl2yqIu?3lnu$sC>*kYe0U{K*wOtuUg6f`J$Q1o(a1-80X)FVX`&YdTc`Bgu)Hj8}mj?HY)l8vKiZiZNVaS@621VtyoO* zHtd(`y?HzKR|DM+Oy2CocKtIkXkzrl=!?i+Y#-Q<#pu47^OD_xu-aZ$r|fUVW*+l$=S&&_2$g8*jY?vIfu#4VCTUFY(bF5auK_T zEr`B^T}A+Q8MElFU{|46v1^z{UDk3Pv+BxQZa{BfH(_(M@Mz&JOtw5|dGzw=E65e( zE_M%d=qg(7W3mTW8FeMgL(HiQvOL0Mk74r|yHxlD3$Z-G)&)Jqo?%y!=hy?q3+yG< zRQD443Y(w&8hedZw!FdKU^?hq@ER+xeuq6Me2*C{AFypfAFz+$8uAJIgtgRt#y(?T zz}Doi*pbXCmPB1O%XchM_Z9n!{lMN9zAfAv^b`Au?G5@L{Q19*{KkG`f3PH7EsI z74eFA1rVgJgqJTm6BLLC`J9Ok#zXL6JQVMw3&q30kK`Z8A?k~nmGREH%6Mg53&Qab zwGP+gmxJ`U!RK=HZN!9E!R4un+bq@aG+j_ib-X%mx75IE;7&_TTviJYSJ%R81Gl9% zUI)J&T^GNDJXJhZMBw#7GfN~ctCylv-_C4^XX{#88sbqP8rP|#@%W<0K{0p?9t$2v z$KiL8IJ^-^vNXnJ&J=_Cer5vRUDw89#$^^CchRdLD{k|#l>w>3&qM~$M8Jv!HgTll-L^APAJPRM7%fhpvQ&Xm<)KY)Q%*6-la`8N$ z?mj*6a=|_Do}gSzxtM(XrQ)Tc058OGoqY2v`GztjcwP0^%)eiQ_I=6Fx9NlT1zt-j z9uy1{^91QHf9wFKbp!AL_(1$n%Au49_0LS)g5o3$yy4M5;M!nqj5g*e zLI4_Pa29a5pu3sE;|VT}dxNM%!eAvv#j}$Gyr&|`{vPJky5tbxSOp@u|9v_!gi0 zMJp0@hhNPOt+Y~2#s9Fui-bq zKFbaKCb)%r)cY;B@nyQ(_-*_SoaN13JiNGj@L|h+{65}2rhCjg zL>c0~rL25&Bf^g;2g-womhyx@A;eT5DiEKL03v{>=(Af_i3kLatRNzYcxDNPf4qEd zqfReQFCG>gN`w-_g2RYmF<+1`NM)ijp(S2fbi{sL{kHYn>IqMlfjFRhYcUcsJ<(2G zP+U+vHu$}z3NbdgDp3toC%!4F6E%q=x|&2SA5Ytk>d%%s#9v2swTaq)X~!bXBXZHo`{uLG3`^j4O5$i-XHr<+_N)F+Y)?il#(Uq8aeFHY1vY z7DP97=d23WmPAEsA|aDEt%%vht%*QuYa)qQ9g|G_5BVRGLbM^S>Dmx&p>2toZ8Ozr zSs~W;gzUPm9nsOJ6R|0{6SOnv0)8Q>L@Lph&{?|@X<&WZY;|T#AGj_8^Y6%~R)P6EU9= zg;Jr!2#k24!wH;_UnEhWjGDI(rV6Ec!uh=-b^4Sg67tV#3V2o3`V99vTwSn#5AAjL|=6)Yb)z_ zU6OSsF%!?cpfvCP$4R09aNzcgi^njSO?aC^`KVC zx8MxxM&esAOiUSN8RaHoGqJ^ID`488>TK(F!cV`Qkh_i8NucVTL~O|}qPuk$@hA9C z%pPJ7p+PjrUSj`02Z%}SCbc8fBeM<>vcupYAk?lBSIJSL#CnuCMwE#?PLxxYQywQy z{&R|0-tII(sry*Z5S8?$*0a#l#A)IjI8Rgz>2H;Lfv6aJ7`a5qg7pKfm!VgPz3r|N zUaQv{qQ6F5BSQ37i5nojGAgs5Du#m9W+r(|+4sq8v_Xyg0pO8HOjP)U*)juR2 z`8)=NB~OSagkXJ2m_nWs&w#)38S$KWK}gmYghBt3cm)Po2U(5!*TieWsDA_Jx8NNZ zW_?e*Cu+skiv2)*B!(j&iO>I3)2rHlB?hbKWsS0aBgVi~*MB8`z(y*ON`4aKtUrnW z5e;G+#Qq|F6XlUV#2-RIPP8IqZ9PKj+YeJO&YEPcqgRnCvW{L!YRF;g@g;ubUuDQf zv5jKOk`-Gv+Co?Mm~+niR!J^t=1;wc54DDYfPHKg%S(7(`qGU zHc%0%h}cOd>C*49LV+9XweGdL_4}D}mEp>kWFpy2 zf7sfJY)x)ypF~boAIwT7lgVS&6tcNKiIg{O$hP2wwH?`xly9iro*a#IBs-9ud^-Dd z0cWgdtf}NVYgba1=95mAhNMHgk)^R2q*fV(WRaO2ttz# z$&xRvEZI$8w*yZuQophaWQJZKMZl91Y+`#2BFBUbA_s#pu|voqq)|D990opEhm*re zM~4yQ2=b$KB$=ZhNy?SaOVp#uG34Zsuhy~9$+44TgO%gS2|hja6Um9>BrqBLwEndI zN6LEYr@(o+I;B@iuUR3}$Z6!PkXf-a$Qk5Ja+c3*QfZq*7U_F+m`kowt8DYgV*NaF z9yy&OYndU6BVU%$cEX&t6@Sg(Gc6>Qr~$_D5+ zkz2|2>a8T&Yhy^bZ5z3r+!(uqtft&a>X2RJE^;@iv+W@<{T^~{hfV4)S$f+(QnsJm z3pS|-^*TuI45?x}NFE}0#_o(gOdcT*lSe@{+c8ph98|Yex1AtmCw*u64os)X10knL zxo5}&v1iG1;5^Cc&yyE?E`oZtdbUfX>@v7WULj}qn%(Ov*}!&Ly_KB2z_Bq_^3n}{wzJc$g3HeU`B**Jp*yR3?Y~1mHx}~k9 zZGyg)?GHIY|A+iV9#AW&i@gvk$)==~)YDiMrJ^E~DoRahs1%zYHCdnBu?%%c9h%+7 zR+ef9^Pj#9C2z`8{-A@c0#$)}6B|GUQ2!zSA(f~~)O39y6$lNYx_3OP?qcg=o1yP& z3#CG-U=Rl0^a`hBm4OyiL-dr6(o+U1(`KZM6xq>4nW!q+Rj9f8DpVD!DyZgD9pu?+ zP_o~#4U`R(wWwNDZK{W@HdTij*Rd{jN?jwn9<@+kkBR_wDS1<$D%V>R8c9V`4M0N> zRz^9wm3?*R3A$DxiugASlkwq)C^??`o| zHtRc4oq?-&7fO~&)eNl}S2M0Fl}4reY}b#lb)zyUMW;;ax_YE7i`t>jqOyH*K%3sV zlq`>m42_JFAB-ET>_PPe<83{u-TLrO;hk=(C)g&~3aLpjd-MfV0d-T|t#`NHe{c90 z7aA8Q->7H?G6U&Ll~M=vrM@=oB!6Y0Y4&v60BR=8L4AM9OWjd>siNN2(AhSW!T?Ui zD+#I|0&lPsMa{F(l&pED`|8B(`L<*Fg*KMrCHlZDg97t1ocoof*Scx>(JJ5t>YRi$567f`mxkF zpMIUjQ)_K&ZRhk8s0q|L{X}X!H3>|n+J{c|wSC+aY6>-#s*g;grc;;nTWm9^8Pu>& z!#d5Rw%WGZW>MQ=F6(DfGpT3lIlbrfo=fet&85;p=TT{K^Qi>od}<+eO~2bFcXp@6 z)C=_<+Y;)p>-weCGM|;bms1C9%c-2u71SHjqFhC-qE=J4^oML~plhhL;IQqmZ5_3a zTJN)gdZpe#ZR@>}I&RxU$u?6q6Pj`b((Id*>=w8|-GTT~k)HB;%N;V|! z9_3Qrr|we^z(Y{0bFI$b)h}(2sZaXH)D!Rsd{;lE{?~hS=v&)!O7;S{l`p7Q;JxiN zC3{2tRDZC&rQTAXZ11RdaDES)_f)w)lS04PK2jg4NpYX3Pt<2B7Wqtlp}tbzZC|Nx zREN&rso&}!wjZ`%`XAI!A9+)`Pvt(pDA{jnX51g@52c|0Pze2(l9nIwp`sBxFsNw_ zP|<$0LgPo50UCQ*dO_%dxCL=$!i8oR(Fl1MON`rlb8dL3TauZ_v|v+5n6`CJ<(?LT?DILRY1mE1N5; z(bYj^dv&@7y|VMl&NXSRU2CsJ>tQMxYSK07vYIx1>e6*-qrDzokKP`)JuZT-PcKC3 z(+&O!F&yX|MMu$-vZLuxLk+v!C_0w**Tm8pefEdevd7W!pb=1u|?cDX5Z8_>kw#NL*cRX4Pw+xv6?R(nTUb~UcG(t>oM zJJYGaVed+JrHx&TUBWbrvz_*IT2{x9MyJsk^n^YW`ef3wyP;Y1-MDNzht8&R=?Ft} zdmc2dOI(-An&sI&=)dY4y2}rwqv!OQ)8|QOYkL7*NI!{t689DPiWJkubVEZ4T|)Pw zTXpG8>oh6$6nh`K58ceRt49>^tZhVKw4+(Yxr*%H8xHpS|FJUG~xY=;8L^_Kt>; z_Wg86!#?^T-B5FouH5$!J=%VljtGm0kBCoJ9;J`@9H+d=ZPrX9NYi?#=rT@AHuEQq2?+y9} zJHG8p@DMf+=|}&#!`$)i z_^!%T$TRvW{rsPvhOVhE>6i3U`%-(p;T8Rg&Ns+s`A$M_>9_Ps`&;@Qcn?0%AHgTE z#{QWuHuO#Hn`+ZM&;Cl67{1b9>2Kf*ZPR?GfBe%vtbKg@_;h8u@_+O%`ZvAV{)d(+ z7>8zy9bx(!5Js+&Q7|e{+_!6(no%~oj3c|pb?8A245YB`%xS=wfwLk}s z+jWc{7?@0Drqak58IuoXIGS3OsmlDwK4qs3)tG7wZK%%F02BJwWMs9NK4E?0`^0A} zLzQ(I8E?2~uLr%8TA!)UT(V!XM>1FJ4H&`D0L~4;+`ed76cfduVbKg4pQB7h;+Qxl zo*8VoX^&?bfyPXdMxE1yX~NvGCon?{35*#wX2#-UW!Nw_-p1rAbCq_+@y~FBlW{RA znuqp>_7R51b`Rr$b5qzfWp?y!#>fVTHD_8ddCK)jBGZydWX2d;F|DDknHpV_n1Gy@ z_OXU!CWRSmNMVu~`JO;+nbBcy?QNNMpgq%F*%oPwbYwa*6Ad5iouQqXE=)(wM|&zW z$&ku)1zmibD}B?M$zfmZa=S5;<9jGGnG7bA$zs0SvzRG{c3s|6$K%WK#_} zOb*jo)17(PcV<`*rU%oLnHitY^i=j#<}(FMA){~@R-A(EYvZG zSs%7OetmqFvaWI{BOB&3oLSy=dDm=>)}eKbWb}?vjBErm8t6*5hZ!AXn6Y4c{5Yl) zGJzS-OaxUO6PZb1GH96dAG5|#!y$JHGnL8HOl77q`@^O&(|u+z#mZvk3}zOn)OW+7MvwjfKG#mo|BDHG*b#w=rAcYWQp zKojkVc5F4QU{)|&4a=ETjC^;W)y%oDc*h#(x%hMOYnfCe6ku-VTX@Hyyni0Py3qdd$UVGbIOFh@a5T1?t8riG)0ne`#gz1!<=Q(kaNuWe~uXv(=IaoG;JJh9G94Oj?2tt<|1`nZe_)_H!Ms~_@ley)Sl{P@r*>Q)t!=yq_8*VeVnE{%6%#hO0VfUH)%;&HN%;)$* zrB(Tukv(BD98Z|@25*`-?HSV{C)4qqdCt55&%jGCsq|OaE9MpRE9^D%24o=bn77P( z=8EAx^8q?4?IS~IdOAKavd_#_!)N9r^M#pTI=@sC{+0R4d}B0?zB2=qKbY^#59X)O z|G+QME$26L)9{;-`-f4mlt#g>DMi>)2f|heSF#lv4OH$#G_1^z9pLa|?;5tHZA&Z5 z4s?`b?-|Om<$cPstY%kf1vWGscgPK3LmPRO*+?KOdt{&-!K^HV6*ROXlnrHBM;I#$ zhs}x76Q#y*-cgy=0%Ic`iz;=jo;9$d!^l1}JWeyQCRTDtjw-C|xuGgs&8IqBGkmB+ zZp}tD*_v!EP@8>a81AUe)?t69)n)6lBOLYEdh94i1S_k{)@L7;J}Ql5BiRN%4M8pv z%|@{?V7w!SeQyX(4^EF``{%^79}JTmavQOY!H3chrA^o-Yyuk>9@ogsnpq2s6-;$l zSsSo}X^v?Q2P^wxkk2DDe@fk~C482{1GO}2%Jx$>W1F+`v;ZxED?O1-Wal~NIa;x; z*w*Y%Lu)vX)&%qm=;sMvySWlxiET!y$v}4<`?f>b(rlzN+cVzjTPV8R_V`sLD zkD*`d@KiRHZ5`gaQR_x&EUipu(^-{qjUxk^!DfQBj7P6ByC2TJ?Eqtd#Zd#+X zMy#>`DL_iuQnnwv$I+h+F!pC>qz_=n}> zF}`zbVmGm?*v;Vbz%A_C%3Ij2&<9Pnv29cz9UmR_jh`Lc*&XaQuoLV8Umd&H-Cz&f zK(Uu?2(yokGX8KJfVOCHkUhx$bo_Kg8xOIE*=XZI_6P{-d6YfM{&5^*r&pTZ@Ho3f zF}7cW$OZvQ=Lxn!z)AKLyIiv+=QJBUI+W%e3iGcK2}=)BHeE`Pb+0ybI^t+>hF27%5y ztn4n>lN02$81J$7S&Q*5`+!}gdB9qFuB{a2e8{e?^oU*C@G%=786WwCmBj}P?emyjrg+1Kdf&3Lci=snsXChTfpr-_upgoC*-x+; znK3fsGh55~h5f?bs<)T@%6<@6V#ZPvf=48(Q*k;BE=l|GW>`(T$&mR!! zRB#IJa6^PcIBO&bh;k}96?Z1*Opcm6m!sh{T&z>WwKS?ZHMd? z$MWa?s=(DwsGZP5bt$JJ*V<@yR)Pj_fj&Xp!}3ACKCJh!UI-^kHimLx&@e6>T+OM> zr5G!7TBv;9s2SdKcuzg2=L|kK8m?5hBi)fEu9?%sxdU$GROPC2&7IAi?Tpp9>ONJu zO&X80CfC+jlap)Yj9hKd!CQw*a@OJMf_fm?ne6OnjNt0~)Z>a(k=(+J2Au49`G(x{ zdW{s(Tr?NMbuq?3V?q0taonSvcrKpn>}@gd)M$?!_|t-{SqS+ z11y|{OAN4bPjhTsH)l7eoy&wtH`+L-kBdt)x_mWrX3oR)^Y-(`Xq$3Pxn^AZg!T#j zRC&%8TnnxTG}G9eO9bmO)@8gapYLqV$==mV;t~`IiWII5muoC?%5BR{Zn;bIA*Vf; zXKc@P@M*_&3U zPG+3U5V?s?iThI?rk+hz-RxjDcu!l7^~=5w+IKD;qIF*|V) zr_WvG6pV|x#hhSV#4X~Mavk$K<|hTNb1vtS0+XVWqE>MEksx3tx01^bSjDXdRdd&H zgN$pqwa~TPI_`vK9k(8Ab8g^d8@a8Djoce=fp&*;6IY;Jk+33R3s*CDr*o)rE4Pgs zYTUwY;l`?-WbEK}aC@CQIoTl2t=P@&=JtU7&b{0S<6drl;y&(xb3ZrIc*uExlkMY9 zYYuW${vl458<-oF8+C;19eI@N9dO(!_ZW8^G{`;S9AiA?Ji(1Io`mxm%_;7vbF}e{ z^9(oIc!WFa6MzoXp5xAO=ed0e7r6gaF}dfR6W``J_X0e2zT{-DxLt~d=xgq;H{fc*Tke_jnRBM`9ruo# zX?)MUx>b6eSV#> zKAa`k2LYF_WWLBV`vAy9eAW^QP85G6QAJf#CPV;N1c!A!dK}( zF>+!+D&Li#7|@kZ;~#7K<)-uLyu;Ovmt_F6%k0{3%;YoqERf9~QLIE)qB*=Qmyb2a zns=(axlLV%jm=%%`5vGrNXX3RWd*#=-xg8Gw^J1H#k@QvKF5s-t$Xv&HDqod{)92b z)fd{EF9m%I`ti>K`|)z0MGfEw@DcrIM9v5p$PeVbJd=y^FEkxp9bFjT83qTa{1G(1 zo$Hj5s$e42~l4{KYQTbU24q}+7ZIU^6Rb4HHmcoDS7Z04WklK5u+ z%_0W#gZWO1q5KejC_fAg=Pw!Q)+6{gnqj#k`OC&0u2K9begrRXrWQ;s7{lkg#`0tN zKT+fOQ;G$V3nIt!MXvGuf`E~^6ZwgJv1<}PiSOl_%*!V7|M3N`0@oB?HkBX8PlKzb z@zejA0dmYIRsCH3T(fxDY%qsEsp^#3DKpuBEc5&_&GW9+{EC2Sxoi2gyx>~L zuj3`xdS14{hjl$LZsa%eoA_1yW*>j-zIF@0g}<-G%$WJ2YEJHU{)urrFLxWilfS6S z%goE%#gB6B;yd|wis%%vhfi1Rmeg#&#R=U0!U-NH#p73w^WGor`rG3Z0<9})2 z^B?$!svWr>`TrR|@}Hoe_|LGB|JvKb{|o<>@8J&<@r{pE{NR7^Kfx~7PhMgAA3rKd z>9;p`w+k`tb^YNH(;xm9uMiZ1tuP}95fC9GC?h%}`kErQzgjpDaLA>B9?10*{Decf zhh1t@8KI1zHkF05%CDSoz*Sz5`3owcf^bbCKg29RIOz%y{B;$DO2SLkvD`o*P&nfX z6oNpoú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%0A7}8f)h0jpPJy4S#Cd47YlgNcw*@{eUl2++STG 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

-uKkE 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 z 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ú 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 nIOzXIbjb=+9&K^IBkq@M-@Cde6ps literal 0 HcmV?d00001 diff --git a/cortex/freesurfer.py b/cortex/freesurfer.py index a76a1700b..5fb3441c0 100644 --- a/cortex/freesurfer.py +++ b/cortex/freesurfer.py @@ -1,14 +1,12 @@ -"""Contains functions for interfacing with freesurfer -""" +"""Contains functions for interfacing with freesurfer""" + from __future__ import print_function import copy import os import shlex -import shutil import struct import subprocess as sp -import tempfile import warnings from builtins import input from tempfile import NamedTemporaryFile @@ -19,7 +17,7 @@ from scipy.sparse import coo_matrix from scipy.spatial import KDTree -from . import anat, database +from . import appdirs, database def get_paths(fs_subject, hemi, type="patch", freesurfer_subject_dir=None): @@ -39,16 +37,16 @@ def get_paths(fs_subject, hemi, type="patch", freesurfer_subject_dir=None): by freesurfer) """ if freesurfer_subject_dir is None: - freesurfer_subject_dir = os.environ['SUBJECTS_DIR'] + freesurfer_subject_dir = os.environ["SUBJECTS_DIR"] base = os.path.join(freesurfer_subject_dir, fs_subject) if type == "patch": - return os.path.join(base, "surf", hemi+".{name}.patch.3d") + return os.path.join(base, "surf", hemi + ".{name}.patch.3d") elif type == "surf": - return os.path.join(base, "surf", hemi+".{name}") + return os.path.join(base, "surf", hemi + ".{name}") elif type == "curv": - return os.path.join(base, "surf", hemi+".curv{name}") + return os.path.join(base, "surf", hemi + ".curv{name}") elif type == "slim": - return os.path.join(base, "surf", hemi+".{name}_slim.obj") + return os.path.join(base, "surf", hemi + ".{name}_slim.obj") def autorecon(fs_subject, type="all", parallel=True, n_cores=None): @@ -63,32 +61,31 @@ def autorecon(fs_subject, type="all", parallel=True, n_cores=None): """ types = { - 'all': 'autorecon-all', - '1': "autorecon1", - '2': "autorecon2", - '3': "autorecon3", - 'cp': "autorecon2-cp", - 'wm': "autorecon2-wm", - 'pia': "autorecon-pial"} - - times = { - 'all': "12 hours", - '2': "6 hours", - 'cp': "8 hours", - 'wm': "4 hours" - } + "all": "autorecon-all", + "1": "autorecon1", + "2": "autorecon2", + "3": "autorecon3", + "cp": "autorecon2-cp", + "wm": "autorecon2-wm", + "pia": "autorecon-pial", + } + + times = {"all": "12 hours", "2": "6 hours", "cp": "8 hours", "wm": "4 hours"} if str(type) in times: - resp = input("recon-all will take approximately %s to run! Continue? "%times[str(type)]) + resp = input( + "recon-all will take approximately %s to run! Continue? " % times[str(type)] + ) if resp.lower() not in ("yes", "y"): return cmd = "recon-all -s {subj} -{cmd}".format(subj=fs_subject, cmd=types[str(type)]) - if parallel and type in ('2', 'wm', 'all'): + if parallel and type in ("2", "wm", "all"): # Parallelization only works for autorecon2 or autorecon2-wm if n_cores is None: import multiprocessing as mp + n_cores = mp.cpu_count() - cmd += ' -parallel -openmp {n_cores:d}'.format(n_cores=n_cores) + cmd += " -parallel -openmp {n_cores:d}".format(n_cores=n_cores) print("Calling:\n{cmd}".format(cmd=cmd)) sp.check_call(shlex.split(cmd)) @@ -123,15 +120,21 @@ def flatten(fs_subject, hemi, patch, freesurfer_subject_dir=None, save_every=Non shows that a flattening iteration has completed) https://stackoverflow.com/questions/4417546/constantly-print-subprocess-output-while-process-is-running """ - resp = input('Flattening takes approximately 2 hours! Continue? ') - if resp.lower() in ('y', 'yes'): - inpath = get_paths(fs_subject, hemi, freesurfer_subject_dir=freesurfer_subject_dir).format(name=patch) - outpath = get_paths(fs_subject, hemi, freesurfer_subject_dir=freesurfer_subject_dir).format(name=patch+".flat") + resp = input("Flattening takes approximately 2 hours! Continue? ") + if resp.lower() in ("y", "yes"): + inpath = get_paths( + fs_subject, hemi, freesurfer_subject_dir=freesurfer_subject_dir + ).format(name=patch) + outpath = get_paths( + fs_subject, hemi, freesurfer_subject_dir=freesurfer_subject_dir + ).format(name=patch + ".flat") if save_every is None: - save_every_str = '' + save_every_str = "" else: - save_every_str = ' -w %d'%save_every - cmd = "mris_flatten -O fiducial{save_every_str} {inpath} {outpath}".format(inpath=inpath, outpath=outpath, save_every_str=save_every_str) + save_every_str = " -w %d" % save_every + cmd = "mris_flatten -O fiducial{save_every_str} {inpath} {outpath}".format( + inpath=inpath, outpath=outpath, save_every_str=save_every_str + ) print("Calling: ") print(cmd) sp.check_call(shlex.split(cmd)) @@ -149,28 +152,28 @@ def import_subj( ): """Imports a subject from freesurfer - This will overwrite (after giving a warning and an option to continue) the + This will overwrite (after giving a warning and an option to continue) the pre-existing subject, including all blender cuts, masks, transforms, etc., and - re-generate surface info files (curvature, sulcal depth, thickness) stored in - the surfinfo/ folder for the subject. All cached files for the subject will be - deleted. + re-generate surface info files (curvature, sulcal depth, thickness) stored in + the surfinfo/ folder for the subject. All cached files for the subject will be + deleted. Parameters ---------- freesurfer_subject : str Freesurfer subject name pycortex_subject : str, optional - Pycortex subject name. By default it uses the freesurfer subject name. - It is advised to stick to that convention, if possible + Pycortex subject name. By default it uses the freesurfer subject name. + It is advised to stick to that convention, if possible (your life will go more smoothly.) freesurfer_subject_dir : str, optional Freesurfer subject directory to pull data from. By default uses the directory given by the environment variable $SUBJECTS_DIR. whitematter_surf : str, optional - Which whitematter surface to import as 'wm'. By default uses 'smoothwm', but - that surface is smoothed and may not be appropriate. + Which whitematter surface to import as 'wm'. By default uses 'smoothwm', but + that surface is smoothed and may not be appropriate. A good alternative is 'white'. - + Notes ----- This function uses command line functions from freesurfer, so you should make sure @@ -178,7 +181,7 @@ def import_subj( This function will also generate the fiducial surfaces for the subject, which are halfway between the white matter and pial surfaces. The surfaces will be stored - in the freesurfer subject's directory. These fiducial surfaces are used for + in the freesurfer subject's directory. These fiducial surfaces are used for cutting and flattening. """ # Check if freesurfer is sourced or if subjects dir is passed @@ -235,14 +238,14 @@ def import_subj( # system as the volume data, rather than the TKR coordinate system, which # has the center set to FOV/2. # NOTE: the resulting gifti surfaces will look misaligned with respect to - # the anatomical volumes when visualized in freeview, because freeview + # the anatomical volumes when visualized in freeview, because freeview # expects the surfaces to be in TKR coordinates (with center set to FOV/2). # But the surfaces stored in the pycortex database are only to be used by # pycortex, so that's fine. cmd = f"mris_convert --to-scanner {in_surface} {out_surface}" sp.check_output(shlex.split(cmd)) - # Dictionary mapping for curvature and extra info to be imported + # Dictionary mapping for curvature and extra info to be imported info_fs2pycortex = { "sulc": "sulcaldepth", "thickness": "thickness", @@ -254,23 +257,26 @@ def import_subj( fs_surf_template.format(hemi=hemi, name=fsname) for hemi in ["lh", "rh"] ] lh, rh = [parse_curv(in_info) for in_info in in_info_lhrh] - np.savez( - surfinfo_template.format(name=name), - left=-lh, - right=-rh - ) + np.savez(surfinfo_template.format(name=name), left=-lh, right=-rh) # Finally update the database by re-initializing it database.db = database.Database() -def import_flat(fs_subject, patch, hemis=['lh', 'rh'], cx_subject=None, - flat_type='freesurfer', auto_overwrite=False, - freesurfer_subject_dir=None, clean=True): +def import_flat( + fs_subject, + patch, + hemis=["lh", "rh"], + cx_subject=None, + flat_type="freesurfer", + auto_overwrite=False, + freesurfer_subject_dir=None, + clean=True, +): """Imports a flat brain from freesurfer NOTE: This will delete the overlays.svg file for this subject, since THE - FLATMAPS WILL CHANGE, as well as all cached information (e.g. old flatmap - boundaries, roi svg intermediate renders, etc). + FLATMAPS WILL CHANGE, as well as all cached information (e.g. old flatmap + boundaries, roi svg intermediate renders, etc). Parameters ---------- @@ -295,34 +301,56 @@ def import_flat(fs_subject, patch, hemis=['lh', 'rh'], cx_subject=None, ------- """ if not auto_overwrite: - proceed = input(('Warning: This is intended to over-write .gii files storing\n' - 'flatmap vertex locations for this subject, and will result\n' - 'in deletion of the overlays.svg file and all cached info\n' - 'for this subject (because flatmaps will fundamentally change).\n' - 'Proceed? [y]/n: ')) - if proceed.lower() not in ['y', 'yes', '']: + proceed = input( + ( + "Warning: This is intended to over-write .gii files storing\n" + "flatmap vertex locations for this subject, and will result\n" + "in deletion of the overlays.svg file and all cached info\n" + "for this subject (because flatmaps will fundamentally change).\n" + "Proceed? [y]/n: " + ) + ) + if proceed.lower() not in ["y", "yes", ""]: print(">>> Elected to quit rather than delete & overwrite files.") return if cx_subject is None: cx_subject = fs_subject - surfs = os.path.join(database.default_filestore, cx_subject, "surfaces", "flat_{hemi}.gii") + surfs = os.path.join( + database.default_filestore, cx_subject, "surfaces", "flat_{hemi}.gii" + ) from . import formats + for hemi in hemis: - if flat_type in ['freesurfer', 'blender']: - surf_path = (patch + ".flat") if (flat_type == 'freesurfer') else (patch + ".flat.blender") - pts, polys, _ = get_surf(fs_subject, hemi, "patch", surf_path, freesurfer_subject_dir=freesurfer_subject_dir) + if flat_type in ["freesurfer", "blender"]: + surf_path = ( + (patch + ".flat") + if (flat_type == "freesurfer") + else (patch + ".flat.blender") + ) + pts, polys, _ = get_surf( + fs_subject, + hemi, + "patch", + surf_path, + freesurfer_subject_dir=freesurfer_subject_dir, + ) - if flat_type == 'freesurfer': + if flat_type == "freesurfer": # Reorder axes: X, Y, Z instead of Y, X, Z flat = pts[:, [1, 0, 2]] # Flip Y axis upside down flat[:, 1] = -flat[:, 1] else: flat = pts - elif flat_type == 'slim': - flat_file = get_paths(fs_subject, hemi, type='slim', freesurfer_subject_dir=freesurfer_subject_dir) + elif flat_type == "slim": + flat_file = get_paths( + fs_subject, + hemi, + type="slim", + freesurfer_subject_dir=freesurfer_subject_dir, + ) flat_file = flat_file.format(name=patch + ".flat") flat, polys = formats.read_obj(flat_file) @@ -331,25 +359,25 @@ def import_flat(fs_subject, patch, hemis=['lh', 'rh'], cx_subject=None, flat = _move_disconnect_points_to_zero(flat, polys) fname = surfs.format(hemi=hemi) - print("saving to %s"%fname) + print("saving to %s" % fname) formats.write_gii(fname, pts=flat, polys=polys) # clear the cache, per #81 database.db.clear_cache(cx_subject) # Remove overlays.svg file (FLATMAPS HAVE CHANGED) - overlays_file = database.db.get_paths(cx_subject)['overlays'] + overlays_file = database.db.get_paths(cx_subject)["overlays"] if os.path.exists(overlays_file): os.unlink(overlays_file) - # Regenerate it? + # Regenerate it? def _remove_disconnected_polys(polys): """Remove polygons that are not in the main connected component. - + This function creates a sparse graph based on edges in the input. Then it computes the connected components, and returns only the polygons that are in the largest component. - + This filtering is useful to remove disconnected vertices resulting from a poor surface cut. """ @@ -357,18 +385,15 @@ def _remove_disconnected_polys(polys): import scipy.sparse as sp # create the sparse graph - row = np.concatenate([ - polys[:, 0], polys[:, 1], polys[:, 0], - polys[:, 2], polys[:, 1], polys[:, 2] - ]) - col = np.concatenate([ - polys[:, 1], polys[:, 0], polys[:, 2], - polys[:, 0], polys[:, 2], polys[:, 1] - ]) + row = np.concatenate( + [polys[:, 0], polys[:, 1], polys[:, 0], polys[:, 2], polys[:, 1], polys[:, 2]] + ) + col = np.concatenate( + [polys[:, 1], polys[:, 0], polys[:, 2], polys[:, 0], polys[:, 2], polys[:, 1]] + ) data = np.ones(len(col), dtype=bool) - graph = sp.coo_matrix((data, (row, col)), shape=(n_points, n_points), - dtype=bool) - + graph = sp.coo_matrix((data, (row, col)), shape=(n_points, n_points), dtype=bool) + # compute connected components n_components, labels = sp.csgraph.connected_components(graph) unique_labels, counts = np.unique(labels, return_counts=True) @@ -384,7 +409,7 @@ def _remove_disconnected_polys(polys): def _move_disconnect_points_to_zero(pts, polys): """Change coordinates of points not in polygons to zero. - + This cleaning step is useful after _remove_disconnected_polys, to avoid using this points in boundaries computations (through pts.max(axis=0) here and there). @@ -396,41 +421,44 @@ def _move_disconnect_points_to_zero(pts, polys): def make_fiducial(fs_subject, freesurfer_subject_dir=None): - """Make fiducial surface (halfway between white matter and pial surfaces) - """ - for hemi in ['lh', 'rh']: - spts, polys, _ = get_surf(fs_subject, hemi, "smoothwm", freesurfer_subject_dir=freesurfer_subject_dir) - ppts, _, _ = get_surf(fs_subject, hemi, "pial", freesurfer_subject_dir=freesurfer_subject_dir) - fname = get_paths(fs_subject, hemi, "surf", freesurfer_subject_dir=freesurfer_subject_dir).format(name="fiducial") + """Make fiducial surface (halfway between white matter and pial surfaces)""" + for hemi in ["lh", "rh"]: + spts, polys, _ = get_surf( + fs_subject, hemi, "smoothwm", freesurfer_subject_dir=freesurfer_subject_dir + ) + ppts, _, _ = get_surf( + fs_subject, hemi, "pial", freesurfer_subject_dir=freesurfer_subject_dir + ) + fname = get_paths( + fs_subject, hemi, "surf", freesurfer_subject_dir=freesurfer_subject_dir + ).format(name="fiducial") write_surf(fname, (spts + ppts) / 2, polys) def parse_surf(filename): - """ - """ - with open(filename, 'rb') as fp: - #skip magic + """ """ + with open(filename, "rb") as fp: + # skip magic fp.seek(3) comment = fp.readline() fp.readline() print(comment) - verts, faces = struct.unpack('>2I', fp.read(8)) - pts = np.frombuffer(fp.read(4*3*verts), dtype='f4').byteswap() - polys = np.frombuffer(fp.read(4*3*faces), dtype='i4').byteswap() + verts, faces = struct.unpack(">2I", fp.read(8)) + pts = np.frombuffer(fp.read(4 * 3 * verts), dtype="f4").byteswap() + polys = np.frombuffer(fp.read(4 * 3 * faces), dtype="i4").byteswap() return pts.reshape(-1, 3), polys.reshape(-1, 3) -def write_surf(filename, pts, polys, comment=''): - """Write freesurfer surface file - """ - with open(filename, 'wb') as fp: - fp.write(b'\xff\xff\xfe') - fp.write((comment+'\n\n').encode()) - fp.write(struct.pack('>2I', len(pts), len(polys))) +def write_surf(filename, pts, polys, comment=""): + """Write freesurfer surface file""" + with open(filename, "wb") as fp: + fp.write(b"\xff\xff\xfe") + fp.write((comment + "\n\n").encode()) + fp.write(struct.pack(">2I", len(pts), len(polys))) fp.write(pts.astype(np.float32).byteswap().tobytes()) fp.write(polys.astype(np.uint32).byteswap().tobytes()) - fp.write(b'\n') + fp.write(b"\n") def write_patch(filename, pts, edges=None): @@ -455,53 +483,63 @@ def write_patch(filename, pts, edges=None): if edges is None: edges = set() - with open(filename, 'wb') as fp: - fp.write(struct.pack('>2i', -1, len(pts))) + with open(filename, "wb") as fp: + fp.write(struct.pack(">2i", -1, len(pts))) for i, pt in pts: if i in edges: - fp.write(struct.pack('>i3f', -i-1, *pt)) + fp.write(struct.pack(">i3f", -i - 1, *pt)) else: - fp.write(struct.pack('>i3f', i+1, *pt)) + fp.write(struct.pack(">i3f", i + 1, *pt)) def parse_curv(filename): - """ - """ - with open(filename, 'rb') as fp: + """ """ + with open(filename, "rb") as fp: fp.seek(15) - return np.frombuffer(fp.read(), dtype='>f4').byteswap().view(np.dtype('>f4').newbyteorder('=')) + return ( + np.frombuffer(fp.read(), dtype=">f4") + .byteswap() + .view(np.dtype(">f4").newbyteorder("=")) + ) def parse_patch(filename): - """ - """ - with open(filename, 'rb') as fp: - header, = struct.unpack('>i', fp.read(4)) - nverts, = struct.unpack('>i', fp.read(4)) - data = np.frombuffer(fp.read(), dtype=[('vert', '>i4'), ('x', '>f4'), - ('y', '>f4'), ('z', '>f4')]) + """ """ + with open(filename, "rb") as fp: + (header,) = struct.unpack(">i", fp.read(4)) + (nverts,) = struct.unpack(">i", fp.read(4)) + data = np.frombuffer( + fp.read(), dtype=[("vert", ">i4"), ("x", ">f4"), ("y", ">f4"), ("z", ">f4")] + ) assert len(data) == nverts return data -def get_surf(subject, hemi, type, patch=None, flatten_step=None, freesurfer_subject_dir=None): - """Read freesurfer surface file - """ +def get_surf( + subject, hemi, type, patch=None, flatten_step=None, freesurfer_subject_dir=None +): + """Read freesurfer surface file""" if type == "patch": assert patch is not None - surf_file = get_paths(subject, hemi, 'surf', freesurfer_subject_dir=freesurfer_subject_dir).format(name='smoothwm') + surf_file = get_paths( + subject, hemi, "surf", freesurfer_subject_dir=freesurfer_subject_dir + ).format(name="smoothwm") else: - surf_file = get_paths(subject, hemi, 'surf', freesurfer_subject_dir=freesurfer_subject_dir).format(name=type) + surf_file = get_paths( + subject, hemi, "surf", freesurfer_subject_dir=freesurfer_subject_dir + ).format(name=type) pts, polys = parse_surf(surf_file) if patch is not None: - patch_file = get_paths(subject, hemi, 'patch', freesurfer_subject_dir=freesurfer_subject_dir).format(name=patch) + patch_file = get_paths( + subject, hemi, "patch", freesurfer_subject_dir=freesurfer_subject_dir + ).format(name=patch) if flatten_step is not None: - patch_file += '%04d'%flatten_step + patch_file += "%04d" % flatten_step patch = parse_patch(patch_file) - verts = patch[patch['vert'] > 0]['vert'] - 1 - edges = -patch[patch['vert'] < 0]['vert'] - 1 + verts = patch[patch["vert"] > 0]["vert"] - 1 + edges = -patch[patch["vert"] < 0]["vert"] - 1 idx = np.zeros((len(pts),), dtype=bool) idx[verts] = True @@ -513,42 +551,64 @@ def get_surf(subject, hemi, type, patch=None, flatten_step=None, freesurfer_subj idx[edges] = -1 if type == "patch": - for i, x in enumerate(['x', 'y', 'z']): - pts[verts, i] = patch[patch['vert'] > 0][x] - pts[edges, i] = patch[patch['vert'] < 0][x] + for i, x in enumerate(["x", "y", "z"]): + pts[verts, i] = patch[patch["vert"] > 0][x] + pts[edges, i] = patch[patch["vert"] < 0][x] return pts, polys, idx - return pts, polys, get_curv(subject, hemi, freesurfer_subject_dir=freesurfer_subject_dir) + return ( + pts, + polys, + get_curv(subject, hemi, freesurfer_subject_dir=freesurfer_subject_dir), + ) -def _move_labels(subject, label, hemisphere=('lh','rh'), fs_dir=None, src_subject='fsaverage'): +def _move_labels( + subject, label, hemisphere=("lh", "rh"), fs_dir=None, src_subject="fsaverage" +): """subject is a freesurfer subject""" if fs_dir is None: - fs_dir = os.environ['SUBJECTS_DIR'] + fs_dir = os.environ["SUBJECTS_DIR"] for hemi in hemisphere: - srclabel = os.path.join(fs_dir, src_subject, 'label', - '{hemi}.{label}.label'.format(hemi=hemi, label=label)) - trglabel = os.path.join(fs_dir, subject, 'label', - '{hemi}.{label}.label'.format(hemi=hemi, label=label)) + srclabel = os.path.join( + fs_dir, + src_subject, + "label", + "{hemi}.{label}.label".format(hemi=hemi, label=label), + ) + trglabel = os.path.join( + fs_dir, + subject, + "label", + "{hemi}.{label}.label".format(hemi=hemi, label=label), + ) if not os.path.exists(srclabel): raise ValueError("Label {} doesn't exist!".format(srclabel)) - fs_sub_dir = os.path.join(fs_dir, subject, 'label') + fs_sub_dir = os.path.join(fs_dir, subject, "label") if not os.path.exists(fs_sub_dir): - raise ValueError("Freesurfer subject directory for subject ({}) does not exist!".format(fs_sub_dir)) - cmd = ("mri_label2label --srcsubject {src_subject} --trgsubject {subject} " - "--srclabel {srclabel} --trglabel {trglabel} " - "--regmethod surface --hemi {hemi}") - cmd_f = cmd.format(hemi=hemi, subject=subject, src_subject=src_subject, - srclabel=srclabel, trglabel=trglabel) + raise ValueError( + "Freesurfer subject directory for subject ({}) does not exist!".format( + fs_sub_dir + ) + ) + cmd = ( + "mri_label2label --srcsubject {src_subject} --trgsubject {subject} " + "--srclabel {srclabel} --trglabel {trglabel} " + "--regmethod surface --hemi {hemi}" + ) + cmd_f = cmd.format( + hemi=hemi, + subject=subject, + src_subject=src_subject, + srclabel=srclabel, + trglabel=trglabel, + ) print("Calling: ") print(cmd_f) to_call = shlex.split(cmd_f) - proc = sp.Popen(to_call, - stdin=sp.PIPE, - stdout=sp.PIPE, - stderr=sp.PIPE) + proc = sp.Popen(to_call, stdin=sp.PIPE, stdout=sp.PIPE, stderr=sp.PIPE) stdout, stderr = proc.communicate() - if stderr not in ('', b''): + if stderr not in ("", b""): raise Exception("Error in freesurfer function call:\n{}".format(stderr)) print("Labels transferred") @@ -567,22 +627,34 @@ def _parse_labels(label_files, cx_subject): label_files = [label_files] verts = [] values = [] - lh_surf, _ = database.db.get_surf(cx_subject, 'fiducial', 'left') + lh_surf, _ = database.db.get_surf(cx_subject, "fiducial", "left") for fname in label_files: with open(fname) as fid: lines = fid.readlines() - lines = [[float(xx.strip()) for xx in x.split(' ') if xx.strip()] for x in lines[2:]] + lines = [ + [float(xx.strip()) for xx in x.split(" ") if xx.strip()] + for x in lines[2:] + ] vals = np.array(lines) - if '/lh.' in fname: - verts.append(vals[:,0]) - elif '/rh.' in fname: - verts.append(vals[:,0] + lh_surf.shape[0]) - values.append(vals[:,-1]) + if "/lh." in fname: + verts.append(vals[:, 0]) + elif "/rh." in fname: + verts.append(vals[:, 0] + lh_surf.shape[0]) + values.append(vals[:, -1]) verts = np.hstack(verts) values = np.hstack(values) return verts, values -def get_label(cx_subject, label, fs_subject=None, fs_dir=None, src_subject='fsaverage', hemisphere=('lh', 'rh'), **kwargs): + +def get_label( + cx_subject, + label, + fs_subject=None, + fs_dir=None, + src_subject="fsaverage", + hemisphere=("lh", "rh"), + **kwargs, +): """Get data from a label file for fsaverage subject Parameters @@ -601,18 +673,27 @@ def get_label(cx_subject, label, fs_subject=None, fs_dir=None, src_subject='fsav """ if fs_dir is None: - fs_dir = os.environ['SUBJECTS_DIR'] + fs_dir = os.environ["SUBJECTS_DIR"] else: - os.environ['SUBJECTS_DIR'] = fs_dir + os.environ["SUBJECTS_DIR"] = fs_dir if fs_subject is None: fs_subject = cx_subject - label_files = [os.path.join(fs_dir, fs_subject, 'label', '{}.{}.label'.format(h, label)) for h in hemisphere] - if cx_subject not in ['fsaverage', 'MNI']: + label_files = [ + os.path.join(fs_dir, fs_subject, "label", "{}.{}.label".format(h, label)) + for h in hemisphere + ] + if cx_subject not in ["fsaverage", "MNI"]: # If label file doesn't exist, try to move it there - print('looking for {}'.format(label_files)) + print("looking for {}".format(label_files)) if not all([os.path.exists(f) for f in label_files]): print("Transforming label file to subject's freesurfer directory...") - _move_labels(fs_subject, label, hemisphere=hemisphere, fs_dir=fs_dir, src_subject=src_subject) + _move_labels( + fs_subject, + label, + hemisphere=hemisphere, + fs_dir=fs_dir, + src_subject=src_subject, + ) verts, values = _parse_labels(label_files, cx_subject) idx = verts.astype(int) return idx, values @@ -623,12 +704,19 @@ def _mri_surf2surf_command(src_subj, trg_subj, input_file, output_file, hemi): # --trgsubject --trgsurfval --hemi - cmd = ["mri_surf2surf", "--srcsubject", src_subj, - "--sval", input_file, - "--trgsubject", trg_subj, - "--tval", output_file, - "--hemi", hemi, - ] + cmd = [ + "mri_surf2surf", + "--srcsubject", + src_subj, + "--sval", + input_file, + "--trgsubject", + trg_subj, + "--tval", + output_file, + "--hemi", + hemi, + ] return cmd @@ -645,21 +733,21 @@ def _check_datatype(data): def mri_surf2surf(data, source_subj, target_subj, hemi, subjects_dir=None): """Uses freesurfer mri_surf2surf to transfer vertex data between two freesurfer subjects - + Parameters ========== data: ndarray, shape=(n_imgs, n_verts) data arrays representing vertex data - + source_subj: str freesurfer subject name of source subject - + target_subj: str freesurfer subject name of target subject - + hemi: str in ("lh", "rh") string indicating hemisphere. - + Notes ===== Requires path to mri_surf2surf or freesurfer environment to be active. @@ -671,31 +759,38 @@ def mri_surf2surf(data, source_subj, target_subj, hemi, subjects_dir=None): tf_in = NamedTemporaryFile(suffix=".gii") nibabel.save(gifti_image, tf_in.name) - tf_out = NamedTemporaryFile(suffix='.gii') - cmd = _mri_surf2surf_command(source_subj, target_subj, - tf_in.name, tf_out.name, hemi) + tf_out = NamedTemporaryFile(suffix=".gii") + cmd = _mri_surf2surf_command( + source_subj, target_subj, tf_in.name, tf_out.name, hemi + ) if subjects_dir is not None: env = os.environ.copy() - env['SUBJECTS_DIR'] = subjects_dir + env["SUBJECTS_DIR"] = subjects_dir else: env = None - print('Calling:') - print(' '.join(cmd)) + print("Calling:") + print(" ".join(cmd)) p = sp.Popen(cmd, env=env) exit_code = p.wait() if exit_code != 0: if exit_code == 255: - raise Exception(("Missing file (see above). " - "If lh.sphere.reg is missing,\n" - "you likely need to run the 3rd " - "stage of freesurfer autorecon\n" - "(sphere registration) for this subject:\n" - ">>> cortex.freesurfer.autorecon('{fs_subject}', type='3')" - ).format(fs_subject=source_subj)) - #from subprocess import CalledProcessError # handle with this, maybe? - raise Exception(("Exit code {exit_code} means that " - "mri_surf2surf failed").format(exit_code=exit_code)) + raise Exception( + ( + "Missing file (see above). " + "If lh.sphere.reg is missing,\n" + "you likely need to run the 3rd " + "stage of freesurfer autorecon\n" + "(sphere registration) for this subject:\n" + ">>> cortex.freesurfer.autorecon('{fs_subject}', type='3')" + ).format(fs_subject=source_subj) + ) + # from subprocess import CalledProcessError # handle with this, maybe? + raise Exception( + ("Exit code {exit_code} means that mri_surf2surf failed").format( + exit_code=exit_code + ) + ) tf_in.close() output_img = nibabel.load(tf_out.name) @@ -710,9 +805,9 @@ def _read_sphere_reg(subject, hemi, subjects_dir=None): These are the coordinates on which freesurfer's spherical registration defines the cross-subject vertex correspondence used by ``mri_surf2surf``. """ - surf_file = get_paths(subject, hemi, 'surf', - freesurfer_subject_dir=subjects_dir).format( - name='sphere.reg') + surf_file = get_paths( + subject, hemi, "surf", freesurfer_subject_dir=subjects_dir + ).format(name="sphere.reg") pts, _ = parse_surf(surf_file) return pts @@ -782,8 +877,9 @@ def _surf2surf_nnfr_matrix(src_sphere, trg_sphere): rows = np.concatenate([np.arange(n_trg), rev_trg[orphan]]) cols = np.concatenate([fwd_src, orphan]) - matrix = coo_matrix((np.ones(len(rows)), (rows, cols)), - shape=(n_trg, n_src)).tocsr() + matrix = coo_matrix( + (np.ones(len(rows)), (rows, cols)), shape=(n_trg, n_src) + ).tocsr() # A target/source pair can be added by both passes; collapse duplicates. matrix.sum_duplicates() @@ -800,13 +896,18 @@ def _surf2surf_nnfr_matrix(src_sphere, trg_sphere): # implementation of ``get_mri_surf2surf_matrix``; kept only so existing # callers do not break. _SURF2SURF_LEGACY_KWARGS = frozenset( - ('n_neighbors', 'random_state', 'n_test_images', 'coef_threshold', - 'renormalize')) + ("n_neighbors", "random_state", "n_test_images", "coef_threshold", "renormalize") +) -def get_mri_surf2surf_matrix(source_subj, hemi, surface_type=None, - target_subj='fsaverage', subjects_dir=None, - **kwargs): +def get_mri_surf2surf_matrix( + source_subj, + hemi, + surface_type=None, + target_subj="fsaverage", + subjects_dir=None, + **kwargs, +): """Create a sparse matrix implementing freesurfer's ``mri_surf2surf``. A surface-to-surface resampling is a linear, highly localized transform @@ -858,19 +959,23 @@ def get_mri_surf2surf_matrix(source_subj, hemi, surface_type=None, "get_mri_surf2surf_matrix no longer uses the regression-based " "parameters {}; they are ignored. The matrix is now built " "directly from the spherical registration.".format(sorted(legacy)), - DeprecationWarning, stacklevel=2) + DeprecationWarning, + stacklevel=2, + ) unexpected = set(kwargs) - _SURF2SURF_LEGACY_KWARGS if unexpected: raise TypeError( - "get_mri_surf2surf_matrix got unexpected keyword argument(s) " - "{}".format(sorted(unexpected))) + "get_mri_surf2surf_matrix got unexpected keyword argument(s) {}".format( + sorted(unexpected) + ) + ) src_sphere = _read_sphere_reg(source_subj, hemi, subjects_dir) trg_sphere = _read_sphere_reg(target_subj, hemi, subjects_dir) return _surf2surf_nnfr_matrix(src_sphere, trg_sphere) -def get_curv(fs_subject, hemi, type='wm', freesurfer_subject_dir=None): +def get_curv(fs_subject, hemi, type="wm", freesurfer_subject_dir=None): """Load freesurfer curv file for a freesurfer subject Parameters @@ -882,13 +987,17 @@ def get_curv(fs_subject, hemi, type='wm', freesurfer_subject_dir=None): type : str 'wm' or other type of surface (e.g. 'fiducial' or 'pial') freesurfer_subject_dir : str - directory for Freesurfer subjects (defaults to value for the + directory for Freesurfer subjects (defaults to value for the environment variable $SUBJECTS_DIR if None) """ if type == "wm": - curv_file = get_paths(fs_subject, hemi, 'curv', freesurfer_subject_dir=freesurfer_subject_dir).format(name='') + curv_file = get_paths( + fs_subject, hemi, "curv", freesurfer_subject_dir=freesurfer_subject_dir + ).format(name="") else: - curv_file = get_paths(fs_subject, hemi, 'curv', freesurfer_subject_dir=freesurfer_subject_dir).format(name='.'+type) + curv_file = get_paths( + fs_subject, hemi, "curv", freesurfer_subject_dir=freesurfer_subject_dir + ).format(name="." + type) return parse_curv(curv_file) @@ -910,74 +1019,91 @@ def show_surf(subject, hemi, type, patch=None, curv=True, freesurfer_subject_dir freesurfer_subject_dir : """ - warnings.warn(('Deprecated and probably broken! Try `cortex.segment.show_surf()`\n' - 'which uses a third-party program (meshlab, available for linux & mac\n' - 'instead of buggy mayavi code!')) + warnings.warn( + ( + "Deprecated and probably broken! Try `cortex.segment.show_surf()`\n" + "which uses a third-party program (meshlab, available for linux & mac\n" + "instead of buggy mayavi code!" + ) + ) from mayavi import mlab from tvtk.api import tvtk - pts, polys, idx = get_surf(subject, hemi, type, patch, freesurfer_subject_dir=freesurfer_subject_dir) + pts, polys, idx = get_surf( + subject, hemi, type, patch, freesurfer_subject_dir=freesurfer_subject_dir + ) if curv: curv = get_curv(subject, hemi, freesurfer_subject_dir=freesurfer_subject_dir) else: curv = idx fig = mlab.figure() - src = mlab.pipeline.triangular_mesh_source(pts[:,0], pts[:,1], pts[:,2], polys, scalars=curv, figure=fig) + src = mlab.pipeline.triangular_mesh_source( + pts[:, 0], pts[:, 1], pts[:, 2], polys, scalars=curv, figure=fig + ) norms = mlab.pipeline.poly_data_normals(src, figure=fig) norms.filter.splitting = False surf = mlab.pipeline.surface(norms, figure=fig) - surf.parent.scalar_lut_manager.set(lut_mode='RdBu', data_range=[-1,1], use_default_range=False) + surf.parent.scalar_lut_manager.set( + lut_mode="RdBu", data_range=[-1, 1], use_default_range=False + ) cursors = mlab.pipeline.scalar_scatter([0], [0], [0]) glyphs = mlab.pipeline.glyph(cursors, figure=fig) - glyphs.glyph.glyph_source.glyph_source = glyphs.glyph.glyph_source.glyph_dict['axes'] + glyphs.glyph.glyph_source.glyph_source = glyphs.glyph.glyph_source.glyph_dict[ + "axes" + ] - fig.scene.background = (0,0,0) + fig.scene.background = (0, 0, 0) fig.scene.interactor.interactor_style = tvtk.InteractorStyleTerrain() - path = os.path.join(os.environ['SUBJECTS_DIR'], subject) + path = os.path.join(os.environ["SUBJECTS_DIR"], subject) + def picker_callback(picker): if picker.actor in surf.actor.actors: - npts = np.append(cursors.data.points.to_array(), [pts[picker.point_id]], axis=0) + npts = np.append( + cursors.data.points.to_array(), [pts[picker.point_id]], axis=0 + ) cursors.data.points = npts print(picker.point_id) x, y, z = pts[picker.point_id] - with open(os.path.join(path, 'tmp', 'edit.dat'), 'w') as fp: - fp.write('%f %f %f\n'%(x, y, z)) + with open(os.path.join(path, "tmp", "edit.dat"), "w") as fp: + fp.write("%f %f %f\n" % (x, y, z)) picker = fig.on_mouse_pick(picker_callback) picker.tolerance = 0.01 mlab.show() return fig, surf + def write_dot(fname, pts, polys, name="test"): - """ - """ + """ """ import networkx as nx + def iter_surfedges(tris): - for a,b,c in tris: - yield a,b - yield b,c - yield a,c + for a, b, c in tris: + yield a, b + yield b, c + yield a, c + graph = nx.Graph() graph.add_edges_from(iter_surfedges(polys)) lengths = [] with open(fname, "w") as fp: - fp.write("graph %s {\n"%name) + fp.write("graph %s {\n" % name) fp.write('node [shape=point,label=""];\n') for a, b in graph.edges_iter(): - l = np.sqrt(((pts[a] - pts[b])**2).sum(-1)) + l = np.sqrt(((pts[a] - pts[b]) ** 2).sum(-1)) lengths.append(l) - fp.write("%s -- %s [len=%f];\n"%(a, b, l)) - fp.write("maxiter=1000000;\n"); + fp.write("%s -- %s [len=%f];\n" % (a, b, l)) + fp.write("maxiter=1000000;\n") fp.write("}") def read_dot(fname, pts): - """ - """ + """ """ import re + parse = re.compile(r'\s(\d+)\s\[label="", pos="([\d\.]+),([\d\.]+)".*];') data = np.zeros((len(pts), 2)) with open(fname) as fp: @@ -985,36 +1111,38 @@ def read_dot(fname, pts): fp.readline() fp.readline() fp.readline() - el = fp.readline().split(' ') - while el[1] != '--': - x, y = el[2][5:-2].split(',') + el = fp.readline().split(" ") + while el[1] != "--": + x, y = el[2][5:-2].split(",") data[int(el[0][1:])] = float(x), float(y) - el = fp.readline().split(' ') + el = fp.readline().split(" ") return data def write_decimated(path, pts, polys): - """ - """ + """ """ from .polyutils import boundary_edges, decimate + dpts, dpolys = decimate(pts, polys) - write_surf(path+'.smoothwm', dpts, dpolys) + write_surf(path + ".smoothwm", dpts, dpolys) edges = boundary_edges(dpolys) - data = np.zeros((len(dpts),), dtype=[('vert', '>i4'), ('x', '>f4'), ('y', '>f4'), ('z', '>f4')]) - data['vert'] = np.arange(len(dpts))+1 - data['vert'][edges] *= -1 - data['x'] = dpts[:,0] - data['y'] = dpts[:,1] - data['z'] = dpts[:,2] - with open(path+'.full.patch.3d', 'w') as fp: - fp.write(struct.pack('>i', -1)) - fp.write(struct.pack('>i', len(dpts))) + data = np.zeros( + (len(dpts),), dtype=[("vert", ">i4"), ("x", ">f4"), ("y", ">f4"), ("z", ">f4")] + ) + data["vert"] = np.arange(len(dpts)) + 1 + data["vert"][edges] *= -1 + data["x"] = dpts[:, 0] + data["y"] = dpts[:, 1] + data["z"] = dpts[:, 2] + with open(path + ".full.patch.3d", "w") as fp: + fp.write(struct.pack(">i", -1)) + fp.write(struct.pack(">i", len(dpts))) fp.write(data.tobytes()) class SpringLayout(object): - """ - """ + """ """ + def __init__(self, pts, polys, dpts=None, pins=None, stepsize=1, neighborhood=0): self.pts = pts self.polys = polys @@ -1046,20 +1174,20 @@ def __init__(self, pts, polys, dpts=None, pins=None, stepsize=1, neighborhood=0) if dpts is None: dpts = pts - #self.kdt = cKDTree(self.pts) + # self.kdt = cKDTree(self.pts) self._next = self.pts.copy() width = max(len(n) for n in self.neighbors) self._mask = np.zeros((len(pts), width), dtype=bool) self._move = np.zeros((len(pts), width, 3)) - #self._mean = np.zeros((len(pts), width)) + # self._mean = np.zeros((len(pts), width)) self._num = np.zeros((len(pts),)) self._dists = [] self._idx = [] for i, n in enumerate(self.neighbors): - self._mask[i, :len(n)] = True - self._dists.append(np.sqrt(((dpts[n] - dpts[i])**2).sum(-1))) - self._idx.append(np.ones((len(n),))*i) + self._mask[i, : len(n)] = True + self._dists.append(np.sqrt(((dpts[n] - dpts[i]) ** 2).sum(-1))) + self._idx.append(np.ones((len(n),)) * i) self._num[i] = len(n) self._dists = np.hstack(self._dists) self._idx = np.hstack(self._idx).astype(np.uint) @@ -1069,8 +1197,8 @@ def __init__(self, pts, polys, dpts=None, pins=None, stepsize=1, neighborhood=0) def _spring(self): svec = self.pts[self._neigh] - self.pts[self._idx] slen = np.sqrt((svec**2).sum(-1)) - force = (slen - self._dists) # / self._dists - svec /= slen[:,np.newaxis] + force = slen - self._dists # / self._dists + svec /= slen[:, np.newaxis] fvec = force[:, np.newaxis] * svec self._move[self._mask] = self.stepsize * fvec return self._move.sum(1) / self._num[:, np.newaxis] @@ -1084,10 +1212,10 @@ def _estatic(self, idx): def step(self): move = self._spring()[~self.pins] - self._next[~self.pins] += move #+ self._estatic(i) + self._next[~self.pins] += move # + self._estatic(i) self.pts = self._next.copy() - return dict(x=self.pts[:,0],y=self.pts[:, 1], z=self.pts[:,2]), move - #self.kdt = cKDTree(self.pts) + return dict(x=self.pts[:, 0], y=self.pts[:, 1], z=self.pts[:, 2]), move + # self.kdt = cKDTree(self.pts) def run(self, n=1000): for _ in range(n): @@ -1096,27 +1224,106 @@ def run(self, n=1000): def view_step(self): from mayavi import mlab + if self.figure is None: - self.figure = mlab.triangular_mesh(self.pts[:,0], self.pts[:,1], self.pts[:,2], self.polys, representation='wireframe') + self.figure = mlab.triangular_mesh( + self.pts[:, 0], + self.pts[:, 1], + self.pts[:, 2], + self.polys, + representation="wireframe", + ) self.step() - self.figure.mlab_source.set(x=self.pts[:,0], y=self.pts[:,1], z=self.pts[:,2]) + self.figure.mlab_source.set( + x=self.pts[:, 0], y=self.pts[:, 1], z=self.pts[:, 2] + ) + def stretch_mwall(pts, polys, mwall): - """ - """ + """ """ inflated = pts.copy() center = pts[mwall].mean(0) radius = max((pts.max(0) - pts.min(0))[1:]) - angles = np.arctan2(pts[mwall][:,2], pts[mwall][:,1]) + angles = np.arctan2(pts[mwall][:, 2], pts[mwall][:, 1]) pts[mwall, 0] = center[0] pts[mwall, 1] = radius * np.cos(angles) + center[1] pts[mwall, 2] = radius * np.sin(angles) + center[2] return SpringLayout(pts, polys, inflated, pins=mwall) -def upsample_to_fsaverage( - data, data_space="fsaverage6", freesurfer_subjects_dir=None -): +def _n_vertices_ico(icoorder): + return 4**icoorder * 10 + 2 + + +# Precomputed upsampling neighbor arrays bundled with pycortex (see +# ``_get_upsample_neighbors``). Lazily loaded ``NpzFile`` keyed by +# ``"{hemi}_ico{order}"``. +_UPSAMPLE_NEIGHBORS_FILE = os.path.join( + os.path.dirname(__file__), "data", "upsample_fsaverage_neighbors.npz" +) +_upsample_neighbors_bundle = None + + +def _get_upsample_neighbors(hemi, ico_order, freesurfer_subjects_dir=None): + """Nearest low-res neighbor index for each extra fsaverage vertex. + + Maps every full-``fsaverage`` vertex beyond the first ``n_ico`` (i.e. the + ones absent from ``fsaverage{ico_order}``) to its nearest ``fsaverage`` + -sphere neighbor among those first ``n_ico`` vertices. This index array is a + fixed property of the standard fsaverage tessellation -- it depends only on + ``(hemi, ico_order)``, never on the data -- so it is precomputed. + + Resolution order: + + 1. the arrays bundled with pycortex (covers the common fsaverage5/6 case, so + no FreeSurfer install or ``$SUBJECTS_DIR`` is required); + 2. a previously cached array in the pycortex user cache dir; + 3. otherwise it is computed from the fsaverage ``?h.sphere.reg`` (which needs + ``freesurfer_subjects_dir``/``$SUBJECTS_DIR``) and cached for next time. + """ + global _upsample_neighbors_bundle + key = f"{hemi}_ico{ico_order}" + + # 1. Bundled with the package. + if _upsample_neighbors_bundle is None: + if os.path.exists(_UPSAMPLE_NEIGHBORS_FILE): + _upsample_neighbors_bundle = np.load(_UPSAMPLE_NEIGHBORS_FILE) + else: + _upsample_neighbors_bundle = {} + bundle_keys = getattr( + _upsample_neighbors_bundle, "files", list(_upsample_neighbors_bundle) + ) + if key in bundle_keys: + return np.asarray(_upsample_neighbors_bundle[key]) + + # 2. User cache. + cache_dir = os.path.join(appdirs.user_cache_dir("pycortex"), "upsample_fsaverage") + cache_path = os.path.join(cache_dir, key + ".npy") + if os.path.exists(cache_path): + return np.load(cache_path) + + # 3. Compute from the fsaverage sphere and cache. + if freesurfer_subjects_dir is None: + freesurfer_subjects_dir = os.environ.get("SUBJECTS_DIR", None) + if freesurfer_subjects_dir is None: + raise ValueError( + f"Upsampling neighbors for fsaverage{ico_order} are not bundled " + "with pycortex and have not been cached yet. Set $SUBJECTS_DIR (or " + "pass freesurfer_subjects_dir) so they can be computed from the " + "fsaverage ?h.sphere.reg." + ) + n_ico = _n_vertices_ico(ico_order) + pts, _ = nibabel.freesurfer.read_geometry( + os.path.join(freesurfer_subjects_dir, "fsaverage", "surf", f"{hemi}.sphere.reg") + ) + _, neighbors = KDTree(pts[:n_ico]).query(pts[n_ico:], k=1) + neighbors = neighbors.astype(np.uint16 if neighbors.max() < 65536 else np.int64) + os.makedirs(cache_dir, exist_ok=True) + np.save(cache_path, neighbors) + return neighbors + + +def upsample_to_fsaverage(data, data_space="fsaverage6", freesurfer_subjects_dir=None): """Project data from fsaverage6 (or other fsaverage surface) to fsaverage to visualize it in pycortex. @@ -1129,8 +1336,10 @@ def upsample_to_fsaverage( data_space : str One of fsaverage[1-6], corresponding to the source template space of `data`. freesurfer_subjects_dir : str or None - Path to Freesurfer subjects directory. If None, defaults to the value of the - environment variable $SUBJECTS_DIR. + Path to Freesurfer subjects directory. Only needed for source spaces + whose neighbor arrays are neither bundled with pycortex (fsaverage5 and + fsaverage6 are) nor already cached; in that case it defaults to the + ``$SUBJECTS_DIR`` environment variable. Returns ------- @@ -1140,19 +1349,19 @@ def upsample_to_fsaverage( Notes ----- Data in the lower resolution fsaverage template is upsampled to the full resolution - fsaverage template by nearest-neighbor interpolation. To project the data from a - lower resolution version of fsaverage, this code exploits the structure of fsaverage - surfaces. (That is, each hemisphere in fsaverage6 corresponds to the first - 40,962 vertices of fsaverage; fsaverage5 corresponds to the first 10,242 vertices of + fsaverage template by nearest-neighbor interpolation. To project the data from a + lower resolution version of fsaverage, this code exploits the structure of fsaverage + surfaces. (That is, each hemisphere in fsaverage6 corresponds to the first + 40,962 vertices of fsaverage; fsaverage5 corresponds to the first 10,242 vertices of fsaverage, etc.) - """ - - - def get_n_vertices_ico(icoorder): - return 4 ** icoorder * 10 + 2 + The per-vertex nearest-neighbor mapping is a fixed property of the fsaverage + tessellation, so it is precomputed (see :func:`_get_upsample_neighbors`). + For the common fsaverage5/fsaverage6 sources the arrays ship with pycortex, + so neither FreeSurfer nor ``$SUBJECTS_DIR`` is required. + """ ico_order = int(data_space[-1]) - n_ico_vertices = get_n_vertices_ico(ico_order) + n_ico_vertices = _n_vertices_ico(ico_order) ndim = data.ndim data = np.atleast_2d(data) _, n_vertices = data.shape @@ -1162,31 +1371,13 @@ def get_n_vertices_ico(icoorder): f"are expected for both hemispheres in {data_space}" ) - if freesurfer_subjects_dir is None: - freesurfer_subjects_dir = os.environ.get("SUBJECTS_DIR", None) - if freesurfer_subjects_dir is None: - raise ValueError( - "freesurfer_subjects_dir must be specified or $SUBJECTS_DIR must be set" - ) - data_hemi = np.split(data, 2, axis=-1) hemis = ["lh", "rh"] projected_data = [] - for i, (hemi, dt) in enumerate(zip(hemis, data_hemi)): - # Load fsaverage sphere for this hemisphere - pts, faces = nibabel.freesurfer.read_geometry( - os.path.join( - freesurfer_subjects_dir, "fsaverage", "surf", f"{hemi}.sphere.reg" - ) - ) - # build kdtree using only vertices in reduced fsaverage surface - kdtree = KDTree(pts[:n_ico_vertices]) - # figure out neighbors in reduced version for all other vertices in fsaverage - _, neighbors = kdtree.query(pts[n_ico_vertices:], k=1) - # now simply fill remaining vertices with original values - projected_data.append( - np.concatenate([dt, dt[:, neighbors]], axis=-1) - ) + for hemi, dt in zip(hemis, data_hemi): + neighbors = _get_upsample_neighbors(hemi, ico_order, freesurfer_subjects_dir) + # Fill the extra fsaverage vertices from their nearest low-res neighbor. + projected_data.append(np.concatenate([dt, dt[:, neighbors]], axis=-1)) projected_data = np.hstack(projected_data) if ndim == 1: projected_data = projected_data[0] @@ -1194,206 +1385,209 @@ def get_n_vertices_ico(icoorder): # aseg partition labels (up to 256 only) -fs_aseg_dict = {'Unknown': 0, - 'Left-Cerebral-Exterior': 1, - 'Left-Cerebral-White-Matter': 2, - 'Left-Cerebral-Cortex': 3, - 'Left-Lateral-Ventricle': 4, - 'Left-Inf-Lat-Vent': 5, - 'Left-Cerebellum-Exterior': 6, - 'Left-Cerebellum-White-Matter': 7, - 'Left-Cerebellum-Cortex': 8, - 'Left-Thalamus': 9, - 'Left-Thalamus-Proper': 10, - 'Left-Caudate': 11, - 'Left-Putamen': 12, - 'Left-Pallidum': 13, - '3rd-Ventricle': 14, - '4th-Ventricle': 15, - 'Brain-Stem': 16, - 'Left-Hippocampus': 17, - 'Left-Amygdala': 18, - 'Left-Insula': 19, - 'Left-Operculum': 20, - 'Line-1': 21, - 'Line-2': 22, - 'Line-3': 23, - 'CSF': 24, - 'Left-Lesion': 25, - 'Left-Accumbens-area': 26, - 'Left-Substancia-Nigra': 27, - 'Left-VentralDC': 28, - 'Left-undetermined': 29, - 'Left-vessel': 30, - 'Left-choroid-plexus': 31, - 'Left-F3orb': 32, - 'Left-lOg': 33, - 'Left-aOg': 34, - 'Left-mOg': 35, - 'Left-pOg': 36, - 'Left-Stellate': 37, - 'Left-Porg': 38, - 'Left-Aorg': 39, - 'Right-Cerebral-Exterior': 40, - 'Right-Cerebral-White-Matter': 41, - 'Right-Cerebral-Cortex': 42, - 'Right-Lateral-Ventricle': 43, - 'Right-Inf-Lat-Vent': 44, - 'Right-Cerebellum-Exterior': 45, - 'Right-Cerebellum-White-Matter': 46, - 'Right-Cerebellum-Cortex': 47, - 'Right-Thalamus': 48, - 'Right-Thalamus-Proper': 49, - 'Right-Caudate': 50, - 'Right-Putamen': 51, - 'Right-Pallidum': 52, - 'Right-Hippocampus': 53, - 'Right-Amygdala': 54, - 'Right-Insula': 55, - 'Right-Operculum': 56, - 'Right-Lesion': 57, - 'Right-Accumbens-area': 58, - 'Right-Substancia-Nigra': 59, - 'Right-VentralDC': 60, - 'Right-undetermined': 61, - 'Right-vessel': 62, - 'Right-choroid-plexus': 63, - 'Right-F3orb': 64, - 'Right-lOg': 65, - 'Right-aOg': 66, - 'Right-mOg': 67, - 'Right-pOg': 68, - 'Right-Stellate': 69, - 'Right-Porg': 70, - 'Right-Aorg': 71, - '5th-Ventricle': 72, - 'Left-Interior': 73, - 'Right-Interior': 74, - 'Left-Lateral-Ventricles': 75, - 'Right-Lateral-Ventricles': 76, - 'WM-hypointensities': 77, - 'Left-WM-hypointensities': 78, - 'Right-WM-hypointensities': 79, - 'non-WM-hypointensities': 80, - 'Left-non-WM-hypointensities': 81, - 'Right-non-WM-hypointensities': 82, - 'Left-F1': 83, - 'Right-F1': 84, - 'Optic-Chiasm': 85, - 'Corpus_Callosum': 86, - 'Left-Amygdala-Anterior': 96, - 'Right-Amygdala-Anterior': 97, - 'Dura': 98, - 'Left-wm-intensity-abnormality': 100, - 'Left-caudate-intensity-abnormality': 101, - 'Left-putamen-intensity-abnormality': 102, - 'Left-accumbens-intensity-abnormality': 103, - 'Left-pallidum-intensity-abnormality': 104, - 'Left-amygdala-intensity-abnormality': 105, - 'Left-hippocampus-intensity-abnormality': 106, - 'Left-thalamus-intensity-abnormality': 107, - 'Left-VDC-intensity-abnormality': 108, - 'Right-wm-intensity-abnormality': 109, - 'Right-caudate-intensity-abnormality': 110, - 'Right-putamen-intensity-abnormality': 111, - 'Right-accumbens-intensity-abnormality': 112, - 'Right-pallidum-intensity-abnormality': 113, - 'Right-amygdala-intensity-abnormality': 114, - 'Right-hippocampus-intensity-abnormality': 115, - 'Right-thalamus-intensity-abnormality': 116, - 'Right-VDC-intensity-abnormality': 117, - 'Epidermis': 118, - 'Conn-Tissue': 119, - 'SC-Fat/Muscle': 120, - 'Cranium': 121, - 'CSF-SA': 122, - 'Muscle': 123, - 'Ear': 124, - 'Adipose': 125, - 'Spinal-Cord': 126, - 'Soft-Tissue': 127, - 'Nerve': 128, - 'Bone': 129, - 'Air': 130, - 'Orbital-Fat': 131, - 'Tongue': 132, - 'Nasal-Structures': 133, - 'Globe': 134, - 'Teeth': 135, - 'Left-Caudate/Putamen': 136, - 'Right-Caudate/Putamen': 137, - 'Left-Claustrum': 138, - 'Right-Claustrum': 139, - 'Cornea': 140, - 'Diploe': 142, - 'Vitreous-Humor': 143, - 'Lens': 144, - 'Aqueous-Humor': 145, - 'Outer-Table': 146, - 'Inner-Table': 147, - 'Periosteum': 148, - 'Endosteum': 149, - 'R/C/S': 150, - 'Iris': 151, - 'SC-Adipose/Muscle': 152, - 'SC-Tissue': 153, - 'Orbital-Adipose': 154, - 'Left-IntCapsule-Ant': 155, - 'Right-IntCapsule-Ant': 156, - 'Left-IntCapsule-Pos': 157, - 'Right-IntCapsule-Pos': 158, - 'Left-Cerebral-WM-unmyelinated': 159, - 'Right-Cerebral-WM-unmyelinated': 160, - 'Left-Cerebral-WM-myelinated': 161, - 'Right-Cerebral-WM-myelinated': 162, - 'Left-Subcortical-Gray-Matter': 163, - 'Right-Subcortical-Gray-Matter': 164, - 'Skull': 165, - 'Posterior-fossa': 166, - 'Scalp': 167, - 'Hematoma': 168, - 'Left-Cortical-Dysplasia': 180, - 'Right-Cortical-Dysplasia': 181, - 'Left-hippocampal_fissure': 193, - 'Left-CADG-head': 194, - 'Left-subiculum': 195, - 'Left-fimbria': 196, - 'Right-hippocampal_fissure': 197, - 'Right-CADG-head': 198, - 'Right-subiculum': 199, - 'Right-fimbria': 200, - 'alveus': 201, - 'perforant_pathway': 202, - 'parasubiculum': 203, - 'presubiculum': 204, - 'subiculum': 205, - 'CA1': 206, - 'CA2': 207, - 'CA3': 208, - 'CA4': 209, - 'GC-DG': 210, - 'HATA': 211, - 'fimbria': 212, - 'lateral_ventricle': 213, - 'molecular_layer_HP': 214, - 'hippocampal_fissure': 215, - 'entorhinal_cortex': 216, - 'molecular_layer_subiculum': 217, - 'Amygdala': 218, - 'Cerebral_White_Matter': 219, - 'Cerebral_Cortex': 220, - 'Inf_Lat_Vent': 221, - 'Perirhinal': 222, - 'Cerebral_White_Matter_Edge': 223, - 'Background': 224, - 'Ectorhinal': 225, - 'Fornix': 250, - 'CC_Posterior': 251, - 'CC_Mid_Posterior': 252, - 'CC_Central': 253, - 'CC_Mid_Anterior': 254, - 'CC_Anterior': 255} +fs_aseg_dict = { + "Unknown": 0, + "Left-Cerebral-Exterior": 1, + "Left-Cerebral-White-Matter": 2, + "Left-Cerebral-Cortex": 3, + "Left-Lateral-Ventricle": 4, + "Left-Inf-Lat-Vent": 5, + "Left-Cerebellum-Exterior": 6, + "Left-Cerebellum-White-Matter": 7, + "Left-Cerebellum-Cortex": 8, + "Left-Thalamus": 9, + "Left-Thalamus-Proper": 10, + "Left-Caudate": 11, + "Left-Putamen": 12, + "Left-Pallidum": 13, + "3rd-Ventricle": 14, + "4th-Ventricle": 15, + "Brain-Stem": 16, + "Left-Hippocampus": 17, + "Left-Amygdala": 18, + "Left-Insula": 19, + "Left-Operculum": 20, + "Line-1": 21, + "Line-2": 22, + "Line-3": 23, + "CSF": 24, + "Left-Lesion": 25, + "Left-Accumbens-area": 26, + "Left-Substancia-Nigra": 27, + "Left-VentralDC": 28, + "Left-undetermined": 29, + "Left-vessel": 30, + "Left-choroid-plexus": 31, + "Left-F3orb": 32, + "Left-lOg": 33, + "Left-aOg": 34, + "Left-mOg": 35, + "Left-pOg": 36, + "Left-Stellate": 37, + "Left-Porg": 38, + "Left-Aorg": 39, + "Right-Cerebral-Exterior": 40, + "Right-Cerebral-White-Matter": 41, + "Right-Cerebral-Cortex": 42, + "Right-Lateral-Ventricle": 43, + "Right-Inf-Lat-Vent": 44, + "Right-Cerebellum-Exterior": 45, + "Right-Cerebellum-White-Matter": 46, + "Right-Cerebellum-Cortex": 47, + "Right-Thalamus": 48, + "Right-Thalamus-Proper": 49, + "Right-Caudate": 50, + "Right-Putamen": 51, + "Right-Pallidum": 52, + "Right-Hippocampus": 53, + "Right-Amygdala": 54, + "Right-Insula": 55, + "Right-Operculum": 56, + "Right-Lesion": 57, + "Right-Accumbens-area": 58, + "Right-Substancia-Nigra": 59, + "Right-VentralDC": 60, + "Right-undetermined": 61, + "Right-vessel": 62, + "Right-choroid-plexus": 63, + "Right-F3orb": 64, + "Right-lOg": 65, + "Right-aOg": 66, + "Right-mOg": 67, + "Right-pOg": 68, + "Right-Stellate": 69, + "Right-Porg": 70, + "Right-Aorg": 71, + "5th-Ventricle": 72, + "Left-Interior": 73, + "Right-Interior": 74, + "Left-Lateral-Ventricles": 75, + "Right-Lateral-Ventricles": 76, + "WM-hypointensities": 77, + "Left-WM-hypointensities": 78, + "Right-WM-hypointensities": 79, + "non-WM-hypointensities": 80, + "Left-non-WM-hypointensities": 81, + "Right-non-WM-hypointensities": 82, + "Left-F1": 83, + "Right-F1": 84, + "Optic-Chiasm": 85, + "Corpus_Callosum": 86, + "Left-Amygdala-Anterior": 96, + "Right-Amygdala-Anterior": 97, + "Dura": 98, + "Left-wm-intensity-abnormality": 100, + "Left-caudate-intensity-abnormality": 101, + "Left-putamen-intensity-abnormality": 102, + "Left-accumbens-intensity-abnormality": 103, + "Left-pallidum-intensity-abnormality": 104, + "Left-amygdala-intensity-abnormality": 105, + "Left-hippocampus-intensity-abnormality": 106, + "Left-thalamus-intensity-abnormality": 107, + "Left-VDC-intensity-abnormality": 108, + "Right-wm-intensity-abnormality": 109, + "Right-caudate-intensity-abnormality": 110, + "Right-putamen-intensity-abnormality": 111, + "Right-accumbens-intensity-abnormality": 112, + "Right-pallidum-intensity-abnormality": 113, + "Right-amygdala-intensity-abnormality": 114, + "Right-hippocampus-intensity-abnormality": 115, + "Right-thalamus-intensity-abnormality": 116, + "Right-VDC-intensity-abnormality": 117, + "Epidermis": 118, + "Conn-Tissue": 119, + "SC-Fat/Muscle": 120, + "Cranium": 121, + "CSF-SA": 122, + "Muscle": 123, + "Ear": 124, + "Adipose": 125, + "Spinal-Cord": 126, + "Soft-Tissue": 127, + "Nerve": 128, + "Bone": 129, + "Air": 130, + "Orbital-Fat": 131, + "Tongue": 132, + "Nasal-Structures": 133, + "Globe": 134, + "Teeth": 135, + "Left-Caudate/Putamen": 136, + "Right-Caudate/Putamen": 137, + "Left-Claustrum": 138, + "Right-Claustrum": 139, + "Cornea": 140, + "Diploe": 142, + "Vitreous-Humor": 143, + "Lens": 144, + "Aqueous-Humor": 145, + "Outer-Table": 146, + "Inner-Table": 147, + "Periosteum": 148, + "Endosteum": 149, + "R/C/S": 150, + "Iris": 151, + "SC-Adipose/Muscle": 152, + "SC-Tissue": 153, + "Orbital-Adipose": 154, + "Left-IntCapsule-Ant": 155, + "Right-IntCapsule-Ant": 156, + "Left-IntCapsule-Pos": 157, + "Right-IntCapsule-Pos": 158, + "Left-Cerebral-WM-unmyelinated": 159, + "Right-Cerebral-WM-unmyelinated": 160, + "Left-Cerebral-WM-myelinated": 161, + "Right-Cerebral-WM-myelinated": 162, + "Left-Subcortical-Gray-Matter": 163, + "Right-Subcortical-Gray-Matter": 164, + "Skull": 165, + "Posterior-fossa": 166, + "Scalp": 167, + "Hematoma": 168, + "Left-Cortical-Dysplasia": 180, + "Right-Cortical-Dysplasia": 181, + "Left-hippocampal_fissure": 193, + "Left-CADG-head": 194, + "Left-subiculum": 195, + "Left-fimbria": 196, + "Right-hippocampal_fissure": 197, + "Right-CADG-head": 198, + "Right-subiculum": 199, + "Right-fimbria": 200, + "alveus": 201, + "perforant_pathway": 202, + "parasubiculum": 203, + "presubiculum": 204, + "subiculum": 205, + "CA1": 206, + "CA2": 207, + "CA3": 208, + "CA4": 209, + "GC-DG": 210, + "HATA": 211, + "fimbria": 212, + "lateral_ventricle": 213, + "molecular_layer_HP": 214, + "hippocampal_fissure": 215, + "entorhinal_cortex": 216, + "molecular_layer_subiculum": 217, + "Amygdala": 218, + "Cerebral_White_Matter": 219, + "Cerebral_Cortex": 220, + "Inf_Lat_Vent": 221, + "Perirhinal": 222, + "Cerebral_White_Matter_Edge": 223, + "Background": 224, + "Ectorhinal": 225, + "Fornix": 250, + "CC_Posterior": 251, + "CC_Mid_Posterior": 252, + "CC_Central": 253, + "CC_Mid_Anterior": 254, + "CC_Anterior": 255, +} if __name__ == "__main__": import sys + show_surf(sys.argv[1], sys.argv[2], sys.argv[3]) diff --git a/cortex/hcp.py b/cortex/hcp.py new file mode 100644 index 000000000..f3136c91a --- /dev/null +++ b/cortex/hcp.py @@ -0,0 +1,608 @@ +# emacs: -*- coding: utf-8; mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*- +# vi: set fileencoding=utf-8 ft=python sts=4 ts=4 sw=4 et: +"""Interfacing with HCP fs_LR 32k data. + +This module lets you visualize HCP data with pycortex, both natively on the +fs_LR 32k mesh (via the ``32k_fs_LR`` pycortex subject) and projected to +``fsaverage``. + +It provides three things: + +1. :func:`download_fs_lr` -- fetch the prebuilt ``32k_fs_LR`` pycortex subject + into the filestore (a thin wrapper around :func:`cortex.download_subject`), + so HCP data can be rendered with the usual + ``cortex.Vertex(data, "32k_fs_LR")`` + ``cortex.quickshow`` path. +2. :func:`cifti_to_surface` -- expand CIFTI grayordinate data (59412 cortical + vertices, no medial wall) to the full 64984-vertex fs_LR 32k surface, filling + the medial wall with NaN. +3. Resampling fs_LR 32k data to ``fsaverage`` (:func:`project_fslr_to_fsaverage`, + :func:`to_fsaverage`). The projection matrix is built directly from the HCP + standard-mesh spheres using spherical barycentric interpolation -- the same + interpolation ``wb_command -metric-resample ... BARYCENTRIC`` performs -- so + no Connectome Workbench installation is required at runtime. + +Notes +----- +The ``fs_LR-deformed_to-fsaverage`` source sphere and the ``fsaverageN`` +standard spheres live in the same spherical-registration space, so a target +vertex can be located inside a source-mesh triangle directly (see +:func:`_barycentric_resample_matrix`). This mirrors, and reuses the caching +conventions of, :func:`cortex.freesurfer.get_mri_surf2surf_matrix`. +""" + +import logging +from pathlib import Path +from urllib.error import URLError +from urllib.request import urlretrieve + +import numpy as np +import nibabel as nib +from scipy.sparse import coo_matrix, load_npz, save_npz +from scipy.spatial import KDTree + +from cortex import appdirs +from cortex.freesurfer import upsample_to_fsaverage +from cortex.utils import download_subject + +logger = logging.getLogger(__name__) + +# --------------------------------------------------------------------------- +# Constants +# --------------------------------------------------------------------------- + +#: Name of the pycortex subject shipping the HCP fs_LR 32k surfaces. +SUBJECT = "32k_fs_LR" + +#: Vertices per hemisphere on the fs_LR 32k surface. +N_VERTICES_FS_LR_32K_HEM = 32492 +#: Vertices on both fs_LR 32k hemispheres (full surface, includes medial wall). +N_VERTICES_FS_LR_32K = 2 * N_VERTICES_FS_LR_32K_HEM # 64984 +#: Cortical grayordinates in a standard HCP CIFTI file (no medial wall). +N_VERTICES_CIFTI_CORTEX = 59412 + +#: Vertices per hemisphere on the target fsaverage meshes. +N_VERTICES_TARGET_HEM = { + "fsaverage5": 10242, + "fsaverage6": 40962, +} + +# --------------------------------------------------------------------------- +# Sphere file download helpers +# --------------------------------------------------------------------------- + +_SPHERE_FILES_URL = ( + "https://raw.githubusercontent.com/Washington-University/HCPpipelines/" + "master/global/templates/standard_mesh_atlases/resample_fsaverage/" +) + +#: Standard-mesh sphere GIFTIs, keyed by space then hemisphere ("L"/"R"). +_SPHERE_FILES = { + "fs_LR_32k": { + "L": "fs_LR-deformed_to-fsaverage.L.sphere.32k_fs_LR.surf.gii", + "R": "fs_LR-deformed_to-fsaverage.R.sphere.32k_fs_LR.surf.gii", + }, + "fsaverage5": { + "L": "fsaverage5_std_sphere.L.10k_fsavg_L.surf.gii", + "R": "fsaverage5_std_sphere.R.10k_fsavg_R.surf.gii", + }, + "fsaverage6": { + "L": "fsaverage6_std_sphere.L.41k_fsavg_L.surf.gii", + "R": "fsaverage6_std_sphere.R.41k_fsavg_R.surf.gii", + }, +} + + +def _default_cache_dir(): + """Directory for downloaded spheres and cached projection matrices.""" + return Path(appdirs.user_cache_dir("pycortex")) / "hcp" + + +def ensure_sphere_files(space, hemi, cache_dir=None, download=True): + """Return the path to a standard-mesh sphere GIFTI, downloading if needed. + + Parameters + ---------- + space : {"fs_LR_32k", "fsaverage5", "fsaverage6"} + Surface space of the sphere. + hemi : {"L", "R"} + Hemisphere. + cache_dir : str or Path or None + Directory to store sphere files. Defaults to a pycortex user cache dir. + download : bool + If True (default), download the file from the HCPpipelines repository + when it is missing. + + Returns + ------- + path : pathlib.Path + Path to the sphere ``.surf.gii`` file. + """ + if space not in _SPHERE_FILES: + raise ValueError( + f"Unknown space {space!r}; choose from {sorted(_SPHERE_FILES)}" + ) + if hemi not in ("L", "R"): + raise ValueError(f"hemi must be 'L' or 'R', got {hemi!r}") + + if cache_dir is None: + cache_dir = _default_cache_dir() + atlas_dir = Path(cache_dir) / "standard_mesh_atlases" + atlas_dir.mkdir(parents=True, exist_ok=True) + + fname = _SPHERE_FILES[space][hemi] + fpath = atlas_dir / fname + if fpath.exists(): + return fpath + if not download: + raise FileNotFoundError( + f"Sphere file not found: {fpath}. Set download=True to fetch it." + ) + + url = _SPHERE_FILES_URL + fname + logger.info("Downloading %s -> %s", url, fpath) + tmp_path = fpath.with_suffix(".tmp") + try: + urlretrieve(url, tmp_path) + except (URLError, OSError) as exc: + tmp_path.unlink(missing_ok=True) + raise RuntimeError( + f"Failed to download sphere file from {url}. Check your internet " + f"connection or download it manually to {fpath}." + ) from exc + if tmp_path.stat().st_size == 0: + tmp_path.unlink() + raise RuntimeError(f"Downloaded file is empty: {url}") + tmp_path.rename(fpath) + return fpath + + +# --------------------------------------------------------------------------- +# Subject download +# --------------------------------------------------------------------------- + + +def download_fs_lr(pycortex_store=None, download_again=False): + """Download the ``32k_fs_LR`` pycortex subject into the filestore. + + Thin wrapper around :func:`cortex.download_subject` for the HCP fs_LR 32k + surfaces. Once present, HCP data can be rendered natively with + ``cortex.Vertex(data, "32k_fs_LR")`` and ``cortex.quickshow``. + + Parameters + ---------- + pycortex_store : str or None + Directory to place the subject folder. If None, uses the current + filestore (``cortex.db.filestore``). + download_again : bool + Re-download even if the subject is already present. + + Notes + ----- + The ``32k_fs_LR`` subject is derived from HCP S1200 group-average Open + Access surfaces and is redistributed under the WU-Minn HCP Consortium Open + Access Data Use Terms; use of it requires the standard HCP acknowledgment. + """ + download_subject( + subject_id=SUBJECT, pycortex_store=pycortex_store, download_again=download_again + ) + + +# --------------------------------------------------------------------------- +# CIFTI -> fs_LR 32k surface expansion +# --------------------------------------------------------------------------- + + +def get_cifti_vertex_indices(cifti): + """Left/right surface-vertex indices for a CIFTI file's cortical models. + + HCP CIFTI files store only non-medial-wall cortical grayordinates. This + reads, from the CIFTI brain-model axis, which fs_LR 32k surface vertices + each hemisphere's grayordinates correspond to. + + Parameters + ---------- + cifti : str or Path or nibabel.Cifti2Image + A CIFTI-2 file (``.dscalar.nii``/``.dtseries.nii``/...) or loaded image. + + Returns + ------- + left_indices : ndarray, shape (n_left,) + Surface vertex indices (into a 32492-vertex hemisphere) for the left + cortex grayordinates. + right_indices : ndarray, shape (n_right,) + Same for the right cortex. + """ + if not isinstance(cifti, nib.Cifti2Image): + cifti = nib.load(str(cifti)) + + # Find the brain-model axis (the one carrying the grayordinate structures). + bm_axis = None + for i in range(cifti.ndim): + axis = cifti.header.get_axis(i) + if isinstance(axis, nib.cifti2.BrainModelAxis): + bm_axis = axis + break + if bm_axis is None: + raise ValueError("CIFTI file has no BrainModelAxis (grayordinate axis).") + + indices = {} + for name, data_slice, model in bm_axis.iter_structures(): + if name == "CIFTI_STRUCTURE_CORTEX_LEFT": + indices["L"] = np.asarray(model.vertex) + elif name == "CIFTI_STRUCTURE_CORTEX_RIGHT": + indices["R"] = np.asarray(model.vertex) + if "L" not in indices or "R" not in indices: + raise ValueError("CIFTI file is missing a left and/or right cortex structure.") + return indices["L"], indices["R"] + + +def cifti_to_surface(data, left_indices, right_indices): + """Expand CIFTI cortical grayordinates onto the full fs_LR 32k surface. + + Parameters + ---------- + data : ndarray, shape (n_grayordinates,) or (n_samples, n_grayordinates) + Cortical CIFTI data (59412 vertices for standard HCP files). Only the + cortical grayordinates are used; the left hemisphere's values come + first, followed by the right hemisphere's. + left_indices, right_indices : ndarray + Surface vertex indices per hemisphere, e.g. from + :func:`get_cifti_vertex_indices`. + + Returns + ------- + full_data : ndarray, shape (64984,) or (n_samples, 64984) + Data on the full fs_LR 32k surface, with NaN at medial-wall vertices. + """ + data = np.asarray(data) + left_indices = np.asarray(left_indices) + right_indices = np.asarray(right_indices) + n_left = len(left_indices) + n_right = len(right_indices) + right_offset = N_VERTICES_FS_LR_32K_HEM + + out_dtype = np.result_type(data.dtype, np.float32) + if data.ndim == 1: + full = np.full(N_VERTICES_FS_LR_32K, np.nan, dtype=out_dtype) + full[left_indices] = data[:n_left] + full[right_offset + right_indices] = data[n_left : n_left + n_right] + else: + full = np.full((data.shape[0], N_VERTICES_FS_LR_32K), np.nan, dtype=out_dtype) + full[:, left_indices] = data[:, :n_left] + full[:, right_offset + right_indices] = data[:, n_left : n_left + n_right] + return full + + +# --------------------------------------------------------------------------- +# Spherical barycentric resampling matrix +# --------------------------------------------------------------------------- + + +def _read_sphere(path): + """Return (points, triangles) from a sphere ``.surf.gii`` file.""" + gii = nib.load(str(path)) + pts = gii.get_arrays_from_intent("NIFTI_INTENT_POINTSET")[0].data + tris = gii.get_arrays_from_intent("NIFTI_INTENT_TRIANGLE")[0].data + return np.asarray(pts, dtype=np.float64), np.asarray(tris, dtype=np.int64) + + +def _vertex_to_triangles(triangles, n_vertices): + """List of incident triangle indices for each vertex.""" + incident = [[] for _ in range(n_vertices)] + for ti, tri in enumerate(triangles): + for v in tri: + incident[v].append(ti) + return incident + + +def _ray_triangle_bary(direction, a, b, c, tol=1e-6): + """Barycentric weights where the ray ``t*direction`` (from 0) hits triangle abc. + + Uses the Moller-Trumbore intersection. Returns ``(wa, wb, wc)`` summing to 1 + if the central projection of ``direction`` onto the plane of ``abc`` lies + inside the triangle (within ``tol``), else ``None``. Because candidate + triangles are restricted to those incident to the target's nearest source + vertices, only the correct near-side triangle is ever tested. + """ + edge1 = b - a + edge2 = c - a + pvec = np.cross(direction, edge2) + det = np.dot(edge1, pvec) + if abs(det) < 1e-12: + return None + inv_det = 1.0 / det + tvec = -a + u = np.dot(tvec, pvec) * inv_det + if u < -tol or u > 1.0 + tol: + return None + qvec = np.cross(tvec, edge1) + v = np.dot(direction, qvec) * inv_det + if v < -tol or u + v > 1.0 + tol: + return None + w = 1.0 - u - v + # Clamp tiny negative weights from edge/vertex hits, then renormalize. + weights = np.array([w, u, v], dtype=np.float64) + weights[weights < 0] = 0.0 + total = weights.sum() + if total <= 0: + return None + return tuple(weights / total) + + +def _barycentric_resample_matrix(src_sphere, tgt_sphere, k=15): + """Build a sparse barycentric resampling matrix between two spheres. + + For every target-sphere vertex, the containing triangle on the *source* + mesh is located and the target row is set to that triangle's three + barycentric weights -- exactly the interpolation + ``wb_command -metric-resample ... BARYCENTRIC`` performs. + + Parameters + ---------- + src_sphere, tgt_sphere : str or Path + Paths to the source and target sphere ``.surf.gii`` files. Both must be + in the same spherical-registration space. + k : int + Number of nearest source vertices whose incident triangles are searched + for the one containing each target vertex. + + Returns + ------- + matrix : scipy.sparse.csr_matrix, shape (n_target, n_source) + Apply with ``target_data = matrix.dot(source_data)``. Rows sum to 1. + """ + src_pts, src_tris = _read_sphere(src_sphere) + tgt_pts, _ = _read_sphere(tgt_sphere) + n_src = len(src_pts) + n_tgt = len(tgt_pts) + + # Project onto the unit sphere so the ray directions are well-conditioned. + src_unit = src_pts / np.linalg.norm(src_pts, axis=1, keepdims=True) + tgt_unit = tgt_pts / np.linalg.norm(tgt_pts, axis=1, keepdims=True) + + incident = _vertex_to_triangles(src_tris, n_src) + tree = KDTree(src_unit) + k = min(k, n_src) + _, nn = tree.query(tgt_unit, k=k) + if nn.ndim == 1: + nn = nn[:, np.newaxis] + + rows = np.empty(3 * n_tgt, dtype=np.int64) + cols = np.empty(3 * n_tgt, dtype=np.int64) + vals = np.empty(3 * n_tgt, dtype=np.float64) + n_entries = 0 + n_fallback = 0 + + for t in range(n_tgt): + direction = tgt_unit[t] + found = None + seen = set() + for v in nn[t]: + for ti in incident[v]: + if ti in seen: + continue + seen.add(ti) + ia, ib, ic = src_tris[ti] + w = _ray_triangle_bary( + direction, src_unit[ia], src_unit[ib], src_unit[ic] + ) + if w is not None: + found = (ia, ib, ic, w) + break + if found is not None: + break + + if found is None: + # No containing triangle among candidates: assign nearest vertex. + n_fallback += 1 + va = int(nn[t][0]) + rows[n_entries] = t + cols[n_entries] = va + vals[n_entries] = 1.0 + n_entries += 1 + continue + + ia, ib, ic, (wa, wb, wc) = found + rows[n_entries : n_entries + 3] = t + cols[n_entries : n_entries + 3] = (ia, ib, ic) + vals[n_entries : n_entries + 3] = (wa, wb, wc) + n_entries += 3 + + if n_fallback: + logger.warning( + "barycentric resample: %d/%d target vertices had no containing " + "source triangle within k=%d neighbours; used nearest-vertex " + "fallback.", + n_fallback, + n_tgt, + k, + ) + + matrix = coo_matrix( + (vals[:n_entries], (rows[:n_entries], cols[:n_entries])), shape=(n_tgt, n_src) + ).tocsr() + matrix.sum_duplicates() + return matrix + + +def get_fslr_to_fsaverage_matrix(hemi, target="fsaverage6", cache_dir=None, cache=True): + """Sparse fs_LR 32k -> fsaverage matrix for one hemisphere. + + Parameters + ---------- + hemi : {"L", "R"} + Hemisphere. + target : {"fsaverage5", "fsaverage6"} + Target fsaverage density. Use :func:`project_fslr_to_fsaverage` with + ``target="fsaverage"`` to reach the full-resolution surface. + cache_dir : str or Path or None + Directory for the sphere files and matrix cache. Defaults to a pycortex + user cache dir. + cache : bool + If True (default), load/save the computed matrix as an ``.npz`` file. + + Returns + ------- + matrix : scipy.sparse.csr_matrix, shape (n_target_hemi, 32492) + """ + if hemi not in ("L", "R"): + raise ValueError(f"hemi must be 'L' or 'R', got {hemi!r}") + if target not in N_VERTICES_TARGET_HEM: + raise ValueError( + f"target must be one of {sorted(N_VERTICES_TARGET_HEM)}, got {target!r}" + ) + + if cache_dir is None: + cache_dir = _default_cache_dir() + cache_dir = Path(cache_dir) + + cache_path = cache_dir / "mappers" / f"{hemi}_fs_LR_32k_to_{target}.npz" + if cache and cache_path.exists(): + logger.info("Loading cached matrix from %s", cache_path) + return load_npz(cache_path) + + src_sphere = ensure_sphere_files("fs_LR_32k", hemi, cache_dir=cache_dir) + tgt_sphere = ensure_sphere_files(target, hemi, cache_dir=cache_dir) + matrix = _barycentric_resample_matrix(src_sphere, tgt_sphere) + + if cache: + cache_path.parent.mkdir(parents=True, exist_ok=True) + save_npz(cache_path, matrix) + logger.info("Saved matrix to %s", cache_path) + return matrix + + +# --------------------------------------------------------------------------- +# Projection +# --------------------------------------------------------------------------- + + +def _project_hemi(matrix, hemi_data, nanmean): + """Apply one hemisphere's resampling matrix with NaN-aware weighting.""" + nan_mask = np.isnan(hemi_data) + hemi_clean = np.where(nan_mask, 0.0, hemi_data) + projected = (matrix @ hemi_clean.T).T + + # Weight actually contributed by valid (non-NaN) source vertices. + valid_weight = (np.abs(matrix) @ (~nan_mask).astype(np.float64).T).T + all_nan = valid_weight < 1e-10 + if nanmean: + with np.errstate(invalid="ignore", divide="ignore"): + projected = np.where(all_nan, np.nan, projected / valid_weight) + else: + projected[all_nan] = np.nan + return projected + + +def project_fslr_to_fsaverage( + data, target="fsaverage", cache_dir=None, freesurfer_subjects_dir=None, nanmean=True +): + """Project fs_LR 32k data to an fsaverage surface. + + Parameters + ---------- + data : ndarray, shape (64984,) or (n_samples, 64984) + Concatenated left+right data on the full fs_LR 32k surface (medial wall + included; NaN there is fine). Use :func:`cifti_to_surface` to expand + CIFTI grayordinate data to this shape. + target : {"fsaverage", "fsaverage6", "fsaverage5"} + Destination surface. ``"fsaverage"`` (full, 327684 vertices) is reached + by projecting to fsaverage6 and then upsampling with + :func:`cortex.freesurfer.upsample_to_fsaverage`. + cache_dir : str or Path or None + Directory for sphere files and matrix caches. + freesurfer_subjects_dir : str or None + FreeSurfer ``SUBJECTS_DIR`` containing ``fsaverage``/``fsaverage6``. + Only required for ``target="fsaverage"``. If None, uses ``$SUBJECTS_DIR``. + nanmean : bool + If True (default), renormalize weights to exclude NaN sources so medial + wall / missing data do not dilute neighbouring valid values. + + Returns + ------- + projected : ndarray + Data on the target surface. Medial-wall and all-NaN-source vertices are + NaN; apply ``numpy.nan_to_num`` before handing to pycortex if needed. + """ + data = np.asarray(data, dtype=np.float64) + squeeze = data.ndim == 1 + if squeeze: + data = data[np.newaxis, :] + if data.shape[1] != N_VERTICES_FS_LR_32K: + raise ValueError( + f"Expected {N_VERTICES_FS_LR_32K} fs_LR 32k vertices, got {data.shape[1]}." + ) + + matrix_target = "fsaverage6" if target == "fsaverage" else target + if matrix_target not in N_VERTICES_TARGET_HEM: + raise ValueError( + f"target must be 'fsaverage', 'fsaverage6', or 'fsaverage5', got {target!r}" + ) + + n_tgt_hemi = N_VERTICES_TARGET_HEM[matrix_target] + result = np.full((data.shape[0], 2 * n_tgt_hemi), np.nan, dtype=np.float64) + for ih, hemi in enumerate(("L", "R")): + src_sl = slice( + ih * N_VERTICES_FS_LR_32K_HEM, (ih + 1) * N_VERTICES_FS_LR_32K_HEM + ) + tgt_sl = slice(ih * n_tgt_hemi, (ih + 1) * n_tgt_hemi) + matrix = get_fslr_to_fsaverage_matrix( + hemi, target=matrix_target, cache_dir=cache_dir + ) + result[:, tgt_sl] = _project_hemi(matrix, data[:, src_sl], nanmean) + + if target == "fsaverage": + result = upsample_to_fsaverage( + result, "fsaverage6", freesurfer_subjects_dir=freesurfer_subjects_dir + ) + + if squeeze: + result = result[0] + return result + + +def to_fsaverage( + cifti, + target="fsaverage", + cache_dir=None, + freesurfer_subjects_dir=None, + nanmean=True, +): + """Project HCP CIFTI cortical data straight to an fsaverage surface. + + Convenience wrapper chaining :func:`get_cifti_vertex_indices`, + :func:`cifti_to_surface`, and :func:`project_fslr_to_fsaverage`. + + Parameters + ---------- + cifti : str or Path or nibabel.Cifti2Image + A CIFTI-2 file (or loaded image) whose data will be projected. The + cortical grayordinates are read and expanded to the fs_LR 32k surface + before resampling. + target : {"fsaverage", "fsaverage6", "fsaverage5"} + Destination surface. + cache_dir, freesurfer_subjects_dir, nanmean + See :func:`project_fslr_to_fsaverage`. + + Returns + ------- + projected : ndarray + CIFTI data on the target fsaverage surface (NaN medial wall). + """ + if not isinstance(cifti, nib.Cifti2Image): + cifti = nib.load(str(cifti)) + left_indices, right_indices = get_cifti_vertex_indices(cifti) + # CIFTI grayordinate axis is the last axis. A single-map file (e.g. a + # one-column dscalar) is squeezed to a single surface map for convenience; + # genuine multi-map/timeseries files keep their leading sample axis. + data = np.asarray(cifti.get_fdata()) + if data.ndim == 2 and data.shape[0] == 1: + data = data[0] + full = cifti_to_surface(data, left_indices, right_indices) + return project_fslr_to_fsaverage( + full, + target=target, + cache_dir=cache_dir, + freesurfer_subjects_dir=freesurfer_subjects_dir, + nanmean=nanmean, + ) diff --git a/cortex/tests/test_freesurfer.py b/cortex/tests/test_freesurfer.py index 2a16e3ade..ec8983c79 100644 --- a/cortex/tests/test_freesurfer.py +++ b/cortex/tests/test_freesurfer.py @@ -9,17 +9,13 @@ _remove_disconnected_polys, _surf2surf_nnfr_matrix, get_mri_surf2surf_matrix, + upsample_to_fsaverage, ) def test_remove_disconnected_polys_examples(): - polys = np.array([[0, 1, 2], - [0, 1, 3], - [1, 2, 4], - [5, 6, 7]]) - expected_result = np.array([[0, 1, 2], - [0, 1, 3], - [1, 2, 4]]) + polys = np.array([[0, 1, 2], [0, 1, 3], [1, 2, 4], [5, 6, 7]]) + expected_result = np.array([[0, 1, 2], [0, 1, 3], [1, 2, 4]]) result = _remove_disconnected_polys(polys) np.testing.assert_array_equal(result, expected_result) @@ -27,12 +23,12 @@ def test_remove_disconnected_polys_examples(): def test_remove_disconnected_polys_idempotence(): rng = np.random.RandomState(0) for n_polys in [10, 20, 30, 40]: - polys_0 =rng.randint(0, 100, size=3 * n_polys).reshape(-1, 3) - + polys_0 = rng.randint(0, 100, size=3 * n_polys).reshape(-1, 3) + # make sure this example filters something polys_1 = _remove_disconnected_polys(polys_0) assert len(polys_0) != len(polys_1) - + # make sure calling the function does not change anything polys_2 = _remove_disconnected_polys(polys_1) np.testing.assert_array_equal(polys_1, polys_2) @@ -42,6 +38,7 @@ def test_remove_disconnected_polys_idempotence(): # surf2surf (nnfr) matrix construction # --------------------------------------------------------------------------- + def _random_sphere(n, seed): """n points on the unit sphere (so KDTree distances behave like the real ?h.sphere.reg geometry).""" @@ -91,16 +88,20 @@ def test_surf2surf_known_averaging_example(): # Four collinear source vertices, two target vertices placed so that each # target's nearest source is an endpoint, leaving the two middle source # vertices as orphans that get folded into their nearest target. - src = np.array([[0., 0, 0], [1, 0, 0], [2, 0, 0], [3, 0, 0]]) + src = np.array([[0.0, 0, 0], [1, 0, 0], [2, 0, 0], [3, 0, 0]]) trg = np.array([[0.4, 0, 0], [2.6, 0, 0]]) m = _surf2surf_nnfr_matrix(src, trg) - expected = np.array([[0.5, 0.5, 0.0, 0.0], # mean of src 0 and 1 - [0.0, 0.0, 0.5, 0.5]]) # mean of src 2 and 3 + expected = np.array( + [ + [0.5, 0.5, 0.0, 0.0], # mean of src 0 and 1 + [0.0, 0.0, 0.5, 0.5], + ] + ) # mean of src 2 and 3 np.testing.assert_allclose(m.toarray(), expected) - data = np.array([10., 20., 30., 40.]) - np.testing.assert_allclose(m.dot(data), [15., 35.]) + data = np.array([10.0, 20.0, 30.0, 40.0]) + np.testing.assert_allclose(m.dot(data), [15.0, 35.0]) def test_get_mri_surf2surf_matrix_ignores_legacy_kwargs(monkeypatch): @@ -108,12 +109,15 @@ def test_get_mri_surf2surf_matrix_ignores_legacy_kwargs(monkeypatch): src = _random_sphere(20, seed=7) trg = _random_sphere(15, seed=8) monkeypatch.setattr( - fs, "_read_sphere_reg", - lambda subj, hemi, subjects_dir=None: src if subj == "A" else trg) + fs, + "_read_sphere_reg", + lambda subj, hemi, subjects_dir=None: src if subj == "A" else trg, + ) with pytest.warns(DeprecationWarning): - m = get_mri_surf2surf_matrix("A", "lh", target_subj="B", - n_neighbors=20, n_test_images=40) + m = get_mri_surf2surf_matrix( + "A", "lh", target_subj="B", n_neighbors=20, n_test_images=40 + ) assert m.shape == (15, 20) @@ -122,13 +126,45 @@ def test_get_mri_surf2surf_matrix_rejects_unknown_kwargs(): get_mri_surf2surf_matrix("A", "lh", target_subj="B", bogus_kwarg=1) +# --------------------------------------------------------------------------- +# upsample_to_fsaverage (bundled neighbor tables, no freesurfer needed) +# --------------------------------------------------------------------------- + + +@pytest.mark.parametrize( + "data_space,n_src", [("fsaverage6", 81924), ("fsaverage5", 20484)] +) +def test_upsample_to_fsaverage_bundled_no_freesurfer(data_space, n_src, monkeypatch): + # fsaverage5/6 upsampling tables ship with pycortex, so this must work with + # no $SUBJECTS_DIR and no freesurfer install. + monkeypatch.delenv("SUBJECTS_DIR", raising=False) + rng = np.random.RandomState(0) + data = rng.randn(3, n_src) + out = upsample_to_fsaverage(data, data_space) + assert out.shape == (3, 327684) + # The low-resolution vertices are carried over unchanged. + np.testing.assert_array_equal(out[:, : n_src // 2], data[:, : n_src // 2]) + # A 1-D input yields a 1-D result. + assert upsample_to_fsaverage(data[0], data_space).ndim == 1 + + +def test_upsample_to_fsaverage_constant_preserved(monkeypatch): + # Nearest-neighbor fill of a constant map stays constant everywhere. + monkeypatch.delenv("SUBJECTS_DIR", raising=False) + out = upsample_to_fsaverage(np.full(81924, 2.5), "fsaverage6") + np.testing.assert_array_equal(out, np.full(327684, 2.5)) + + def _have_template(subjects_dir, name, hemi="lh"): return bool(subjects_dir) and os.path.exists( - os.path.join(subjects_dir, name, "surf", hemi + ".sphere.reg")) + os.path.join(subjects_dir, name, "surf", hemi + ".sphere.reg") + ) -@pytest.mark.skipif(shutil.which("mri_surf2surf") is None, - reason="freesurfer mri_surf2surf not available") +@pytest.mark.skipif( + shutil.which("mri_surf2surf") is None, + reason="freesurfer mri_surf2surf not available", +) def test_surf2surf_matches_freesurfer_identity(): """fsaverage -> fsaverage must be the identity, matching mri_surf2surf. @@ -140,20 +176,24 @@ def test_surf2surf_matches_freesurfer_identity(): if not _have_template(subjects_dir, "fsaverage", hemi): pytest.skip("fsaverage template with sphere.reg not found in SUBJECTS_DIR") - m = get_mri_surf2surf_matrix("fsaverage", hemi, target_subj="fsaverage", - subjects_dir=subjects_dir) + m = get_mri_surf2surf_matrix( + "fsaverage", hemi, target_subj="fsaverage", subjects_dir=subjects_dir + ) rng = np.random.RandomState(0) data = rng.randn(4, m.shape[1]).astype(np.float32) - reference = fs.mri_surf2surf(data, "fsaverage", "fsaverage", hemi, - subjects_dir=subjects_dir) + reference = fs.mri_surf2surf( + data, "fsaverage", "fsaverage", hemi, subjects_dir=subjects_dir + ) got = np.stack([m.dot(data[i]) for i in range(data.shape[0])]) - np.testing.assert_allclose(got, data, atol=1e-4) # identity - np.testing.assert_allclose(got, reference, atol=1e-4) # matches freesurfer + np.testing.assert_allclose(got, data, atol=1e-4) # identity + np.testing.assert_allclose(got, reference, atol=1e-4) # matches freesurfer -@pytest.mark.skipif(shutil.which("mri_surf2surf") is None, - reason="freesurfer mri_surf2surf not available") +@pytest.mark.skipif( + shutil.which("mri_surf2surf") is None, + reason="freesurfer mri_surf2surf not available", +) def test_surf2surf_matches_freesurfer_downsample(): """fsaverage -> fsaverage6 (icosahedral downsample) against mri_surf2surf. @@ -164,16 +204,20 @@ def test_surf2surf_matches_freesurfer_downsample(): """ subjects_dir = os.environ.get("SUBJECTS_DIR") hemi = "lh" - if not (_have_template(subjects_dir, "fsaverage", hemi) - and _have_template(subjects_dir, "fsaverage6", hemi)): + if not ( + _have_template(subjects_dir, "fsaverage", hemi) + and _have_template(subjects_dir, "fsaverage6", hemi) + ): pytest.skip("fsaverage/fsaverage6 templates not found in SUBJECTS_DIR") - m = get_mri_surf2surf_matrix("fsaverage", hemi, target_subj="fsaverage6", - subjects_dir=subjects_dir) + m = get_mri_surf2surf_matrix( + "fsaverage", hemi, target_subj="fsaverage6", subjects_dir=subjects_dir + ) rng = np.random.RandomState(0) data = rng.randn(4, m.shape[1]).astype(np.float32) - reference = fs.mri_surf2surf(data, "fsaverage", "fsaverage6", hemi, - subjects_dir=subjects_dir) + reference = fs.mri_surf2surf( + data, "fsaverage", "fsaverage6", hemi, subjects_dir=subjects_dir + ) got = np.stack([m.dot(data[i]) for i in range(data.shape[0])]) corr = np.corrcoef(reference.ravel(), got.ravel())[0, 1] diff --git a/cortex/tests/test_hcp.py b/cortex/tests/test_hcp.py new file mode 100644 index 000000000..97eb9b85d --- /dev/null +++ b/cortex/tests/test_hcp.py @@ -0,0 +1,225 @@ +import shutil +import subprocess +import tempfile +from pathlib import Path + +import numpy as np +import nibabel as nib +import pytest +from scipy.spatial import ConvexHull + +import cortex +from cortex import hcp +from cortex.hcp import ( + _barycentric_resample_matrix, + cifti_to_surface, + get_cifti_vertex_indices, +) + + +# --------------------------------------------------------------------------- +# Barycentric resampling matrix (pure geometry, no network / wb_command) +# --------------------------------------------------------------------------- + + +def _triangulated_sphere(n, seed): + """n points on the unit sphere plus a covering triangulation (convex hull).""" + rng = np.random.RandomState(seed) + pts = rng.randn(n, 3) + pts /= np.linalg.norm(pts, axis=1, keepdims=True) + tris = ConvexHull(pts).simplices + return pts, tris + + +def _write_sphere_gii(path, pts, tris): + """Write points + triangles to a ``.surf.gii`` file like the HCP spheres.""" + img = nib.gifti.GiftiImage( + darrays=[ + nib.gifti.GiftiDataArray( + np.asarray(pts, dtype=np.float32), intent="NIFTI_INTENT_POINTSET" + ), + nib.gifti.GiftiDataArray( + np.asarray(tris, dtype=np.int32), intent="NIFTI_INTENT_TRIANGLE" + ), + ] + ) + nib.save(img, str(path)) + + +def test_barycentric_identity_when_source_equals_target(tmp_path): + # Same source and target sphere: every target vertex sits on a source + # vertex, so the matrix is the identity. + pts, tris = _triangulated_sphere(60, seed=0) + src = tmp_path / "src.surf.gii" + _write_sphere_gii(src, pts, tris) + m = _barycentric_resample_matrix(src, src) + assert m.shape == (60, 60) + np.testing.assert_allclose(m.toarray(), np.eye(60), atol=1e-9) + + +def test_barycentric_rows_sum_to_one(tmp_path): + src_pts, src_tris = _triangulated_sphere(200, seed=1) + tgt_pts, tgt_tris = _triangulated_sphere(80, seed=2) + src = tmp_path / "src.surf.gii" + tgt = tmp_path / "tgt.surf.gii" + _write_sphere_gii(src, src_pts, src_tris) + _write_sphere_gii(tgt, tgt_pts, tgt_tris) + m = _barycentric_resample_matrix(src, tgt) + assert m.shape == (80, 200) + row_sums = np.asarray(m.sum(axis=1)).ravel() + np.testing.assert_allclose(row_sums, np.ones(80), atol=1e-9) + + +def test_barycentric_preserves_constants(tmp_path): + src_pts, src_tris = _triangulated_sphere(200, seed=3) + tgt_pts, tgt_tris = _triangulated_sphere(70, seed=4) + src = tmp_path / "src.surf.gii" + tgt = tmp_path / "tgt.surf.gii" + _write_sphere_gii(src, src_pts, src_tris) + _write_sphere_gii(tgt, tgt_pts, tgt_tris) + m = _barycentric_resample_matrix(src, tgt) + const = np.full(200, 3.5) + np.testing.assert_allclose(m.dot(const), np.full(70, 3.5), atol=1e-9) + + +def test_barycentric_weights_are_nonnegative(tmp_path): + src_pts, src_tris = _triangulated_sphere(150, seed=5) + tgt_pts, tgt_tris = _triangulated_sphere(60, seed=6) + src = tmp_path / "src.surf.gii" + tgt = tmp_path / "tgt.surf.gii" + _write_sphere_gii(src, src_pts, src_tris) + _write_sphere_gii(tgt, tgt_pts, tgt_tris) + m = _barycentric_resample_matrix(src, tgt) + assert m.data.min() >= 0.0 + # Barycentric interpolation uses at most three source vertices per target. + assert m.getnnz(axis=1).max() <= 3 + + +# --------------------------------------------------------------------------- +# CIFTI -> fs_LR 32k surface expansion +# --------------------------------------------------------------------------- + + +def test_cifti_to_surface_1d_places_values_and_nans_medial_wall(): + left_idx = np.array([0, 2, 5]) + right_idx = np.array([1, 3]) + data = np.array([10.0, 20.0, 30.0, 40.0, 50.0]) # 3 left then 2 right + full = cifti_to_surface(data, left_idx, right_idx) + + assert full.shape == (hcp.N_VERTICES_FS_LR_32K,) + off = hcp.N_VERTICES_FS_LR_32K_HEM + np.testing.assert_array_equal(full[left_idx], [10.0, 20.0, 30.0]) + np.testing.assert_array_equal(full[off + right_idx], [40.0, 50.0]) + # Everything else is medial wall -> NaN. + n_valid = np.sum(~np.isnan(full)) + assert n_valid == 5 + + +def test_cifti_to_surface_2d_matches_1d_per_row(): + left_idx = np.array([4, 1]) + right_idx = np.array([7]) + data = np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]) # 2 left, 1 right per row + full = cifti_to_surface(data, left_idx, right_idx) + assert full.shape == (2, hcp.N_VERTICES_FS_LR_32K) + off = hcp.N_VERTICES_FS_LR_32K_HEM + np.testing.assert_array_equal(full[:, left_idx], [[1.0, 2.0], [4.0, 5.0]]) + np.testing.assert_array_equal(full[:, off + right_idx], [[3.0], [6.0]]) + + +def test_get_cifti_vertex_indices_reads_brain_model_axis(): + left_idx = [0, 2, 5, 9] + right_idx = [1, 3, 8] + bm = nib.cifti2.BrainModelAxis.from_surface( + left_idx, hcp.N_VERTICES_FS_LR_32K_HEM, "CIFTI_STRUCTURE_CORTEX_LEFT" + ) + nib.cifti2.BrainModelAxis.from_surface( + right_idx, hcp.N_VERTICES_FS_LR_32K_HEM, "CIFTI_STRUCTURE_CORTEX_RIGHT" + ) + scalar = nib.cifti2.ScalarAxis(["map"]) + img = nib.cifti2.Cifti2Image( + np.zeros((1, len(left_idx) + len(right_idx))), header=(scalar, bm) + ) + + got_left, got_right = get_cifti_vertex_indices(img) + np.testing.assert_array_equal(got_left, left_idx) + np.testing.assert_array_equal(got_right, right_idx) + + +# --------------------------------------------------------------------------- +# Validation against wb_command (requires Connectome Workbench + network) +# --------------------------------------------------------------------------- + + +def _wb_metric_resample(data, src_sphere, tgt_sphere): + """Reference resample via ``wb_command -metric-resample ... BARYCENTRIC``.""" + with tempfile.TemporaryDirectory() as td: + in_p = Path(td) / "in.func.gii" + out_p = Path(td) / "out.func.gii" + img = nib.gifti.GiftiImage( + darrays=[ + nib.gifti.GiftiDataArray( + np.asarray(data, dtype=np.float32), + intent="NIFTI_INTENT_NORMAL", + datatype="NIFTI_TYPE_FLOAT32", + ) + ] + ) + nib.save(img, str(in_p)) + subprocess.run( + [ + "wb_command", + "-metric-resample", + str(in_p), + str(src_sphere), + str(tgt_sphere), + "BARYCENTRIC", + str(out_p), + ], + check=True, + capture_output=True, + text=True, + ) + return np.asarray(nib.load(str(out_p)).darrays[0].data) + + +@pytest.mark.skipif( + shutil.which("wb_command") is None, + reason="Connectome Workbench (wb_command) not installed", +) +def test_barycentric_matches_wb_command(): + # Uses the real HCP fs_LR 32k -> fsaverage5 spheres (downloaded on demand), + # so it also exercises ensure_sphere_files. Skipped if the spheres cannot + # be fetched. + cache_dir = Path(tempfile.gettempdir()) / "pycortex_hcp_test_spheres" + try: + src = hcp.ensure_sphere_files("fs_LR_32k", "L", cache_dir=cache_dir) + tgt = hcp.ensure_sphere_files("fsaverage5", "L", cache_dir=cache_dir) + except RuntimeError as exc: # network unavailable + pytest.skip(f"could not download sphere files: {exc}") + + m = _barycentric_resample_matrix(src, tgt) + rng = np.random.RandomState(0) + data = rng.randn(hcp.N_VERTICES_FS_LR_32K_HEM).astype(np.float32) + + ours = m.dot(data) + reference = _wb_metric_resample(data, src, tgt) + assert ours.shape == reference.shape + corr = np.corrcoef(ours, reference)[0, 1] + assert corr > 0.999 + # Spread of the reference is O(1); the discrepancy should be tiny. + assert np.abs(ours - reference).max() < 0.05 * reference.std() + 1e-4 + + +# --------------------------------------------------------------------------- +# Native-space rendering integration (requires the 32k_fs_LR subject) +# --------------------------------------------------------------------------- + + +@pytest.mark.skipif( + "32k_fs_LR" not in cortex.db.subjects, reason="32k_fs_LR subject not in filestore" +) +def test_native_vertex_matches_subject(): + # The subject carries the full 64984-vertex fs_LR 32k surface, so a Vertex + # built from cifti_to_surface output must line up with it. + data = np.zeros(hcp.N_VERTICES_FS_LR_32K) + v = cortex.Vertex(data, "32k_fs_LR") + assert v.data.shape[-1] == hcp.N_VERTICES_FS_LR_32K diff --git a/cortex/utils.py b/cortex/utils.py index 6ed7ab520..1613d8fcb 100644 --- a/cortex/utils.py +++ b/cortex/utils.py @@ -1,5 +1,5 @@ -"""Contain utility functions -""" +"""Contain utility functions""" + import binascii import copy from importlib import import_module @@ -12,7 +12,19 @@ import urllib.request import warnings -from typing import Any, Callable, Generic, Optional, TypeVar, TYPE_CHECKING, Union, cast, overload, Literal +from typing import ( + Any, + Callable, + Generic, + Optional, + TypeVar, + TYPE_CHECKING, + Union, + cast, + overload, + Literal, +) + if sys.version_info < (3, 10): from typing_extensions import ParamSpec else: @@ -33,47 +45,67 @@ # register_cmap is deprecated in matplotlib > 3.7.0 and replaced by colormaps.register try: from matplotlib import colormaps as cm + def register_cmap(cmap): return cm.register(cmap) except ImportError: from matplotlib.cm import register_cmap -P = ParamSpec('P') -T = TypeVar('T') +P = ParamSpec("P") +T = TypeVar("T") + class DocLoader(Generic[P, T]): - def __init__(self, func, mod, package, actual_func: Optional[Callable[P, T]] = None): - self._load: Callable[[], Callable[P, T]] = lambda: getattr(import_module(mod, package), func) - self._actual_func = actual_func # stored only to resolve generic types during type checking + def __init__( + self, func, mod, package, actual_func: Optional[Callable[P, T]] = None + ): + self._load: Callable[[], Callable[P, T]] = lambda: getattr( + import_module(mod, package), func + ) + self._actual_func = ( + actual_func # stored only to resolve generic types during type checking + ) def __call__(self, *args: P.args, **kwargs: P.kwargs) -> T: return self._load()(*args, **kwargs) @overload - def __getattribute__(self, name: Literal['_load']) -> Callable[P, T]: ... + def __getattribute__(self, name: Literal["_load"]) -> Callable[P, T]: ... @overload def __getattribute__(self, name: str) -> Any: ... - def __getattribute__(self, name: Union[Literal['_load'], str]) -> Union[Any, Callable[P, T]]: + def __getattribute__( + self, name: Union[Literal["_load"], str] + ) -> Union[Any, Callable[P, T]]: if name != "_load": return getattr(self._load(), name) else: return cast(Callable[P, T], object.__getattribute__(self, name)) + if TYPE_CHECKING: from cortex.mapper import get_mapper as _get_mapper else: _get_mapper = None get_mapper = DocLoader("get_mapper", ".mapper", "cortex", actual_func=_get_mapper) + def get_roipack(*args, **kwargs): - warnings.warn('Please use db.get_overlay instead', DeprecationWarning) + warnings.warn("Please use db.get_overlay instead", DeprecationWarning) return db.get_overlay(*args, **kwargs) -def get_ctmpack(subject, types=("inflated",), method="raw", level=0, recache=False, - decimate=False, external_svg=None, - overlays_available=None): + +def get_ctmpack( + subject, + types=("inflated",), + method="raw", + level=0, + recache=False, + decimate=False, + external_svg=None, + overlays_available=None, +): """Creates ctm file for the specified input arguments. This is a cached file that specifies (1) the surfaces between which @@ -108,12 +140,10 @@ def get_ctmpack(subject, types=("inflated",), method="raw", level=0, recache=Fal ------- ctmfile : """ - lvlstr = ("%dd" if decimate else "%d")%level + lvlstr = ("%dd" if decimate else "%d") % level # Generates different cache files for each combination of disp_layers - ctmcache = "%s_[{types}]_{method}_{level}_v3.json"%subject - ctmcache = ctmcache.format(types=','.join(types), - method=method, - level=lvlstr) + ctmcache = "%s_[{types}]_{method}_{level}_v3.json" % subject + ctmcache = ctmcache.format(types=",".join(types), method=method, level=lvlstr) ctmfile = os.path.join(db.get_cache(subject), ctmcache) if os.path.exists(ctmfile) and not recache: @@ -121,20 +151,23 @@ def get_ctmpack(subject, types=("inflated",), method="raw", level=0, recache=Fal print("Generating new ctm file...") from . import brainctm - ptmap = brainctm.make_pack(ctmfile, - subject, - types=types, - method=method, - level=level, - decimate=decimate, - external_svg=external_svg, - overlays_available=overlays_available) + + ptmap = brainctm.make_pack( + ctmfile, + subject, + types=types, + method=method, + level=level, + decimate=decimate, + external_svg=external_svg, + overlays_available=overlays_available, + ) return ctmfile def get_ctmmap(subject, **kwargs): """Return a mapping from the vertices in the CTM surface to the vertices - in the freesurfer surface. + in the freesurfer surface. The mapping is a numpy array, such that `ctm2fs_left[i] = j` means that the i-th vertex in the CTM surface corresponds to the j-th vertex in the freesurfer surface. @@ -162,8 +195,9 @@ def get_ctmmap(subject, **kwargs): from scipy.spatial import cKDTree from . import brainctm + jsfile = get_ctmpack(subject, **kwargs) - ctmfile = os.path.splitext(jsfile)[0]+".ctm" + ctmfile = os.path.splitext(jsfile)[0] + ".ctm" # Load freesurfer surfaces try: @@ -209,6 +243,7 @@ def get_ctm2webgl_map(subject, **kwargs): maximum length of 65535. """ from . import brainctm + # Load CTM surfaces jsonfile = get_ctmpack(subject, **kwargs) ctmfile = os.path.splitext(jsonfile)[0] + ".ctm" @@ -290,7 +325,7 @@ def get_fs2webgl_map(subject, **kwargs): return fs2webgl_left, fs2webgl_right -def get_cortical_mask(subject, xfmname, type='nearest'): +def get_cortical_mask(subject, xfmname, type="nearest"): """Gets the cortical mask for a particular transform Parameters @@ -301,12 +336,12 @@ def get_cortical_mask(subject, xfmname, type='nearest'): Transform name type : str Mask type, one of {"cortical", "thin", "thick", "nearest", "line_nearest"}. - - 'cortical' includes voxels contained within the cortical ribbon, - between the freesurfer-estimated white matter and pial surfaces. - - 'thin' includes voxels that are < 2mm away from the fiducial surface. + - 'cortical' includes voxels contained within the cortical ribbon, + between the freesurfer-estimated white matter and pial surfaces. + - 'thin' includes voxels that are < 2mm away from the fiducial surface. - 'thick' includes voxels that are < 8mm away from the fiducial surface. - 'nearest' includes only the voxels overlapping the fiducial surface. - - 'line_nearest' includes all voxels that have any part within the cortical + - 'line_nearest' includes all voxels that have any part within the cortical ribbon. Returns @@ -316,13 +351,13 @@ def get_cortical_mask(subject, xfmname, type='nearest'): Notes ----- - "nearest" is a conservative "cortical" mask, while "line_nearest" is a liberal + "nearest" is a conservative "cortical" mask, while "line_nearest" is a liberal "cortical" mask. """ - if type == 'cortical': + if type == "cortical": ppts, polys = db.get_surf(subject, "pia", merge=True, nudge=False) wpts, polys = db.get_surf(subject, "wm", merge=True, nudge=False) - thickness = np.sqrt(((ppts - wpts)**2).sum(1)) + thickness = np.sqrt(((ppts - wpts) ** 2).sum(1)) dist, idx = get_vox_dist(subject, xfmname) cortex = np.zeros(dist.shape, dtype=bool) @@ -331,9 +366,9 @@ def get_cortical_mask(subject, xfmname, type='nearest'): mask = idx == vert cortex[mask] = dist[mask] <= thickness[vert] if i % 100 == 0: - print("%0.3f%%"%(i/float(len(verts)) * 100)) + print("%0.3f%%" % (i / float(len(verts)) * 100)) return cortex - elif type in ('thick', 'thin'): + elif type in ("thick", "thin"): dist, idx = get_vox_dist(subject, xfmname) return dist < dict(thick=8, thin=2)[type] else: @@ -379,8 +414,8 @@ def get_vox_dist(subject, xfmname, surface="fiducial", max_dist=np.inf): return dist.T, argdist.T -def get_hemi_masks(subject, xfmname, type='nearest'): - '''Returns a binary mask of the left and right hemisphere +def get_hemi_masks(subject, xfmname, type="nearest"): + """Returns a binary mask of the left and right hemisphere surface voxels for the given subject. Parameters @@ -394,11 +429,13 @@ def get_hemi_masks(subject, xfmname, type='nearest'): Returns ------- - ''' + """ return get_mapper(subject, xfmname, type=type).hemimasks -def add_roi(data, name="new_roi", open_inkscape=True, add_path=True, - overlay_file=None, **kwargs): + +def add_roi( + data, name="new_roi", open_inkscape=True, add_path=True, overlay_file=None, **kwargs +): """Add new flatmap image to the ROI file for a subject. (The subject is specified in creation of the data object) @@ -440,14 +477,16 @@ def add_roi(data, name="new_roi", open_inkscape=True, add_path=True, svg = db.get_overlay(dv.subject, overlay_file=overlay_file) fp = io.BytesIO() - quickflat.make_png(fp, dv, height=1024, with_rois=False, with_labels=False, **kwargs) + quickflat.make_png( + fp, dv, height=1024, with_rois=False, with_labels=False, **kwargs + ) fp.seek(0) - svg.rois.add_shape(name, binascii.b2a_base64(fp.read()).decode('utf-8'), add_path) + svg.rois.add_shape(name, binascii.b2a_base64(fp.read()).decode("utf-8"), add_path) if open_inkscape: - inkscape_cmd = config.get('dependency_paths', 'inkscape') - if LooseVersion(INKSCAPE_VERSION) < LooseVersion('1.0'): - cmd = [inkscape_cmd, '-f', svg.svgfile] + inkscape_cmd = config.get("dependency_paths", "inkscape") + if LooseVersion(INKSCAPE_VERSION) < LooseVersion("1.0"): + cmd = [inkscape_cmd, "-f", svg.svgfile] else: cmd = [inkscape_cmd, svg.svgfile] return sp.call(cmd) @@ -509,8 +548,8 @@ def get_roi_verts(subject, roi=None, mask=False, overlay_file=None): for name in roi: roi_idx = np.intersect1d(svg.rois.get_mask(name), goodpts) - # Now we want to include also the vertices that were removed from the flat - # surface that is, for every vertex in roi_idx we want to add the pts that are + # Now we want to include also the vertices that were removed from the flat + # surface that is, for every vertex in roi_idx we want to add the pts that are # not in goodpts but that are in pts_full # to do that, we need to find the neighboring indices from polys_full extra_idx = set() @@ -568,7 +607,7 @@ def get_roi_surf(subject, surf_type, roi, overlay_file=None): return pts[vert_idx], np.array(reindexed_polys) -def get_roi_mask(subject, xfmname, roi=None, projection='nearest'): +def get_roi_mask(subject, xfmname, roi=None, projection="nearest"): """Return a mask for the given ROI(s) Deprecated - use get_roi_masks() @@ -588,15 +627,15 @@ def get_roi_mask(subject, xfmname, roi=None, projection='nearest'): output : dict Dict of ROIs and their masks """ - warnings.warn('Deprecated! Use get_roi_masks') + warnings.warn("Deprecated! Use get_roi_masks") mapper = get_mapper(subject, xfmname, type=projection) rois = get_roi_verts(subject, roi=roi, mask=True) output = dict() for name, verts in list(rois.items()): # This is broken; unclear when/if backward mappers ever worked this way. - #left, right = mapper.backwards(vert_mask) - #output[name] = left + right + # left, right = mapper.backwards(vert_mask) + # output[name] = left + right output[name] = mapper.backwards(verts.astype(float)) # Threshold? return output @@ -643,7 +682,7 @@ def get_aseg_mask(subject, aseg_name, xfmname=None, order=1, threshold=None, **k See also get_anat(subject, type='aseg') """ - from .freesurfer import fs_aseg_dict + aseg = db.get_anat(subject, type="aseg").get_fdata().T if not isinstance(aseg_name, (list, tuple)): @@ -652,24 +691,36 @@ def get_aseg_mask(subject, aseg_name, xfmname=None, order=1, threshold=None, **k mask = np.zeros(aseg.shape) for name in aseg_name: if name in fs_aseg_dict: - tmp = aseg==fs_aseg_dict[name] + tmp = aseg == fs_aseg_dict[name] else: # Combine all masks containing `name` (e.g. all masks with 'cerebellum' in the name) keys = [k for k in fs_aseg_dict.keys() if name.lower() in k.lower()] if len(keys) == 0: - raise ValueError('Unknown aseg_name!') - tmp = np.any(np.array([aseg==fs_aseg_dict[k] for k in keys]), axis=0) + raise ValueError("Unknown aseg_name!") + tmp = np.any(np.array([aseg == fs_aseg_dict[k] for k in keys]), axis=0) mask = np.logical_or(mask, tmp) if xfmname is not None: - mask = anat2epispace(mask.astype(float), subject, xfmname, order=order, **kwargs) + mask = anat2epispace( + mask.astype(float), subject, xfmname, order=order, **kwargs + ) if threshold is not None: mask = mask > threshold return mask -def get_roi_masks(subject, xfmname, roi_list=None, gm_sampler='cortical', split_lr=False, - allow_overlap=False, fail_for_missing_rois=True, exclude_empty_rois=False, - threshold=None, return_dict=True, overlay_file=None): +def get_roi_masks( + subject, + xfmname, + roi_list=None, + gm_sampler="cortical", + split_lr=False, + allow_overlap=False, + fail_for_missing_rois=True, + exclude_empty_rois=False, + threshold=None, + return_dict=True, + overlay_file=None, +): """Return a dictionary of roi masks This function returns a single 3D array with a separate numerical index for each ROI, @@ -748,13 +799,17 @@ def get_roi_masks(subject, xfmname, roi_list=None, gm_sampler='cortical', split_ 'thin' as your `gm_sampler`. """ # Convert mapper names to pycortex sampler types - mapper_dict = {'cortical-conservative':'nearest', - 'cortical-liberal':'line_nearest'} + mapper_dict = { + "cortical-conservative": "nearest", + "cortical-liberal": "line_nearest", + } # Method use_mapper = gm_sampler in mapper_dict - use_cortex_mask = (gm_sampler in ('cortical', 'thick', 'thin')) or not isinstance(gm_sampler, str) + use_cortex_mask = (gm_sampler in ("cortical", "thick", "thin")) or not isinstance( + gm_sampler, str + ) if not (use_mapper or use_cortex_mask): - raise ValueError('Unknown gray matter sampler (gm_sampler)!') + raise ValueError("Unknown gray matter sampler (gm_sampler)!") # Initialize roi_voxels = {} pct_coverage = {} @@ -773,18 +828,28 @@ def get_roi_masks(subject, xfmname, roi_list=None, gm_sampler='cortical', split_ roi_verts = get_roi_verts(subject, mask=use_mapper, overlay_file=overlay_file) roi_list = list(roi_verts.keys()) else: - tmp_list = [r for r in roi_list if not r=='Cortex'] + tmp_list = [r for r in roi_list if not r == "Cortex"] try: - roi_verts = get_roi_verts(subject, roi=tmp_list, mask=use_mapper, overlay_file=overlay_file) + roi_verts = get_roi_verts( + subject, roi=tmp_list, mask=use_mapper, overlay_file=overlay_file + ) except KeyError as key: if fail_for_missing_rois: - raise KeyError("Requested ROI {} not found in overlays.svg!".format(key)) + raise KeyError( + "Requested ROI {} not found in overlays.svg!".format(key) + ) else: - roi_verts = get_roi_verts(subject, roi=None, mask=use_mapper, overlay_file=overlay_file) - missing = [r for r in roi_list if not r in roi_verts.keys()+['Cortex']] - roi_verts = dict((roi, verts) for roi, verts in roi_verts.items() if roi in roi_list) - roi_list = list(set(roi_list)-set(missing)) - print('Requested ROI(s) {} not found in overlays.svg!'.format(missing)) + roi_verts = get_roi_verts( + subject, roi=None, mask=use_mapper, overlay_file=overlay_file + ) + missing = [ + r for r in roi_list if r not in roi_verts.keys() + ["Cortex"] + ] + roi_verts = dict( + (roi, verts) for roi, verts in roi_verts.items() if roi in roi_list + ) + roi_list = list(set(roi_list) - set(missing)) + print("Requested ROI(s) {} not found in overlays.svg!".format(missing)) # Get (a) indices for nearest vertex to each voxel # and (b) distance from each voxel to nearest vertex in fiducial surface if (use_cortex_mask or split_lr) or (not return_dict): @@ -799,7 +864,7 @@ def get_roi_masks(subject, xfmname, roi_list=None, gm_sampler='cortical', split_ # Loop over ROIs to map vertices to volume, using mapper or cortex mask + vertex indices for roi in roi_list: if roi not in roi_verts: - if not roi=='Cortex': + if not roi == "Cortex": print("ROI {} not found...".format(roi)) continue if use_mapper: @@ -808,7 +873,9 @@ def get_roi_masks(subject, xfmname, roi_list=None, gm_sampler='cortical', split_ if threshold is not None: roi_voxels[roi] = roi_voxels[roi] > threshold # Check for partial / empty rois: - vert_in_scan = np.hstack([np.array((m>0).sum(1)).flatten() for m in mapper.masks]) + vert_in_scan = np.hstack( + [np.array((m > 0).sum(1)).flatten() for m in mapper.masks] + ) vert_in_scan = vert_in_scan[roi_verts[roi]] elif use_cortex_mask: vox_in_roi = np.isin(vox_idx, roi_verts[roi]) @@ -820,58 +887,69 @@ def get_roi_masks(subject, xfmname, roi_list=None, gm_sampler='cortical', split_ # Compute ROI coverage pct_coverage[roi] = vert_in_scan.mean() * 100 if use_mapper: - print("Found %0.2f%% of %s"%(pct_coverage[roi], roi)) + print("Found %0.2f%% of %s" % (pct_coverage[roi], roi)) # Create cortex mask all_mask = np.array(list(roi_voxels.values())).sum(0) - if 'Cortex' in roi_list: + if "Cortex" in roi_list: if use_mapper: # cortex_mask isn't defined / exactly definable if you're using a mapper - print("Cortex roi not included b/c currently not compatible with your selection for gm_sampler") - _ = roi_list.pop(roi_list.index('Cortex')) + print( + "Cortex roi not included b/c currently not compatible with your selection for gm_sampler" + ) + _ = roi_list.pop(roi_list.index("Cortex")) else: - roi_voxels['Cortex'] = (all_mask==0) & cortex_mask + roi_voxels["Cortex"] = (all_mask == 0) & cortex_mask # Optionally cull voxels assigned to > 1 ROI due to partly overlapping ROI splines # in inkscape overlays.svg file: if not allow_overlap: - print('Cutting {} overlapping voxels (should be < ~50)'.format(np.sum(all_mask > 1))) + print( + "Cutting {} overlapping voxels (should be < ~50)".format( + np.sum(all_mask > 1) + ) + ) for roi in roi_list: roi_voxels[roi][all_mask > 1] = False # Split left / right hemispheres if desired if split_lr: # Use the fiducial surface because we need to have all vertices - left_verts, _ = db.get_surf(subject, "fiducial", merge=False, nudge=True) + left_verts, _ = db.get_surf(subject, "fiducial", merge=False, nudge=True) left_mask = vox_idx < len(np.unique(left_verts[1])) right_mask = np.logical_not(left_mask) roi_voxels_lr = {} for roi in roi_list: # roi_voxels may contain float values if using a mapper, therefore we need # to manually set the voxels in the other hemisphere to False. Then we let - # numpy do the conversion False -> 0. - roi_voxels_lr[roi + '_L'] = copy.copy(roi_voxels[roi]) - roi_voxels_lr[roi + '_L'][right_mask] = False - roi_voxels_lr[roi + '_R'] = copy.copy(roi_voxels[roi]) - roi_voxels_lr[roi + '_R'][left_mask] = False + # numpy do the conversion False -> 0. + roi_voxels_lr[roi + "_L"] = copy.copy(roi_voxels[roi]) + roi_voxels_lr[roi + "_L"][right_mask] = False + roi_voxels_lr[roi + "_R"] = copy.copy(roi_voxels[roi]) + roi_voxels_lr[roi + "_R"][left_mask] = False output = roi_voxels_lr else: output = roi_voxels # Check percent coverage / optionally cull empty ROIs - for roi in set(roi_list)-set(['Cortex']): + for roi in set(roi_list) - set(["Cortex"]): if pct_coverage[roi] < 100: # if not np.any(mask) : reject ROI - if pct_coverage[roi]==0: - warnings.warn('ROI %s is entirely missing from your scan protocol!'%(roi)) + if pct_coverage[roi] == 0: + warnings.warn( + "ROI %s is entirely missing from your scan protocol!" % (roi) + ) if exclude_empty_rois: if split_lr: - _ = output.pop(roi+'_L') - _ = output.pop(roi+'_R') + _ = output.pop(roi + "_L") + _ = output.pop(roi + "_R") else: _ = output.pop(roi) else: # I think this is the only one for which this works correctly... - if gm_sampler=='cortical-conservative': - warnings.warn('ROI %s is only %0.2f%% contained in your scan protocol!'%(roi, pct_coverage[roi])) + if gm_sampler == "cortical-conservative": + warnings.warn( + "ROI %s is only %0.2f%% contained in your scan protocol!" + % (roi, pct_coverage[roi]) + ) # Support alternative outputs for backward compatibility if return_dict: @@ -885,6 +963,7 @@ def get_roi_masks(subject, xfmname, roi_list=None, gm_sampler='cortical', split_ idx_vol[left_mask] *= -1 return idx_vol, idx_labels + def get_dropout(subject: str, xfmname: str, power: float = 20): """Create a dropout Volume showing where EPI signal is very low. @@ -909,13 +988,15 @@ def get_dropout(subject: str, xfmname: str, power: float = 20): if rawdata.ndim > 3: rawdata = rawdata.mean(0) - rawdata[rawdata==0] = np.mean(rawdata[rawdata!=0]) + rawdata[rawdata == 0] = np.mean(rawdata[rawdata != 0]) normdata = (rawdata - rawdata.min()) / (rawdata.max() - rawdata.min()) normdata = (1 - normdata) ** power from .dataset import Volume + return Volume(normdata, subject, xfmname) + def make_movie(stim, outfile, fps=15, size="640x480"): """Makes an .ogv movie @@ -939,10 +1020,12 @@ def make_movie(stim, outfile, fps=15, size="640x480"): """ import shlex import subprocess as sp + cmd = "ffmpeg -r {fps} -i {infile} -b 4800k -g 30 -s {size} -vcodec libtheora {outfile}.ogv" fcmd = cmd.format(infile=stim, size=size, fps=fps, outfile=outfile) sp.call(shlex.split(fcmd)) + def vertex_to_voxel(subject): # Am I deprecated in favor of mappers??? Maybe? """ Parameters @@ -975,28 +1058,30 @@ def vertex_to_voxel(subject): # Am I deprecated in favor of mappers??? Maybe? def _set_edge_distance_graph_attribute(graph, pts, polys): - ''' + """ adds the attribute 'edge distance' to a graph - ''' + """ import networkx as nx l2_distance = lambda v1, v2: np.linalg.norm(pts[v1] - pts[v2]) - heuristic = l2_distance # A* heuristic + heuristic = l2_distance # A* heuristic - if not nx.get_edge_attributes(graph, 'distance'): # Add edge distances as an attribute to this graph if it isn't there + if not nx.get_edge_attributes( + graph, "distance" + ): # Add edge distances as an attribute to this graph if it isn't there edge_distances = dict() - for x,y,z in polys: - edge_distances[(x,y)] = heuristic(x,y) - edge_distances[(y,x)] = heuristic(y,x) - edge_distances[(y,z)] = heuristic(y,z) - edge_distances[(z,y)] = heuristic(z,y) - edge_distances[(x,z)] = heuristic(x,z) - edge_distances[(z,x)] = heuristic(z,x) - nx.set_edge_attributes(graph, edge_distances, name='distance') + for x, y, z in polys: + edge_distances[(x, y)] = heuristic(x, y) + edge_distances[(y, x)] = heuristic(y, x) + edge_distances[(y, z)] = heuristic(y, z) + edge_distances[(z, y)] = heuristic(z, y) + edge_distances[(x, z)] = heuristic(x, z) + edge_distances[(z, x)] = heuristic(z, x) + nx.set_edge_attributes(graph, edge_distances, name="distance") def get_shared_voxels(subject, xfmname, hemi="both", merge=True, use_astar=True): - '''Return voxels that are shared by multiple vertices, and for each such voxel, + """Return voxels that are shared by multiple vertices, and for each such voxel, also returns the mutually farthest pair of vertices mapping to the voxel Parameters ---------- @@ -1017,18 +1102,21 @@ def get_shared_voxels(subject, xfmname, hemi="both", merge=True, use_astar=True) vox_vert_array: np.array, array of dimensions # voxels X 3, columns being: (vox_idx, farthest_pair[0], farthest_pair[1]) - ''' + """ import networkx as nx from scipy.sparse import find as sparse_find - Lmask, Rmask = get_mapper(subject, xfmname).masks # Get masks for left and right hemisphere - if hemi == 'both': - hemispheres = ['lh', 'rh'] + + Lmask, Rmask = get_mapper( + subject, xfmname + ).masks # Get masks for left and right hemisphere + if hemi == "both": + hemispheres = ["lh", "rh"] else: hemispheres = [hemi] out = [] for hem in hemispheres: - if hem == 'lh': + if hem == "lh": mask = Lmask else: mask = Rmask @@ -1036,8 +1124,10 @@ def get_shared_voxels(subject, xfmname, hemi="both", merge=True, use_astar=True) all_voxels = mask.tolil().transpose().rows # Map from voxels to verts vert_to_vox_map = dict(zip(*(sparse_find(mask)[:2]))) # From verts to vox - pts_fid, polys_fid = db.get_surf(subject, 'fiducial', hem) # Get the fiducial surface - surf = Surface(pts_fid, polys_fid) #Get the fiducial surface + pts_fid, polys_fid = db.get_surf( + subject, "fiducial", hem + ) # Get the fiducial surface + surf = Surface(pts_fid, polys_fid) # Get the fiducial surface graph = surf.graph _set_edge_distance_graph_attribute(graph, pts_fid, polys_fid) @@ -1046,32 +1136,44 @@ def get_shared_voxels(subject, xfmname, hemi="both", merge=True, use_astar=True) heuristic = l2_distance # A* heuristic if use_astar: - shortest_path = lambda a, b: nx.astar_path(graph, a, b, heuristic=heuristic, weight='distance') # Find approximate shortest paths using A* search + shortest_path = lambda a, b: nx.astar_path( + graph, a, b, heuristic=heuristic, weight="distance" + ) # Find approximate shortest paths using A* search else: - shortest_path = surf.geodesic_path # Find shortest paths using geodesic distances + shortest_path = ( + surf.geodesic_path + ) # Find shortest paths using geodesic distances vox_vert_list = [] for vox_idx, vox in enumerate(all_voxels): if len(vox) > 1: # If the voxel maps to multiple vertices vox = np.array(vox).astype(int) - for v1 in range(vox.size-1): + for v1 in range(vox.size - 1): vert1 = vox[v1] if vert1 in vert_to_vox_map: # If the vertex is a valid vertex - for v2 in range(v1+1, vox.size): + for v2 in range(v1 + 1, vox.size): vert2 = vox[v2] - if vert2 in vert_to_vox_map: # If the vertex is a valid vertex + if ( + vert2 in vert_to_vox_map + ): # If the vertex is a valid vertex path = shortest_path(vert1, vert2) # Test whether any vertex in path goes out of the voxel - stays_in_voxel = all([(v in vert_to_vox_map) and (vert_to_vox_map[v] == vox_idx) for v in path]) + stays_in_voxel = all( + [ + (v in vert_to_vox_map) + and (vert_to_vox_map[v] == vox_idx) + for v in path + ] + ) if not stays_in_voxel: vox_vert_list.append([vox_idx, vert1, vert2]) - tmp = np.array(vox_vert_list) + tmp = np.array(vox_vert_list) # Add offset for right hem voxels - if hem=='rh': + if hem == "rh": tmp[:, 1:3] += Lmask.shape[0] out.append(tmp) - if hemi in ('lh', 'rh'): + if hemi in ("lh", "rh"): return out[0] else: if merge: @@ -1096,13 +1198,18 @@ def load_sparse_array(fname, varname): conventions, so cannot be used to load arbitrary sparse arrays. """ import scipy.sparse + with h5py.File(fname) as hf: - data = (hf['%s_data'%varname], hf['%s_indices'%varname], hf['%s_indptr'%varname]) - sparsemat = scipy.sparse.csr_matrix(data, shape=hf['%s_shape'%varname]) + data = ( + hf["%s_data" % varname], + hf["%s_indices" % varname], + hf["%s_indptr" % varname], + ) + sparsemat = scipy.sparse.csr_matrix(data, shape=hf["%s_shape" % varname]) return sparsemat -def save_sparse_array(fname, data, varname, mode='a'): +def save_sparse_array(fname, data, varname, mode="a"): """Save a numpy sparse array to an hdf file Results in relatively smaller file size than numpy.savez @@ -1119,19 +1226,20 @@ def save_sparse_array(fname, data, varname, mode='a'): write / append mode set, one of ['w','a'] (passed to h5py.File()) """ import scipy.sparse + if not isinstance(data, scipy.sparse.csr.csr_matrix): data_ = scipy.sparse.csr_matrix(data) else: data_ = data with h5py.File(fname, mode=mode) as hf: # Save indices - hf.create_dataset(varname + '_indices', data=data_.indices, compression='gzip') + hf.create_dataset(varname + "_indices", data=data_.indices, compression="gzip") # Save data - hf.create_dataset(varname + '_data', data=data_.data, compression='gzip') + hf.create_dataset(varname + "_data", data=data_.data, compression="gzip") # Save indptr - hf.create_dataset(varname + '_indptr', data=data_.indptr, compression='gzip') + hf.create_dataset(varname + "_indptr", data=data_.indptr, compression="gzip") # Save shape - hf.create_dataset(varname + '_shape', data=data_.shape, compression='gzip') + hf.create_dataset(varname + "_shape", data=data_.shape, compression="gzip") def get_cmap(name): @@ -1149,10 +1257,11 @@ def get_cmap(name): """ import matplotlib.pyplot as plt from matplotlib import colors + # unknown colormap, test whether it's in pycortex colormaps - cmapdir = config.get('webgl', 'colormaps') + cmapdir = config.get("webgl", "colormaps") colormaps = os.listdir(cmapdir) - colormaps = sorted([c for c in colormaps if '.png' in c]) + colormaps = sorted([c for c in colormaps if ".png" in c]) colormaps = dict((c[:-4], os.path.join(cmapdir, c)) for c in colormaps) if name in colormaps: I = plt.imread(colormaps[name]) @@ -1165,15 +1274,16 @@ def get_cmap(name): try: cmap = plt.cm.get_cmap(name) except: - raise Exception('Unkown color map!') + raise Exception("Unkown color map!") return cmap + def add_cmap(cmap, name, cmapdir=None): """Add a colormap to pycortex. This stores a matplotlib colormap in the pycortex filestore, such that it can - be used in the webgl viewer in pycortex. See - https://matplotlib.org/stable/users/explain/colors/colormap-manipulation.html + be used in the webgl viewer in pycortex. See + https://matplotlib.org/stable/users/explain/colors/colormap-manipulation.html for more information about how to generate colormaps in matplotlib. Parameters @@ -1182,8 +1292,8 @@ def add_cmap(cmap, name, cmapdir=None): Color map to be saved name : str Name for colormap, e.g. 'jet', 'blue_to_yellow', etc. The name will be used - to generate a filename for the colormap stored in the pycortex store, - so avoid illegal characters for a filename. This name will also be used to + to generate a filename for the colormap stored in the pycortex store, + so avoid illegal characters for a filename. This name will also be used to specify this colormap in future calls to `cortex.quickflat.make_figure()` or `cortex.webgl.show()`. """ @@ -1199,8 +1309,9 @@ def add_cmap(cmap, name, cmapdir=None): plt.imsave(os.path.join(cmapdir, name), cmap_im, format="png") -def download_subject(subject_id='fsaverage', url=None, pycortex_store=None, - download_again=False): +def download_subject( + subject_id="fsaverage", url=None, pycortex_store=None, download_again=False +): """Download subjects to pycortex store Parameters @@ -1224,15 +1335,20 @@ def download_subject(subject_id='fsaverage', url=None, pycortex_store=None, warnings.warn( "{} is already present in the database. " "Set download_again to True if you wish to download " - "the subject again.".format(subject_id)) + "the subject again.".format(subject_id) + ) return # Map codes to URLs; more coming eventually id_to_url = dict( - fsaverage='https://ndownloader.figshare.com/files/17827577?private_link=4871247dce31e188e758', + fsaverage="https://ndownloader.figshare.com/files/17827577?private_link=4871247dce31e188e758", + # HCP fs_LR 32k pycortex subject (derived from HCP S1200 group-average + # Open Access surfaces; see cortex.hcp). The tarball contains a + # top-level ``32k_fs_LR/`` directory. + **{"32k_fs_LR": "https://ndownloader.figshare.com/files/66442049"}, ) if url is None: if subject_id not in id_to_url: - raise ValueError('Unknown subject_id!') + raise ValueError("Unknown subject_id!") url = id_to_url[subject_id] # Setup pycortex store location if pycortex_store is None: @@ -1242,12 +1358,11 @@ def download_subject(subject_id='fsaverage', url=None, pycortex_store=None, # Download to temp dir print("Downloading from: {}".format(url)) with tempfile.TemporaryDirectory() as tmp_dir: - print('Downloading subject {} to {}'.format(subject_id, tmp_dir)) + print("Downloading subject {} to {}".format(subject_id, tmp_dir)) fnout, _ = urllib.request.urlretrieve( - url, - os.path.join(tmp_dir, f"{subject_id}.tar.gz") + url, os.path.join(tmp_dir, f"{subject_id}.tar.gz") ) - print(f'Done downloading to {fnout}') + print(f"Done downloading to {fnout}") # Un-tar to pycortex store with tarfile.open(fnout, "r:gz") as tar: print("Extracting subject {} to {}".format(subject_id, pycortex_store)) @@ -1259,51 +1374,56 @@ def download_subject(subject_id='fsaverage', url=None, pycortex_store=None, def rotate_flatmap(surf_id, theta, plot=False): """Rotate flatmap to be less V-shaped - + Parameters ---------- surf_id : str pycortex surface identifier theta : scalar - angle in degrees to rotate flatmaps (rotation is clockwise + angle in degrees to rotate flatmaps (rotation is clockwise for right hemisphere and counter-clockwise for left) plot : bool Whether to make a coarse plot to visualize the changes """ # Lazy load of matplotlib import matplotlib.pyplot as plt - paths = db.get_paths(surf_id)['surfs']['flat'] + + paths = db.get_paths(surf_id)["surfs"]["flat"] theta = np.radians(theta) if plot: fig, axs = plt.subplots(2, 2) - for j, hem in enumerate(('lh','rh')): + for j, hem in enumerate(("lh", "rh")): this_file = paths[hem] pts, polys = formats.read_gii(this_file) # Rotate clockwise (- rotation) for RH, counter-clockwise (+ rotation) for LH - if hem == 'rh': - rtheta = - theta + if hem == "rh": + rtheta = -theta else: rtheta = copy.copy(theta) - rotation_mat = np.array([[np.cos(rtheta), -np.sin(rtheta)], [np.sin(rtheta), np.cos(rtheta)]]) + rotation_mat = np.array( + [[np.cos(rtheta), -np.sin(rtheta)], [np.sin(rtheta), np.cos(rtheta)]] + ) rotated = rotation_mat.dot(pts[:, :2].T).T pts_new = pts.copy() pts_new[:, :2] = rotated new_file, bkup_num = copy.copy(this_file), 0 while os.path.exists(new_file): - new_file = this_file.replace('.gii', '_rotbkup%02d.gii'%bkup_num) + new_file = this_file.replace(".gii", "_rotbkup%02d.gii" % bkup_num) bkup_num += 1 - print('Backing up file at %s...' % new_file) + print("Backing up file at %s..." % new_file) shutil.copy(this_file, new_file) formats.write_gii(this_file, pts_new, polys) - print('Overwriting %s...' % this_file) + print("Overwriting %s..." % this_file) if plot: - axs[0,j].plot(*pts[::100, :2].T, marker='r.') - axs[0,j].axis('equal') - axs[1,j].plot(*pts_new[::100, :2].T, marker='b.') - axs[1,j].axis('equal') + axs[0, j].plot(*pts[::100, :2].T, marker="r.") + axs[0, j].axis("equal") + axs[1, j].plot(*pts_new[::100, :2].T, marker="b.") + axs[1, j].axis("equal") # Remove and back up overlays file - overlay_file = db.get_paths(surf_id)['overlays'] - shutil.copy(overlay_file, overlay_file.replace('.svg', '_rotbkup%02d.svg'%bkup_num)) + overlay_file = db.get_paths(surf_id)["overlays"] + shutil.copy( + overlay_file, overlay_file.replace(".svg", "_rotbkup%02d.svg" % bkup_num) + ) os.unlink(overlay_file) # Regenerate file svg = db.get_overlay(surf_id) diff --git a/examples/hcp/README.txt b/examples/hcp/README.txt new file mode 100644 index 000000000..b6f25b1f4 --- /dev/null +++ b/examples/hcp/README.txt @@ -0,0 +1,5 @@ +Examples with HCP fs_LR data +------------------------------ + +Examples showing how to use PyCortex to visualize HCP fs_LR 32k data, both on +the HCP template and resampled to fsaverage. diff --git a/examples/hcp/plot_hcp_fs_lr.py b/examples/hcp/plot_hcp_fs_lr.py new file mode 100644 index 000000000..f24d9caee --- /dev/null +++ b/examples/hcp/plot_hcp_fs_lr.py @@ -0,0 +1,77 @@ +""" +================================================================== +Visualize HCP fs_LR data on the HCP template and on fsaverage +================================================================== + +This example shows how to: + +a) visualize data defined on the HCP fs_LR 32k surface directly on the HCP + template (the ``32k_fs_LR`` pycortex subject), and + +b) resample that data to fsaverage6 with :mod:`cortex.hcp` and visualize it as + a flatmap. + +Both steps produce a flatmap. + +Notes +----- +* The first time you run this, the ``32k_fs_LR`` and ``fsaverage`` subjects are + downloaded into your pycortex filestore. +* The resampling matrix is built from the HCP standard-mesh spheres, which are + downloaded on demand (no Connectome Workbench needed). +* fsaverage6 is not itself a renderable pycortex subject, so the fsaverage6 + result is upsampled to the full ``fsaverage`` surface for display using + :func:`cortex.freesurfer.upsample_to_fsaverage`. The fsaverage5/6 upsampling + tables ship with pycortex, so no FreeSurfer installation is needed. +""" + +import matplotlib.pyplot as plt +import numpy as np + +import cortex +import cortex.hcp + +# --------------------------------------------------------------------------- +# a) Visualize data on the HCP fs_LR 32k template +# --------------------------------------------------------------------------- + +hcp_subject = "32k_fs_LR" + +# Make sure the HCP template is in the pycortex filestore, downloading if not. +if hcp_subject not in cortex.db.subjects: + cortex.hcp.download_fs_lr() + +# Create some smooth demo data on the full fs_LR 32k surface (64984 vertices, +# both hemispheres, medial wall included). Here we use the anterior-posterior +# (y) coordinate of the inflated surface as a smooth gradient. For real HCP +# data stored as CIFTI grayordinates, expand it to the full surface first with +# ``cortex.hcp.cifti_to_surface`` (or go straight to fsaverage with +# ``cortex.hcp.to_fsaverage``). +pts, _ = cortex.db.get_surf(hcp_subject, "inflated", merge=True) +data_fslr = pts[:, 1].astype(float) +vmin, vmax = np.percentile(data_fslr, [1, 99]) + +# Visualize on the HCP template just like any other vertex dataset. +vtx_hcp = cortex.Vertex(data_fslr, hcp_subject, vmin=vmin, vmax=vmax, cmap="turbo") +cortex.quickshow(vtx_hcp, with_curvature=True, with_rois=False, with_labels=False) +plt.gcf().suptitle("HCP fs_LR 32k (native)") + +# --------------------------------------------------------------------------- +# b) Resample the same data to fsaverage6 and visualize it +# --------------------------------------------------------------------------- + +# Project fs_LR 32k -> fsaverage6 (81924 vertices, both hemispheres). +data_fs6 = cortex.hcp.project_fslr_to_fsaverage(data_fslr, target="fsaverage6") +print("fsaverage6 data shape:", data_fs6.shape) + +# fsaverage6 is not a renderable pycortex subject, so upsample the fsaverage6 +# result to the full fsaverage surface for the flatmap. +if "fsaverage" not in cortex.db.subjects: + cortex.download_subject("fsaverage") +data_fs = cortex.freesurfer.upsample_to_fsaverage(np.nan_to_num(data_fs6), "fsaverage6") + +vtx_fs = cortex.Vertex(data_fs, "fsaverage", vmin=vmin, vmax=vmax, cmap="turbo") +cortex.quickshow(vtx_fs, with_curvature=True, with_rois=False, with_labels=False) +plt.gcf().suptitle("Resampled to fsaverage6 (shown on fsaverage)") + +plt.show() diff --git a/pyproject.toml b/pyproject.toml index 6acd93aad..29a3c4768 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,9 @@ test = [ "pytest-cov", "pytest-timeout", ] +# Note: the cortex.hcp barycentric-resampling validation test additionally +# needs the external Connectome Workbench ``wb_command`` binary on PATH (not a +# Python package). That test is skipped automatically when it is absent. [project.optional-dependencies] headless = [ diff --git a/setup.py b/setup.py index 86823c57c..3737f18ed 100644 --- a/setup.py +++ b/setup.py @@ -17,17 +17,17 @@ def set_default_filestore(prefix, optfile): config.read(optfile) config.set("basic", "filestore", os.path.join(prefix, "db")) config.set("webgl", "colormaps", os.path.join(prefix, "colormaps")) - with open(optfile, 'w') as fp: + with open(optfile, "w") as fp: config.write(fp) class my_install(install): def run(self): install.run(self) - optfile = [f for f in self.get_outputs() if 'defaults.cfg' in f] + optfile = [f for f in self.get_outputs() if "defaults.cfg" in f] prefix = os.path.join(self.install_base, "share", "pycortex") set_default_filestore(prefix, optfile[0]) - self.copy_tree('filestore', prefix) + self.copy_tree("filestore", prefix) for root, folders, files in os.walk(prefix): for folder in folders: os.chmod(os.path.join(root, folder), 511) @@ -42,110 +42,109 @@ def run(self): # ] data_files = [ # [10:] to remove "filestore/" - ('share/pycortex/' + os.path.dirname(file)[10:], [file]) - for file in glob('filestore/**/*', recursive=True) + ("share/pycortex/" + os.path.dirname(file)[10:], [file]) + for file in glob("filestore/**/*", recursive=True) if os.path.isfile(file) ] +ctm = Extension( + "cortex.openctm", + [ + "cortex/openctm.pyx", + "OpenCTM-1.0.3/lib/openctm.c", + "OpenCTM-1.0.3/lib/stream.c", + "OpenCTM-1.0.3/lib/compressRAW.c", + "OpenCTM-1.0.3/lib/compressMG1.c", + "OpenCTM-1.0.3/lib/compressMG2.c", + "OpenCTM-1.0.3/lib/liblzma/Alloc.c", + "OpenCTM-1.0.3/lib/liblzma/LzFind.c", + "OpenCTM-1.0.3/lib/liblzma/LzmaDec.c", + "OpenCTM-1.0.3/lib/liblzma/LzmaEnc.c", + "OpenCTM-1.0.3/lib/liblzma/LzmaLib.c", + ], + libraries=["m"], + include_dirs=[ + "OpenCTM-1.0.3/lib/", + "OpenCTM-1.0.3/lib/liblzma/", + numpy.get_include(), + ], + define_macros=[ + ("LZMA_PREFIX_CTM", None), + ("OPENCTM_BUILD", None), + ("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION"), + # ('__DEBUG_', None), + ], +) +formats = Extension( + "cortex.formats", ["cortex/formats.pyx"], include_dirs=[numpy.get_include()] +) - - -ctm = Extension('cortex.openctm', [ - 'cortex/openctm.pyx', - 'OpenCTM-1.0.3/lib/openctm.c', - 'OpenCTM-1.0.3/lib/stream.c', - 'OpenCTM-1.0.3/lib/compressRAW.c', - 'OpenCTM-1.0.3/lib/compressMG1.c', - 'OpenCTM-1.0.3/lib/compressMG2.c', - 'OpenCTM-1.0.3/lib/liblzma/Alloc.c', - 'OpenCTM-1.0.3/lib/liblzma/LzFind.c', - 'OpenCTM-1.0.3/lib/liblzma/LzmaDec.c', - 'OpenCTM-1.0.3/lib/liblzma/LzmaEnc.c', - 'OpenCTM-1.0.3/lib/liblzma/LzmaLib.c',], - libraries=['m'], include_dirs=[ - 'OpenCTM-1.0.3/lib/', - 'OpenCTM-1.0.3/lib/liblzma/', numpy.get_include()], - define_macros=[ - ('LZMA_PREFIX_CTM', None), - ('OPENCTM_BUILD', None), - ('NPY_NO_DEPRECATED_API', 'NPY_1_7_API_VERSION'), - #('__DEBUG_', None), - ] - ) -formats = Extension('cortex.formats', ['cortex/formats.pyx'], - include_dirs=[numpy.get_include()]) - -DISTNAME = 'pycortex' +DISTNAME = "pycortex" # VERSION is now automatically derived from git tags via setuptools-scm -DESCRIPTION = 'Python Cortical mapping software for fMRI data' -with open('README.md') as f: +DESCRIPTION = "Python Cortical mapping software for fMRI data" +with open("README.md") as f: LONG_DESCRIPTION = f.read() -AUTHOR = 'James Gao' -AUTHOR_EMAIL = 'james@jamesgao.com' -LICENSE = '2-clause BSD license' -URL = 'http://gallantlab.github.io/pycortex' +AUTHOR = "James Gao" +AUTHOR_EMAIL = "james@jamesgao.com" +LICENSE = "2-clause BSD license" +URL = "http://gallantlab.github.io/pycortex" DOWNLOAD_URL = URL -with open('requirements.txt') as f: +with open("requirements.txt") as f: INSTALL_REQUIRES = [ - line.strip() - for line in f - if line.strip() and not line.lstrip().startswith('#') + line.strip() for line in f if line.strip() and not line.lstrip().startswith("#") ] -setup(name=DISTNAME, - description=DESCRIPTION, - long_description=LONG_DESCRIPTION, - long_description_content_type='text/markdown', - author=AUTHOR, - author_email=AUTHOR_EMAIL, - license=LICENSE, - url=URL, - download_url=DOWNLOAD_URL, - packages=[ - 'cortex', - 'cortex.webgl', - 'cortex.mapper', - 'cortex.dataset', - 'cortex.blender', - 'cortex.tests', - 'cortex.quickflat', - 'cortex.polyutils', - 'cortex.export' - ], - data_files=data_files, - ext_modules=cythonize([ctm, formats]), - package_data={ - 'cortex': [ - 'svgbase.xml', - 'defaults.cfg', - 'bbr.sch' - ], - 'cortex.webgl': [ - '*.html', - 'favicon.ico', - 'resources/js/*.js', - 'resources/js/ctm/*.js', - 'resources/css/*.css', - 'resources/css/images/*', - 'resources/css/ui-lightness/*.css', - 'resources/css/ui-lightness/images/*', - 'resources/images/*' - ] - }, - setup_requires=['Cython', 'numpy'], - install_requires=INSTALL_REQUIRES, - # Don't use `extras_require` here. Put them in pyproject.toml . - cmdclass=dict(install=my_install), - include_package_data=True, - classifiers=[ - 'Development Status :: 6 - Mature', - 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: BSD License', - 'Operating System :: OS Independent', - 'Programming Language :: Python', - 'Programming Language :: Python :: Implementation :: CPython', - 'Topic :: Scientific/Engineering :: Visualization' - ] +setup( + name=DISTNAME, + description=DESCRIPTION, + long_description=LONG_DESCRIPTION, + long_description_content_type="text/markdown", + author=AUTHOR, + author_email=AUTHOR_EMAIL, + license=LICENSE, + url=URL, + download_url=DOWNLOAD_URL, + packages=[ + "cortex", + "cortex.webgl", + "cortex.mapper", + "cortex.dataset", + "cortex.blender", + "cortex.tests", + "cortex.quickflat", + "cortex.polyutils", + "cortex.export", + ], + data_files=data_files, + ext_modules=cythonize([ctm, formats]), + package_data={ + "cortex": ["svgbase.xml", "defaults.cfg", "bbr.sch", "data/*.npz"], + "cortex.webgl": [ + "*.html", + "favicon.ico", + "resources/js/*.js", + "resources/js/ctm/*.js", + "resources/css/*.css", + "resources/css/images/*", + "resources/css/ui-lightness/*.css", + "resources/css/ui-lightness/images/*", + "resources/images/*", + ], + }, + setup_requires=["Cython", "numpy"], + install_requires=INSTALL_REQUIRES, + # Don't use `extras_require` here. Put them in pyproject.toml . + cmdclass=dict(install=my_install), + include_package_data=True, + classifiers=[ + "Development Status :: 6 - Mature", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: Implementation :: CPython", + "Topic :: Scientific/Engineering :: Visualization", + ], ) From 38bdc63c3c4adff534a0dad51f557eec4b17a66c Mon Sep 17 00:00:00 2001 From: Matteo Visconti di Oleggio Castello Date: Wed, 8 Jul 2026 10:13:12 -0700 Subject: [PATCH 2/2] Address Gemini review: type checks, float32, hemi-split, npz str paths - get_cifti_vertex_indices/to_fsaverage: raise TypeError for non-path, non-Cifti2Image inputs instead of a cryptic FileNotFoundError. - get_cifti_vertex_indices: tolerate hemispherically split CIFTI files by returning an empty index array for a missing hemisphere. - project_fslr_to_fsaverage: preserve float32 input precision instead of forcing float64 (halves memory for timeseries). - get_fslr_to_fsaverage_matrix: pass str paths to load_npz/save_npz for older SciPy compatibility. - _project_hemi: drop the redundant np.abs on the non-negative weight matrix. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_019z37ML4wsmosg5Xvvq6ENN --- cortex/hcp.py | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/cortex/hcp.py b/cortex/hcp.py index f3136c91a..f7093c07c 100644 --- a/cortex/hcp.py +++ b/cortex/hcp.py @@ -212,8 +212,10 @@ def get_cifti_vertex_indices(cifti): right_indices : ndarray, shape (n_right,) Same for the right cortex. """ - if not isinstance(cifti, nib.Cifti2Image): + if isinstance(cifti, (str, Path)): cifti = nib.load(str(cifti)) + if not isinstance(cifti, nib.Cifti2Image): + raise TypeError("cifti must be a Cifti2Image or a path to a CIFTI-2 file.") # Find the brain-model axis (the one carrying the grayordinate structures). bm_axis = None @@ -231,9 +233,13 @@ def get_cifti_vertex_indices(cifti): indices["L"] = np.asarray(model.vertex) elif name == "CIFTI_STRUCTURE_CORTEX_RIGHT": indices["R"] = np.asarray(model.vertex) - if "L" not in indices or "R" not in indices: - raise ValueError("CIFTI file is missing a left and/or right cortex structure.") - return indices["L"], indices["R"] + if "L" not in indices and "R" not in indices: + raise ValueError("CIFTI file is missing both left and right cortex structures.") + # Tolerate hemispherically split files: a missing hemisphere is an empty + # index set, which cifti_to_surface / project_fslr_to_fsaverage handle by + # leaving that hemisphere as NaN. + empty = np.array([], dtype=np.int64) + return indices.get("L", empty), indices.get("R", empty) def cifti_to_surface(data, left_indices, right_indices): @@ -459,7 +465,7 @@ def get_fslr_to_fsaverage_matrix(hemi, target="fsaverage6", cache_dir=None, cach cache_path = cache_dir / "mappers" / f"{hemi}_fs_LR_32k_to_{target}.npz" if cache and cache_path.exists(): logger.info("Loading cached matrix from %s", cache_path) - return load_npz(cache_path) + return load_npz(str(cache_path)) src_sphere = ensure_sphere_files("fs_LR_32k", hemi, cache_dir=cache_dir) tgt_sphere = ensure_sphere_files(target, hemi, cache_dir=cache_dir) @@ -467,7 +473,7 @@ def get_fslr_to_fsaverage_matrix(hemi, target="fsaverage6", cache_dir=None, cach if cache: cache_path.parent.mkdir(parents=True, exist_ok=True) - save_npz(cache_path, matrix) + save_npz(str(cache_path), matrix) logger.info("Saved matrix to %s", cache_path) return matrix @@ -483,8 +489,9 @@ def _project_hemi(matrix, hemi_data, nanmean): hemi_clean = np.where(nan_mask, 0.0, hemi_data) projected = (matrix @ hemi_clean.T).T - # Weight actually contributed by valid (non-NaN) source vertices. - valid_weight = (np.abs(matrix) @ (~nan_mask).astype(np.float64).T).T + # Weight actually contributed by valid (non-NaN) source vertices. Matrix + # weights are non-negative (barycentric weights / unit fallback), so no abs. + valid_weight = (matrix @ (~nan_mask).astype(np.float64).T).T all_nan = valid_weight < 1e-10 if nanmean: with np.errstate(invalid="ignore", divide="ignore"): @@ -524,7 +531,11 @@ def project_fslr_to_fsaverage( Data on the target surface. Medial-wall and all-NaN-source vertices are NaN; apply ``numpy.nan_to_num`` before handing to pycortex if needed. """ - data = np.asarray(data, dtype=np.float64) + data = np.asarray(data) + # Preserve the input's floating precision (float32 timeseries are common and + # large); only integer inputs are promoted, to float32. + out_dtype = data.dtype if np.issubdtype(data.dtype, np.floating) else np.float32 + data = data.astype(out_dtype, copy=False) squeeze = data.ndim == 1 if squeeze: data = data[np.newaxis, :] @@ -540,7 +551,7 @@ def project_fslr_to_fsaverage( ) n_tgt_hemi = N_VERTICES_TARGET_HEM[matrix_target] - result = np.full((data.shape[0], 2 * n_tgt_hemi), np.nan, dtype=np.float64) + result = np.full((data.shape[0], 2 * n_tgt_hemi), np.nan, dtype=out_dtype) for ih, hemi in enumerate(("L", "R")): src_sl = slice( ih * N_VERTICES_FS_LR_32K_HEM, (ih + 1) * N_VERTICES_FS_LR_32K_HEM @@ -589,8 +600,10 @@ def to_fsaverage( projected : ndarray CIFTI data on the target fsaverage surface (NaN medial wall). """ - if not isinstance(cifti, nib.Cifti2Image): + if isinstance(cifti, (str, Path)): cifti = nib.load(str(cifti)) + if not isinstance(cifti, nib.Cifti2Image): + raise TypeError("cifti must be a Cifti2Image or a path to a CIFTI-2 file.") left_indices, right_indices = get_cifti_vertex_indices(cifti) # CIFTI grayordinate axis is the last axis. A single-map file (e.g. a # one-column dscalar) is squeezed to a single surface map for convenience;