Individual-level correlations
Shifted from pooled group-level scatter plots to a per-patient zone-stratified correlation framework, following Balu’s feedback that pooling across patients diffuses findings due to inter-patient variability.
Computed Spearman ρ per patient × band × MRF column × condition, stratified by zone (EZ / NIZ / ALL contacts).
viewof patient = Inputs. select ([2 , 5 , 6 , 7 , 9 , 10 , 11 , 13 ], { label : "Patient (ith#)" })
viewof subset = Inputs. radio (["t1_raw" , "t1_vep" , "t2_raw" , "t2_vep" ], {
label : "MRF type" ,
format : x => ({ t1_raw : "T1 Raw" , t1_vep : "T1 VEP z-score" , t2_raw : "T2 Raw" , t2_vep : "T2 VEP z-score" })[x],
value : "t1_raw"
})
fig_date = "2026-05-26"
img_path = `../media/heatmap_ ${ subset} _ith ${ patient} _ ${ fig_date} .png`
html `<div style="text-align:center; margin-top: 1rem;">
<img src=" ${ img_path} "
style="max-width:100%; border: 1px solid #e0e0e0; border-radius: 4px;"
onerror="this.style.display='none'; document.getElementById('fig-missing- ${ patient} - ${ subset} ').style.display='block'"/>
<div id="fig-missing- ${ patient} - ${ subset} " style="display:none; color:#888; margin-top:1rem;">
Figure not found: ${ img_path}
</div>
<div style="margin-top:0.5rem; font-size:0.8rem; color:#999;"> ${ img_path} </div>
</div>`
Because of the small number of electrode contacts for the EZ contacts, we have artificially inflated correlations.
Example scatterplots
As an example, I generated the actual scatterplots for patient ith11 below:
viewof mrf_type = Inputs. radio (["T1" , "T2" ], { label : "MRF type" , value : "T1" })
viewof norm = Inputs. radio (["raw" , "vep" ], {
label : "Normalization" ,
format : x => ({ raw : "Raw" , vep : "VEP z-score" })[x],
value : "raw"
})
viewof tissue = Inputs. radio (["whole" , "gm" , "wm" ], {
label : "Tissue" ,
format : x => ({ whole : "Whole contact" , gm : "GM only" , wm : "WM only" })[x],
value : "whole"
})
viewof band = Inputs. select (
["delta" , "theta" , "alpha" , "beta" , "gamma" , "high_gamma" ],
{
label : "Frequency band" ,
format : x => ({
delta : "δ (0.5–4 Hz)" ,
theta : "θ (4–8 Hz)" ,
alpha : "α (8–13 Hz)" ,
beta : "β (13–30 Hz)" ,
gamma : "γ (30–80 Hz)" ,
high_gamma : "hγ (80–150 Hz)"
})[x],
value : "beta"
}
)
scatter_date = "2026-05-26"
scatter_path = `../media/scatter_ith11_ ${ mrf_type. toLowerCase ()} _ ${ norm} _ ${ tissue} _ ${ band} _ ${ scatter_date} .png`
html `<div style="text-align:center; margin-top: 1rem;">
<img src=" ${ scatter_path} "
style="max-width:480px; width:100%; border: 1px solid #e0e0e0; border-radius: 4px;"
onerror="this.style.display='none'; document.getElementById('scatter-missing').style.display='block'"/>
<div id="scatter-missing" style="display:none; color:#888; margin-top:1rem;">
Figure not found: ${ scatter_path}
</div>
<div style="margin-top:0.5rem; font-size:0.8rem; color:#999;"> ${ scatter_path} </div>
</div>`
Again, I think the main takeaway for me is that the scatterplots look like a “cloud” without a clear pattern…