diff --git a/PanTS-Demo/src/routes/UploadPage.tsx b/PanTS-Demo/src/routes/UploadPage.tsx index a4d41063..a158fe79 100644 --- a/PanTS-Demo/src/routes/UploadPage.tsx +++ b/PanTS-Demo/src/routes/UploadPage.tsx @@ -62,21 +62,26 @@ const MODEL_OPTIONS: { { value: "Abdominal", label: "Best for" }, ], details: [ - "Segments 25 structures in one pass: major abdominal organs (liver, spleen, kidneys, stomach, etc.), the surrounding vasculature, and the pancreas region in particular.", - "Within the pancreas, it separately identifies the gland, duct, and three tumor subtypes (PDAC, cyst, PNET) - this is its main focus, not an afterthought.", - "Best suited to a standard abdominal CT; not a whole-body scanner.", + "25 structures in one pass", + "Major organs, vasculature, pancreas region", + "Pancreas gland, duct, and 3 tumor subtypes (PDAC, cyst, PNET)", + "Built for abdominal CT, not whole-body scans", ], }, { id: "Atlas-Net", label: "Atlas-Net", - desc: "For anatomically consistent results", + desc: "For anatomically consistent results, with the same organ and tumor coverage as ePAI", quickFacts: [ - { value: "Atlas-matched", label: "Shape accuracy" }, + { value: "25", label: "Structures segmented" }, + { value: "3", label: "Pancreas tumor subtypes" }, { value: "Plausibility", label: "Optimized for" }, ], details: [ - "Segments organs against an anatomical atlas, favoring shapes and positions that are physically plausible over raw per-voxel accuracy.", + "25 structures in one pass, same nnU-Net-based coverage as ePAI", + "Major organs, vasculature, pancreas region", + "Pancreas gland, duct, and 3 tumor subtypes (PDAC, cyst, PNET)", + "Matches segmentations to a known anatomical atlas", ], }, { @@ -89,9 +94,10 @@ const MODEL_OPTIONS: { { value: "Fast", label: "Speed" }, ], details: [ - "Computes lesions in four organs in one pass - pancreatic, liver, kidney, and colon - you pick which one to feature as the primary result.", - "Pancreatic lesion detection is validated against ground truth; the other three are not yet.", - "Optimized for speed over the broader organ coverage ePAI or Atlas-Net provide.", + "Lesions in 4 organs in one pass", + "Pick which organ to feature as the primary result", + "Pancreatic lesion detection validated against ground truth", + "Optimized for speed over broader organ coverage", ], }, ]; @@ -2871,7 +2877,15 @@ const UploadPage: React.FC = () => { background: "#fff", border: isCurrent ? "1.5px solid #002d72" : "1px solid rgba(0,0,0,0.08)", boxShadow: isCurrent ? "0 6px 24px rgba(0,45,114,0.12)" : "0 1px 2px rgba(0,0,0,0.04)", - borderRadius: "16px", padding: "24px 20px", display: "flex", flexDirection: "column", + borderRadius: "18px", padding: "32px 28px", + // subgrid: each row below (icon, name, badge, desc, button, + // divider, stats, divider, bullets) shares its height with the + // same row in the other cards, sized to the tallest one - so a + // 3-line description in one card doesn't just push that card's + // own button down, it grows the desc row for every card and + // everything below stays aligned. The parent grid declares the + // 9 row tracks; grid-row: span 9 hands them all to this card. + display: "grid", gridTemplateRows: "subgrid", gridRow: "span 9", rowGap: 0, cursor: "pointer", textAlign: "center", minWidth: 0, height: "100%", transition: "border-color 0.15s, box-shadow 0.15s", }} @@ -2881,7 +2895,7 @@ const UploadPage: React.FC = () => { background: isCurrent ? "rgba(0,45,114,0.08)" : "rgba(0,0,0,0.05)", border: `1px solid ${isCurrent ? "rgba(0,45,114,0.18)" : "rgba(0,0,0,0.1)"}`, display: "flex", alignItems: "center", justifyContent: "center", - margin: "0 auto 16px", + margin: "0 auto 20px", }}> -