You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

ORACLE-IPF: CT-based IPF Survival Prediction

This repository hosts an ensemble of 5 models trained for idiopathic pulmonary fibrosis (IPF) survival analysis using chest CT scans.

Repository Structure

ORACLE-IPF/
β”œβ”€β”€ README.md                                          # Model card (this file)
β”œβ”€β”€ inference/                                         # Inference pipeline
β”‚   β”œβ”€β”€ README.md                                      # Inference documentation
β”‚   β”œβ”€β”€ checkpoints/                                   # Pre-trained model weights
β”‚   β”‚   β”œβ”€β”€ weight1.ckpt                               # Ensemble model 1
β”‚   β”‚   β”œβ”€β”€ weight2.ckpt                               # Ensemble model 2
β”‚   β”‚   β”œβ”€β”€ weight3.ckpt                               # Ensemble model 3
β”‚   β”‚   β”œβ”€β”€ weight4.ckpt                               # Ensemble model 4
β”‚   β”‚   └── weight5.ckpt                               # Ensemble model 5
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   β”œβ”€β”€ checkpoints.yaml                           # Checkpoint configuration
β”‚   β”‚   └── patients.yaml                              # Sample patient configuration
β”‚   β”œβ”€β”€ requirements.txt                               # Python dependencies
β”‚   β”œβ”€β”€ run_inference.sh                               # Shell script to run inference
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   β”œβ”€β”€ ensemble.py                                # Ensemble prediction logic
β”‚   β”‚   └── inference.py                               # Main inference script
β”‚   └── tests/
β”‚       β”œβ”€β”€ __init__.py
β”‚       └── test_results.py                            # Result validation tests
β”‚
└── training/                                          # Training pipeline
    β”œβ”€β”€ README.md                                      # Training documentation
    β”œβ”€β”€ .gitignore                                     # Git ignore rules
    β”œβ”€β”€ .huggingfaceignore                             # HuggingFace ignore rules
    β”œβ”€β”€ config/
    β”‚   └── train_config.yaml                          # Training hyperparameters
    β”œβ”€β”€ scripts/
    β”‚   β”œβ”€β”€ prepare_data.sh                            # Data preparation script
    β”‚   └── train.sh                                   # Training launch script
    β”œβ”€β”€ training_data_sample/                          # Sample training data (de-identified)
    β”‚   └── ct{1,2,3}/                                 # Sample CT cases
    β”‚       β”œβ”€β”€ ct.npy                                 # CT volume (D, H, W)
    β”‚       β”œβ”€β”€ meta.json                              # DICOM metadata
    β”‚       β”œβ”€β”€ LungTexture.Obj.Honeycomb.npy          # Honeycomb pattern mask
    β”‚       β”œβ”€β”€ LungTexture.Obj.Reticular.npy          # Reticular pattern mask
    β”‚       └── LungTexture.Obj.Normal.npy             # Normal lung mask
    └── src/
        β”œβ”€β”€ __init__.py
        β”œβ”€β”€ config.py                                  # Model configuration (ModelArgs)
        β”œβ”€β”€ dataset.py                                 # PyTorch dataset for IPF data
        β”œβ”€β”€ prepare_masks.py                           # IPF mask preparation script
        β”œβ”€β”€ train.py                                   # Main training script
        └── models/
            β”œβ”€β”€ __init__.py
            β”œβ”€β”€ oracle.py                              # ORACLE model architecture
            β”œβ”€β”€ cumulative_probability_layer.py        # Survival probability layer
            β”œβ”€β”€ pooling_layer.py                       # Feature pooling layer
            └── regressor.py                           # Regression head

Model Architecture

  • Architecture: ORACLE / ORACLEDoubleDensity
  • Backbone: R3D-18 (pretrained on Kinetics-400)
  • Input: CT volume (B, 3, 200, 256, 256) with clinical features (sex, age)
  • Output: The model outputs cumulative survival probabilities at annual horizons from 1 to 5 years, plus one additional probability for the subsequent time interval beyond 5 years (B, 6)

Data Format

Input Data

  • CT volume: 3D numpy array (D, H, W) in Hounsfield Units
  • Lung texture masks (for training only): Binary masks for Honeycomb, Reticular, and Normal patterns (obtained from AVIEW, Coreline, Seoul, Korea)
  • Metadata: Patient demographics (sex, age at CT scan)

Processed Data

  • IPF mask (i.e., fibrosis mask): Union of Honeycomb and Reticular patterns
  • Fibrosis density: Ratio computed from Fibrosis (Honeycomb or Reticular) and Normal masks

Access and Usage Conditions

The distribution of these model weights is subject to the following conditions. By requesting and receiving access, you agree that:

  • The weights are provided solely for non-commercial research and educational purposes.
  • Any attempt to use the model for commercial applications, product development, or deployment beyond academic research requires separate written permission from the authors.
  • Users must respect privacy standards and must not attempt to identify or re-identify any individual from the model outputs.
  • Any use of the model in academic work must include a formal citation of the associated publication:

    [TBU: DOI]

  • The model has been developed for academic and research purposes and has not undergone regulatory validation for clinical deployment.
  • The authors and affiliated institution retain all intellectual property rights and disclaim any responsibility for misuse.

License

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support