With 32 footprints within 270 um (45 px), 150 grid points qualify and 18 (12%) are significant at Benjamini-Hochberg 5%, with scores of 0.112 to 0.187 (range 0.075, where the criterion asks for 0.05). Scores over all points 0.068 to 0.187, median 0.125, against null means of 0.065 to 0.123. The outcome depends on the solver. With 10 passes of SGD, as in round 1, on the same points and seeds, 1 point is significant and the criterion is not met; at four points SGD stops at objectives of 19.8 to 68.9 where the exact solver reaches 1.976 to 2.000, close to the 2.0 of predicting every class absent, so the scores rest on weak classifiers. liblinear reached its limit of 10,000 iterations in 2268 of 3000 fits. Null standard deviations per point 0.018 to 0.046 (5th to 95th percentile) from 10 shifted decoders; a point alone needs z above 3.40, and the smallest z among the significant points is 2.53. A Welch t-test of the 10 real against the 10 shifted decoders marks 80 points significant (range 0.079), and 5 with SGD (range 0.052). With the code's 64 footprints within 50 px, on a 60 px grid, 22 of 34 points are significant (scores 0.141 to 0.211, range 0.070), and 32 with the t-test. The exact fits stop at an iteration limit, so the counts can differ slightly between machines.
How the test differed from the paper’s method
- The legend says 32 footprints within 270 um; the code uses 64 within 50 pixels. The legend is followed for the outcome and the code's choice is shown as a variant.
- The paper does not describe its significance test. Here, 10 decoders and 10 shifted-label decoders per point and a one-sided z-test, chosen before the analysis.
- Local decoders are fit by liblinear (LinearSVC) on the same objective, as MATLAB's default for 100 or fewer predictors is BFGS run to convergence; liblinear also penalizes the intercept, weakly. Round 1 used 10 passes of SGD here, which is shown as a variant.
- A 30 pixel grid where the code uses 5 pixels; all 2948 footprints in place of 2382; position as for fig2-quadrant-direction-decoding.
- The code's variant is run on a 60 pixel grid where the criterion says 40; on the 40 pixel grid the notebook took 32 minutes on four cores, over the 30 minute limit.