March 2027 · Freiberg Workshop on Quantitative Microstructure Analysis, new this year: AI-assisted analysis and MTEX for Python Programme →
MTEX
Free and open source

Texture and microstructure analysis

Analyse 2D and 3D EBSD maps, pole figures and orientations in MATLAB or Python. Every analysis step is a few lines of code.

Install MTEX
MTEX 7.2.0

Unzip and run startup_mtex in MATLAB R2022b or newer.

pip install "mtex[all]"

MTEX for Python 1.0 · Python 3.12+ · no MATLAB licence needed.

Import your own dataThe import wizard reads your file and writes the script that loads it. Then follow the EBSD tutorial →

You are not on your own. Ask in the forum with 1,400 discussions, build on code of 43 contributors, and meet us at the workshop every year.

% load a magnesium EBSD map
ebsd = EBSD.load('twins.h5');

plot(ebsd('Magnesium'),'ipfDirection',zvector)
orientation map
orientation map · twins.h5

What MTEX gives you

Read data from any source

Whatever the instrument, the data lands in one data model and runs through the same algorithms, so maps from different microscopes compare directly.

Beyond the acquisition software

MTEX goes on where acquisition software stops: it covers analyses the vendors leave out and brings diffraction and EBSD data together in one place.

Open, down to the algorithm

No black box: every function is source code you can open, and every parameter is yours to set. The core algorithms are published in peer-reviewed papers.

Workshop participants in miner's overalls and helmets on the 2026 mine excursion
Annual workshop · Freiberg · March 2027

Workshop on Quantitative Microstructure Analysis

Two weeks with the MTEX developers. The first week teaches texture and microstructure analysis from the ground up. In the second you bring your own data and work on it with experts from metallurgy, geology and semiconductors.

New in 2027AI-assisted analysisMTEX for Python
Programme and registration
Describe it, get a script

AI assistants write MTEX scripts you can check

Describe your analysis in plain words and an assistant drafts the script. The documentation is mapped for AI tools in llms.txt. The result is ordinary code, so you read it, run it and keep it with your data.

You

I have an Oxford map A.ctf and an EDAX map B.ang of the same single-phase steel. Compare the grain size distributions.

compareGrainSize.m
% two vendors, one grain definition
ebsdA = EBSD.load('A.ctf');
ebsdB = EBSD.load('B.ang');
grainsA = calcGrains(ebsdA,'angle',10*degree);
grainsB = calcGrains(ebsdB,'angle',10*degree);

% shared bins, normalized for different map sizes
rA = grainsA('indexed').equivalentRadius;
rB = grainsB('indexed').equivalentRadius;
edges = linspace(0,max([rA(:);rB(:)]),21);
histogram(rA,edges,'Normalization','pdf',...
  'DisplayStyle','stairs')
hold on
histogram(rB,edges,'Normalization','pdf',...
  'DisplayStyle','stairs')
hold off
xlabel('Equivalent radius (map length units)')
ylabel('Probability density')
legend('Oxford','EDAX')

How fast MTEX is

Each point is one of 90 operations: across, its time in MTEX 6.1.1; up, its time in another version. Below the solid line is faster.

All numbers and how they were measured →

Import your own data

The import wizard reads your file, shows the map, and writes the script that loads it.

The MTEX import wizard in MATLAB: a file browser on the left, the phase table across the top, the two coordinate systems at the top right and an orientation map below

Type this in the MATLAB command window:

import_wizard
  1. Double-click your file in the tree on the left. The wizard reads it and draws the map.
  2. Check the phase table: mineral names, symmetries and lattice parameters.
  3. Check the two coordinate systems against your specimen.
  4. Click Generate import script. The script loads the file without the wizard and becomes the first step of your analysis.

EBSD, pole figure and ODF files of all common vendors. MATLAB R2022b or newer.

The MTEX import wizard in Python: a file browser on the left, the phase table across the top, the two coordinate systems at the top left and an orientation map below

Type this in the interactive window of VS Code or in any Python session:

from mtex import *
ebsd = importWizard()

or, in the terminal of VS Code with (.venv) in its prompt, mtex-wizard; in any other terminal, from the project folder, .venv/bin/mtex-wizard (on Windows .venv\Scripts\mtex-wizard).

  1. Click your file in the browser on the left. The wizard reads it and draws the map.
  2. Check the phase table: mineral names, symmetries and lattice parameters.
  3. Check the two coordinate systems, map and Euler, against your specimen.
  4. Click write script. The script loads the file without the wizard and becomes the first step of your analysis.

EBSD files of all common vendors. Installed with pip install "mtex[all]".

Step by step, from installing MATLAB to your own map →Step by step, from installing Python to your own map →