GithubHelp home page GithubHelp logo

crnsmile / heartseg Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yulequan/heartseg

0.0 2.0 0.0 16.44 MB

code of DenseVoxNet and 3D-DSN

Home Page: http://appsrv.cse.cuhk.edu.hk/~lqyu/DenseVoxNet/index.html

Shell 1.88% MATLAB 97.52% Objective-C 0.60%

heartseg's Introduction

DenseVoxNet and 3D-DSN

  • Automatic 3D Cardiovascular MR Segmentation with Densely-Connected Volumetric ConvNets, MICCAI 2017
  • 3D Deeply Supervised Network for Automated Segmentation of Volumetric Medical Images, MedIA 2017

Introduction

This repository includes the code (training and testing) for our papers about DenseVoxNet and 3D-DSN. The code is based on 3D-CNN for volumetric segmentation, and the 3D operation is implemented with 3D-Caffe library. You can simply extend this code to other volumetric segmentation tasks.

Installation

  1. Follow the instruction of 3D-Caffe to install Caffe library. Rememebr to use git checkout 3D-Caffe to switch the correct branch and use make matcaffe to build Matlab interface.

  2. As an alternative, you can

git clone https://github.com/yulequan/HeartSeg
cd 3D-Caffe
cp Makefile.config.example Makefile.config
vim Makefile.config
##uncomment USE_CUDNN := 1 if you want to use CuDNN
make -j8
make matcaffe
  1. Install Matlab toolbox NIfTI_tools in order to read nii data format in Matlab.

Usage

  1. Download HVSMR dataset (phase 2) and put them in folder data.

  2. Prepare the hdf5 data to train the model.

cd code
#modify parameters in prepare_h5_data.m file
matlab prepare_h5_data.m
  1. Train the model
cd DenseVoxNet or cd 3D-DSN # Different folder for different network architecture
sh start_train.sh
  1. Test the model
cd code
#modify parameters and model path in test_model.m
matlab test_model.m

Note

  • We use HDF5DataLayer to read data. You need to generate the hdf5 data from original data type. See prepare_h5_data.m for more details.

  • Due to the limited GPU memory, we use patch-based training/testing strategy. The patch size is 64 by 64 by 64. You can modify it in network architecture and corresponding .m file.

  • In order to get the whole prediction, we provided two schemes (average fusion and major voting). Please see papers for more detail.

  • Generally, the batch normalization will accerate the training. We had better set the batch size (>1) to properly use batchnorm.

Citation

If you find this code is useful for your research, please consider citing:

@article{yu2017automatic, author = {Yu, Lequan and Cheng,Jie-Zhi and Dou, Qi and Yang, Xin and Chen, Hao and Qin, Jing and Heng, Pheng-Ann}, title = {Automatic 3D Cardiovascular MR Segmentation with Densely-Connected Volumetric ConvNets}, Journal = {MICCAI}, year = {2017} }

and/or

@article{dou20173d, author = {Dou, Qi and Yu, Lequan and Chen, Hao and Jin, Yueming and Yang, Xin and Qin, Jing and Heng, Pheng-Ann}, title = {3D deeply supervised network for automated segmentation of volumetric medical images}, journal = {Medical Image Analysis}, publisher = {Elsevier}, year = {2017} }

Questions

Please contact '[email protected]' or '[email protected]'

heartseg's People

Contributors

yulequan avatar

Watchers

 avatar  avatar

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.