diff --git a/PanTS-Demo/src/routes/UploadPage.tsx b/PanTS-Demo/src/routes/UploadPage.tsx index a33aaf4c..95e210b9 100644 --- a/PanTS-Demo/src/routes/UploadPage.tsx +++ b/PanTS-Demo/src/routes/UploadPage.tsx @@ -33,11 +33,20 @@ const MODEL_OPTIONS: { label: string; desc: string; details?: string[]; + // Headline numbers for the comparison grid - short "value / label" pairs in + // the spirit of Apple's compare-page Quick Look rows. Every value here is a + // fact already stated in `details` below, just pulled out and made + // scannable rather than buried in prose. + quickFacts?: { value: string; label: string }[]; }[] = [ { id: "None", label: "None", desc: "View only — files never leave your browser", + quickFacts: [ + { value: "Browser-only", label: "Where it runs" }, + { value: "None", label: "Inference" }, + ], details: [ "Nothing is uploaded - the scan opens straight in the local viewer from your browser's memory.", "No inference runs, so there's nothing to download or share afterward.", @@ -47,6 +56,11 @@ const MODEL_OPTIONS: { id: "ePAI", label: "ePAI", desc: "Full abdominal organ segmentation, with detailed pancreas and tumor analysis", + quickFacts: [ + { value: "25", label: "Structures segmented" }, + { value: "3", label: "Pancreas tumor subtypes" }, + { 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.", @@ -57,6 +71,10 @@ const MODEL_OPTIONS: { id: "Atlas-Net", label: "Atlas-Net", desc: "For anatomically consistent results", + quickFacts: [ + { value: "Atlas-matched", label: "Shape accuracy" }, + { 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.", ], @@ -65,6 +83,11 @@ const MODEL_OPTIONS: { id: "LesionSegmenter", label: "LesionSegmenter", desc: "For fast pancreatic lesion detection", + quickFacts: [ + { value: "4", label: "Organs covered" }, + { value: "Pancreatic", label: "Validated lesion type" }, + { 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.", @@ -2842,50 +2865,84 @@ const UploadPage: React.FC = () => { if (e.key === "Enter" || e.key === " ") { e.preventDefault(); pickModelFromCard(m.id); } }} style={{ - background: "#f5f5f5", - border: isCurrent ? "1px solid #002d72" : "1px solid rgba(0,0,0,0.08)", - boxShadow: isCurrent ? "0 0 0 3px rgba(0,45,114,0.10)" : "none", - borderRadius: "12px", padding: "20px", display: "flex", gap: "16px", - cursor: "pointer", textAlign: "left", + 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", + cursor: "pointer", textAlign: "center", minWidth: 0, transition: "border-color 0.15s, box-shadow 0.15s", }} >