Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

AMPLIFAI: Feature-Level Masks on Multiphase CT for LI-RADS Liver AI

If you ship a DICOM viewer or a liver CAD stack, you already have HCC-ish labels. What you usually do not have is the LI-RADS path that produced them: arterial phase hyperenhancement, washout, capsule, and size, drawn on the phases where a radiologist actually saw them.

That is the gap AMPLIFAI (Annotated MultiPhase Liver Imaging For AI) is built for. The Center for Applied AI at the University of Maryland Institute for Health Computing released it on 14 August 2026 as an arXiv datasheet and as the public train/val set for a MICCAI 2026 challenge. You get 590 multiphase abdominal CT cases from 584 patients, already converted to NIfTI, with a LI-RADS category, a lesion size in mm, and voxel masks for the target lesion plus the three major features: non-rim APHE, non-peripheral washout, and enhancing capsule. The authors call it the first public multiphase CT set with both of those layers.

The challenge scores models only on the category. The feature masks are optional training signal. For a product team, those masks are the part you can hang in a viewport.

LI-RADS is a path across phases

LI-RADS v2018 is the ACR system for lesions in patients at risk for HCC. LR-1 means definitely benign. LR-5 means definitely HCC and, in the right patient, does not need a biopsy. LR-M is malignant but not specific for HCC. LR-TIV is tumor in vein.

The primary gate is non-rim arterial phase hyperenhancement. The lesion is brighter than liver on arterial phase, and the enhancement is internal, not a rim. Without that, the paper’s walkthrough says a lesion can reach at most LR-4 even if it is large and washes out. Rim APHE is a different finding and blocks LR-5.

If non-rim APHE is present, size plus two late-phase features move the category. Non-peripheral washout is the lesion becoming darker than liver on portal venous or delayed. Enhancing capsule is a thin peripheral rim that stays bright on those late phases. AMPLIFAI stores washout and capsule as phase-specific masks, because either feature can show up on venous, delayed, or both.

The challenge used major features only. Ancillary features, which radiologists use to upgrade or downgrade in clinic, were not scored. A model trained only on these labels is not a full LI-RADS engine.

What is in the 590 cases

The public set is 531 train / 59 val, with no patient overlap. Five patients from TCGA-LIHC have more than one visit.

Phase coverage is incomplete. Arterial is in every case (590/590). Portal venous is in 586 (99.3%). Delayed is in 451 (76.4%). Non-contrast is in 424 (71.9%). Inclusion required an arterial phase and at least one late phase. Missing delayed or native series were kept when the lesion could still be read.

Source mix, from the paper’s Table 1:

  • PLC-CECT: 306 (51.9%)
  • WAW-TACE: 199 (33.7%)
  • HCC-TACE-SEG: 45 (7.6%)
  • TCGA-LIHC: 40 (6.8%)

About 85% of the volume is PLC-CECT plus WAW-TACE. All four are pre-treatment multiphase abdominal CT, from Chongqing Yubei District People’s Hospital, Medical University of Warsaw, MD Anderson, and a TCGA mix (Mayo, UNC, Alberta Health Services, Lahey).

On Hugging Face the files are NIfTI batches, gated, about 155 GB, CC BY-NC-SA 4.0. The paper quotes about 146 GB for the same train/val package. Use the Hugging Face number when you size a disk.

A case folder looks like this:

CASE00001/
├── ct/
│   ├── CASE00001_ART.nii.gz
│   ├── CASE00001_VEN.nii.gz
│   ├── CASE00001_DEL.nii.gz
│   └── CASE00001_DRY.nii.gz
└── annotations/
    ├── lesion.nii.gz
    ├── aphe.nii.gz
    ├── venous_capsule.nii.gz
    ├── delayed_capsule.nii.gz
    └── ...

Not every phase file is present. The metadata CSVs carry lirads_score, max_diameter_mm, APHE type, and binary washout/capsule flags per late phase. The starter kit’s inference input is the CT plus lesion.nii.gz. Feature masks are extra supervision, not a required input at test time.

The labels you can actually overlay

Each case has one target lesion: the one the annotator judged most suspicious for HCC. Cases with no lesion are in the set as normals. For a target, you get:

  • LI-RADS: LR-1 through LR-5, LR-M, LR-TIV
  • Longest axial diameter in mm (mean 57.7 ± 42.8)
  • A voxel mask of the lesion
  • When present, voxel masks for non-rim APHE, non-peripheral washout, and enhancing capsule
  • APHE as a three-way label: non-rim, rim, or absent

Table 3 in the paper is the class table you should design around:

  • LR-5: 258/590 (43.7%)
  • LR-M: 129 (21.9%)
  • LR-TIV: 64 (10.8%)
  • LR-4: 47 (8.0%)
  • LR-3: 16 (2.7%)
  • LR-1: 3
  • LR-2: 3

Those seven rows sum to 520. The paper also says cases without a liver lesion were kept as normals, so do not treat 590 as 590 LI-RADS scores.

Feature counts: non-rim APHE in 291 (49.3%), rim APHE in 69 (11.7%), APHE absent in 230 (39.0%). Venous washout 209, delayed washout 197. Venous capsule 98, delayed capsule 63.

A 7-way classifier will see LR-5 and LR-M far more than LR-1 through LR-3. The feature masks give the model a reason for the rare classes, and they give a user a region to click when an LR-5 is called.

How the set was built

They started with 796 studies, dropped scout/dose series and unusable SEG objects, converted DICOM with dcm2niix, mapped NRRD lesion masks to NIfTI, and predicted missing contrast phases with Comp2Comp when DICOM tags were not enough. Eligible studies were registered with ANTsPy to portal venous, or to delayed if venous was missing. Registration QC was bone Dice from TotalSegmentator, threshold 0.64. 591 studies passed. They then dropped one case with a duplicate venous phase. 590 remained.

Annotation ran May-June 2026. Five board-certified radiologists and one resident, all abdominal imaging, used a custom 3D Slicer module. The resident and one attending each labeled a case independently: category, size, and the three feature masks. Seeds came from source-dataset lesion masks plus an nnU-Net retrained at 5, 20, 100, and 200 cases. Annotators were not told which model version produced the seed. Two attendings validated. One of them also annotated, and did not validate her own cases. Validators could take either annotation, the union, or the intersection, or send a disagreement back. After validation, the LI-RADS category was recomputed from the major-feature rules so the CSV matches the masks. You can audit a label against a mask.

How the challenge scores you

The MICCAI 2026 AMPLIFAI task is to take the multiphase CT and a pre-defined target lesion, then predict one of LR-1, LR-2, LR-3, LR-4, LR-5, LR-M, LR-TIV.

Final score in the starter kit:

Final Score = 0.85 × Adjusted QWK + 0.15 × Special Category Recognition

Adjusted QWK is quadratic weighted kappa on LR-1 to LR-5. If the model puts an ordinal case into LR-M or LR-TIV, that case is left out of QWK and counted in the special-category term instead. Kappa is clipped at 0. Special-category recognition is 3-class balanced accuracy over all cases: ordinal vs LR-M vs LR-TIV. Confusing LR-M with LR-TIV is a miss. You need a 95% completion rate to stay in awards.

Registration on Codabench closes 1 September 2026. The public leaderboard is competition 14290. The private test set is institutional and stays off Hugging Face. Terms include a 12-month embargo on publishing challenge-level rankings on that test set. The data license is non-commercial. The paper is explicit: not FDA reviewed, not for diagnosing patients.

How this lands in a viewer or segmentation stack

Treat the feature masks as first-class overlays, the same way PatchChestCT treats patch occupancy as something you draw before you train.

On the imaging side, everything is NIfTI and already registered to a late phase. If your clinical stack is DICOM-native, convert the volumes back to a series before you hang overlays. It is the same problem as turning a NIfTI file into a DICOM series. Keep the affine. A 2 mm washout mask that drifts off the lesion after a NIfTI-to-DICOM hop is worse than no overlay.

On the model side you have two jobs. The challenge job is to classify the given lesion. The product job is to predict the features, then derive the category the way the authors recomputed it after validation. An interpretable model predicts size, APHE type, washout, and capsule, then applies the table. A black-box model eats the phases and emits a category. Only the second one is scored. The first one is what you can defend in a reading room.

On the viewer side, hang four colored masks on a 4-viewport protocol (native, arterial, venous, delayed):

  • jump-to-target on the lesion mask
  • APHE on arterial, washout and capsule on the late phase where they were drawn
  • QA: “the model said LR-5. Show me non-rim APHE and one late feature.”
  • a size readout from the axial long axis, next to max_diameter_mm

That size check is how you catch a model that called LR-5 on a 9 mm nodule because the class prior is 43.7% LR-5.

The 0.64 bone Dice gate is also a product number. If you register incoming multiphase studies yourself, you can reuse that QC. When you report overlap on those bone masks, you are talking about the Dice coefficient, not Dice loss.

RadYOLO solves a different job. AMPLIFAI hands you the target lesion. The work is characterizing it across phases, not finding it. If you still need a detector, run one first, then treat AMPLIFAI as the characterization set.

Limits you should design around

Class imbalance is structural. The sources are tertiary HCC and TACE cohorts. LR-1 and LR-2 are three cases each. You will not learn “definitely benign” from this set. Hold out your own surveillance studies.

Phase timing varies. Early vs late arterial changes how APHE looks. Slice thickness and kernels vary enough that a thin capsule is hard to draw. Residual respiratory misregistration survives ANTsPy on some studies. Cirrhosis, steatosis, and prior locoregional therapy sit in the background.

The public split has no test set. Use the 59-case val split as a sanity check, not as a number you publish as general performance.

License is CC BY-NC-SA 4.0. Research and internal eval are the easy path. A commercial viewer that ships these weights or derived models needs a different data deal.

What to do next

Register on Codabench before 1 September 2026, accept the terms, then pull train_metadata.csv, val_metadata.csv, and the batch zips from Hugging Face. Before you train anything, load five cases and draw lesion.nii.gz, aphe.nii.gz, and the washout/capsule masks on the matching phases in your viewer.

If the overlay is honest, attach a loss. If washout lights the wrong phase, or the lesion mask is a different series than the arterial volume, fix the join first. The starter kit at UM-IHC-CA2i/amplifai-codabench already has evaluate.py and an example run.py. Use that metric locally. Do not invent your own 7-way accuracy and call it the challenge score.

Sources

We build custom medical imaging platforms — advanced DICOM viewers, AI segmentation, and the clinical systems around them.

Get in Touch

Copyright © 2026 PYCAD. All Rights Reserved.