"""Hero / landing page — NV-Generate masthead + three equal-height datasheet cards.""" from __future__ import annotations import gradio as gr # SVG modality glyphs — each is a recognizable anatomical silhouette of the modality. # CT: axial body cross-section with spine and ribs. # MR: a k-space spiral trajectory. # MR-Brain: an axial brain outline with hemispheres. SVG_CT = """ """ SVG_MR = """ """ SVG_MRB = """ """ # Each card has exactly 5 spec rows, each value short enough to render on one line. CARDS = [ { "key": "ct", "index": "01", "title": "NV-Generate · CT", "subtitle": "Whole-body synthetic CT with paired anatomy masks.", "icon": SVG_CT, "icon_caption": "Body region · paired anatomy", # Consistent category: USE CASES across all three cards. "uses": ["Segmentation data", "Pathology augmentation", "Privacy-preserving sharing"], "license": "NVIDIA Open Model", "license_tone": "ok", "spec": [ ("MODALITY", "Computed Tomography"), ("ARCHITECTURE", "MAISI-v2 · Rectified Flow"), ("MAX VOLUME", "512 × 512 × 768 vox"), ("SEGMENTATION", "132 classes · paired"), ("LICENSE", "NVIDIA Open Model"), ], "accent_class": "ct", }, { "key": "mr", "index": "02", "title": "NV-Generate · MR", "subtitle": "Multi-contrast, multi-anatomy synthetic MRI.", "icon": SVG_MR, "icon_caption": "Multi-contrast · multi-region", "uses": ["Modality augmentation", "Cross-region training", "Fine-tune base"], "license": "NVIDIA Non-Commercial", "license_tone": "warn", "spec": [ ("MODALITY", "Magnetic Resonance"), ("ARCHITECTURE", "MAISI-v2 · Rectified Flow"), ("MAX VOLUME", "512 × 512 × 128 vox"), ("CONTRASTS", "T1 · T2 · FLAIR · multi-region"), ("LICENSE", "NVIDIA Non-Commercial"), ], "accent_class": "mr", }, { "key": "mr_brain", "index": "03", "title": "NV-Generate · MR Brain", "subtitle": "High-resolution multi-contrast brain MRI.", "icon": SVG_MRB, "icon_caption": "Brain · multi-sequence", "uses": ["Brain segmentation data", "Lesion augmentation", "Sequence translation"], "license": "NVIDIA Open Model", "license_tone": "ok", "spec": [ ("MODALITY", "MR · Brain"), ("ARCHITECTURE", "MAISI-v2 · Rectified Flow"), ("MAX VOLUME", "512 × 512 × 256 vox"), ("SEQUENCES", "T1 · T2 · FLAIR · SWI"), ("LICENSE", "NVIDIA Open Model"), ], "accent_class": "mrb", }, ] def _spec_rows(spec: list[tuple[str, str]]) -> str: rows = [] for k, v in spec: rows.append( f'