image thumbnail

Image segmentation based on finding the maximum mean intensity path

version 1.0.0.0 (310 KB) by Peter Nagy
The program finds the membrane in a fluorescence image using a modified Dijkstra algorithm.

220 Downloads

Updated 17 Nov 2016

View License

The program can be used for detecting the cell membrane in microscopic images in which the cell membrane is stained. The user must provide the coordinates of a couple of seeds placed on the membrane. The program finds the maximum mean intensity path between the seeds using a modified version of Dijkstra's algorithm (https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm).
The package contains four files:
1. allBorders=determineAllBoundaries(imagedata,vertices)
Determines the cell membrane in cells in an image.
imagedata - a 2D array of pixel intensities
vertices - a cell array in which each cell contains the coordinates of seeds placed on the membrane of a cell
allBorders - a cell array in which each cell contains the coordinates of membrane pixels of a cell
2. bestPathXY=calculateOneMembrane(imageData,allPointsXYForOneCell)
Determines the cell membrane of a single cell.
imageData- a 2D array of pixel intensities
allPointsXYForOneCell - a 2-column matrix with every row corresponding to the coordinates of a seed
bestPathXY - the XY coordinates of membrane pixels of a single cell

3. bestPathXY=findMaxMeanPath_DijkstraNagy(imageData,startXYorig,endXYorig)
Determines the maximum mean intensity path between two points in an image.
imageData - a 2D array of pixel intensities
startXYorig , endXYorig - the X-Y coordinates of the two points between which the maximum mean intensity path is to be determined
bestPathXY - the XY coordinates of the maximum mean intensity path.

4. testdata.mat - containing an image and another file defining the seeds for two cells in the image.
The program can be tested with the following command using the data in testdata.mat:
allBorders=determineAllBoundaries(imagedata,vertices);

A GUI-controlled version of the application is available at
http://peternagy.webs.com/image-analysis-with-matlab
http://peternagy.webs.com/Matlab/DijkstraNagy/DijkstraNagy.p

Cite As

Peter Nagy (2021). Image segmentation based on finding the maximum mean intensity path (https://www.mathworks.com/matlabcentral/fileexchange/60276-image-segmentation-based-on-finding-the-maximum-mean-intensity-path), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!