cavelandiam/cnn-tep-detection: v0.0.1

Fuente: Zenodo
Guardado en:
Detalles Bibliográficos
Autor principal: Cristian A. Velandia M.
Formato: Recurso digital
Publicado: Zenodo 2026
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866901564233351168
author Cristian A. Velandia M.
author_facet Cristian A. Velandia M.
contents <h1>v1.0.0 – Initial Public Release: HUCSR-Net for Automated Pulmonary Embolism Detection</h1> <p>This is the first public release of the <strong>cnn-tep-detection</strong> repository, presenting <strong>HUCSR-Net</strong>: a fully automated 3D convolutional neural network designed for detecting Pulmonary Embolism (PE / Tromboembolismo Pulmonar – TEP) from Computed Tomography Pulmonary Angiography (CTPA) scans.</p> <p>Developed by <strong>Cristian Velandia</strong> <a href="https://x.com/cris_vm18"></a> and <strong>Hector Florez</strong> at Universidad Distrital Francisco José de Caldas, Bogotá, Colombia.</p> <p><strong>Core pipeline files are located in the <code>steps/</code> folder</strong> — these contain the end-to-end workflow:</p> <ul> <li><code>s1_preprocess_data_hucsr.py</code> → Data preprocessing and HUCSR dataset handling</li> <li><code>s2_create_model.py</code> → Model definition and architecture setup (R(2+1)D-18 adapted)</li> <li><code>s3_inference.py</code> → Inference on new studies</li> </ul> <p>Additional supporting scripts (e.g. <code>s1_improved_3dcnn_tep.py</code>, <code>s3_fine_tunning.py</code>, <code>s4_inference_tep.py</code>, <code>s4_inference_tep_v2.py</code>) provide alternative implementations, fine-tuning routines, and inference variants.</p> <h3>Project Highlights</h3> <ul> <li><strong>Dataset</strong>: Retrospective single-center HUCSR cohort from Hospital Universitario Clínica San Rafael (Bogotá, Colombia) — 86 patients (43 positive / 43 negative PE cases), ~128,484 DICOM images acquired Jan 2022–Jun 2024.</li> <li><strong>Architecture</strong>: Modern <strong>R(2+1)D-18</strong> (from torchvision), pre-trained on Kinetics-400, adapted to single-channel grayscale CTPA volumes (averaged RGB weights in first Conv3D layer). Custom head: Dropout (p=0.6) + Linear(512→1) + sigmoid. Input shape: (1, 94, 192, 192).</li> <li><strong>Training</strong>: From scratch with patient-level 5-fold stratified cross-validation. AdamW optimizer (lr=1e-4, wd=1e-3), BCEWithLogitsLoss, early stopping (patience=10 epochs on val AUC).</li> <li><strong>Hardware</strong>: NVIDIA GeForce RTX 5070 Ti (16 GB VRAM) + AMD Ryzen 9 9950X.</li> <li><strong>Performance (best model – Fold 4)</strong>:<ul> <li>Validation AUC: <strong>0.7026</strong></li> <li>Sensitivity (Recall): <strong>0.8592</strong></li> <li>Specificity: 0.2673</li> <li>Precision: 0.4519</li> <li>F1-Score: <strong>0.592</strong></li> <li>PR-AUC: 0.5907</li> <li>MCC: 0.1515</li> <li>Accuracy: 0.512</li> <li>Loss: 0.7989</li> </ul> </li> </ul> <p>High sensitivity prioritizes minimizing false negatives — ideal for emergency triage where missing PE has high mortality risk (15–30% if untreated).</p> <h3>What's Included</h3> <ul> <li>Full preprocessing, model creation, training, fine-tuning & inference scripts (mainly in <code>steps/</code>)</li> <li>Utilities (<code>utils/</code>: config, logger, visualization)</li> <li>Graphs & metrics from cross-validation (<code>graphs/hucsr/metrics/</code>)</li> <li>Sample inferences (<code>inferences/</code>)</li> <li>Requirements (<code>requirements.txt</code>, CPU fallback)</li> <li>WSL2 + Ubuntu 22.04 LTS setup guide in README.md</li> </ul>
format Recurso digital
id zenodo_https___doi_org_10_5281_zenodo_18752729
institution Zenodo
language
publishDate 2026
publisher Zenodo
record_format zenodo
spellingShingle cavelandiam/cnn-tep-detection: v0.0.1
Cristian A. Velandia M.
<h1>v1.0.0 – Initial Public Release: HUCSR-Net for Automated Pulmonary Embolism Detection</h1> <p>This is the first public release of the <strong>cnn-tep-detection</strong> repository, presenting <strong>HUCSR-Net</strong>: a fully automated 3D convolutional neural network designed for detecting Pulmonary Embolism (PE / Tromboembolismo Pulmonar – TEP) from Computed Tomography Pulmonary Angiography (CTPA) scans.</p> <p>Developed by <strong>Cristian Velandia</strong> <a href="https://x.com/cris_vm18"></a> and <strong>Hector Florez</strong> at Universidad Distrital Francisco José de Caldas, Bogotá, Colombia.</p> <p><strong>Core pipeline files are located in the <code>steps/</code> folder</strong> — these contain the end-to-end workflow:</p> <ul> <li><code>s1_preprocess_data_hucsr.py</code> → Data preprocessing and HUCSR dataset handling</li> <li><code>s2_create_model.py</code> → Model definition and architecture setup (R(2+1)D-18 adapted)</li> <li><code>s3_inference.py</code> → Inference on new studies</li> </ul> <p>Additional supporting scripts (e.g. <code>s1_improved_3dcnn_tep.py</code>, <code>s3_fine_tunning.py</code>, <code>s4_inference_tep.py</code>, <code>s4_inference_tep_v2.py</code>) provide alternative implementations, fine-tuning routines, and inference variants.</p> <h3>Project Highlights</h3> <ul> <li><strong>Dataset</strong>: Retrospective single-center HUCSR cohort from Hospital Universitario Clínica San Rafael (Bogotá, Colombia) — 86 patients (43 positive / 43 negative PE cases), ~128,484 DICOM images acquired Jan 2022–Jun 2024.</li> <li><strong>Architecture</strong>: Modern <strong>R(2+1)D-18</strong> (from torchvision), pre-trained on Kinetics-400, adapted to single-channel grayscale CTPA volumes (averaged RGB weights in first Conv3D layer). Custom head: Dropout (p=0.6) + Linear(512→1) + sigmoid. Input shape: (1, 94, 192, 192).</li> <li><strong>Training</strong>: From scratch with patient-level 5-fold stratified cross-validation. AdamW optimizer (lr=1e-4, wd=1e-3), BCEWithLogitsLoss, early stopping (patience=10 epochs on val AUC).</li> <li><strong>Hardware</strong>: NVIDIA GeForce RTX 5070 Ti (16 GB VRAM) + AMD Ryzen 9 9950X.</li> <li><strong>Performance (best model – Fold 4)</strong>:<ul> <li>Validation AUC: <strong>0.7026</strong></li> <li>Sensitivity (Recall): <strong>0.8592</strong></li> <li>Specificity: 0.2673</li> <li>Precision: 0.4519</li> <li>F1-Score: <strong>0.592</strong></li> <li>PR-AUC: 0.5907</li> <li>MCC: 0.1515</li> <li>Accuracy: 0.512</li> <li>Loss: 0.7989</li> </ul> </li> </ul> <p>High sensitivity prioritizes minimizing false negatives — ideal for emergency triage where missing PE has high mortality risk (15–30% if untreated).</p> <h3>What's Included</h3> <ul> <li>Full preprocessing, model creation, training, fine-tuning & inference scripts (mainly in <code>steps/</code>)</li> <li>Utilities (<code>utils/</code>: config, logger, visualization)</li> <li>Graphs & metrics from cross-validation (<code>graphs/hucsr/metrics/</code>)</li> <li>Sample inferences (<code>inferences/</code>)</li> <li>Requirements (<code>requirements.txt</code>, CPU fallback)</li> <li>WSL2 + Ubuntu 22.04 LTS setup guide in README.md</li> </ul>
title cavelandiam/cnn-tep-detection: v0.0.1
url https://doi.org/10.5281/zenodo.18752729