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

What is sensitivity and specificity

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 QAquality assurance radiology. If you meant QC tests (phantoms / daily / reject analysis)quality control in radiology. If you meant Dice coefficient vs Dice lossDice 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.

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.