Skip to content

ORTools4MTEX/ORTools

develop
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

README.md

UPDATES

GitHub last commit (branch) GitHub repo size GitHub Discussions GitHub issues

  • The latest ORTools v2.3.0 stable release should be employed together with the MTEX v5.10 stable release.
  • Alternatively, if you wish to use developer software, the latest versions of the ORTools and MTEX nightly builds should be employed together.

ORTools


• Introduction to ORTools
• Authors • Contributors
• How to cite ORTools • How to use ORTools
• ORTools example scripts • ORTools function reference

Introduction to ORTools

matlab compatible GitHub top language

Orientation relationship tools (ORTools) is a function library for OR discovery, advanced OR analysis and the plotting of visually stunning and informative publication-ready figures particular to microstructures undergone partial/full martensitic transformation or OR-related phase transition.

The ORTools function library is written in MATLAB and is used as an add-on to the basic phase transformation functionalities within the MATLAB-based crystallographic toolbox MTEX. Due to their specific nature, the scripts contained in the ORTools library have not been included in MTEX. You may want to watch this talk by Frank Niessen at the 2021 MTEX Workshop for an introduction to the phase transformation features in MTEX and ORTools.

The advanced OR discovery, analysis and plotting functionalities of the ORTools library are highlighted in a series of example scripts that showcase how the functions work and what their output comprises.

To help maintain the ORTools library, please report any bugs you encounter in the discussions board. If you would like to contribute additional functionalities or wish to suggest new features that help improve it, please submit an issue or open a discussion.

ORTools - Short video introduction

A short introduction to ORTools


Authors / Contributors

GitHub contributors

ORTools has been created by Dr Azdiar Gazder and Dr Frank Niessen.


Collaborators

Static Badge

Dr Tuomo Nyyssönen - Lath martensite block width calculator


How to cite ORTools

DOI

If you have applied the OR discovery, OR and variant analyses, parent grain reconstruction, and correlated plotting features of MTEX and ORTools to your research, please cite this open-access paper as your reference:

F. Niessen, T. Nyyssönen, A.A. Gazder, R. Hielscher, Parent grain reconstruction from partially and fully transformed microstructures in MTEX, Journal of Applied Crystallography: 55(1), pp. 180-194, 2022. (https://doi.org/10.1107/S1600576721011560)


How to use ORTools

GitHub forks GitHub Repo stars GitHub watchers GitHub followers

  • The ORTools library only works after the prior installation of MATLAB. Follow the instructions for installing MATLAB. ORTools is tested for compatibility from MATLAB 2016b onwards. With each release of ORTools, please check exactly which version of MTEX it is compatible with.
  • Click on the weblinks to download either one of the following two combinations:
  • For instructions on installing MTEX and ORTools within MATLAB, please refer to the video given below.
  • The peak fitting functionality within the function defineORs requires the prior installation of the MATLAB Signal Processing Toolbox.
  • Open MATLAB and run one of the example files. Please refer to the Example 1 instruction video to learn how to run the examples. Alternatively, if you do not wish to run the example files and want to use the function library instead, please ensure that the ORTools root directory and all of its sub-directories are added to the MATLAB path.
  • If you encounter any problems, please submit an issue or open a discussion.
  • If you would like to contribute additional functionalities or wish to suggest new features, please submit a contribution or request a feature in the discussion.

ORTools - How to install MTEX

How to install MTEX


ORTools example scripts

The world of martensitic transformation or phase transition analysis can be difficult to navigate. To help make the analysis accessible, transparent, and easy to comprehend, the ORTools library consists of plug-and-play functions. Example scripts are provided to help demonstrate these functions in action.

It is possible to run the example scripts from start to end, but we encourage you to run the example scripts in sections to understand the correlation between the scripts and the generated results. This will also help you follow the comments, which provide instructions on the various choices to make in the interactive parts of the program and/or help explain the obtained plots and results. In this way, you will learn the syntax applied throughout the scripts as well as the meaning behind the presented results.


Example 10: 03 JUL 2023

Update to Example 1: Parent grain reconstruction using the variant graph approach in lath martensite and child grain id analysis

This script follows the same dataset as that used in the official MTEX example to demonstrate the reconstruction of parent gamma grains from child alpha grains in a lath martensite microstructure. The computeGrainPairs function provides a direct way of calculating the absolute or normalised frequency and boundary segment lengths of grain pairs. The grain pair ids can be defined by the user for variants, crystallographic packets, Bain groups, any other-id type or for groups of id or equivalent id pairs.

ORTools - Example 10

Example 10 - Parent grain reconstruction using the variant graph approach in lath martensite and child grain id analysis


Example 09: 06 JUN 2023

Update to Example 1: Parent grain reconstruction using the variant graph approach in lath martensite and habit plane determination

This script follows the same dataset as that used in the official MTEX example to demonstrate the reconstruction of parent gamma grains from child alpha grains in a lath martensite microstructure. The computeHabitPlane function provides a direct way of calculating the habit plane compared to conventional MTEX.

The details related to the habit plane calculation are described in the following paper:

T. Nyyssönen, A.A. Gazder, R. Hielscher, F. Niessen, Habit plane determination from reconstructed parent phase orientation maps, Acta Materialia: 119035, 2023. (https://doi.org/10.1016/j.actamat.2023.119035)

ORTools - Example 9

Example 9 - Parent grain reconstruction using the variant graph approach in lath martensite and habit plane determination


Example 08: 29 MAR 2023

Update to Example 2: Parent grain reconstruction using the variant graph approach in Ti alloys

This script follows the same dataset as that used in the official MTEX example to demonstrate the reconstruction of parent beta grains from child alpha grains in a alpha-beta Ti alloy. The script provides a faster and less involved way of reconstructing this microstructure compared to the triple-point based approach from Example 2.

The details related to the variant graph approach are described in the following paper:

R. Hielscher, T. Nyyssönen, F. Niessen, A.A. Gazder, The variant graph approach to improved parent grain reconstruction, Materialia: 22, 101399, 2022. (https://doi.org/10.1016/j.mtla.2022.101399)


Example 07: 23 MAR 2022

Update to Example 1: Parent grain reconstruction using the new variant graph approach and advanced variant analysis in lath martensitic steel

This script follows the same dataset as that used in the official MTEX example to demonstrate the reconstruction of parent austenite grains from child lath martensite using the new variant graph approach. Compared to the original Example 1, this updated version also features equivalent variant pair analysis and the measurement of lath block widths.

The details related to the variant graph approach are described in the following paper:

R. Hielscher, T. Nyyssönen, F. Niessen, A.A. Gazder, The variant graph approach to improved parent grain reconstruction, Materialia: 22, 101399, 2022. (https://doi.org/10.1016/j.mtla.2022.101399)

ORTools - Example 7

Example 7 - Variant graph approach & advanced variant analysis in lath martensitic steel


Example 06: 12 MAY 2021

Two-stage parent grain reconstruction in a TWIP-TRIP steel

This example is of a 10% cold-rolled twinning and transformation induced plasticity (TWIP-TRIP) steel microstructure with a two-step martensitic transformation in which ε martensite formed from γ austenite, and α' martensite formed from ε martensite. ORTools and the MTEX parent grain reconstruction functionalities are used to reconstruct both parent microstructures in a single workflow. Towards the end, it is demonstrated that variant analysis can be conducted on both transformations.

EBSD map courtesy: Pramanik et al. https://doi.org/10.1016/j.msea.2018.06.024

ORTools - Example 6

Example 6 - Two-stage parent grain reconstruction in a TWIP-TRIP steel


Example 05: 04 MAR 2021

Partial parent grain reconstruction to clean TWIP-TRIP steel EBSD data

This example is of a 20% cold-rolled twinning and transformation induced plasticity (TWIP-TRIP) steel microstructure presenting with a two-step martensitic transformation in which ε martensite formed from γ austenite, and α' martensite formed from ε martensite. Using the OR peak fitter function, it is discovered that two possible ORs could be in operation for the γ to α' microstructure. The first OR is not a real OR but rather, an "apparent" OR corresponding to pixels that were misindexed as α' during map acquisition even though they notionally belong to γ. The parent phase reconstruction features in MTEX and the "apparent" OR are used to revert these misindexed points to γ. The grain calculation and the OR peak fitter is re-run to show that the "apparent" OR was eliminated.

EBSD map courtesy: Pramanik et al. https://doi.org/10.1016/j.msea.2018.06.024

ORTools - Example 5

Example 5 - Partial parent grain reconstruction to clean TRIP-TWIP steel EBSD map data


Example 04: 04 MAR 2021

Predicting the β to α transformation texture in a titanium alloy

In this script, the reconstruction of the prior parent β microstructure from a child α microstructure is repeated as shown in example 2. Examination of the variant distribution shows that strongly preferential variant selection did not occur. Therefore, the transition texture of α can be accurately predicted from the reconstructed β using the plotPODF_transform function. The result shows that the predicted α transition texture is in good agreement with the experimental α texture.

ORTools - Example 4

Example 4 - Transformation texture prediction in titanium alloys


Example 03: 04 MAR 2021

Using the OR peak fitter to deconvolute multiple ORs in titanium alloys

In example 2 the α-β Ti microstructure showed two ORs in the OR peak fitter function. In this example, both ORs are investigated to find out which one of them dominated the phase transition. To evaluate the best match, the disorientation between grain boundary misorientations and the OR misorientations in inverse pole figures and on boundary maps are plotted.

ORTools - Example 3

Example 3 - Separation of multiple ORs in titanium alloys


Example 02: 03 MAR 2021

Parent grain reconstruction and variant analysis in titanium alloys

This script follows the same dataset and steps that are used to demonstrate the reconstruction of β grains from an α microstructure in the official MTEX example for phase transitions in titanium alloys. Here the OR peak fitter function is used to determine the OR from alpha-beta boundaries even though they only make up < 1% of all boundaries in the dataset. Advanced plotting functions are employed to produce publication-ready plots.

ORTools - Example 2

Example 2 - Parent grain reconstruction in titanium alloys


Example 01: 03 MAR 2021

Parent grain reconstruction and variant analysis in lath martensitic steel

This script follows the same dataset and steps that are used to demonstrate the reconstruction of austenitic parent grains from martensite grains using the grain graph approach in the official MTEX example for martensite transformation in steels. The functionality of ORTools in providing pre-written and additional plotting functions to create publication-ready plots is demonstrated.

ORTools - Example 1

Example 1 - Parent grain reconstruction in steel


ORTools alphabetical function index

C

D

F

G

O

P

R

S

T


ORTools function reference

computeBainGrains

This function computes the Bain group IDs of child grains.

  • Syntax
    • [bain_grains] = computeBainGrains(job)
  • Input
    • job - @parentGrainReconstructor
  • Output
    • bain_grains - @grains2d

computeGrains

This function is a GUI to compute grains from ebsd map data and optionally filters them.

  • Syntax
    • [ebsd,grains,gB] = computeGrains(ebsd)
  • Input
    • ebsd - @EBSD
  • Output
    • ebsd - @EBSD
    • grains - @grains2d
    • gB - @grainBoundary

UI of computeGrains


computeGrainPairs

This function computes the absolute or normalised frequency and boundary segment lengths of grain pairs. The grain pair ids can be defined by the user for variants, crystallographic packets, Bain groups, any other-id type or for groups of id or equivalent id pairs.

  • Syntax:

    • [out] = computeGrainPairs(grains)
  • Input:

  • Output:

    • out - @struc = a strcture variable containing the absolute or normalised frequency and boundary segment lengths of grain pairs.
  • Options:

    • variant - Uses the variant ids of child grain pairs.
    • packet - Uses the packet ids of child grain pairs.
    • bain - Uses the bain ids of child grain pairs.
    • other - Uses a pre-specified list of ids of child grain pairs.
    • group - A cell defining different groups of id or equivalent id pairs.
    • include - Includes similar neighbouring variant, packet, bain, other-id type, groups of id or equivalent id pairs. For e.g. - V1-V1, or CP2-CP2, or B3-B3 etc.
    • exclude - Excludes similar neighbouring variant, packet, bain, other-id type, groups of id or equivalent id pairs. (default)
    • absolute - Returns the absolute frequency and boundary segment values of neighbouring variant, packet, bain, other-id type, or groups of id or equivalent id pairs.
    • normalise - Returns the normalised frequency and boundary segment values of neighbouring variant, packet, bain, other-id type, groups of id or equivalent id pairs. (default)

computeHabitPlane

This function computes the habit plane based on the determined traces from 2D ebsd map data as per the following reference:

T. Nyyssönen, A.A. Gazder, R. Hielscher, F. Niessen, Habit plane determination from reconstructed parent phase orientation maps. (https://doi.org/10.48550/arXiv.2303.07750)

  • Syntax
    • [hPlane,statistics] = computeHabitPlane(job)
  • Input
    • job - @parentGrainReconstructor
  • Output
    • hPlane - @Miller = Habit plane
    • statistics - @Container = Statistics of fitting
  • Options
    • Radon - Radon based algorithm (ebsd pixel data used)
    • Fourier - Fourier based algorithm (ebsd pixel data used)
    • Calliper - Shortest calliper based algorithm (grain data used)
    • Shape - Characteristic grain shape based algorithm (grain data used)
    • Hist - Circular histogram based algorithm (grain data used)
    • minClusterSize - Minimum number of pixels required for trace determination (default = 100)
    • reliability - Minimum value of accuracy in determined traces used to compute the habit plane (varies from 0 to 1, default = 0.5)
    • colormap - Defines the colormap to display the variants (default = haline)
    • linecolor - Defines the linecolor of the plotted traces (default = red)
    • noScalebar - Remove scalebar from maps
    • noFrame - Remove frame around maps
    • plotTraces - Logical used to plot the trace & habit plane output

Traces of fitted habit plane on variant map


computePacketGrains

This function computes the crystallographic packet IDs of child grains.

  • Syntax
    • [packet_grains] = computePacketGrains(job)
  • Input
    • job - @parentGrainReconstructor
  • Output
    • packet_grains - @grains2d

computeParentTwins

This function computes twins in parent grains by local refinement.

  • Syntax
    • computeParentTwins(job,pGrainId)
  • Input
    • job - @parentGrainreconstructor
    • pGrainId - parent grain Id
    • direction - @vector3d
  • Options
    • grains - plot grain data instead of EBSD data

GUI of computeParentTwins


computeVariantGrains

This function refines the child grains in the job object based on their variant IDs. It returns a grain object containing the refined child grains alongside all other grains and an EBSD object with updated grain Ids.

  • Syntax
    • [variant_grains,cEBSD] = computeVariantGrains(job,varargin)
  • Input
    • job - @parentGrainReconstructor
  • Output
    • grains - @grains2d
    • ebsd - @EBSD
  • Options
    • parentGrainId - parent grain Id using the argument 'parentGrainId'

defineORs

This auxiliary function defines an orientation relationship (OR) for a parent-child phase combination given in the job object as:

  • Parallel planes and directions in a GUI, or

  • Peakfitting of the parent-child boundary misorientation angle distribution.

  • Syntax

    • job = defineORs(job)
  • Input

    • job - @parentGrainReconstructor
  • Output

    • job - @parentGrainReconstructor

fibreMaker

This function creates an ideal crystallographic fibre with a user specified half-width and exports the data as:

  • a lossless Mtex .txt file for MTEX v5.9.0 and onwards), or

  • a lossy discretised Mtex .txt file for MTEX up to v5.8.2) for later use.

  • Syntax

    • fibreMaker(crystalDirection,specimenDirection)
  • Input

    • crystalDirection - @Miller
    • sampleDirection - @vector3d
    • sampleSymmetry - @specimenSymmetry
  • Options

    • halfwidth - halfwidth for the ODF calculation
    • export - (optional path and) name of the file

grainClick

This function produces a figure of an interactive ebsd map. It enables users to click on individual parent grains for detailed variant analysis.

  • Syntax
    • grainClick(job)
  • Input
    • job - @parentGrainReconstructor
    • direction - @vector3d
  • Options
    • parentTwins - Refine grains to detect parent twins
    • grains - Plot grain data instead of EBSD data
    • noScalebar - Remove scalebar from maps
    • noFrame - Remove frame around maps

Plots from grainClick


guiOR

This function is a GUI to to define an orientation relationship (OR) with parallel planes and directions.

  • Syntax
    • p2c = guiOR(job)
  • Input
    • job - @parentGrainReconstructor
  • Output
    • p2c - parent to child misorientation

UI of guiOR


orientationMaker

This function creates an ideal crystallographic orientation from a unimodal ODF with a user specified half-width and exports the data as a lossless Mtex .txt file for later use.

  • Syntax
    • orientationMaker(ori)
  • Input
    • ori - @orientation
    • sampleSymmetry - @specimenSymmetry
  • Options
    • halfwidth - halfwidth for the odf calculation
    • export - (optional path and) name of the file

ORinfo

The function extracts orientation relationship (OR) information contained in the job.p2c structure variable and outputs it in the MATLAB command window.

  • Syntax
    • ORinfo(p2c)
  • Input
    • p2c - parent to child misorientation
  • Output
    • OR - structure containing OR information
  • Options
    • silent - suppress command window output

Command window output example from ORinfo


peakFitORs

This function peak fits parent-child misorientation angle ranges to determine one or several orientation relationships (ORs). The function is called by defineORs.

  • Syntax
    • p2c = peakFitORs(job,misoRange)
  • Input
    • job - @parentGrainReconstructor
    • misoRange - range of misorientation angles in which to fit
  • Output
    • p2c - parent to child misorientation

Interactive fitting window on which peakFitORs is applied.


plotHist_OR_misfit

This function plots the disorientation, (or misfit), between parent-child and child-child grains and an orientation relationship (OR) in a histogram. By default, the current OR (job.p2c) is selected and is denoted by 2 stars (**). Additional ORs can be supplied with the argument p2c.

  • Syntax
    • plotHist_OR_misfit(job)
    • plotHist_OR_misfit(job,p2c)
  • Input
    • job - @parentGrainReconstructor
    • p2c - one or multiple additional orientation relationship(s) to evaluate
  • Options
    • bins - number of histogram bins
    • legend - cell array of strings with legend names of ORs to evaluate

Plot example from plotHist_OR_misfit


plotIPDF_gB_misfit

This function plots the misfit, or disorientation, between parent-child and child-child boundaries sharing an orientation relationship (OR) in an inverse pole figure (IPF) showing the misorientation axes.

  • Syntax
    • plotIPDF_gB_misfit(job)
  • Input
    • job - @parentGrainReconstructor
  • Options
    • colormapP - colormap variable for parent grains
    • colormapC - colormap variable for child grains
    • maxColor - maximum color on color range [degree]

Plot example from plotIPDF_gB_misfit


plotIPDF_gB_prob

This function calculates and plots the probability distribution, between 0 and 1, that a boundary belongs to an orientation relationship (OR) in an inverse pole figure (IPF) showing the misorientation axes.

  • Syntax
    • plotIPDF_gB_prob(job)
  • Input
    • job - @parentGrainReconstructor
  • Options
    • colormap - colormap variable

Plot example from plotIPDF_gB_prob


plotMap_bain

This function plots an ebsd map by colorising child grains according to their Bain group ID. It also outputs the area fraction of each Bain group.

  • Syntax
    • plotMap_bain(job)
  • Input
    • job - @parentGrainreconstructor
  • Output
    • f_area: Area fraction of each Bain group in the EBSD map
  • Options
    • colormap - colormap variable
    • grains - plot grain data instead of EBSD data

Plot example from plotMap_bain


plotMap_blockWidths

This function calculates and plots an ebsd map of the representative value for martensite block widths by projecting all boundary points to the vector perpendicular to the trace of the {111}a plane as per the following reference:

S.Morito, H.Yoshida, T.Maki, X.Huang, Effect of block size on the strength of lath martensite in low carbon steels, Mater. Sci. Eng.: A, Volumes 438–440, 2006, Pages 237-240. (https://doi.org/10.1016/j.msea.2005.12.048)

Contributed by Dr. Tuomo Nyyssönen

  • Syntax
    • plotMap_blockWidths(job,varargin)
  • Input
    • job - @parentGrainreconstructor
    • pGrainId - parent grain Id using the argument 'parentGrainId'
  • Options
    • noScalebar - Remove scalebar from maps
    • noFrame - Remove frame around maps

Plot example from plotMap_blockWidths


plotMap_clusters

This function plots an ebsd map of child grain clusters that are likely to belong to the same parent grain when clusterGraph is called. It is displayed as an overlay on top of a semi-transparent IPF map of child grains.

  • Syntax
    • ipfKey = plotMap_clusters(job)
    • ipfKey = plotMap_clusters(job,direction)
  • Input
    • job - @parentGrainReconstructor
    • direction - @vector3d - IPF direction

Plot example from plotMap_clusters


plotMap_gB_c2c

This function plots an ebsd map by colorising child-child boundary misorientations contained in the variable job.

  • Syntax
    • plotMap_gB_c2c(job)
  • Input
    • job - @parentGrainReconstructor
  • Options
    • colormap - colormap variable

Plot example from plotMap_gB_c2c


plotMap_gB_misfit

This function plots an ebsd map by colorising the misfit, or disorientation, between parent-child and child-child boundaries with the orientation relationship (OR) job.p2c

  • Syntax
    • plotMap_gB_misfit(job)
  • Input
    • job - @parentGrainReconstructor
  • Options
    • colormap - colormap variable

Plot example from plotMap_gB_misfit


plotMap_gB_p2c

This function plots an ebsd map by colorising child-child boundary misorientations contained in the variable job.

  • Syntax
    • plotMap_gB_p2c(job)
  • Input
    • job - @parentGrainReconstructor
  • Options
    • colormap - colormap variable

Plot example from plotMap_gB_p2c


plotMap_gB_prob

This function calculates and plots an ebsd map of the probability distribution, between 0 and 1, that a boundary belongs to an orientation relationship (OR). For more details, please click here.

  • Syntax
    • plotMap_gB_prob(job)
  • Input
    • job - @parentGrainReconstructor
  • Options
    • threshold - the misfit at which the probability is exactly 50 percent ...
    • tolerance - ... and the standard deviation in a cumulative Gaussian distribution
    • colormap - colormap variable

Plot example from plotMap_gB_prob


plotMap_IPF_p2c

This function plots inverse pole figure maps of the parent and child phases and returns the ipfHSV color key.

  • Syntax
    • plotMap_IPF_p2c(job)
    • plotMap_IPF_p2c(job, direction)
  • Input
    • job - @parentGrainReconstructor
    • direction - @vector3d
  • Output
    • ipfKey - @ipfHSVKey
  • Options
    • parent - plot only map of parent phase
    • child - plot only map of child phase

Plot example from plotMap_IPF_p2c


plotMap_packets

This function plots an ebsd map by colorising child grains according to their crystallographic packet ID. It also outputs the area fraction of each crystallographic packet.

  • Syntax
    • plotMap_packets(job)
  • Input
    • job - @parentGrainReconstructor
  • Options
    • colormap - colormap variable
    • grains - Plot grain data instead of EBSD data

plotMap_packets


plotMap_phases

This function plots an ebsd map of the grain phases in the job variable as well as the grain boundaries (job.grains.boundary).

  • Syntax
    • p2c = plotMap_phases(job)
  • Input
    • job - @parentGrainReconstructor

Plot example from plotMap_phases


plotMap_variantPairs

This function plots an ebsd map of the equivalent pairs of martensitic variants (block boundaries) in steel microstructures as per the analysis in the following reference:

S. Morito, A.H. Pham, T. Hayashi, T. Ohba, Block boundary analyses to identify martensite and bainite, Mater. Today Proc., Volume 2, Supplement 3, 2015, Pages S913-S916. (https://doi.org/10.1016/j.matpr.2015.07.430)

  • Syntax
    • variantPairs_boundary = plotMap_variantPairs(job,varargin)
  • Input
    • job - @parentGrainreconstructor
    • pGrainId - parent grain Id using the argument 'parentGrainId'
  • Output
    • variantPairs_boundary - a structure variable of the groups of equivalent variant pair boundaries
  • Options
    • noScalebar - Remove scalebar from maps
    • noFrame - Remove frame around maps

plotMap_variantPairs


plotMap_variants

This function plots an ebsd map by colorising child grains according to their variant IDs. It also outputs the area fraction of each variant.

The function plots the map of child grains colored according to their variant ID.

  • Syntax
    • plotMap_variants(job)
  • Input
    • job - @parentGrainReconstructor
  • Options
    • colormap - colormap variable
    • grains - Plot grain data instead of EBSD data

plotMap_variants


plotPDF_bain

This function plots a pole figure of the child Bain group IDs associated with an OR job.p2c.

  • Syntax
    • plotPDF_bain(job)
    • plotPDF_bain(job,oriParent)
    • plotPDF_bain(job,oriParent,pdf)
  • Input
    • job - @parentGrainreconstructor
    • oriParent - @orientation
    • pdf - @Miller
  • Options
    • colormap - colormap variable

Plot example from plotPDF_bain


plotPDF_packets

This function plots a pole figure of the child crystallographic packet IDs associated with an OR job.p2c.

  • Syntax
    • plotPDF_packets(job)
    • plotPDF_packets(job, oriParent)
    • plotPDF_packets(job, oriParent, pdf)
  • Input
    • job - @parentGrainReconstructor
    • oriParent - @orientation
    • pdf - @Miller
  • Options
    • colormap - colormap variable
    • markersize - markersize

Plot example from plotPDF_packets


plotPDF_variants

This function plots a pole figure of the child variant IDs associated with an OR job.p2c. It is an alternative to MTEX's default plotVariantPF.

  • Syntax
    • plotPDF_variants(job)
    • plotPDF_variants(job, oriParent)
    • plotPDF_variants(job, oriParent, pdf)
  • Input
    • job - @parentGrainReconstructor
    • oriParent - @orientation
    • pdf - @Miller
  • Options
    • colormap - colormap variable
    • markersize - markersize

Plot example from plotPDF_variants


plotPODF_transform

The function calculates and plots the transformation texture, with or without imposing variant selection, based on a parent texture file. Input files can be created using:

  • ebsd map data as shown in example 4,

  • fibreMaker, or

  • orientationMaker.

  • Syntax

    • plotPODF_transformation(job,hParent,hChild)
  • Input

    • hParent - @Miller (parent pole figures to display)
    • hChild - @Miller (child pole figures to display)
  • Options

    • odfSecP - array with angles of parent ODF section to display
    • odfSecC - array with angles of child ODF section to display
    • colormapP - colormap variable for parent PFs and ODFs
    • colormapC - colormap variable for child PFs and ODFs
    • variantId - list of specific variant Ids to plot
    • variantWt - list of specific variant weights to plot
    • halfwidth - halfwidth for PF calculation & display
    • import - (optional path) & name of the input *.mat file to transform
    • export - (optional path) & name of the output transformed *.mat file

Plot example from plotPODF_transform


plotStack

This function plots a series of maps, figures, graphs, and tables for detailed child variant analysis within a single parent grain as follows:

  • By manually supplying a parentGrainId, or

  • Using the grainClick function and interactively choosing a grain of interest.

  • Syntax

    • plotStack(job,pGrainId)
  • Input

    • job - @parentGrainreconstructor
    • pGrainId - parent grain Id
    • direction - @vector3d
  • Options

    • grains - Plot grain data instead of EBSD data
    • noScalebar - Remove scalebar from maps
    • noFrame - Remove frame around maps

Plot example from plotStack


readCPR

This function is a GUI to interactively load .cpr and .crc ebsd map data files into MTEX.

  • Syntax
    • ebsd = readCPR
    • ebsd = readCPR(inPath)
    • ebsd = readCPR(inPath, fileName)
  • Input
    • inPath - string with path to directory 'xx\yy\zz'
    • fileName - string with filename 'xxyyzz.cpr'
  • Output
    • ebsd - @EBSD

recolorPhases

This function is a GUI to interactively recolor phases in the ebsd or grains variables.

  • Syntax
    • [ebsd] = recolorPhases(ebsd)
    • [grains] = recolorPhases(grains)
  • Input
    • ebsd - @EBSD
    • grains - @grains2d
  • Output
    • ebsd - @EBSD
    • grains - @grains2d

GUI of recolorPhases


renamePhases

This function is a GUI to interactively rename phases. It opens a list of phase names (pre-defined in phaseStrings) and renames each phase in the ebsd variable according to a user's selection.

  • Syntax
    • ebsd = renamePhases(ebsd,phStr)
  • Input
    • ebsd - @EBSD
    • phaseStrings - cell array of strings with possible phase names
  • Output
    • ebsd - @EBSD

saveImage

This function saves all open figures as images.

  • Syntax
    • saveImage(fileDir,fileName)
    • saveImage(fileDir)
    • saveImage
  • Input
    • fileName - file name (string with file of type * .bmp, * .jpeg, * .png or * .tiff )
    • fileDir - file directory

screenPrint

This function formats command window output.

  • Syntax
    • screenPrint(mode)
    • screenPrint(mode, string)
  • Input
    • mode - formatting mode
    • string - output string

setInterp2Latex

This function changes all MATLAB text interpreters from 'tex' to 'latex in all subsequent figures, plots, and graphs.

  • Syntax
    • setInterp2Latex

setInterp2Tex

This function changes all MATLAB text interpreters from 'latex' to 'tex in all subsequent figures, plots, and graphs.

  • Syntax
    • setInterp2Tex

setParentGrainReconstructor

This function is a GUI to define a job of class parentGrainReconstructor.

  • Syntax
    • setParentGrainReconstructor(ebsd,grains)
    • setParentGrainReconstructor(ebsd,grains,inPath)
  • Input
    • ebsd - @EBSD
    • grains - @grain2d
    • inPath - string giving path to * .cif file folder
  • Output
    • job - @parentGrainReconstructor

tileFigures

This function tiles all figures evenly across the computer screen/monitor.

  • Syntax
    • fileFigs

About

A function library for OR discovery, OR analysis and the plotting of publication-ready figures of martensitic transformations or OR-related phase transitions in MTEX.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published