Sensitivity and specificity are two numbers from a 2×2 confusion matrix about a test (or a model used as a test): of the people who have the condition, how many did you catch; of the people who do not, how many did you correctly clear. They are not an imaging-QA program. They are not report peer review. They are not a phantom schedule. They are not Dice.
If you meant the imaging-QA program (equipment / protocols / people) → medical imaging quality assurance. If you meant radiology peer review / report QA → quality assurance radiology. If you meant QC tests (phantoms / daily / reject analysis) → quality control in radiology. If you meant Dice coefficient vs Dice loss → Dice vs Dice Loss. If you meant the rest of model evaluation (splits, ROC/PR, what breaks the number) → machine learning model evaluation.
705 already left this URL as the leftover Se/Sp explainer (WP 7718). That split stands. Do not flatten this page into 6118, 5872, 6016, or 594.
PYCAD builds custom web DICOM viewers and medical-imaging AI (annotation → model deployment). It does not sell a statistics engine, a Se/Sp dashboard, or a “diagnostic accuracy” product.
The 2×2
Every call the test makes lands in one cell. Sensitivity and specificity are ratios of those cells. They are not “accuracy.” Accuracy is (TP+TN)/all, and it lies when the condition is rare.
| Condition present | Condition absent | |
|---|---|---|
| Test positive | True positive (TP) | False positive (FP) — Type I |
| Test negative | False negative (FN) — Type II | True negative (TN) |
- Sensitivity (true positive rate, recall) = TP / (TP + FN). Of the people who have it, how many did the test flag?
- Specificity (true negative rate) = TN / (TN + FP). Of the people who do not, how many did the test clear?
| Metric | Formula | Question | The error it punishes |
|---|---|---|---|
| Sensitivity | TP / (TP + FN) | Did we catch the positives? | False negatives. A miss |
| Specificity | TN / (TN + FP) | Did we clear the negatives? | False positives. A false alarm |
Worked numbers, not a product claim: 100 scans with disease, 900 without. The model flags 95 of the 100 (5 misses) and clears 882 of the 900 (18 false alarms). Sensitivity = 95/100 = 0.95. Specificity = 882/900 = 0.98. Those two numbers still do not tell you what a positive result means for the next patient — that is PPV, below.
The trade-off is a threshold
Most imaging models emit a score, not a boolean. Pick a threshold and you move along a curve: lower it and sensitivity goes up (you catch more, you also cry wolf more); raise it and specificity goes up (you clear more, you also miss more). You cannot max both by wishing. You pick which error is worse for that job.
- Screening (a first pass where a miss is costly): lean sensitivity. The false alarms get a second test.
- Confirming before something irreversible (biopsy, a toxic drug, a rare-disease label): lean specificity. A false positive is the expensive error.
The picture of that curve is ROC: true-positive rate (sensitivity) vs false-positive rate (1 − specificity) as the threshold moves. Area under it is one summary. Precision–recall is the sibling when positives are rare. Both live as a section on model evaluation, not a second Se/Sp article. There is no standalone ROC URL on this site.
PPV and NPV are not Se and Sp
Sensitivity and specificity are properties of the test (on a given population and protocol). They do not change just because the clinic saw fewer cases this month.
Positive predictive value = TP / (TP + FP). Given a positive, how often is it real? Negative predictive value = TN / (TN + FN). Given a negative, how often is it real? Those two do move with prevalence. A rare finding plus a merely-decent specificity produces a pile of false alarms; PPV collapses. That is Bayes, not a vendor bug.
There is no `/blog/positive-predictive-value/` or `/blog/confusion-matrix/` twin. This page is allowed to name PPV/NPV so Se/Sp are not mistaken for them. It is not a prevalence textbook.
F1 mixes precision (PPV’s cousin) and recall (sensitivity). Dice on a mask is an overlap, not a patient-level 2×2 — that job is Dice vs Dice Loss.
What this page is not
- Not 6118. The imaging-QA program (gantry / protocol / people) stays on that URL.
- Not 5872. Report peer review stays on that URL.
- Not 6016. Phantoms, daily QC, reject analysis stay on that URL.
- Not 594. Dice is overlap on a mask, not Se/Sp of a test.
- Not 6195 restated. That URL is evaluation vs validation, splits, ROC/PR. This one is the two cells.
- Not a PYCAD Se/Sp product. Outrank stills and off-brand outbound are gone. Case studies.