Biomedical Image Segmentation

Boston University Image and Video Computing Group


Advances in microscopy and storage technologies have led to large amounts of images of biological structures that, if analyzed, could provide an understanding of fundamental biological processes and, in turn, aid in diagnosing diseases and engineering biomaterials. The key bottleneck in making progress is often analyzing the large amount of data captured.

Essential steps for image analysis typically include characterizing the shape of structures, classifying structures into different categories, or tracking structures over time. Among the analysis tasks of detection, segmentation, and tracking of structures, segmentation is the most time-consuming task for human annotators and so is our initial focus of impact.

We freely share our resources we are developing to accelerate the research in the biomedical community to automatically analyze biomedical images. To ensure our methods are generalized, we collaborate with biologists and biomedical engineers to create image libraries representing various image acquisition modalities, biological structure types, magnification levels, and image acquisition parameters. We also define annotation standards to create reliable reference data for algorithm validation and to collect annotations from non-experts using crowdsourcing platforms. Finally, we develop approaches and systems to expedite or replace expert efforts to consistently and efficiently collect high quality boundaries of biological structures in their images.


BU-BIL (Boston University - Biomedical Image Library)

If you are publishing any work using this dataset, please cite:

D. Gurari, D. Theriault, M. Sameki, B. Isenberg, T. A. Pham, A. Purwada, P. Solski, M. Walker, C. Zhang, J. Y. Wong, and M. Betke. "How to Collect Segmentations for Biomedical Images? A Benchmark Evaluating the Performance of Experts, Crowdsourced Non-Experts, and Algorithms." Winter conference on Applications in Computer Vision (WACV), 8 pp, 2015. [In Press].

Automated Segmentation Methods

Level Set Methods batch image process toolbox.

If you are publishing any work using this toolbox, please cite:

D. Gurari, D. Theriault, M. Sameki, and M. Betke. "How to Use Level Set Methods to Accurately Find Boundaries of Cells in Biomedical Images? Evaluation of Six Methods Paired with Automated and Crowdsourced Initial Contours." The Interactive Medical Image Computation Workshop (MICCAI IMIC), 9 pp, 2014.

Variance Maps Source Code

Matlab Usage Example:

% Read original image
img = imread('testImage.jpg');

% Create segmentation
varSeg = VarianceMapSegmentation;
varSeg.varianceMapRadius = 2;
varSeg.threshold = 5;
seg = varSeg.SegmentImage(double(img));

% Post-proces segmentation to remove small objects and fill holes
minObjPixCnt = 500;
seg = bwareaopen(seg, minObjPixCnt);
seg = imfill(seg, 'holes');

% Visualize original image and final result
subplot(1, 2, 1);
subplot(1, 2, 2);

If you are publishing any work using this algorithm, please cite:

D. Gurari, D. Theriault, and M. Betke. "Informed Segmentation: A Framework for Using Context to Select an Algorithm and a Case Study Using Humans in the Loop." The Interactive Medical Image Computation Workshop (MICCAI IMIC), 9 pp, 2014.


We gratefully acknowledge funding from the National Science Foundation (IIS-1421943, IIS-0910908).


For questions and/or comments, feel free to contact:

Danna Gurari
Senior PhD Student

Mehrnoosh Sameki
PhD Student

Diane Theriault
Senior PhD Student

Margrit Betke