untethered atom · EBSD & TKD

EBSD & TKD · Part 2 of 8

How to read an IPF map without fooling yourself

The rainbow is not decoration, it is a coordinate system with opinions.

The rainbow-coloured grain map is the most recognisable image in materials science, and one of the most misread. The colours are not orientations. They are a lossy, direction-dependent hash of orientations. The same dataset produces three completely different maps depending on a choice that is rarely printed on the figure.

A colour is a question, not an answer: "which crystal direction points this way?", and it matters enormously which way you asked.

01

How one pixel gets its colour

Every pixel in an EBSD map carries a full orientation: three Euler angles, courtesy of part 1. A screen pixel can only show one colour. So a choice has to be made about what to throw away, and the inverse pole figure colouring is that choice, standardised. Pick one direction in the specimen, say, the surface normal. Ask which crystal direction is parallel to it. Colour by the answer.

The answer lives in the inverse pole figure: the specimen direction, expressed in crystal coordinates. For a cubic crystal, symmetry folds every possible direction into one small spherical triangle with corners at [001], [101] and [111]: the standard triangle. Directions near [001] are painted red, near [101] green, near [111] blue, and everything in between is a mixture. Rotate the crystal below and watch the pole wander around the triangle while the colour follows.

The colouring machine Drag the crystal, or use the sliders

Drag to rotate the crystal over the specimen

This pixel's colour
Crystal direction ∥ reference
nearest low-index pole · away
Switch the reference direction chips while everything else stays put. The crystal has not moved: the question changed, and so did the colour. That is the entire trap of this page in one click.

The recipe, written out: this is what every EBSD package does per pixel, a million times per map:

vcrystal = g · vspecimen → fold by symmetry into the standard triangle → RGB g is the pixel's orientation from indexing. For cubic crystals the 24 rotations plus the centrosymmetry of the technique give 48 copies of every direction; the standard triangle is the one wedge that contains exactly one copy. The RGB mix is barycentric-ish: red weight from closeness to [001], green from [101], blue from [111], then normalised so something saturates, which is why vendors' maps of identical data differ subtly in brightness and hue.
Go deeper: the colour key is a convention, not a law

Nothing about the physics prefers red at [001]. The choice is inherited from TSL's early software and is now near-universal, but the normalisation, the gamma, and even which corner of the triangle gets which primary differ between packages: MTEX, OIM, AZtec and CHANNEL5 will hand you four slightly different rainbows for the same file. Two consequences: never compare hues across papers that used different software without checking the keys, and never quantify anything by eye from the colours. The orientations are in the file; the colours are for finding your way around.

There is also a mathematically careful version of this complaint: the standard colouring is not perceptually uniform (equal orientation distances do not map to equal colour distances), and it is discontinuous for lower crystal symmetries. Nolze and Hielscher's "orientations – perfectly colored" work is the fix the field mostly has not adopted.

02

The same map, three ways

Here is one synthetic microstructure: the orientations underneath never change. The three chips recolour it as IPF-X, IPF-Y and IPF-Z. Grains that match in one colouring split apart in another; grains that look like twins in one view look unrelated in the next. If a figure caption does not say which reference direction was used, the map is not readable; it is only lookable-at.

One dataset, three maps Click any grain to interrogate it
near ⟨001⟩ near ⟨101⟩ near ⟨111⟩ …along the chosen reference direction only
Selected grain
Its φ1 · Φ · φ2
Its colour in X · Y · Z
Click a grain, or ask for the impostor pair.
The impostor button finds two grains this map paints nearly the same colour that are tens of degrees apart in orientation. They are not related. They do not deform alike, they do not diffract alike, and a colour-matched figure would still put them in the same "texture component".
Go deeper: which way is up? The reference-frame swamp

Everything above assumed we agree what "specimen X" means. In practice the EBSD world has spent thirty years disagreeing. The camera has a frame, the image has a frame (y down!), the stage has a frame, the sample sits tilted 70° in it, and the two major vendors chose different conventions for how the pattern relates to the map. Move a dataset between packages carelessly and the classic symptom is a map that looks fine but whose orientations are reflected or rotated: pole figures come out mirrored, and every misorientation axis is wrong while every misorientation angle stays right, which is exactly the kind of error that survives review.

Britton et al.'s "Tutorial: crystal orientations and EBSD — Or which way is up?" exists because of how often this has burned people. The defensive habits: record which convention your acquisition used, sanity-check a known texture (a rolled sheet should put its cube component where cube belongs), and treat any imported dataset as guilty until a known grain proves otherwise.

The thing to remember

An IPF map is a hash of the data, not the data. It is superb for seeing grains, spotting texture at a glance, and finding regions worth interrogating, and unsafe for any quantitative claim. The moment an argument depends on colour, go back to the orientations.

03

The invisible third angle

An orientation has three degrees of freedom. An IPF colour encodes the direction of one crystal axis: two degrees of freedom. The third one, rotation about the reference direction, is completely invisible: the slider below spins the crystal through 90° and the IPF-Z colour never moves.

The rotation the map cannot see One slider, three witnesses
IPF-Z colour
frozen
IPF-X colour
cycling
True misorientation from start
degrees: what the colour hides
At 45° the crystal is as far from where it started as cubic symmetry allows about this axis (a boundary between these two orientations would be a proper high-angle grain boundary), and the IPF-Z map would paint both sides one colour. The IPF-X swatch, meanwhile, has been telling the truth the whole time: a second reference direction restores the missing information.

This is not an edge case. Whole families of real microstructures (fibre textures in wires and thin films above all) consist of grains sharing one crystal axis and differing only by this invisible rotation. An IPF map along the fibre axis paints the entire film one colour and looks like a single crystal. The cure is cheap and standard:

A trap worth naming

Grain detection itself does not use colour: boundaries are drawn wherever neighbouring pixels differ by more than a threshold misorientation (part 3). So a map can legitimately show a grain boundary between two same-coloured grains. Students meeting this for the first time routinely call it a software bug. It is the opposite: it is the software seeing what the colouring cannot.

Sources & further reading

Cite this page: Tripathy, Manisha. “Reading an IPF map without fooling yourself.” untethered atom, 2026, https://untetheredatom.com/ebsd/ebsd-2-reading-ipf-maps.
BibTeX
@misc{tripathy2026readinganipfmapwithoutfo,
  author = {Tripathy, Manisha},
  title  = {Reading an IPF map without fooling yourself},
  year   = {2026},
  howpublished = {\url{https://untetheredatom.com/ebsd/ebsd-2-reading-ipf-maps}},
  note   = {Interactive teaching resource}
}
Last updated 12 August 2026.