Skip to content

Multitask Learning on Segmentation and Classification of Intracranial Hemorrhage Using CT Scans

License

Notifications You must be signed in to change notification settings

mikami520/MultiHem

Repository files navigation

MultiHem Logo

GitHub Repo stars GitHub last commit Python 3.10 License: MIT PyTorch

📑 Overview

MultiHem is a multitask learning framework for simultaneous segmentation and classification of intracranial hemorrhage using CT scans. This project implements state-of-the-art deep learning techniques to improve diagnostic accuracy for various types of brain hemorrhages.

Warning

This code is proprietary and should not be used for other projects without explicit permission from the authors.

🚀 Quick Start

Clone the Repository

git clone https://github.com/mikami520/MultiHem.git
cd MultiHem

Installation

# Create and activate conda environment
conda create -n hem python=3.10
conda activate hem

# Install with all dependencies
pip install -e '.[all]'

🛠️ Dependencies

Core Dependencies (installed via pip install -e .)
  • torch
  • omegaconf
  • tqdm
  • scipy
  • monai
  • tensorboard
  • matplotlib
Full Dependency List (installed via pip install -e '.[all]')

Image Processing

  • nibabel
  • skimage
  • pillow
  • itk
  • cucim
  • openslide
  • tifffile
  • imagecodecs
  • pydicom
  • pynrrd

Deep Learning

  • torchvision
  • torchaudio
  • transformers
  • huggingface_hub
  • onnx
  • onnxruntime

Experiment Tracking

  • tensorboard
  • tensorboardX
  • mlflow
  • clearml

Data Handling

  • pandas
  • h5py
  • zarr
  • lmdb

Utilities

  • einops
  • psutil
  • pynvml
  • fire
  • jsonschema
  • ninja
  • pyyaml

Optimization

  • ignite
  • nni
  • optuna
  • lpips
Development Dependencies (installed via pip install -e '.[dev]')
  • pytest
  • black
  • flake8
  • isort
  • mypy

📊 Data Processing

Preprocessing and data augmentation pipelines are implemented through the monai.transform module. Detailed transformation configurations can be found in trainer.py.

🧠 Training

Configure your experiment by modifying config.yml to specify:

  • Dataset paths
  • Network architecture
  • Hyperparameters
  • Training settings
python main.py --cfg config.yml --device cuda

Training artifacts (loss plots, saved models, checkpoints, log files) are saved in the exp folder.

🔍 Inference

To run inference on test data:

python main.py --cfg config.yml --device cuda --test

All prediction results are saved in the prediction folder.

Star History

Star History Chart


Developed by Chris Xiao | University of Toronto

© 2025 All Rights Reserved

About

Multitask Learning on Segmentation and Classification of Intracranial Hemorrhage Using CT Scans

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •