CalciumScoring.jl is a Julia package for calculating coronary artery calcium scores from CT images using different quantification algorithms. The main function is score()
which calculates the calcium mass within a CT scan. See the documentation for more details.
graph TB
classDef unique1 fill:#f9d71c,stroke:#333,stroke-width:2px;
classDef unique2 fill:#8cd9f5,stroke:#333,stroke-width:2px;
A["Overview: Four Different CAC Quantification Methods"]
A --> AgatstonRegime
A --> CalciumMassRegime
subgraph AgatstonRegime["Agatston Scoring Regime"]
B["Agatston Scoring"]
E["Spatially Weighted Calcium Scoring"]
end
subgraph CalciumMassRegime["Calcium Mass Quantification Regime"]
C["Volume Fraction Calcium Mass"]
D["Integrated Calcium Mass"]
end
class B,C,D,E unique2;
- Handles scan calibration and voxel spacing information
- Accounts for different tube voltages and intensity thresholds
- Easy to use
score()
function
using Pkg
Pkg.add("CalciumScoring")
The general workflow is:
- Prepare the region of interest from the CT image
- Gather scan information like voxel size, spacing, calibration intensity, etc
- Call
score()
with the ROI, scan info, and desired algorithm
graph TB
A["1. Prepare Region of Interest"] --> B["2. Gather CT Scan Info"]
B --> C["3. Calculate Calcium"]
For example, calculating the amount of calcium via Agatston scoring looks like:
# 1
roi = ct_scan .* coronary_artery_mask
# 2
spacing = [1, 1, 1]
mass_cal_factor = density_cal / intensity_cal
# 3
agatston_score, volume_score, mass_score = score(roi, spacing, mass_cal_factor, Agatston())
The score()
function takes the region of interest, voxel spacing, mass calibration factor, and an Algorithm
specifying which algorithm to use.
The main algorithms available are:
Agatston()
: Traditional Agatston scoringVolumeFraction()
: Volume fraction calcium massIntegrated()
: Integrated calcium massSpatiallyWeighted()
: Spatially weighted calcium scoring
CalciumScoring.jl implements methods from:
- Quantification of coronary artery calcium using ultrafast computed tomography
- Ultra-low-dose coronary artery calcium scoring using novel scoring thresholds for low tube voltage protocols—a pilot study
- Coronary artery calcium mass measurement based on integrated intensity and volume fraction techniques
- Integrated intensity-based technique for coronary artery calcium mass measurement: A phantom study
- An alternative method for quantifying coronary artery calcification: the multi-ethnic study of atherosclerosis (MESA)
- Spatially Weighted Coronary Artery Calcium Score and Coronary Heart Disease Events in the Multi-Ethnic Study of Atherosclerosis