QICOM: Open-Source Software for Reproducible Image Quality Evaluation, Blinded Assessment, and Radiomic Comparison
Organizations: Integrated Diagnostics Institute of Southern Switzerland (IDISI), Ente Ospedaliero Cantonale (EOC), 6900 Lugano, Switzerland · School of Health Sciences (HESAV), University of Applied Sciences and Arts Western Switzerland (HES-SO), 1011 Lausanne, Switzerland · Department of Radiology, Lausanne University Hospital (CHUV) and University of Lausanne (UNIL), Lausanne, Switzerland
Abstract
QICOM (Quality Image COMparator) is open-source software for quantitative image comparison, paired radiomics, and blinded assessment. It saves processing settings, image identities, measurements, and response mappings so a comparison can be reopened and recalculated. We evaluate reference agreement, responses to controlled perturbations, and recovery of saved analyses. Synthetic experiments cover 37 quantitative descriptors using independentnumerical references and separate upstream integration comparisons. The QICOM/MIRP backend meets the reference tolerances for all 482 numeric IBSI 1 digital-phantom entries and all 1,622 entries across configurations A-E of the public CT reference case; these comprise 1,804 feature/aggregation comparisons and 300 preprocessing diagnostics. Restricting masked SSIM and HFEN to complete kernel support removes the observed dependence on excluded pixels. In a synthetic filtering example, stronger smoothing increases SSIM while worsening MSE and HFEN relative to milder smoothing and changing GLCM contrast more strongly. Reopened radiomics projects reproduce all 43 feature pairs per comparison, and two blinded deliveries return four correctly mapped scripted responses. These experiments document the calculations and data transfers linking the three workflows.
Figures & tables
| IBSI 1 configuration | Features | Diagnostics | Passed / total |
|---|---|---|---|
| Digital phantom | 482 | 0 | 482 / 482 |
| CT A | 346 | 60 | 406 / 406 |
| CT B | 346 | 60 | 406 / 406 |
| CT C | 210 | 60 | 270 / 270 |
| CT D | 210 | 60 | 270 / 270 |
| CT E | 210 | 60 | 270 / 270 |
| Spectrum / task | |||
|---|---|---|---|
| flat | 1.500000 | 1.500000 | 1.397820 |
| colored flat task | 1.517647 | 1.279204 | 1.142984 |
| colored gaussian task | 0.987565 | 0.767542 | 0.507999 |
| Missing probability | Coverage | MC standard error | Mean CI width |
|---|---|---|---|
| 0.00 | 0.95 | 0.0218 | 0.943 |
| 0.15 | 0.95 | 0.0218 | 1.016 |
| Condition | MSE | SSIM | HFEN | GLCM contrast |
|---|---|---|---|---|
| Noisy | 63.001 | 0.6198 | 0.5932 | 3.4814 |
| 15.849 | 0.8724 | 0.5054 | 1.3488 | |
| 18.421 | 0.9119 | 0.6998 | 0.6356 |
Appendix figures & tables5 assets
Supplementary material from the paper’s appendix.
Appendix
| Class | Absolute | Relative |
|---|---|---|
| float32 | 1e-06 | 1e-05 |
| float64 | 1e-10 | 1e-10 |
| hfen | 1e-05 | 1e-04 |
| integration | 2e-06 | 2e-05 |
| nss | 1e-07 | 1e-07 |
| ssim | 2e-05 | 2e-05 |
| CT | Resegmentation (HU) | Texture bins | IVH bins |
|---|---|---|---|
| A | Width 25 HU | None | |
| B | Count 32 | None | |
| C | Width 25 HU | Width 2.5 HU | |
| D | SD | Count 32 | None |
| E | and SD | Count 32 | Count 1000 |
| Computation package | Installed version |
|---|---|
| lpips | 0.1.4 |
| nibabel | 5.4.2 |
| numpy | 2.5.2 |
| piq | 0.8.0 |
| scikit-image | 0.26.0 |
| scipy | 1.18.1 |
| Package | Role in QICOM |
|---|---|
| Qt for Python / PySide6 [ 70 ] | Desktop widgets, rendering, and worker orchestration |
| PyQtGraph [ 71 ] | Interactive image views, plots, and ROI interaction |
| Pillow [ 72 ] | Raster-image reading, writing, and blinded-delivery metadata handling |
| dicom-anonymizer [ 73 ] | DICOM de-identification support within QICOM’s additional checks |
| openpyxl [ 74 ] | Spreadsheet report generation |
| PyYAML [ 75 ] | Metric descriptors and configuration serialization |