Commit c4adf47
authored
[ENH] make ALE/FWE faster (#999)
* make ALE faster
jit the approximate-null histogram update
change monte carlo/FWE permutation to pass around precomputed ijk voxel indices instead of doing xyz->ijk each iteration
* change the null-approximate calculation:
�[200~kept the simple per-study loop and removed the slower “all-in-one” compiled histogram path
replaced int(np.floor(...)) with direct truncation for nonnegative binning in _study_ma_histogram and _update_ale_histogram
normalized study histograms with a precomputed reciprocal instead of exp_hist.sum()
stopped forcing extra per-study float64 and astype(...) copies before histogram merging~
* style fix and test
* fix style
* fix style
* fix outdated comments and add edge case tests
* fix style1 parent bdc6a0b commit c4adf47
5 files changed
Lines changed: 215 additions & 50 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
69 | 111 | | |
70 | 112 | | |
71 | 113 | | |
| |||
345 | 387 | | |
346 | 388 | | |
347 | 389 | | |
348 | | - | |
349 | | - | |
| 390 | + | |
| 391 | + | |
350 | 392 | | |
351 | 393 | | |
352 | | - | |
353 | | - | |
354 | | - | |
| 394 | + | |
| 395 | + | |
355 | 396 | | |
356 | 397 | | |
357 | 398 | | |
358 | 399 | | |
359 | 400 | | |
| 401 | + | |
360 | 402 | | |
361 | 403 | | |
362 | 404 | | |
| |||
365 | 407 | | |
366 | 408 | | |
367 | 409 | | |
368 | | - | |
369 | | - | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
370 | 416 | | |
371 | | - | |
372 | | - | |
373 | 417 | | |
374 | 418 | | |
375 | 419 | | |
376 | 420 | | |
377 | 421 | | |
378 | | - | |
379 | 422 | | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
385 | 433 | | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
| 434 | + | |
394 | 435 | | |
395 | 436 | | |
396 | 437 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | 31 | | |
33 | 32 | | |
34 | 33 | | |
| |||
590 | 589 | | |
591 | 590 | | |
592 | 591 | | |
593 | | - | |
| 592 | + | |
594 | 593 | | |
595 | 594 | | |
596 | 595 | | |
| |||
610 | 609 | | |
611 | 610 | | |
612 | 611 | | |
613 | | - | |
614 | | - | |
| 612 | + | |
| 613 | + | |
615 | 614 | | |
616 | 615 | | |
617 | 616 | | |
| |||
655 | 654 | | |
656 | 655 | | |
657 | 656 | | |
658 | | - | |
659 | | - | |
660 | | - | |
| 657 | + | |
| 658 | + | |
661 | 659 | | |
662 | 660 | | |
663 | 661 | | |
| |||
669 | 667 | | |
670 | 668 | | |
671 | 669 | | |
672 | | - | |
| 670 | + | |
673 | 671 | | |
674 | 672 | | |
675 | 673 | | |
| |||
693 | 691 | | |
694 | 692 | | |
695 | 693 | | |
696 | | - | |
| 694 | + | |
697 | 695 | | |
698 | 696 | | |
699 | 697 | | |
| |||
705 | 703 | | |
706 | 704 | | |
707 | 705 | | |
708 | | - | |
709 | | - | |
710 | | - | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
711 | 709 | | |
712 | 710 | | |
713 | 711 | | |
| |||
727 | 725 | | |
728 | 726 | | |
729 | 727 | | |
730 | | - | |
731 | | - | |
| 728 | + | |
| 729 | + | |
732 | 730 | | |
733 | 731 | | |
734 | 732 | | |
| |||
864 | 862 | | |
865 | 863 | | |
866 | 864 | | |
867 | | - | |
868 | | - | |
869 | | - | |
870 | | - | |
| 865 | + | |
871 | 866 | | |
872 | 867 | | |
873 | 868 | | |
874 | 869 | | |
875 | 870 | | |
876 | 871 | | |
877 | 872 | | |
878 | | - | |
| 873 | + | |
879 | 874 | | |
880 | 875 | | |
881 | | - | |
882 | | - | |
883 | | - | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
884 | 881 | | |
885 | 882 | | |
886 | 883 | | |
| |||
890 | 887 | | |
891 | 888 | | |
892 | 889 | | |
893 | | - | |
| 890 | + | |
894 | 891 | | |
895 | 892 | | |
896 | 893 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
154 | 157 | | |
155 | 158 | | |
156 | 159 | | |
| |||
195 | 198 | | |
196 | 199 | | |
197 | 200 | | |
198 | | - | |
| 201 | + | |
199 | 202 | | |
200 | | - | |
201 | | - | |
202 | | - | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
203 | 207 | | |
204 | 208 | | |
205 | 209 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
115 | 147 | | |
116 | 148 | | |
117 | 149 | | |
| |||
374 | 406 | | |
375 | 407 | | |
376 | 408 | | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
377 | 472 | | |
378 | 473 | | |
379 | 474 | | |
| |||
0 commit comments