Image Feature Extraction
timm
Safetensors
English
university-of-kentucky
medical
radiology
chest-ct
vision
lejepa
Instructions to use Kentucky-Open-Science/DALE-CT-0-L with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- timm
How to use Kentucky-Open-Science/DALE-CT-0-L with timm:
import timm model = timm.create_model("hf_hub:Kentucky-Open-Science/DALE-CT-0-L", pretrained=True) - Notebooks
- Google Colab
- Kaggle
| license: cc-by-nc-sa-4.0 | |
| library_name: timm | |
| pipeline_tag: image-feature-extraction | |
| tags: | |
| - university-of-kentucky | |
| - medical | |
| - radiology | |
| - chest-ct | |
| - vision | |
| - lejepa | |
| language: | |
| - en | |
| # Model Card for DALE-CT-0-L | |
| **Authors:** [Evan W. Damron](https://huggingface.co/evn13) · Mahmut S. Gokmen · Mitchell A. Klusty · Caroline N. Leach · Emily B. Collier · V. K. Cody Bumgardner — Institute for Biomedical Informatics Center for Applied AI (IBI-CAAI), University of Kentucky | |
| This repository hosts the backbone weights for **DALE-CT-0-L** (Depth-Aware | |
| Latent-Euclidean Computed Tomography — Large corpus), a foundational Vision | |
| Transformer (ViT-Large) trained **entirely self-supervised, from scratch**, on | |
| a ~296,000-case multi-source chest-CT pool — to our knowledge the largest | |
| chest-CT pretraining corpus reported to date. It scales the supervision-free | |
| [DALE-CT-0](https://huggingface.co/Kentucky-Open-Science/DALE-CT-0) recipe by ~11.5× in data | |
| with no auxiliary labels. | |
| **This is the recommended general-purpose DALE-CT backbone**: it achieves the | |
| best external transfer of the 2D family (RAD-ChestCT retrained-probe AUROC | |
| 0.7572), matches the anatomically supervised DALE-CT-1S-v2 in-domain without | |
| any labels, and preserves the anatomical world model (frozen slice embeddings | |
| linearly decode volumetric position, R² = 0.973). For maximum in-domain | |
| CT-RATE performance, use | |
| [DALE-CT-2S](https://huggingface.co/Kentucky-Open-Science/DALE-CT-2S). | |
| ## Quick Load (timm) | |
| ```python | |
| import timm | |
| model = timm.create_model("hf-hub:Kentucky-Open-Science/DALE-CT-0-L", pretrained=True) | |
| model.eval() | |
| ``` | |
| Inputs must be Hounsfield-Unit slices preprocessed exactly as during training | |
| (clipping + z-score; see the full example below). | |
| ## The DALE-CT Family | |
| All numbers are our own head-to-head measurements: every model (including the | |
| public 3D baselines in the paper) is probed under one linear-probing MIL | |
| protocol on shared splits (CT-RATE n = 992 test scans; RAD-ChestCT n = 360). | |
| See the paper for the full protocol and confidence intervals. | |
| | Model | CT-RATE Macro AUROC | RAD-ChestCT AUROC (frozen / retrained probe) | Role | | |
| |---|---|---|---| | |
| | [DALE-CT-0-L](https://huggingface.co/Kentucky-Open-Science/DALE-CT-0-L) ⭐ | 0.8156 | 0.6281 / **0.7572** | **Recommended general-purpose backbone** — best 2D external-transfer point estimates; supervision-free at ~287k-scan scale | | |
| | [DALE-CT-2S](https://huggingface.co/Kentucky-Open-Science/DALE-CT-2S) | **0.8247** | 0.6252 / 0.7389 | Best in-domain (CT-RATE) | | |
| | [DALE-CT-1S-v2](https://huggingface.co/Kentucky-Open-Science/DALE-CT-1S-v2) | 0.8098 | 0.6284 / 0.7334 | Anatomical (TotalSegmentator) dense supervision only | | |
| | [DALE-CT-0](https://huggingface.co/Kentucky-Open-Science/DALE-CT-0) | 0.8057 | 0.5946 / 0.7477 | Pure self-supervised, CT-RATE | | |
| | [Finetuned DINOv2](https://huggingface.co/Kentucky-Open-Science/Finetuned-DINOv2-Chest-CT) | 0.7953 | 0.6252 / 0.7550 | Continual-pretraining baseline | | |
| **Paper:** [DALE-CT: Depth-Aware 2D Slice Encoders Learn an Anatomical World Model of Chest CT](https://arxiv.org/abs/2606.07775) · **Code:** [Kentucky-Open-Science/DALE-CT](https://github.com/Kentucky-Open-Science/DALE-CT) | |
| ## Model Details | |
| * **Model Type:** Vision Transformer (ViT-Large) for chest CT analysis. | |
| * **Developed by:** Institute for Biomedical Informatics Center for Applied AI (IBI-CAAI), University of Kentucky | |
| * **Base Model Architecture:** `vit_large_patch14_dinov2` (via `timm`), randomly initialized and trained from scratch with `patch_size=16`, `img_size=512`, `in_chans=1`, `dynamic_img_size=True`. | |
| * **Input:** 1-channel grayscale CT slice (Hounsfield Units, preprocessed as below — note the normalization statistics differ from the CT-RATE-trained variants). | |
| * **Output:** class token and patch tokens (embedding dimension 1024). | |
| * **License:** CC BY-NC-SA 4.0 — **non-commercial use only.** The pretraining pool includes an institutional chest-CT archive in addition to public collections; the weights are released for research use. | |
| ## Training Data | |
| * **Corpus:** a multi-source chest-CT pool of 296,429 cases across 32 collections (287,302 used for training), stored at native resolution in true-HU form. Two cohorts dominate: the National Lung Screening Trial (~130k scans) and an institutional chest-CT archive, together roughly three-quarters of the pool; the remainder comes from ~30 public collections (RSNA pulmonary embolism, STOIC, 4D-Lung, COVID cohorts, CT-RATE, among others). See the paper for details. | |
| * **Preprocessing:** HU clipped to `[-940.8, 923.1]` (0.5/99.5 foreground percentiles fit on the full pool), mapped to `[0, 1]`, then z-score normalized (pool mean `-25.03`, std `246.87` in HU space). **These statistics differ from the CT-RATE-trained DALE-CT variants — use the values above with this model.** | |
| ## Training Procedure | |
| * DDP, `bf16`, 16×H100 GPUs; 3 epochs over the pool (191,357 iterations, global batch 384), no auxiliary head. | |
| * Depth-aware multi-crop: two global 256² crops from the slab center slice and eight local 144² crops drawn from a 3-slice native-resolution axial slab; local crops guided to TotalSegmentator foreground (p=0.8). No ReX guidance (the pool lacks ReX labels outside CT-RATE). | |
| * Objective: pure LeJEPA (invariance + SIGReg, λ=0.02); no labels of any kind. | |
| ## Preprocessing Example | |
| ```python | |
| import torch, numpy as np, timm | |
| model = timm.create_model("hf-hub:Kentucky-Open-Science/DALE-CT-0-L", pretrained=True) | |
| model.eval() | |
| clip_min, clip_max, mean_hu, std_hu = -940.8, 923.1, -25.03, 246.87 # DALE-CT-0-L stats | |
| rng = clip_max - clip_min | |
| norm_mean, norm_std = (mean_hu - clip_min) / rng, std_hu / rng | |
| hu_slice = np.random.uniform(-1000, 1000, size=(512, 512)) # replace with real HU data | |
| x = torch.from_numpy(hu_slice).float().clamp(clip_min, clip_max) | |
| x = ((x - clip_min) / rng - norm_mean) / norm_std | |
| x = x[None, None] # (1, 1, H, W) | |
| with torch.no_grad(): | |
| cls_feature = model(x) # (1, 1024) | |
| tokens = model.forward_features(x) # (1, 1 + N_patches, 1024) | |
| ``` | |
| ## Citation | |
| If you use this model, please cite the DALE-CT paper (https://arxiv.org/abs/2606.07775). | |