Giter Club home page Giter Club logo

medpipe3d.jl's Introduction

MedPipe3D.jl: GPU accelerated medical image segmentation framework

Package that enable working on GPU accelerated medical image segmentation using Julia. The tech stack includes :

MedEye3d.jl - OpenGL based tool for viewing and annotation of 3D medical imagiing

MedEval3D.jl - CUDA accelerated package with 3D medical image segmentation algorithms

HDF5.jl - Julia interface to HDF5 file system which is proven to give higher performance than native medical imagiing formats

MONAI - Python package called in Julia using PythonCall - used for preprocessing

Tutorial can be found on https://github.com/jakubMitura14/MedPipe3DTutorial/tree/master

If You will find usefull my work please cite it

@Article{Mitura2021,
  author   = {Mitura, Jakub and Chrapko, Beata E.},
  journal  = {Zeszyty Naukowe WWSI},
  title    = {{3D Medical Segmentation Visualization in Julia with MedEye3d}},
  year     = {2021},
  number   = {25},
  pages    = {57--67},
  volume   = {15},
  doi      = {10.26348/znwwsi.25.57},
  keywords = {OpenGl, Computer Tomagraphy, PET/CT, medical image annotation, medical image visualization},
}

medpipe3d.jl's People

Contributors

jakubmitura14 avatar

Stargazers

Vivek Kiran Ballakur avatar Divyansh Goyal avatar Dennis Ogiermann avatar

Watchers

Vivek Kiran Ballakur avatar Guillermo Sahonero Alvarez avatar  avatar  avatar

medpipe3d.jl's Issues

Support k-fold cross-validation

Success when

The user can set either val_percentage - which will lead to the division of the dataset to training and validation fold or supply k which will lead to k-fold cross-validation. In the latter option mean, threshold, and standard deviation of the ensemble will be returned as the final output of the model

Integrate augmentations like rotations recalling gamma etc.

Success when

Given the configuration struct supplied by the user the supplied augmentations will be executed with some defined probability after loading the image: Brightness transform, Contrast augmentation transform, Gamma Transform, Gaussian noise transform, Rician noise transform, Mirror transform, Scale transform, Gaussian blur transform, Simulate low-resolution transform, Elastic deformation transform

Set all hyperparameters (of augmentation; size of a patch, threshold for getting binary mask from probabilities) in a struct or dictionary to enable hyperparameter tuning.

Success when
Probabilities and hyperparameters of all augmentations, thresholds for binarization of output channels chosen spacing for preprocessing, number and settings of test time augmentations should be available in a hyperparam struct that is the additional argument of the pipeline function and that can be used for hyperparameter tuning

Provide theorethical introduction about

  1. Introduction to Medical Imaging Theory and Spatial Metadata
    Provide an introductory overview of medical imaging formats and spatial metadata.
    Explain the fundamental concepts and principles underlying medical imaging.
  2. Give a theoretical overview of functionalities under development, excluding usage examples.
  3. Describe various image transformation functions, including:
    Brightness transform
    Contrast augmentation transform
    Gamma Transform
    Gaussian noise transform
    Rician noise transform
    Mirror transform
    Scale transform
    Gaussian blur transform
    Simulate low-resolution transform
    Elastic deformation transform
    4.Explain the concept of K-fold cross-validation and its relevance in model evaluation.
  4. Discuss the concept of probabilistic oversampling and its application in image segmentation tasks.
    Explain how probabilistic oversampling techniques can enhance the robustness of segmentation models.
  5. Describe the importance of standardizing image spacing, origin, and orientation.
  6. Explain Largest Component Analysis utility in identifying and analyzing the largest connected components within datasets.
  7. Give a brief introduction to hyperparameter tuning techniques.
    Explain the usage of the Hyperopt package for automated hyperparameter optimization.

Enable invertible augmentations and support test time augmentations.

Success when
Enable some transformation to be executed on the model input, then inverse this transform on the model output; execute model inference n times when n is supplied by the user and return mean and standard deviation of segmentation masks produced by the model as the output

Add patch-based data loading with probabilistic oversampling.

Success when

given the size of the 3D patch by the user algorithm after data loading will crop or pad the supplied image to meet the set size criterion. The part of the image where the label is present should be selected more frequently than the areas without during cropping, the probability that the area with some label indicated on segmentation mas will be chosen will equal p (0-1) where p is supplied by the user

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.