grain and particle analysis with line intersection method

This GUI allows you to analyze the size of grains in a micrograph with the 'line cut' method.
Updated 2 Apr 2012

View License

This program allows you to analyze the size of grains in a micrograph with the intersection method arranged in a user-friendly GUI.
After loading the micrograph the program puts lines on the surface. Now you have to use the cursor to click on the intercept of the lines with the grain boundaries. Concluding you get an editable and savable histogram and a txt-file containing the length of the grains.
You can also analyze existing txt-files to get the histogram (including lognormal distribution fitting) or an empirical cumulative distribution function plot of different micrographs and you can compare them in one chart.
In addition you get a lot of features (e.g. rotate image) and fully control about many settings.

The GUI should be mostly self-explanatory, anyway I recommend this screencast, in which all features are explained.
Alternative on YouTube:
as playlist:
Part 1 (Image):
Part 2 (File):
Part 3 (CDF):
Part 4 (rotate image):
Part 5 (save settings):

If you have special questions please check the header of the .m file and email the responsible person:

This submission based on the idea and code of Matthias Funk from the Karlsruhe Institute of Technology (KIT), IAM-WBM, Nachwuchsgruppe für microreliability. This project was financed by DFG-SFB499N01.
The lognormal distribution fitting in histogram was created by Jochen Lohmiller based on:
C.E. Kril, R. Birringer, Esimating grain-size distributions in nanocrystalline materials from X-ray diffraction profile analysis, Phil. Mag. A, 77: 3, 621 — 640

Cite As

Sven Meister (2024). grain and particle analysis with line intersection method (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011b
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!
Version Published Release Notes

added contact data; 'Line Cut' = 'intersection method'

changed title

added all Screencasts to YouTube; small fix in CDF (to avoid errors at multiple file selection)

- Uploaded alternative Screencast (due to traffic limitation on