diff --git a/.gitattributes b/.gitattributes index 4800eaa4e0e5cd6eaed10769361e8cba3e4d821e..9a8a43fef49cea511285e1125ff87a29091884e9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -36,3 +36,9 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text assets/fig_architecture.png filter=lfs diff=lfs merge=lfs -text assets/fig_cases_conflict.png filter=lfs diff=lfs merge=lfs -text assets/fig_cases_tumor.png filter=lfs diff=lfs merge=lfs -text +assets/page/gallery/brisc2025_test_00881_pi_co_t1__stageB_v2_seed42.png filter=lfs diff=lfs merge=lfs -text +assets/page/gallery/brisc2025_test_00881_pi_co_t1__unet_r34_seed42.png filter=lfs diff=lfs merge=lfs -text +assets/page/gallery/brisc2025_test_00969_pi_sa_t1__input.png filter=lfs diff=lfs merge=lfs -text +assets/page/gallery/brisc2025_test_00969_pi_sa_t1__stageB_v2_seed42.png filter=lfs diff=lfs merge=lfs -text +assets/page/gallery/brisc2025_test_00969_pi_sa_t1__unet_r34_seed42.png filter=lfs diff=lfs merge=lfs -text +assets/page/gallery/brisc2025_test_00969_pi_sa_t1__zeroshot.png filter=lfs diff=lfs merge=lfs -text diff --git a/assets/fig_architecture.png b/assets/fig_architecture.png deleted file mode 100644 index 817c9f4f086264e9d9376db4e5022a92a0a40535..0000000000000000000000000000000000000000 --- a/assets/fig_architecture.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6569b4881c1685b8eaaed1c71038d237a41664e2462f6b43f155620e0a520fae -size 106722 diff --git a/assets/fig_cases_conflict.png b/assets/fig_cases_conflict.png deleted file mode 100644 index b419e58774b1c7bc516ad7f681d960958ac37a76..0000000000000000000000000000000000000000 --- a/assets/fig_cases_conflict.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cc84d40230199721c7cc8d84617017e4b46f9653849c6894dc1a14fc0ed2091c -size 329290 diff --git a/assets/fig_cases_tumor.png b/assets/fig_cases_tumor.png deleted file mode 100644 index d4263d05072d948168564cbb5240ed351217589c..0000000000000000000000000000000000000000 --- a/assets/fig_cases_tumor.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6a84f19d304f0741237a5bd01c2eb40d92b90460e890ccfbde6ee585d161a56b -size 359814 diff --git a/assets/fig_results.png b/assets/fig_results.png deleted file mode 100644 index 3a5c0b37e4a5314eb6414a119f861bee11b9d0fb..0000000000000000000000000000000000000000 Binary files a/assets/fig_results.png and /dev/null differ diff --git a/assets/fig_stages.png b/assets/fig_stages.png deleted file mode 100644 index e816e259a0ee891d3ffde33560dd23b08c22cbdc..0000000000000000000000000000000000000000 Binary files a/assets/fig_stages.png and /dev/null differ diff --git a/assets/page/confidence.png b/assets/page/confidence.png new file mode 100644 index 0000000000000000000000000000000000000000..83ad9acdf2cae46de97729639e901877dad675db Binary files /dev/null and b/assets/page/confidence.png differ diff --git a/assets/page/confusion.png b/assets/page/confusion.png new file mode 100644 index 0000000000000000000000000000000000000000..61e689ed6d00993eb1ef2d42b37adbfd2888c1d7 Binary files /dev/null and b/assets/page/confusion.png differ diff --git a/assets/page/demo/brisc2025_test_00035_gl_ax_t1_answer.png b/assets/page/demo/brisc2025_test_00035_gl_ax_t1_answer.png new file mode 100644 index 0000000000000000000000000000000000000000..97b8b94cf111a6b4d62df2ce37512de32b23dc48 Binary files /dev/null and b/assets/page/demo/brisc2025_test_00035_gl_ax_t1_answer.png differ diff --git a/assets/page/demo/brisc2025_test_00035_gl_ax_t1_input.png b/assets/page/demo/brisc2025_test_00035_gl_ax_t1_input.png new file mode 100644 index 0000000000000000000000000000000000000000..d865d09bcfaf3056aa521b5f1314510f43ed1b54 Binary files /dev/null and b/assets/page/demo/brisc2025_test_00035_gl_ax_t1_input.png differ diff --git a/assets/page/demo/brisc2025_test_00508_me_sa_t1_answer.png b/assets/page/demo/brisc2025_test_00508_me_sa_t1_answer.png new file mode 100644 index 0000000000000000000000000000000000000000..feed12d0982ca3ac985e8f6e6a506a3dd98333c6 Binary files /dev/null and b/assets/page/demo/brisc2025_test_00508_me_sa_t1_answer.png differ diff --git a/assets/page/demo/brisc2025_test_00508_me_sa_t1_input.png b/assets/page/demo/brisc2025_test_00508_me_sa_t1_input.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c78773b04bd210787546ed223f84174f9f5d64 Binary files /dev/null and b/assets/page/demo/brisc2025_test_00508_me_sa_t1_input.png differ diff --git a/assets/page/demo/brisc2025_test_00641_no_co_t1_answer.png b/assets/page/demo/brisc2025_test_00641_no_co_t1_answer.png new file mode 100644 index 0000000000000000000000000000000000000000..6469025813fa96b637949f337e900d58d4d8e5d7 Binary files /dev/null and b/assets/page/demo/brisc2025_test_00641_no_co_t1_answer.png differ diff --git a/assets/page/demo/brisc2025_test_00641_no_co_t1_input.png b/assets/page/demo/brisc2025_test_00641_no_co_t1_input.png new file mode 100644 index 0000000000000000000000000000000000000000..6469025813fa96b637949f337e900d58d4d8e5d7 Binary files /dev/null and b/assets/page/demo/brisc2025_test_00641_no_co_t1_input.png differ diff --git a/assets/page/demo/brisc2025_test_00833_pi_co_t1_answer.png b/assets/page/demo/brisc2025_test_00833_pi_co_t1_answer.png new file mode 100644 index 0000000000000000000000000000000000000000..5dfec23938875e5a38c124caa8017f925b54a2ca Binary files /dev/null and b/assets/page/demo/brisc2025_test_00833_pi_co_t1_answer.png differ diff --git a/assets/page/demo/brisc2025_test_00833_pi_co_t1_input.png b/assets/page/demo/brisc2025_test_00833_pi_co_t1_input.png new file mode 100644 index 0000000000000000000000000000000000000000..d7ac8d6de008d9a5cf7228a96913740e0e020a6c Binary files /dev/null and b/assets/page/demo/brisc2025_test_00833_pi_co_t1_input.png differ diff --git a/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__input.png b/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__input.png new file mode 100644 index 0000000000000000000000000000000000000000..08b9e61fe42b72139e9116b7d7d85a73ddc386bb Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__input.png differ diff --git a/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__stageB_v2_seed42.png b/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__stageB_v2_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..4b4c0eb19dee4ffe4db87bbb6ea3c431cd38eeda Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__stageB_v2_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__unet_r34_seed42.png b/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__unet_r34_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..3bdee952bec653deea26e409c4907ea43894a929 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__unet_r34_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__zeroshot.png b/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__zeroshot.png new file mode 100644 index 0000000000000000000000000000000000000000..ccebdbe6f5f1d55b2ea8426ae05b37c21924b212 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00001_gl_ax_t1__zeroshot.png differ diff --git a/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__input.png b/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__input.png new file mode 100644 index 0000000000000000000000000000000000000000..a519349fca769c4c5eeff075bcbabca22d8c66ec Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__input.png differ diff --git a/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__stageB_v2_seed42.png b/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__stageB_v2_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..67b732f43df31c14146be47ba3b13ec6bf0f42ed Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__stageB_v2_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__unet_r34_seed42.png b/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__unet_r34_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..862dab97a174f2cb636a73ca2860772b8be313bd Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__unet_r34_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__zeroshot.png b/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__zeroshot.png new file mode 100644 index 0000000000000000000000000000000000000000..b955e7ad226647f498f55581fb88032139aa8d0d Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00013_gl_ax_t1__zeroshot.png differ diff --git a/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__input.png b/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__input.png new file mode 100644 index 0000000000000000000000000000000000000000..8f2803ef348cda643e34265fd62110011f00f2be Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__input.png differ diff --git a/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__stageB_v2_seed42.png b/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__stageB_v2_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..23b6a944fe43725f461bae9b3058e356f02cdb11 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__stageB_v2_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__unet_r34_seed42.png b/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__unet_r34_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..d23f4fddf6a96c677bd7db15bbbe00b7f6e3fbe4 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__unet_r34_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__zeroshot.png b/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__zeroshot.png new file mode 100644 index 0000000000000000000000000000000000000000..e849a5d4da0c3b309dd91c924b8484bbaebbcce3 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00042_gl_ax_t1__zeroshot.png differ diff --git a/assets/page/gallery/brisc2025_test_00356_me_ax_t1__input.png b/assets/page/gallery/brisc2025_test_00356_me_ax_t1__input.png new file mode 100644 index 0000000000000000000000000000000000000000..b46fd07d3851a5dd2b28e4b0333187976306b7b1 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00356_me_ax_t1__input.png differ diff --git a/assets/page/gallery/brisc2025_test_00356_me_ax_t1__stageB_v2_seed42.png b/assets/page/gallery/brisc2025_test_00356_me_ax_t1__stageB_v2_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a5a701ffa8773d46ec8fa8caedea5c37de25cc Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00356_me_ax_t1__stageB_v2_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00356_me_ax_t1__unet_r34_seed42.png b/assets/page/gallery/brisc2025_test_00356_me_ax_t1__unet_r34_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..09b49c9db71c8b5b277714d2c87b2810f56d1ca5 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00356_me_ax_t1__unet_r34_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00356_me_ax_t1__zeroshot.png b/assets/page/gallery/brisc2025_test_00356_me_ax_t1__zeroshot.png new file mode 100644 index 0000000000000000000000000000000000000000..78f02740b6fa43963794b8ec0d84bdbc215a3853 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00356_me_ax_t1__zeroshot.png differ diff --git a/assets/page/gallery/brisc2025_test_00363_me_ax_t1__input.png b/assets/page/gallery/brisc2025_test_00363_me_ax_t1__input.png new file mode 100644 index 0000000000000000000000000000000000000000..db0ca67ab50da7608ebcdf254c00455931044e87 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00363_me_ax_t1__input.png differ diff --git a/assets/page/gallery/brisc2025_test_00363_me_ax_t1__stageB_v2_seed42.png b/assets/page/gallery/brisc2025_test_00363_me_ax_t1__stageB_v2_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..093346260780cd4322b0a4ddd7e82bdb676280bc Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00363_me_ax_t1__stageB_v2_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00363_me_ax_t1__unet_r34_seed42.png b/assets/page/gallery/brisc2025_test_00363_me_ax_t1__unet_r34_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..e7090532800471798b4e071cd6e2960bcfe6b1db Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00363_me_ax_t1__unet_r34_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00363_me_ax_t1__zeroshot.png b/assets/page/gallery/brisc2025_test_00363_me_ax_t1__zeroshot.png new file mode 100644 index 0000000000000000000000000000000000000000..3895e1ada4adb584bee3625b054a88a307e8bc57 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00363_me_ax_t1__zeroshot.png differ diff --git a/assets/page/gallery/brisc2025_test_00372_me_ax_t1__input.png b/assets/page/gallery/brisc2025_test_00372_me_ax_t1__input.png new file mode 100644 index 0000000000000000000000000000000000000000..20c0b7c0d4c866e83ff6c60c6d97bdbeb4c57471 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00372_me_ax_t1__input.png differ diff --git a/assets/page/gallery/brisc2025_test_00372_me_ax_t1__stageB_v2_seed42.png b/assets/page/gallery/brisc2025_test_00372_me_ax_t1__stageB_v2_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..e81938dd8214e9d8fdeb4693f2811c22e56ac9cd Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00372_me_ax_t1__stageB_v2_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00372_me_ax_t1__unet_r34_seed42.png b/assets/page/gallery/brisc2025_test_00372_me_ax_t1__unet_r34_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..1e9e1072f5c43f0d2f4e9fb003de04278ce2b631 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00372_me_ax_t1__unet_r34_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00372_me_ax_t1__zeroshot.png b/assets/page/gallery/brisc2025_test_00372_me_ax_t1__zeroshot.png new file mode 100644 index 0000000000000000000000000000000000000000..b634bd94b77f768c3569094b72bb4161a94f37b5 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00372_me_ax_t1__zeroshot.png differ diff --git a/assets/page/gallery/brisc2025_test_00590_no_ax_t1__input.png b/assets/page/gallery/brisc2025_test_00590_no_ax_t1__input.png new file mode 100644 index 0000000000000000000000000000000000000000..7592bffe0763bab8add242c6a6313814581cd4e2 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00590_no_ax_t1__input.png differ diff --git a/assets/page/gallery/brisc2025_test_00590_no_ax_t1__stageB_v2_seed42.png b/assets/page/gallery/brisc2025_test_00590_no_ax_t1__stageB_v2_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..7592bffe0763bab8add242c6a6313814581cd4e2 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00590_no_ax_t1__stageB_v2_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00590_no_ax_t1__unet_r34_seed42.png b/assets/page/gallery/brisc2025_test_00590_no_ax_t1__unet_r34_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..d0cfd23b330455b3e1ca794506a1b028eca6009e Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00590_no_ax_t1__unet_r34_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00590_no_ax_t1__zeroshot.png b/assets/page/gallery/brisc2025_test_00590_no_ax_t1__zeroshot.png new file mode 100644 index 0000000000000000000000000000000000000000..93dc0c3e94cc29b385c5c8393c4106202cfc69a9 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00590_no_ax_t1__zeroshot.png differ diff --git a/assets/page/gallery/brisc2025_test_00673_no_sa_t1__input.png b/assets/page/gallery/brisc2025_test_00673_no_sa_t1__input.png new file mode 100644 index 0000000000000000000000000000000000000000..28c00d3e3f334c0025564fb8bc102bf6b90e77f8 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00673_no_sa_t1__input.png differ diff --git a/assets/page/gallery/brisc2025_test_00673_no_sa_t1__stageB_v2_seed42.png b/assets/page/gallery/brisc2025_test_00673_no_sa_t1__stageB_v2_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..28c00d3e3f334c0025564fb8bc102bf6b90e77f8 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00673_no_sa_t1__stageB_v2_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00673_no_sa_t1__unet_r34_seed42.png b/assets/page/gallery/brisc2025_test_00673_no_sa_t1__unet_r34_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..632bc0e9072fa6d1f9ef662061fe41d9302b0660 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00673_no_sa_t1__unet_r34_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00673_no_sa_t1__zeroshot.png b/assets/page/gallery/brisc2025_test_00673_no_sa_t1__zeroshot.png new file mode 100644 index 0000000000000000000000000000000000000000..f18731ee60e7cbc39f288e0e24fe120a19abec58 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00673_no_sa_t1__zeroshot.png differ diff --git a/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__input.png b/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__input.png new file mode 100644 index 0000000000000000000000000000000000000000..6c59ca5875742d0f8281265c0f88aff9094a67ed Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__input.png differ diff --git a/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__stageB_v2_seed42.png b/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__stageB_v2_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..e79c7988ec0649fe195b2e85a947b26117c4089c Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__stageB_v2_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__unet_r34_seed42.png b/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__unet_r34_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..75786b7a7e8deca7c43a71d77728ebcb407a63dd Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__unet_r34_seed42.png differ diff --git a/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__zeroshot.png b/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__zeroshot.png new file mode 100644 index 0000000000000000000000000000000000000000..834af269b1a3b3ded16e9b0c057fc7dd60c8d203 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00820_pi_ax_t1__zeroshot.png differ diff --git a/assets/page/gallery/brisc2025_test_00881_pi_co_t1__input.png b/assets/page/gallery/brisc2025_test_00881_pi_co_t1__input.png new file mode 100644 index 0000000000000000000000000000000000000000..913740a85cf293ec0485a6d1c0d984742d5f6fc2 Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00881_pi_co_t1__input.png differ diff --git a/assets/page/gallery/brisc2025_test_00881_pi_co_t1__stageB_v2_seed42.png b/assets/page/gallery/brisc2025_test_00881_pi_co_t1__stageB_v2_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..26132cdb2a365c291d8a0ef159c36235a7e0c65c --- /dev/null +++ b/assets/page/gallery/brisc2025_test_00881_pi_co_t1__stageB_v2_seed42.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21889be670b2ee4b2c5f2bdf4429a877bc86c9f23d22726fd33ef3aeff894285 +size 100684 diff --git a/assets/page/gallery/brisc2025_test_00881_pi_co_t1__unet_r34_seed42.png b/assets/page/gallery/brisc2025_test_00881_pi_co_t1__unet_r34_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..8d3e41bd42a10734cfc5bb6f882a7a89c8cf8043 --- /dev/null +++ b/assets/page/gallery/brisc2025_test_00881_pi_co_t1__unet_r34_seed42.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d12b080048546e0bed0c740d1e4af1a5e490039c06a086fe02da953f796fc3ba +size 100625 diff --git a/assets/page/gallery/brisc2025_test_00881_pi_co_t1__zeroshot.png b/assets/page/gallery/brisc2025_test_00881_pi_co_t1__zeroshot.png new file mode 100644 index 0000000000000000000000000000000000000000..ba45db11350207b25f1f842d9a0d0569caf613cc Binary files /dev/null and b/assets/page/gallery/brisc2025_test_00881_pi_co_t1__zeroshot.png differ diff --git a/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__input.png b/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__input.png new file mode 100644 index 0000000000000000000000000000000000000000..374774fbeddd5120b849248de75c2f131e2f2248 --- /dev/null +++ b/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__input.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c970c5ba9d2d52a8c84e17e9ca9b25b8d9a135b14ce22ab3799afe2440a587a2 +size 105753 diff --git a/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__stageB_v2_seed42.png b/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__stageB_v2_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..2fd9d47ce5a69cd66e88ac1feaa0a374a1cff8e2 --- /dev/null +++ b/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__stageB_v2_seed42.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd700aeef5c281676a6abc83da299f3ac99732bc14c37fc4961e409a60eed95f +size 106660 diff --git a/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__unet_r34_seed42.png b/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__unet_r34_seed42.png new file mode 100644 index 0000000000000000000000000000000000000000..dc8987a2fc7a677b22ce4512f9e3333278e0c6b2 --- /dev/null +++ b/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__unet_r34_seed42.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63336d336dbe263b95f0a2df233f007079a6c97d6e10b1d382954efc0bd1d94e +size 106741 diff --git a/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__zeroshot.png b/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__zeroshot.png new file mode 100644 index 0000000000000000000000000000000000000000..62c446c9e5f490f4d2f00803ab48aa5b551fe66b --- /dev/null +++ b/assets/page/gallery/brisc2025_test_00969_pi_sa_t1__zeroshot.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14847a728fb8fcd6eb2af4ee201c0ae767210e9f83070548f21966bf97896bd8 +size 108534 diff --git a/assets/page/page_data.json b/assets/page/page_data.json new file mode 100644 index 0000000000000000000000000000000000000000..3cea70a006a275ed13897ca7fd98d5fd09ddf3a1 --- /dev/null +++ b/assets/page/page_data.json @@ -0,0 +1,394 @@ +{ + "training": { + "minutes": 124.0, + "peak_mem_gb": 26.6, + "ce_first": 0.494, + "ce_last": 0.0041, + "dice_first": 0.435, + "dice_last": 0.085 + }, + "confusion": { + "zeroshot": [ + [ + 0, + 248, + 6, + 0 + ], + [ + 0, + 291, + 15, + 0 + ], + [ + 0, + 297, + 3, + 0 + ], + [ + 0, + 81, + 59, + 0 + ] + ], + "stageB_v2_seed42": [ + [ + 245, + 6, + 3, + 0 + ], + [ + 4, + 297, + 5, + 0 + ], + [ + 1, + 1, + 298, + 0 + ], + [ + 0, + 0, + 0, + 140 + ] + ] + }, + "confidence": { + "median_conf_correct": 0.9997, + "mean_conf_wrong": 0.782, + "coverage_099": 0.843, + "acc_099": 0.9988, + "errors_099": 1, + "ece": 0.0086 + }, + "demo": [ + { + "id": "brisc2025_test_00035_gl_ax_t1", + "true": "glioma", + "pred": "glioma", + "ll": [ + -0.0, + -16.13, + -13.69, + -18.67 + ], + "prob": [ + 1.0, + 0.0, + 0.0, + 0.0 + ], + "dice": 0.933, + "mask": true + }, + { + "id": "brisc2025_test_00508_me_sa_t1", + "true": "meningioma", + "pred": "meningioma", + "ll": [ + -12.06, + -0.0, + -9.13, + -17.38 + ], + "prob": [ + 0.0, + 0.9999, + 0.0001, + 0.0 + ], + "dice": 0.966, + "mask": true + }, + { + "id": "brisc2025_test_00833_pi_co_t1", + "true": "pituitary", + "pred": "pituitary", + "ll": [ + -3.47, + -6.85, + -0.03, + -9.66 + ], + "prob": [ + 0.0311, + 0.0011, + 0.9678, + 0.0001 + ], + "dice": 0.952, + "mask": true + }, + { + "id": "brisc2025_test_00641_no_co_t1", + "true": "non_tumorous", + "pred": "non_tumorous", + "ll": [ + -12.09, + -11.19, + -12.66, + -0.0 + ], + "prob": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "dice": 1.0, + "mask": false + } + ], + "gallery": [ + { + "id": "brisc2025_test_00013_gl_ax_t1", + "class": "glioma", + "role": "Best", + "models": { + "zeroshot": { + "pred": "meningioma", + "dice": 0.124, + "mask": true + }, + "unet_r34_seed42": { + "pred": "glioma", + "dice": 0.983, + "mask": true + }, + "stageB_v2_seed42": { + "pred": "glioma", + "dice": 0.978, + "mask": true + } + } + }, + { + "id": "brisc2025_test_00042_gl_ax_t1", + "class": "glioma", + "role": "Median", + "models": { + "zeroshot": { + "pred": "meningioma", + "dice": 0.0, + "mask": true + }, + "unet_r34_seed42": { + "pred": "glioma", + "dice": 0.562, + "mask": true + }, + "stageB_v2_seed42": { + "pred": "glioma", + "dice": 0.853, + "mask": true + } + } + }, + { + "id": "brisc2025_test_00001_gl_ax_t1", + "class": "glioma", + "role": "Worst", + "models": { + "zeroshot": { + "pred": "meningioma", + "dice": 0.03, + "mask": true + }, + "unet_r34_seed42": { + "pred": "glioma", + "dice": 0.0, + "mask": true + }, + "stageB_v2_seed42": { + "pred": "glioma", + "dice": 0.0, + "mask": true + } + } + }, + { + "id": "brisc2025_test_00356_me_ax_t1", + "class": "meningioma", + "role": "Best", + "models": { + "zeroshot": { + "pred": "meningioma", + "dice": 0.0, + "mask": true + }, + "unet_r34_seed42": { + "pred": "meningioma", + "dice": 0.989, + "mask": true + }, + "stageB_v2_seed42": { + "pred": "meningioma", + "dice": 0.988, + "mask": true + } + } + }, + { + "id": "brisc2025_test_00363_me_ax_t1", + "class": "meningioma", + "role": "Median", + "models": { + "zeroshot": { + "pred": "meningioma", + "dice": 0.0, + "mask": true + }, + "unet_r34_seed42": { + "pred": "meningioma", + "dice": 0.946, + "mask": true + }, + "stageB_v2_seed42": { + "pred": "meningioma", + "dice": 0.94, + "mask": true + } + } + }, + { + "id": "brisc2025_test_00372_me_ax_t1", + "class": "meningioma", + "role": "Worst", + "models": { + "zeroshot": { + "pred": "meningioma", + "dice": 0.0, + "mask": true + }, + "unet_r34_seed42": { + "pred": "meningioma", + "dice": 0.965, + "mask": true + }, + "stageB_v2_seed42": { + "pred": "meningioma", + "dice": 0.006, + "mask": true + } + } + }, + { + "id": "brisc2025_test_00881_pi_co_t1", + "class": "pituitary", + "role": "Best", + "models": { + "zeroshot": { + "pred": "meningioma", + "dice": 0.0, + "mask": true + }, + "unet_r34_seed42": { + "pred": "pituitary", + "dice": 0.98, + "mask": true + }, + "stageB_v2_seed42": { + "pred": "pituitary", + "dice": 0.983, + "mask": true + } + } + }, + { + "id": "brisc2025_test_00969_pi_sa_t1", + "class": "pituitary", + "role": "Median", + "models": { + "zeroshot": { + "pred": "meningioma", + "dice": 0.0, + "mask": true + }, + "unet_r34_seed42": { + "pred": "pituitary", + "dice": 0.936, + "mask": true + }, + "stageB_v2_seed42": { + "pred": "pituitary", + "dice": 0.912, + "mask": true + } + } + }, + { + "id": "brisc2025_test_00820_pi_ax_t1", + "class": "pituitary", + "role": "Worst", + "models": { + "zeroshot": { + "pred": "meningioma", + "dice": 0.0, + "mask": true + }, + "unet_r34_seed42": { + "pred": "pituitary", + "dice": 0.865, + "mask": true + }, + "stageB_v2_seed42": { + "pred": "pituitary", + "dice": 0.298, + "mask": true + } + } + }, + { + "id": "brisc2025_test_00590_no_ax_t1", + "class": "non_tumorous", + "role": "Median zero-shot false alarm", + "models": { + "zeroshot": { + "pred": "meningioma", + "dice": 0.0, + "mask": true + }, + "unet_r34_seed42": { + "pred": "non_tumorous", + "dice": 0.0, + "mask": true + }, + "stageB_v2_seed42": { + "pred": "non_tumorous", + "dice": 1.0, + "mask": false + } + } + }, + { + "id": "brisc2025_test_00673_no_sa_t1", + "class": "non_tumorous", + "role": "Largest zero-shot false alarm", + "models": { + "zeroshot": { + "pred": "meningioma", + "dice": 0.0, + "mask": true + }, + "unet_r34_seed42": { + "pred": "non_tumorous", + "dice": 0.0, + "mask": true + }, + "stageB_v2_seed42": { + "pred": "non_tumorous", + "dice": 1.0, + "mask": false + } + } + } + ] +} \ No newline at end of file diff --git a/assets/page/train_curves.png b/assets/page/train_curves.png new file mode 100644 index 0000000000000000000000000000000000000000..24646a1845184233335ee66fa847ae847bb4bd1c Binary files /dev/null and b/assets/page/train_curves.png differ diff --git a/index.html b/index.html index 1e85b3bd25bb44e98460df735ec4dabbc02a5a35..e619ea26586cccfb8516ae771874ca8336dd5a09 100644 --- a/index.html +++ b/index.html @@ -7,99 +7,129 @@ - - - - + @@ -113,131 +143,132 @@

Nanyang Technological University · GP8001 Group Project, Group 3

- - - Code - - - - Model - - - - Results - + Code + Model + Try the demo
-
- One forward pass of the unified model -
One model, one response. The language model answers with the tumor class and a special <SEG> token. The hidden state at <SEG> is projected and used as the prompt of the SAM-Med2D mask decoder, so the class and the mask are decided together.
-
-
0.980
classification accuracy on 1,000 test slices
-
0.874
Dice over all test slices, with and without a tumor
0 / 140
false masks on non-tumorous slices, with no extra rule
-
2.44%
of the 11.7B parameters trained
+
99.9%
accuracy on the 84% of slices answered with high confidence
+
2 hours
of training on 8 GPUs, with 2.44% of the weights updated
-

Overview

-

Brain tumor MRI analysis asks two questions: which type of tumor is present, and where it is. These are usually answered by two separate models, a classifier and a segmentation network. Because the two models never share information, their answers can contradict each other. The classifier may report no tumor while the segmentation network still draws one, and this problem stays hidden when each model is only scored on its own task.

-

We adapt MedPLIB-7b-2e, a biomedical multimodal large language model, so that a single model answers both questions in one response. On the BRISC 2025 dataset, the adapted model reaches 0.980 accuracy and 0.854 Dice on tumor slices. It never draws a mask on a non-tumorous slice and its class and mask never disagree, without any hand-written rule.

+

Brain tumor MRI analysis asks two questions: which type of tumor is present, and where it is. They are usually answered by a classifier and a separate segmentation network that never share information, so their answers can contradict each other. We adapt MedPLIB-7b-2e, a biomedical multimodal large language model, so that one model answers both questions in one response. It writes the tumor type followed by a special <SEG> token, and the hidden state of that token is decoded into the tumor mask. The report and the GitHub README describe the method and the comparison with dedicated models. This page shows what they leave out.

-
-

Method

-

A unified model

-

A CLIP vision encoder and an image projector turn the MRI slice \(x\) into tokens for a Llama language model with two expert branches and a router. Given a fixed instruction \(q\), the model writes an answer of the form “\(c\) <SEG>”, where \(c\) names one of four classes: glioma, meningioma, pituitary tumor or non-tumorous. The hidden state at the <SEG> position is projected to a prompt vector \(e\) and combined with the SAM-Med2D image features \(F\) to give the mask:

-
$$S = \sigma\big(D(F, e)\big), \qquad \hat{M}_{ij} = \mathbb{I}\big[S_{ij} > 0.5\big].$$
- -

Inference by answer scoring

-

Only four answers are valid, so we do not parse free text. Each candidate answer is scored by its log-likelihood and the best one is kept. The mask is decoded from the <SEG> state of the winning answer, and no rule removes it afterwards. An empty mask on a non-tumorous slice therefore has to come from the model itself.

-
$$\hat{y} = \arg\max_{c \in \mathcal{C}} \sum_{t=1}^{T_c} \log p_\theta\big(a^{(c)}_t \mid a^{(c)}_{ - -

Two-stage adaptation

-

Stage A trains only the small modules that connect the vision encoders, the language model and the mask decoder. Stage B adds LoRA with rank 16 to the attention and both experts in all 32 language model layers, and switches on the adapter layers of the SAM-Med2D encoder. Half of the training prompts ask for the class and the mask, a quarter ask for the class only and a quarter ask for the mask only. Non-tumorous slices are trained with an empty mask.

+
+

Ask the model

+

Pick a test slice. The model scores each of the four valid answers, keeps the most likely one, and draws the mask from that answer's <SEG> token.

+
+
+
+ Selected MRI slice +
+
+
+
InstructionClassify this contrast-enhanced T1 brain MRI as glioma, meningioma, pituitary tumor, or non-tumorous, and segment the tumor region.
+
+ +
+
+
-
- Modules trained in each stage -
Two training stages. Flame icons mark trained modules and snowflake icons mark frozen ones. Stage A trains 43.1M parameters for one epoch, and Stage B trains 286.8M parameters for twelve epochs.
-
- -
-

Results

-

All models are trained on the official BRISC 2025 split, 5,000 training and 1,000 test slices, and scored by the same evaluation script. Of the test slices, 860 contain a tumor and 140 do not. The unified model results come from one training run with seed 42.

+
+

Training is short and stable

+

Both stages together take about two hours on 8 NVIDIA A100 GPUs.

+
+ Training losses per epoch +
Training losses per epoch. The answer loss drops from 0.494 after Stage A to 0.004, so the model learns the four answers almost at once. The mask Dice loss keeps falling through Stage B, from 0.435 to 0.085, which is where most of the training time goes.
+
+
+
124 minutes
total training time for both stages
+
26.6 GB
peak memory per GPU with LoRA and DeepSpeed ZeRO-2
+
286.8M
trainable parameters out of 11.7B
+
-
- - - - - - - - - - - - - - -
ModelAccuracyMacro-F1Tumor DiceDice, all slicesFalse mask rateContradictionsBoth answers correct
MedPLIB, no adaptation0.2940.1230.0400.08563.6%7.0%1.2%
MedPLIB, unified, ours0.9800.9820.8540.8740.0%0.0%93.9%
EfficientNet-B00.9930.994–––––
U-Net, ResNet-34––0.8810.81261.4%––
nnU-Net 2D––0.8770.80762.1%––
EfficientNet-B0 + U-Net0.9930.9940.8810.81261.4%9.0%87.0%
EfficientNet-B0 + U-Net, checked0.9930.9940.8810.8980.0%0.4%95.6%
EfficientNet-B0 + nnU-Net, checked0.9930.9940.8770.8940.0%0.5%95.3%
-
-

Tumor Dice is computed on the 860 tumor slices. Dice over all slices also counts the 140 non-tumorous slices, where an empty mask scores 1 and any mask scores 0. The false mask rate is the share of non-tumorous slices that receive a mask. Contradictions count slices where the class and the mask disagree about whether a tumor is present. “Checked” means that a hand-written rule keeps the segmentation mask only if EfficientNet-B0 predicts a tumor.

- -
- Mask quality and decision errors -
Mask quality and decision errors, with 95% confidence intervals. Segmentation networks trained only on tumor slices draw a mask on most non-tumorous slices. The unified model draws none and never contradicts itself.
-
-
-

Joint training teaches the mask when to stay empty

-

To isolate the effect of training both tasks in one model, we trained the same model with the same shorter setting on one task at a time. Trained for segmentation alone, MedPLIB draws a mask on 27.9% of non-tumorous slices. Trained on both tasks, it draws none, and its Dice rises while its accuracy stays almost the same.

+

What adaptation changes

+

The same model on the same 1,000 test slices, before and after our two training stages.

+
+ Confusion matrices before and after adaptation +
Confusion matrices. Without adaptation, MedPLIB calls almost every slice a meningioma and never answers non-tumorous. After adaptation, all 140 non-tumorous slices are recognized, and the 20 remaining errors are all between tumor types. No tumor is ever called non-tumorous.
+
+ +

Real answers before and after adaptation

+
+
+
Main instruction, glioma sliceClassify this contrast-enhanced T1 brain MRI as glioma, meningioma, pituitary tumor, or non-tumorous, and segment the tumor region.
+
+
No adaptationNon-enhancing tumor.no class, no mask
+
Unified modelglioma <SEG>class and mask
+
+
+
+
Question it was never trained on, non-tumorous sliceDescribe this contrast-enhanced T1 brain MRI. Is there a tumor? If so, what type is it and where is it located?
+
+
No adaptationThe tumor appears as areas of increased signal intensity on the image, indicating abnormal growth in the head and neck region.invents a tumor
+
Unified modelNocorrect
+
+
+
+
Imaging plane question, axial sliceWhich imaging plane is this brain MRI: axial, coronal, or sagittal?
+
+
No adaptationaxialcorrect
+
Unified modelcoronalwrong
+
+
+
+

The first two cases show the gain from adaptation. The third shows its cost: training on one narrow task made the model lose some general skills, and its free descriptions shrank to a single word. Mixing general question and answer data into training is one way to keep these skills.

-
- - - - - - - -
Training taskAccuracyTumor DiceDice, all slicesFalse mask rate
Classification only0.968–––
Segmentation only–0.7370.73527.9%
Both tasks, unified0.9640.7510.7860.0%
-
-

All three runs use 6 epochs of Stage B with the Stage A loss and seed 42, so they differ only in the training task.

-

Where the model is still weakest

-

Tumor Dice of the unified model is 0.763 on gliomas, 0.919 on meningiomas and 0.865 on pituitary tumors. It is 0.728 on small lesions and 0.892 on large ones. All 20 classification errors are confusions between tumor types, never between tumor and no tumor. With the hand-written rule, the EfficientNet-B0 and U-Net combination still reaches a slightly higher Dice over all slices, mainly because U-Net outlines tumors more precisely. Closing this gap is our next step.

+

The model knows when it is unsure

+

The four answer scores give a confidence for every prediction, at no extra cost.

+
+ Answer confidence +
Confidence of the chosen answer. Correct answers have a median confidence of 0.9997, while the 20 wrong answers average 0.78. Keeping only answers with a confidence of 0.99 or more covers 84.3% of the slices at 99.9% accuracy, with a single error. The expected calibration error is 0.009. In practice, the remaining slices could be sent to a radiologist for review.
+
-

Case comparisons

-

In every panel, the green outline is the expert annotation and the red area is the predicted mask. A good result is a red area that fills the green outline. Red text marks a wrong answer. We selected these cases to show where the unified model helps.

+

Results at a glance

+
+ + + + + + + + +
ModelAccuracyTumor DiceDice, all slicesFalse masksContradictions
MedPLIB, no adaptation0.2940.0400.08563.6%7.0%
MedPLIB, unified, ours0.9800.8540.8740.0%0.0%
EfficientNet-B0 + U-Net0.9930.8810.81261.4%9.0%
EfficientNet-B0 + U-Net, with a hand-written rule0.9930.8810.8980.0%0.4%
+
+

Dice over all slices also scores the 140 non-tumorous slices, where an empty mask counts as correct. The hand-written rule removes the U-Net mask whenever EfficientNet-B0 predicts no tumor. Accuracy of the unified model is about the same on all three imaging planes: 0.980 on axial, 0.984 on coronal and 0.976 on sagittal slices. The full comparison is in the README.

-
- Selected tumor cases -
Tumor slices. In the glioma case, U-Net draws only a small mask far from the tumor while the unified model outlines it. In the meningioma case, EfficientNet-B0 predicts the wrong class. In the pituitary case, the unified mask follows the expert outline more closely. MedPLIB without adaptation fails in all three cases.
-
- -
- Non-tumorous cases -
Non-tumorous slices. EfficientNet-B0 correctly answers non-tumorous, but U-Net still draws a tumor, so the two separate models contradict each other. Over the test set this happens on 86 of the 140 non-tumorous slices. The unified model gives the right class with no mask on all of them.
-
+
+

Case gallery

+

For each tumor type, the test slices where the unified model scored its best, median and worst Dice, and the two non-tumorous slices with the largest false masks before adaptation. Nothing is hand picked.

+
+
ground truthpredicted mask
+
Input
MedPLIB, no adaptation
EfficientNet-B0 + U-Net
MedPLIB, unified, ours
+ +

Limitations

  • The model is trained and tested on 2D slices from one public dataset. The dataset has no patient identifiers, so slices from one patient may appear in both splits.
  • Results come from a single training run. We plan to repeat training with more random seeds.
  • -
  • Free text answers became very short after adaptation.
  • +
  • A dedicated U-Net still outlines tumors slightly better on average, and gliomas and small lesions are the hardest cases.
  • This is a course research prototype and must not be used for clinical decisions.
@@ -266,10 +297,79 @@ }

This work builds on MedPLIB, SAM-Med2D and the BRISC 2025 dataset. We thank their authors for releasing code, weights and data.

-
+