Computation of Burgers vectors from elastic strain and lattice rotation data

A theoretical framework for computation of Burgers vectors from strain and lattice rotation data in materials with low dislocation density is presented, as well as implementation into a computer program to automate the process. The efficacy of the method is verified using simulated data of dislocations with known results. A three-dimensional dataset retrieved from Bragg coherent diffraction imaging (BCDI) and a two-dimensional dataset from high-resolution transmission Kikuchi diffraction (HR-TKD) are used as inputs to demonstrate the reliable identification of dislocation positions and accurate determination of Burgers vectors from experimental data. For BCDI data, the results found using our approach show very close agreement to those expected from empirical methods. For the HR-TKD data, the predicted dislocation position and the computed Burgers vector showed fair agreement with the expected result, which is promising considering the substantial experimental uncertainties in this dataset. The method reported in this paper provides a general and robust framework for determining dislocation position and associated Burgers vector, and can be readily applied to data from different experimental techniques.


Introduction
Crystal lattice defects such as dislocations play a key role in controlling the properties of high performance materials central to modern life.Examples include alloys for aerospace, nuclear and automotive applications [1][2][3].Dislocations are also important in semiconductors, for example in photovoltaic devices, for they act as impurity segregation sites that are detrimental to solar cell performance [4][5][6][7].
To optimise material performance, a detailed understanding of dislocations is key.This is particularly important for tuning materials in order to modify dislocation behaviour [8][9][10], e.g. by modifying the microstructural landscape of the material.Indeed this is one of the main ways modern alloys are optimised [11][12][13][14].
Dislocations interact via the strain fields they cause [8,9].As such, measurement techniques that allow us to image strain fields are of great importance.It is possible to measure 2D strain fields surrounding dislocations at the nano-scale using high resolution transmission electron microscopy (HR-TEM) and scanning transmission electron microscopy [15][16][17], as well as high resolution transmission Kikuchi diffraction (HR-TKD) in the scanning electron microscope [18,19].To measure 3D strain fields and morphology of microcrystals, Bragg coherent diffraction imaging (BCDI) has achieved successful results [20][21][22].A key challenge when characterising dislocations is the accurate determination of the Burgers vector [23] for specific dislocations.A classic approach is to use g • b contrast, wherein dislocations cause little diffraction contrast when the diffraction vector g is perpendicular to the Burgers vector b, i.e. when the invisibility criterion g • b = 0 is met [9].
For materials with well-known crystallography, multiple g-vectors are required in TEM as there are several possible directions that the Burgers vector can take, and only by finding two g-vectors for which the invisibility criterion is met can the Burgers vector direction be determined.Even then, there is ambiguity to the sign of the Burgers vector as it could be positive or negative, and this ambiguity can only be resolved by detailed comparison with diffraction image simulations [19,22].There is also no immediate indication of Burgers vector magnitude from these techniques, and one must refer to the known crystallographic structure of the material to determine this.A further problem arises where the preferred Burgers vector directions are not known a priori.In this case, g • b contrast cannot be easily applied as there is no limited set of Burgers vectors to try.
Since measurements of the full lattice strain tensor are now readily possible in 2D and 3D, an attractive idea is to use the measured strain fields at the continuum scale to directly determine the Burgers vector of specific dislocations.Two methods present themselves; the first being to integrate the displacement gradient of the crystal lattice about a Burgers circuit enclosing the dislocation, the second to integrate the computed Nye tensor (proposed by Nye [24]) of the crystal across a surface through which the dislocation passes [25].
Here, we first lay out the underlying theory and concepts used before presenting a framework for determining dislocation Burgers vector direction and magnitude from experimentally-measured strain and lattice rotation fields.We also cover the key concepts for implementation of this framework into a program.The Nye tensor approach is initially investigated, however this method turns out not to be suitable for the task at hand.Thus, the framework presented in this paper relies on integration of the displacement gradient around a Burgers circuit.Initially we consider a mathematical model of the displacement gradient surrounding an infinite straight mixed dislocation of configurable sense ξ and Burgers vector b.This is used to verify the efficacy of the method and reliability of the approach as well as its sensitivity to factors such as noise.Experimental data sets from BCDI and HR-TKD techniques are then used to locate and characterise dislocations in real material specimens.Comparisons to known results found from techniques such as g • b contrast will then be made.

Mathematical Definition of a Burgers Vector
For any vector field, V , that is continuous along the path of integration, the closed-loop line integral of its gradient, ∇V , must be 0. However if the vector field contains a discontinuity, for example the displacement field u of a material containing dislocations, it is possible for the result to be non-zero.In our case, the result is the Burgers vector b, which describes the discontinuity in the material structure due to the presence of the dislocation [8,9].
Therefore a mathematical definition for the Burgers vector b of a dislocation is the line integral of the elastic displacement gradient β = ∇u along the closed loop C that encloses the dislocation (also known as the Burgers circuit, defined in the original undistorted coordinate system) [8]; where (Note that β = ε + ω, the elastic strain and lattice rotation tensor fields respectively) [25,26].
This means that, as long as we know the strain and lattice rotation fields within a material, the Burgers vector b for dislocations enclosed within some Burgers circuit C can be calculated.

The Nye Tensor Approach
On the continuum scale, Nye defined the dislocation tensor (or 'Nye tensor') α N ye as a geometrical relation between lattice curvature and the distribution of geometrically-necessary dislocations (GNDs); dislocations required to accommodate the plastic strain gradients in a material [8,24,25].The net Burgers vector B for a set of dislocations passing through a surface S can be defined by the surface integral One can apply Stokes' Theorem to the line integral from Eq.( 1), which results in the following surface integral [25]; where S is the surface enclosed by Burgers circuit C.
The resulting integrand is in fact the negative of the Nye tensor, α N ye = −(∇ × β) T , which can be more easily interpreted as Note that the appearance of the minus sign is due to ambiguity caused by alternate definitions of the Burgers vector.The Nye tensor is actually related to the plastic displacement gradient (or slip tensor) such that upon substitution into Eq.( 3) and applying Stokes' Theorem, However, it must be true that as total displacement around a closed loop C must be zero [25].Therefore it must be the case that B = −b; in other words the two expressions for the Burgers vector are opposite in direction.Since the sign of the Burgers vector is determined by the sign of the sense ξ, which is itself arbitrary [8,9], the impact of the conflicting definitions is minor but should be borne in mind.In this paper Eq.(1) as defined by Anderson et al. [8] is the authoritative definition.
Nye related α N ye to the dislocation distribution inside a material [8,24,25]; for each possible slip system λ, given q dislocations per unit area each with Burgers vector b and sense ξ threading the plane, Let GND density ρ be defined such that ρ m = qξ m ; therefore One might argue that if α N ye can be found, the Burgers vector b can be evaluated using the surface integral as opposed to the line integral.An immediate benefit would be improved numerical integration, as one could integrate across an entire surface of voxels rather than just a line.The significantly increased number of data points used would hopefully reduce error due to noise and discretisation of the data.
However, upon further investigation it has been deduced that the Nye tensor approach to calculating the Burgers vector is not feasible for the applications covered in this paper.This is most easily explained by first examining the mathematical models of infinite straight dislocations.

Mathematical Model of an Infinite Straight Mixed Dislocation
It should be noted that the mathematical dislocation model used in this paper is singular; meaning that the discontinuity associated with the dislocation is confined to an infinitesimal line (the dislocation line, in fact).
Let x, y and z be the three dimensions in a Cartesian coordinate system, with respective unit basis vectors e x , e y and e z .The constant v is the hypothetical Poisson's ratio of the material, and b is the magnitude of the Burgers vector.Angle α is the angle between the sense and Burgers vector, such that α = 0 • corresponds to a screw dislocation and α = 90 • to an edge dislocation.
For an infinite straight mixed dislocation with sense ξ = e z and Burgers vector b confined to the x − z plane (see Fig. where Derivations for the above expressions as well as information on applying rotation matrices to the dislocation can be found in appendix A and are based on the elastic dislocation solution reported by Anderson et al [8]. Note that we can convert the result into strain and lattice rotation tensors using the definitions ε = 1 2 β + β T and ω = 1 2 β − β T [25,26].To find α N ye we populate Eq.( 5) with the elements of β.The only non-zero terms are and these terms all cancel, resulting in α N ye = 0.
In fact, the Nye tensor is always 0 for individual (singular) dislocations.This may at first seem counter-intuitive, however the reason is that the Nye tensor is evaluated at an infinitesimal point (as we are taking the curl of a tensor field, β), and all of the discontinuities associated with the (singular) dislocation are confined to an infinitesimally thin line (i.e. the dislocation core).Essentially, the Nye tensor corresponds to having an infinitesimally small Burgers circuit.While this works mathematically across regions with dislocation presence defined by a density per unit area, it cannot work when we consider individual dislocations such that dislocation density is effectively zero everywhere and infinite at the dislocation cores.
Even for experimentally measured dislocations, deviations from linear elasticity theory will be limited to a small region around the dislocation core [9], thus using Nye tensor to determine the Burgers vector of an individual dislocation from experimental data is not feasible.

Numerical Computation
Elastic strains and lattice rotations obtained experimentally are measured as discrete voxels of data rather than being defined by algebraic functions (as with the mathematical model).Therefore, rather than integrating analytically, we must make use of numerical techniques.
To compute Burgers vector b we perform the line integral in Eq.( 1).Note that, in Cartesian coordinates, β • dl can be written as Therefore, integrating β with respect to l requires integrating each of the nine components of β with respect to either x, y or z.The limits for, and equations relating, these three variables are determined by the choice of Burgers circuit C.
The simplest Burgers circuit design that will be effective for dislocations in any orientation in 3D space is the loop C shown in Fig. 1 b).The Burgers circuit encloses a cube (or cuboid), and is designed such that a right-hand screw dislocation pointing in the direction of a positive coordinate axis gives a positive result for b (this should be borne in mind when considering the signs of computed Burgers vector directions).
For integration along loop C shown, along each of the six straight lines two of dx, dy or dz will be zero.Thus the line integral of displacement gradient β is reduced to a total of 18 integrals of one variable (six for each of the x-, yand z-components of b) that can each be computed individually.This is ideal for numerical integration.
For data that is discrete and exists across a set of voxels, we can define a Burgers circuit that passes through the centres of a chain of voxels to form integration loop C. We can then integrate the discrete displacement gradient data numerically, for example by using MATLAB's trapz function or a variation thereof, and travelling along the loop of voxels.This numerical approach was used to produce a MATLAB program that computes Burgers vectors from arrays of 3D or 2D elastic strain and lattice rotation data.Further information on implementation can be found in appendix B.

Test Methodology
To test the reliability of Burgers vector determination, we initially consider a mathematical model of an infinite, straight, mixed dislocation.Nine cases were chosen and used to confirm that the program can accurately compute the Burgers vector for dislocations of various orientations.The vertices of Burgers circuit C are defined by the coordinate limits shown in Fig. 2.
A set of parameters must be chosen not only to generate the mathematical model of the dislocation, but also to prepare the program for the specific set of input data, as the size of the voxel spacing must be taken into account for numerical integration.Note that the voxel spacing and coordinate limits used were such that the Burgers circuit C was defined around a cube with a side-length of 42 pixels and centred on the origin.Each of the dislocations also passed through the origin.
The following cases were considered, where the angles α, ψ, θ and φ define the directions of Burgers vector b and sense ξ, as depicted in Fig. 11 in appendix AA.3: Cases 1 through 4 as well as 7 should be straightforward to visualise, and visualisations of Cases 5 and 6 are provided in Fig. 3 and Case 8 in Fig. 2.
The robustness of the program was also tested.Using Case 7 as a basis, three tests were performed.In Test 1, the Burgers circuit side length was decreased, two voxels at a time, from 42 to 2. In Test 2, the fractional distance of the dislocation line from the Burgers circuit centre was increased from 0 (centre) to 1 (Burgers circuit edge).In Test 3, the noise coefficient η was exponentially increased from 1 × 10 −6 to 7.86 × 10 −4 and the number of concentric Burgers circuits used for removing outliers (with x-, yand z-components beyond a certain number of standard deviations from the mean values) and averaging was increased from 1 to 10.For each of the tests, the change in computed Burgers vector is reported as the angular error and percentage magnitude error compared to the ground truth.
Experimental noise/uncertainty was modelled using a standard Gaussian distribution multiplied by the noise coefficient η and superposed onto each element of the strain and lattice rotation tensors.The distribution was truncated to within the limits of 1 standard deviation, as otherwise unrealistically large magnitudes of noise may appear in the data.The noise applied to one element of data was independent to the noise applied to adjacent elements of data.

Results
From Table 1, we see that in all cases (bar number 8), the computed Burgers vector is virtually identical to the expected result.Both magnitude percentage error and angular error between the computed and expected results are negligible for the input parameters given.This is as expected for the "noise-free" case, where the strain and lattice rotation fields had been mathematically determined such that the expected Burgers vectors would be computed exactly.Obviously this is not the case for experimental data, where the program can only provide an estimate of the Burgers vector given the measured strains and lattice rotations.
In interesting error case (8) arises when the dislocation line intersects the closed loop that defines the Burgers circuit.Upon adjusting the Burgers circuit such that the z-axis coordinate limits are [-122.5nm, 122.5 nm] (such that the cuboid was 50 voxels wide in the z-direction) this intersection no longer occurs and the Burgers vector is computed correctly.Therefore, care must be taken to ensure that the Burgers circuit limits are defined such that the intersection with the dislocation line is avoided, as well as ensuring that the dislocation line does indeed pass through the chosen Burgers circuit.
Fig. 4 shows the results of Test 1 when applied to Case 7. It was seen that decreasing Burgers circuit size did not inherently increase angular error but did increase percentage error in magnitude.This effect was small for larger circuits but reached 1% error at around 5 voxels wide and increased to 10% at around 3 voxels wide.It should be noted that linear elasticity theory is valid at distances beyond a few Burgers vectors from the dislocation centre [9], and because voxel spacing is typically in the range of several nanometers we can assume that linear elasticity is valid for all voxels (unless the dislocation passes through the centre of one).Given this understanding, the reason for the deterioration in Burgers vector magnitude must be due to the numerical integration.
Reducing Burgers circuit size means that there are fewer voxels of data across which to integrate, and thus the integral is of a lower resolution.This will result in more substantial changes in strain and lattice rotation between adjacent voxels, leading to more significant error from numerical integration.This has a more severe impact for Burgers circuits that are small in size, as a single voxel has a proportionally greater contribution to the integral.
Additionally, and perhaps more importantly, smaller Burgers circuits will have their sides closer to the dislocation centre, and so the changes in value from voxel to voxel will be larger.Therefore the spatial gradients of the strains and lattice rotations at voxels on the Burgers circuit will tend to be steeper and are not properly captured when performing numerical integration.As a result, the error in the numerical integration will be greater in magnitude.

Case
No.
True Magnitude (Å)  1: Results for the input cases using the simulated strain and lattice rotation data.Note that zero noise is present for any of these cases.This effect is also evident when considering the case where the distance between the dislocation lines and the edge of a Burgers circuit with constant size is varied, such as when Test 2 was applied to Case 7 (see Fig. 5).Here, despite the number of voxels contributing to the Burgers circuit (and therefore input data) staying the same, there was an increase in percentage magnitude error similar to that observed in Test 1 as the dislocation is moved closer to one side of the Burgers circuit.There was also an increase in angular error (reaching 0.1 • at a ratio of around 0.9), which is likely due to an asymmetry in strain and lattice rotation magnitudes on opposite sides of the Burgers circuit.The side closer to the dislocation suffers from large changes in magnitude between adjacent voxels and therefore steeper spatial strain and lattice rotation gradients, resulting in greater error in the numerical integral.Meanwhile, the farther side benefits from smaller voxel-to-voxel changes in the strain and lattice rotation components.
From these observations, it should be noted that, for an accurate computation of the Burgers vector, one must ensure that the dislocation is close to the centre of the Burgers circuit and that the Burgers circuit is of a sufficiently large size.The requirements will ultimately depend on the quality of the input data, as discussed in sections 4 and 5.
Fig. 6 shows the variation of computed Burgers vector with noise, with results produced by applying Test 3 to Case 7.
It was found that increasing noise magnitude caused a roughly linear increase in both percentage error in magnitude and angular error, with the line of best fit gradients of the log-log graphs being 0.927 and 0.971 respectively.Note that the slight deviation of these gradients from 1 has resulted from the inherent randomness of the noise.At η = 1 × 10 −4 there was roughly 3% error in magnitude and 4 • angular error increasing to 6% error in magnitude and 8 • angular error at η = 2 × 10 −4 .These are realistic levels of uncertainty in experimental data (see sections 4 and 5).It should be noted that the simulated noise is defined entirely by the truncated Gaussian distribution, and the noise magnitude at one voxel is entirely independent of that in adjacent voxels.
As the noise magnitude approached η = 1 × 10 −3 the computed Burgers vector deteriorated to the point that it had little relation to the expected result, likely as a result of the magnitudes of the strain field components becoming negligible compared to the noise itself.For very noisy data it can be beneficial to use smaller Burgers circuits in order to reduce the accumulation of noise in the numerical integration.Fig. 7 shows a general trend that increasing the number of concentric Burgers circuits decreased the errors caused by noise.The concentric Burgers circuits are all arranged such that they lie within surfaces S x , S y and S z in Fig. 1 b), and are as large as possible without crossing or overlapping at any points.The results obtained are as expected, as more computations of the Burgers vector allows for greater confidence that an individual result may be anomalous due to excessive noise (with x-, yand z-components beyond a certain number of standard deviations from the mean values) and so can be discarded before averaging.Additionally, as the theoretical mean of the noise is zero, increasing the   number of computed Burgers vectors to use for averaging should also generally result in a reduction in the effects of noise via mutual cancellation.However, due to the inherently random nature of the noise, these trends are never ideal and introducing another Burgers circuit that happens to be more significantly influenced by noise can actually worsen the final result.An example of this would be the fluctuation between high and low percentage error in magnitude as the number of concentric Burgers circuits is increased at the highest noise coefficient used in Test 3, i.e. the top row of elements in Fig. 7 a).

Tests -BCDI Data
Bragg coherent diffraction imaging (BCDI) allows the 3D-resolved experimental characterisation of morphology and lattice strain in microcrystals [20,21].Lattice reflections of a microcrystal illuminated with a coherent x-ray beam are used to measure coherent x-ray diffraction patterns (CXDPs), which are in turn used to determine the effective (complex) electron density in the sample.The phase of the complex electron density of a reflection in the hkl direction, φ hkl (r), is related to the displacement field of the crystal lattice structure, u(r), by the expression φ hkl (r) = q hkl • u(r), where q hkl is the reflection Bragg vector [27].By measuring at least three linearly-independent crystal reflections u(r) can be recovered, and the displacement gradient β and thus the strain and lattice rotation fields calculated.
The data used for this test was taken from a micron-sized sample of high-purity tungsten containing a set of five dislocations and measured using BCDI.The data was then processed to determine the strain and lattice rotations ε and ω.For further information on the manufacture of the material specimen, the BCDI measurements, the processing of the data and the strain and lattice rotation fields, refer to Hofmann et al. [22].
The locations of the five dislocations were first determined and plotted using a standard Burgers circuit size of 5x5x5 voxels rastered over the 3D sample volume.Fig. 8 shows the specimen shape and known dislocations superposed on the field of quivers, with the quivers depicting the direction and magnitude of the computed Burgers vector at each point.
As can be seen in Fig. 8, the approach was able to reliably identify the 3D path of dislocations in an automated fashion.
Increasing the size of the standard Burgers circuit that iterates through the data resulted in more accurate Burgers vectors near the centres of the dislocation lines at the cost of thicker regions of computed Burgers vectors around each dislocation line.The reasoning for the latter effect is that because the Burgers circuit is larger, it catches dislocations from a greater distance away.Note that the size of 5x5x5 voxels was used to achieve thin regions of computed Burgers vectors at the expense of accuracy, and increasing the size to 9x9x9 would significantly reduce the magnitude and angular error.The field of Burgers vectors is stored in one array, and it is straightforward to use the position of a computed Burgers vector in the array to determine the Cartesian coordinates of the centre of the Burgers circuit used to calculate it.Another (preferably larger) Burgers circuit that surrounds this point can then be manually chosen to allow for closer inspection of the Burgers vector.
Upon initial inspection on the resulting 3D plot, the dislocations were then examined more carefully.Large limits for the Burgers circuit were used at first and they were then tightened over a process of iteration to achieve a size of 9x9x9 voxels, which was still sufficient to produce accurate results.The final size used for dislocation 3 was actually 8x9x9 voxels to better fit the shape of the dislocation line.
Chosen Burgers circuit coordinate limits (as depicted in Fig. 2) for each Dislocation (nm): It should be noted that the chosen Burgers circuit limits are merely examples, and in fact there are a great many that can be chosen in order to achieve accurate computation of the Burgers vectors.
Strain and lattice rotation data was also extracted by regions unaffected by the presence of defects and the standard deviation (and therefore effectively the noise magnitude) was computed for each component of strain and lattice rotation.
From Table 2 it can be seen that the computed directions for Burgers vectors are close to the directions expected from q hkl • b analysis [22], with angular error being within half a degree for all five dislocations.The computed magnitudes are also very consistent, and by taking a mean (adjusted for relative Burgers vector magnitudes in crystal lattice coordinates), the results predict a lattice parameter of a = 3.121Å.This is 1.38% below the standard value of 3.1652Å [28,29].Using the simple assumption of a Gaussian distribution for the noise, the average standard deviation and therefore noise magnitude was found to be η = 1.0396 × 10 −4 , which would have suggested an angular error of Figure 9: a) Full strain and lattice rotation tensor for the HR-TKD data (from Yu et al. [19]).b) 2D plot produced using the HR-TKD data as an input and then rastering a 7x7 pixel Burgers circuit over the domain to build up a Burgers vector map.The reference Burgers vector has also been added for comparison (magenta).Positions of the grain boundary and the dislocation are also annotated onto the plot.
(EBSD) patterns over an array of points to measure the crystallographic orientation at each point [30,31].A crosscorrelation based approach using a reference diffraction pattern allows for a significant improvement in angular resolution, with small shifts of features in the patterns relative to the reference used to determine lattice rotations and distortions [30,[32][33][34][35].This approach is referred to as HR-EBSD.The transmission Kikuchi diffraction (TKD) variation of the technique operates by detecting the Kikuchi pattern from the bottom surface of a thin foil, which allows for a significantly improved spatial resolution over the conventional EBSD method [18].
However, this method allows only for the measurement of the 2D in-plane deviatoric strain tensor, and was taken as an average over a depth of half the foil thickness in the case of the test data used [19].Through the assumption of plane stress the full strain tensor required for computation of the Burgers vector can be calculated [26], which is reasonable given the specimen thickness of 40 nm [19].
Here we examine HR-TKD data that has been recently reported from a single dislocation in tungsten [19].The material used was a high-purity tungsten sample electro-polished to electron transparency.The dislocation observed was assumed to be straight with sense normal to the foil surface.The data was processed to generate maps for the components of the strain and lattice rotation tensors.For further information on the manufacture of the material specimen, the HR-TKD measurements taken, the processing of the data and the strain and lattice rotation fields, refer to the associated paper by Yu et al. [19].It should be noted that a grain boundary is present in the the top left of the data set, manifesting as a diagonal line of significant strain and lattice rotation.
As with the BCDI data, the position of the dislocation centre was first found by rastering a 7x7 pixel Burgers circuit over the domain to build up a Burgers vector map.
As depicted by Fig. 9, our approach was able to discern the location of the dislocation as well as the grain boundary nearby.The region of black quivers identifies the position of the dislocation, as well as estimates for the direction of the computed Burgers vector.Also visible is a magenta quiver representing the expected Burgers vector direction from experimental measurement (and true magnitude from reference data).There is good agreement in direction and magnitude amongst the estimates, and fair agreement in direction between the estimates and the result expected by g • b contrast [19].Strain and lattice rotation data was also extracted from regions unaffected by the presence of the dislocation or grain boundary and the standard deviation (and therefore effectively the noise magnitude) was computed for each component of strain and lattice rotation.
Fig. 10 shows that angular error tended to reduce with Burgers circuit side length to a minimum of 4.12 • (with percentage error in Burgers vector magnitude of 42% below the expected result of 2.7411Åfor tungsten [28,29]) at a Burgers circuit width of 9 pixels before increasing rapidly.There is also a local minimum of 16.9 • angular error at 17 pixels.Meanwhile, the percentage error in magnitude was a minimum of 5.88% at 17 pixels wide before increasing steadily as side length decreased (note that the magnitude of the Burgers vector decreased with decreasing side length).The significant percentage magnitude error for small Burgers circuit side length (for this data set, roughly 13 pixels and below) agrees with previously-discussed observations (see Fig. 4).Assuming a Gaussian distribution for the noise, the average standard deviation and therefore noise magnitude was found to be η = 2.7071 × 10 −4 , which is considerable.Observing Fig. 6, this would predict a percentage error of magnitude of at least 8% and angular error of at least 12 • .This roughly agrees with the results for the Burgers circuit of 17 pixels wide, an apparent "sweet-spot" in Burgers circuit size for this specific case.
Upon further observation of the original strain and lattice rotation data [19], it was found that the grain boundary nearby had significant influence, especially on the ε 13 field.Increasing Burgers circuit size caused the integration loop to pass over the regions of intense strain and lattice rotation close to the grain boundary, almost crossing the grain boundary itself.Although theoretically this should not have affected Burgers vector calculation as the displacement field of the grain boundary was continuous across the path of integration, the discretisation of the data and numerical integration cause errors that worsen when the changes in magnitudes between adjacent pixels (i.e. the strain and lattice rotation gradients) increase.Therefore in this case it is not necessarily true that a larger Burgers circuit improves the result for computed Burgers vector, as illustrated by Fig. 10.The low angular error for smaller Burgers circuits of 7-9 pixels wide may support this also.
It was also noted that there was poor agreement of the measured ε 23 and ω 23 components with simulated distortion fields for the known dislocation [19].
Thus, even for this rather noisy experimental dataset, the approach presented in this paper can provide reasonable values for Burgers vector magnitude and direction.

Conclusion
We have presented an approach for determining dislocation Burgers vector magnitude and direction from experimentally measured lattice strain and rotation data.Applying this approach using simulated data worked flawlessly except for extreme cases where the Burgers circuit is very small or the dislocation line is very close to the integration loop.The addition of noise causes a degradation of the result that is proportional to the noise magnitude, though the computed Burgers vector still shares good agreement with the expected result with simulated noise at magnitudes typically found in experimental data.The use of concentric Burgers circuits can help to reduce errors in cases of very high noise.
For the BCDI data, the approach was able to reliably identify the 3D paths of all five dislocations in an automated fashion as well as accurately compute Burgers vectors with directions within half a degree of angular error to those expected (given appropriate Burgers circuit inputs).The computed magnitudes also showed good agreement with the standard value for the lattice parameter of tungsten.
The results using the HR-TKD data were also promising, as although deviation from the expected Burgers vector was much greater than for the BCDI data, there were a number of significant detrimental factors affecting computation and a result that still shows fair agreement was recovered.For this data also the rastering of a Burgers circuit across the sample space could be used to successfully identify the dislocation position.
Thus it has been demonstrated that the determination of Burgers vectors using strain and lattice rotation fields is a promising technique and is not only feasible for simulated data but also for a wide range of experimental data such as BCDI and even HR-TKD.It should be noted, however, that the resolution and noise of the data can have a significant impact on the results due to the numerical integration required for this technique.

A Mathematical Models of Singular Dislocations
A.1 Infinite Straight Edge Dislocation Let x, y and z be the three dimensions in a Cartesian coordinate system, with respective unit basis vectors e x , e y and e z .The constant v is the hypothetical Poisson's ratio of the material, and b is the magnitude of the Burgers vector.
Consider an infinite straight edge dislocation, with sense ξ = e z and Burgers vector b = be x .The discontinuity of the dislocation is present at x = 0.
Anderson et al. [8] provide an apt derivation of the components of displacement field u, which are found to be Note that for this edge dislocation u z = 0.
To find the elastic displacement gradient β, the gradient of the displacement field, the spatial partial derivatives are taken:

A.2 Infinite Straight Screw Dislocation
Consider an infinite straight screw dislocation, with sense ξ = e z and Burgers vector b = be z (note the dislocation is therefore right-handed).Let the plane of slip be confined to the positive x-axis (this is an important clarification for when we combine our results to produce a mixed dislocation).
Assuming that u z increases uniformly with angle θ about the dislocation core measured from the positive x-axis, the components of the elastic displacement u can be found by inspection [9]; u x = 0; u y = 0 (30) Using the geometric relation between x, y and θ, the third expression can be re-written as Thus the required expressions for an infinite straight mixed dislocation of any orientation have been derived.

B Implementation
The program is split into a Plotter and a Calculator: 1.The Plotter iterates through a chosen set of data and computes an approximate Burgers vector at every voxel/pixel position using a Burgers circuit of standard shape and size.The set of Burgers vectors can then be plotted as quivers in a 3D or 2D space, and the geometry of the material specimen itself, known dislocation lines, etc. can be superposed onto the plot if implemented by the user.2. The Calculator allows for manual input of Burgers circuit limits to target a dislocation or group of dislocations and accurately compute the Burgers vector therein.
The two halves of the program can be used effectively in conjunction with each other, with the Plotter able to find dislocations and give estimates of their Burgers vectors and the Calculator then being used to investigate the dislocations in detail.The Calculator may also be configured to iterate through several concentric Burgers circuits to remove outliers and find an average computed Burgers vector.
The program can be adjusted to suit a wide variety of data; all it requires are the elastic strain and lattice rotation fields (in the form of evenly-spaced data arrays).The implementation of the data will naturally have to be adjusted depending on how the data is originally stored.
As well as working with experimental data, the program features a mathematical model for an infinite straight mixed dislocation with sense and Burgers vector being able to take any direction as described in appendix AA.3.
Further information can be found within the supplementary folder containing the program.
Figure 1: a) A dislocation line of Burgers vector b and direction defined by sense ξ enclosed by Burgers circuit C. b) Integration loop C, now in a form suitable for numerical computation of Burgers vector b.

Figure 2 :
Figure 2: Integration loop C, now with vertex coordinates defined by the coordinate limits in the x, y and z directions.The dislocation line for Case 8 is also present, passing through the origin and with b and ξ as shown.Note that in this particular case the dislocation line passes through the edges of the integration loop, which causes an error in computation.

Figure 3 :
Figure 3: A visualisation of Cases 5 (a) and 6 (b), each with the dislocation line, sense ξ, and Burgers vector b shown.

Figure 4 :
Figure 4: Test 1 (applied to Case 7) -Variation of computed Burgers vector with Burgers circuit size.Angular error was found to be 0 for all sizes tested.

Figure 5 :
Figure 5: Test 2 (applied to Case 7) -Variation of computed Burgers vector with fractional distance of dislocation from Burgers circuit centre.Note the increase of both percentage error in magnitude (a) and angular error (b) as the ratio approaches 1.

Figure 6 :
Figure 6: Test 3(A) (applied to Case 7) -Variation of computed Burgers vector with noise (single loop).Note the roughly linear general trend of increase of both percentage error in magnitude (a) and angular error (b) as the noise magnitude increases, with the line of best fit gradients being 0.927 and 0.971 respectively.The deviation of these gradients from 1 is a result of the inherent randomness of the noise.

Figure 7 :
Figure 7: Test 3(B) (applied to Case 7) -Variation of computed Burgers vector with noise and no.concentric Burgers circuits.The percentage error in magnitude (a) and angular error (b) tend to increase as the noise magnitude increases and no.concentric Burgers circuits decreases.

Figure 8 :
Figure8: The 3D plot produced by rastering a 5x5x5 voxel Burgers circuit over the domain to build up a Burgers vector map, using the BCDI data as an input.The regions of black quivers display computed Burgers vectors above a cutoff magnitude.The material specimen shape and the experimentally-observed dislocation lines are also plotted.Numbers labelling each dislocation have been added and three views of the sample from different directions are shown.The coordinate axes are all 500 nm for reference scale.Note that the origin of the coordinate system is at the centre of the material specimen, not at the centre of the triad.

Figure 10 :
Figure 10: Variation of Computed Burgers Vector with Burgers Circuit Size (HR-TKD Data).The values of percentage error in magnitude (a) and angular error (b) at 17 pixels wide roughly match the values anticipated from Fig. 6.

Figure 11 :
Figure 11: Summary of the rotation of the mixed dislocation.a) Setting the orientation of b relative to ξ. b) Setting the orientation of ξ.

Table 2 :
Results for the five dislocations present in the microcrystal observed by BCDI.