GSTT-CSC / hazen

Quality assurance framework for Magnetic Resonance Imaging
https://github.com/GSTT-CSC/hazen
Apache License 2.0
22 stars 12 forks source link

ACR Geometric Accuracy Functionality #312

Closed YassineAzma closed 1 year ago

YassineAzma commented 1 year ago

Adds an ACR Geometric Accuracy script and associated unit tests that calculates the vertical and horizontal length of the ACR phantom for slice 1, and the vertical, horizontal and diagonal lengths for slice 5. This is done within the new HazenTask framework. The methodology is as follows:

Resolves #189

The results are visualised in the report. Examples are shown below: image image

Distortion metrics, such as the average distance measurement error, maximum distance measurement error and coefficient of variation of all distance measurements, are reported in the terminal.

github-actions[bot] commented 1 year ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
hazenlib
   HazenTask.py25484%18, 32–34
   __init__.py1554472%141, 145, 155, 160, 197, 204–209, 220, 223–230, 250–252, 270–272, 291–293, 302, 307, 313, 363, 374, 380–386, 396–398, 406–407, 411
   exceptions.py21481%17–21
   relaxometry.py3179072%238–256, 631, 690–692, 746, 794–816, 834–849, 1174–1177, 1186–1189, 1201–1214, 1217–1222, 1233–1263
   shapes.py20955%13, 16, 24–29, 32
   snr_map.py111595%408, 413–415, 444
   tools.py84890%43–50, 92, 101, 117
hazenlib/tasks
   acr_geometric_accuracy.py1455562%38–72, 176–192, 206–230
   acr_ghosting.py1164264%33–53, 91–93, 123–125, 161–194
   acr_snr.py1375858%34–71, 96, 165–175, 208–221, 254–267
   acr_uniformity.py893264%34–54, 121–138
   ghosting.py1505166%18–32, 47, 109–110, 114, 124–125, 151–153, 170–172, 218–256
   relaxometry.py7271%10–11
   slice_position.py1182281%31, 40–41, 103–104, 130, 210, 217–234
   slice_width.py3565285%34–37, 107, 166–186, 451, 456–457, 463, 468, 530–531, 780–821
   snr.py1636660%62–67, 161–179, 194–203, 221–231, 258–268, 273–283, 314–327, 332–340, 369–382
   snr_map.py770%1–11
   spatial_resolution.py2464482%36–39, 62, 147, 206, 332–368
   uniformity.py781976%42–45, 91–92, 99, 133–147
TOTAL236161474% 

Tests Skipped Failures Errors Time
194 0 :zzz: 0 :x: 0 :fire: 2m 50s :stopwatch:
Lucrezia-Cester commented 1 year ago

Hi @YassineRMH, could you please re-base this PR to release 1.1.1 branch? Then I am happy to merge

Lucrezia-Cester commented 1 year ago

Hi @YassineRMH, could you merge the latest changes from release/1.1.1 into this branch please?