EBSDDetector.extrapolate_pc(pc_indices: Union[tuple, list, ndarray], navigation_shape: tuple, step_sizes: tuple, shape: Optional[tuple] = None, px_size: Optional[float] = None, binning: Optional[int] = None, is_outlier: Optional[Union[list, tuple, ndarray]] = None)[source]#

Return a new detector with projection centers (PCs) in a 2D map extrapolated from an average PC.

The average PC \(\bar{PC}\) is calculated from pc, possibly excluding some PCs based on the is_outlier mask. The sample position having this PC, \((\bar{x}, \bar{y})\), is assumed to be the one obtained by averaging pc_indices. All other PCs \((PC_x, PC_y, PC_z)\) in positions \((x, y)\) are then extrapolated based on the following equations given in appendix A in [Singh et al., 2017]:

\[\begin{split}PC_x &= \bar{PC_x} + (\bar{x} - x) \cdot \Delta x / (\delta \cdot N_x \cdot b),\\ PC_y &= \bar{PC_y} + (\bar{y} - y) \cdot \Delta y \cdot \cos{\alpha} / (\delta \cdot N_y \cdot b),\\ PC_z &= \bar{PC_z} - (\bar{y} - y) \cdot \Delta y \cdot \sin{\alpha} / (\delta \cdot N_y \cdot b),\\\end{split}\]

where \((\Delta y, \Delta x)\) are the vertical and horizontal step sizes, respectively, \((N_y, N_x)\) are the number of binned detector rows and columns, respectively, the angle \(\alpha = 90^{\circ} - \sigma + \theta\), where \(\sigma\) is the sample tilt and \(\theta\) is the detector tilt, \(\delta\) is the unbinned detector pixel size and \(b\) is the binning factor.


2D map pixel coordinates (row, column) of each pc, possibly outside navigation_shape. Must be a flattened array of shape (2,) + navigation_size.


Shape of the output PC array (n rows, n columns).


Vertical and horizontal step sizes (dy, dx).


Detector (signal) shape (n rows, n columns). If not given, (nrows, ncols) is used.


Unbinned detector pixel size. If not given, px_size is used.


Detector binning factor. If not given, binning is used.


Boolean array with True for PCs to not include in the fit. If not given, all PCs are used. Must be of navigation_shape.


Detector with navigation_shape given by input navigation_shape.

Examples using EBSDDetector.extrapolate_pc#

Fit a plane to selected projection centers

Fit a plane to selected projection centers

Estimate tilt about the detector x axis

Estimate tilt about the detector x axis

Estimate tilts about the detector x and z axis

Estimate tilts about the detector x and z axis