Skip to content

In this work, we present an extensive description and evaluation of our method for blood vessel segmentation in fundus images based on a discriminatively trained, fully connected conditional random field model. Standard segmentation priors such as a Potts model or total variation usually fail when dealing with thin and elongated structures. We o…

Notifications You must be signed in to change notification settings

schmidtchristoph/fundus-vessel-segmentation-tbme

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Retinal Vessel Segmentation Created by José Ignacio Orlando (Nacho) at Pladema Institute (Facultad de Ciencias Exactas, UNCPBA, Tandil, Argentina) and CONICET (Consejo Nacional de Investigaciones Científicas y Técnicas, Argentina), under the supervision of Matthew B. Blaschko (KU Leuven, Belgium).

##Introduction This code corresponds to a modified version of our method published in IEEE TBME 2016. It allows you to perform vessel segmentation in color fundus images.

##License Our code is released under the MIT Licence (refer to the LICENSE file for details).

##Citing If you find our code useful for your research, please cite:

@article{orlando2016discriminatively,
  title={A discriminatively trained fully connected Conditional Random Field model for blood vessel segmentation in fundus images},
  author={Orlando, Jos{\'e} Ignacio and Prokofyeva, Elena and Blaschko, Matthew},
  journal={Biomedical Engineering, IEEE Transactions on},
  year={2016},
  publisher={IEEE}
}
@incollection{orlando2014learning,
  title={Learning fully-connected CRFs for blood vessel segmentation in retinal images},
  author={Orlando, Jos{\'e} Ignacio and Blaschko, Matthew},
  booktitle={Medical Image Computing and Computer-Assisted Intervention--MICCAI 2014},
  pages={634--641},
  year={2014},
  publisher={Springer}
}

There are also some third party libraries included in our code. If you use it, please cite:

Responses to 2D Gabor wavelets by Soares et al.: J. V. Soares et al.: Retinal vessel segmentation using the 2-D Gabor wavelet and supervised classification. IEEE Transactions on Medical Imaging, vol. 25, no. 9, 2006

Line detectors by Nguyen et al.: U. T. Nguyen et al.: An effective retinal blood vessel segmentation method using multi-scale line detection. Pattern Recognition, vol. 46, no. 3, pp. 703-715, 2013.

Efficient inference in fully connected CRF by Krahenbul and Koltun (Cpp implementation): P. Krahenbuhl and V. Koltun: Efficient inference in fully connected CRFs with Gaussian edge potentials. Advances in Neural Information Processing Systems, 2012, pp. 109-117. (if you use the MEX function that wraps this code please also cite our IEEE TMBE and MICCAI papers)

Graph-cut for local neighborhood based CRF inference: Y. Boykov and V. Kolmogorov: An experimental comparison of mincut/max-flow algorithms for energy minimization in vision. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 26, no. 9, pp. 1124-1137, 2004.

##Contents

###Requirements

  1. Set up MEX compiler according to your OS.
  2. Compile the Fully Connected CRF wrapper doing:
mex ./CRF/CRF_1.0/fullyCRFwithGivenPairwises.cpp ./CRF/CRF_1.0/densecrf.cpp ./CRF/CRF_1.0/util.cpp
mex ./CRF/CRF_1.0/pairwisePart.cpp ./CRF/CRF_1.0/util.cpp

You can do it automatically by running setup_segmentation_code.

###Using the code Before running, please check out the user_manual.pdf file. It explains how to organize your data sets before running.

###Any questions? If you have found any bug, or you want to push an improvement, or you just have questions about how to use the code, please open an issue and I will try to answer as soon as possible :-)

About

In this work, we present an extensive description and evaluation of our method for blood vessel segmentation in fundus images based on a discriminatively trained, fully connected conditional random field model. Standard segmentation priors such as a Potts model or total variation usually fail when dealing with thin and elongated structures. We o…

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • MATLAB 58.5%
  • C 31.7%
  • C++ 9.8%