CT Scanner Internal Quality Control Software
Project description
CQ TDM
Application de bureau multiplateforme pour réaliser le CQI (Contrôle Qualité Interne) des scanners CT, conforme aux exigences réglementaires de l'ANSM.
Présentation
CQ TDM traite les images DICOM de fantômes d'eau pour calculer et suivre les métriques de qualité des scanners CT dans le cadre du contrôle qualité interne, conformément à la Décision ANSM du 18/12/2025 (Décision fixant les modalités du contrôle de qualité des tomodensitomètres).
Fonctionnalités
- Chargement d'images DICOM : Charger et visualiser des séries DICOM CT
- Analyse du fantôme d'eau :
- Exactitude et stabilité du nombre CT de l'eau
- Mesures d'uniformité
- Bruit (écart-type)
- Spectre de Puissance du Bruit (SPB/NPS) :
- Calcul SPB 2D avec moyennage radial
- Calcul de la fréquence moyenne
- Ajustement polynomial de degré 11
- Comparaison visuelle des spectres
- Gestion des ROI :
- Détection automatique du fantôme
- Import/export des configurations ROI (JSON)
- Génération de rapports PDF : Rapports conformes à la réglementation avec statut de conformité
- Base de données des appareils : Suivi de plusieurs scanners CT et de leur historique CQ
Cadre réglementaire
Basé sur la Décision ANSM du 18/12/2025.
Avertissement : L'auteur ne garantit pas la validité des résultats. L'utilisateur est responsable de la vérification et de la validation des mesures avant toute utilisation réglementaire.
Tolérances clés
| Métrique | Critère |
|---|---|
| Exactitude du nombre CT | [-7, +7] HU |
| Uniformité | [-7, +7] HU |
| Stabilité du bruit | ±10% ou ±0.2 HU |
| Stabilité de la fréquence moyenne SPB | ±10% |
Installation
Méthode recommandée : pip (toutes plateformes)
pip install cq-tdm
Pour créer un raccourci dans le menu Démarrer/Applications, téléchargez et exécutez le script d'installation approprié :
Windows :
- Téléchargez
install-windows.bat - Double-cliquez pour exécuter
Linux :
curl -O https://raw.githubusercontent.com/lammour/cq-tdm/main/installers/install-linux.sh
chmod +x install-linux.sh
./install-linux.sh
Méthode alternative : Exécutable
Des exécutables pré-compilés sont disponibles dans les Releases.
Note Windows : L'exécutable n'est pas signé numériquement. Windows affichera un avertissement de sécurité. Cliquez sur "Informations complémentaires" → "Exécuter quand même" pour continuer.
Installation pour le développement
# Cloner le dépôt
git clone https://github.com/lammour/cq-tdm.git
cd cq-tdm
# Créer et activer l'environnement virtuel
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# ou
.venv\Scripts\activate # Windows
# Installer en mode développement
pip install -e .
Utilisation
# Lancer l'application
python -m cq_tdm
# ou
cq-tdm
Démarrage rapide
- Lancer l'application
- Charger une série DICOM
- Modifier les détails de l'appareil, les valeurs de référence et les coupes de mesure
- Sauvegarder
- Vérifier les artéfacts
- Générer le rapport PDF
Structure du projet
src/cq_tdm/
├── core/
│ ├── dicom_loader.py # Gestion des fichiers DICOM
│ ├── water_phantom.py # Analyse HU et uniformité
│ ├── nps.py # Spectre de Puissance du Bruit
│ └── device_database.py # Suivi des scanners
├── gui/
│ ├── main_window.py # Fenêtre principale
│ └── image_viewer.py # Visualiseur DICOM avec ROI
└── reports/
└── pdf_report.py # Génération de rapports PDF
Tests
# Lancer les tests de validation SPB
pytest tests/test_nps_validation.py -v
La suite de tests valide les calculs SPB par rapport aux données de référence iQMetrix (images de référence ANSM).
Références
- Décision ANSM 18/12/2025 - Contrôle de qualité des tomodensitomètres
- Guide d'application ANSM
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cq_tdm-0.2.0.tar.gz.
File metadata
- Download URL: cq_tdm-0.2.0.tar.gz
- Upload date:
- Size: 75.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
770b87a2995d640fd3984f00c2956b6d5788237e5e74dd2b4af2c406264307db
|
|
| MD5 |
7bdf7a832f5d46b46bc1de6efeefcdae
|
|
| BLAKE2b-256 |
e6b6a201a1bed71900181f1d3936a48ca54f25d4342e78c3ca6841ab9ec7a0ce
|
Provenance
The following attestation bundles were made for cq_tdm-0.2.0.tar.gz:
Publisher:
publish.yml on lammour/cq-tdm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cq_tdm-0.2.0.tar.gz -
Subject digest:
770b87a2995d640fd3984f00c2956b6d5788237e5e74dd2b4af2c406264307db - Sigstore transparency entry: 813695731
- Sigstore integration time:
-
Permalink:
lammour/cq-tdm@5ec83e7a994276bfc7073da15eea688e9185c3be -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lammour
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5ec83e7a994276bfc7073da15eea688e9185c3be -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file cq_tdm-0.2.0-py3-none-any.whl.
File metadata
- Download URL: cq_tdm-0.2.0-py3-none-any.whl
- Upload date:
- Size: 73.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5b56b5304fb28f3cab364610f344e6d2a814884c5214a4d9372d2a114f3cc84
|
|
| MD5 |
db333bafc74a03772f68d262841c6f5e
|
|
| BLAKE2b-256 |
4f0aaa0b165ece82af352f9b93b189e3e90bdb118d65667e5063c2bb38fadf61
|
Provenance
The following attestation bundles were made for cq_tdm-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on lammour/cq-tdm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cq_tdm-0.2.0-py3-none-any.whl -
Subject digest:
c5b56b5304fb28f3cab364610f344e6d2a814884c5214a4d9372d2a114f3cc84 - Sigstore transparency entry: 813695732
- Sigstore integration time:
-
Permalink:
lammour/cq-tdm@5ec83e7a994276bfc7073da15eea688e9185c3be -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lammour
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5ec83e7a994276bfc7073da15eea688e9185c3be -
Trigger Event:
workflow_dispatch
-
Statement type: