improved orientation sampling for indexing diffraction ... · in many types of diffraction...

13
General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. Users may download and print one copy of any publication from the public portal for the purpose of private study or research. You may not further distribute the material or use it for any profit-making activity or commercial gain You may freely distribute the URL identifying the publication in the public portal If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Downloaded from orbit.dtu.dk on: Nov 06, 2020 Improved orientation sampling for indexing diffraction patterns of polycrystalline materials Larsen, Peter Mahler; Schmidt, Søren Published in: Journal of Applied Crystallography Link to article, DOI: 10.1107/S1600576717012882 Publication date: 2017 Document Version Publisher's PDF, also known as Version of record Link back to DTU Orbit Citation (APA): Larsen, P. M., & Schmidt, S. (2017). Improved orientation sampling for indexing diffraction patterns of polycrystalline materials. Journal of Applied Crystallography, 50(6). https://doi.org/10.1107/S1600576717012882

Upload: others

Post on 10-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

Users may download and print one copy of any publication from the public portal for the purpose of private study or research.

You may not further distribute the material or use it for any profit-making activity or commercial gain

You may freely distribute the URL identifying the publication in the public portal If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim.

Downloaded from orbit.dtu.dk on: Nov 06, 2020

Improved orientation sampling for indexing diffraction patterns of polycrystallinematerials

Larsen, Peter Mahler; Schmidt, Søren

Published in:Journal of Applied Crystallography

Link to article, DOI:10.1107/S1600576717012882

Publication date:2017

Document VersionPublisher's PDF, also known as Version of record

Link back to DTU Orbit

Citation (APA):Larsen, P. M., & Schmidt, S. (2017). Improved orientation sampling for indexing diffraction patterns ofpolycrystalline materials. Journal of Applied Crystallography, 50(6). https://doi.org/10.1107/S1600576717012882

Page 2: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

research papers

J. Appl. Cryst. (2017). 50 https://doi.org/10.1107/S1600576717012882 1 of 12

Received 12 July 2017

Accepted 8 September 2017

Edited by Th. Proffen, Oak Ridge National

Laboratory, USA

Keywords: orientation sampling; pattern

indexing; forward modelling; quaternions;

spherical coverings.

Improved orientation sampling for indexingdiffraction patterns of polycrystalline materials

Peter Mahler Larsen* and Søren Schmidt

Department of Physics, Technical University of Denmark, 2800 Kongens Lyngby, Denmark. *Correspondence e-mail:

[email protected]

Orientation mapping is a widely used technique for revealing the microstructure

of a polycrystalline sample. The crystalline orientation at each point in the

sample is determined by analysis of the diffraction pattern, a process known as

pattern indexing. A recent development in pattern indexing is the use of a brute-

force approach, whereby diffraction patterns are simulated for a large number

of crystalline orientations and compared against the experimentally observed

diffraction pattern in order to determine the most likely orientation. Whilst this

method can robustly identify orientations in the presence of noise, it has very

high computational requirements. In this article, the computational burden is

reduced by developing a method for nearly optimal sampling of orientations. By

using the quaternion representation of orientations, it is shown that the optimal

sampling problem is equivalent to that of optimally distributing points on a four-

dimensional sphere. In doing so, the number of orientation samples needed to

achieve a desired indexing accuracy is significantly reduced. Orientation sets at a

range of sizes are generated in this way for all Laue groups and are made

available online for easy use.

1. Introduction

In many types of diffraction experiments, the aim is to

determine the orientation of the diffracted crystallite volume

which creates the experimentally observed pattern. For

example, when studying a multigrain sample with the three-

dimensional X-ray diffraction technique (3DXRD; Poulsen et

al., 2001), a ‘grain map’ is constructed by finding the crystalline

orientation at each point in the sample. The process of

determining the crystalline orientation from a diffraction

pattern on the detector is known as pattern indexing.

Throughout this article, we use the term ‘experimental

pattern’ to denote an image of a diffraction pattern as

recorded on a detector.

The most widely used pattern indexing methods work

‘backwards’ from features in the observed data to an orien-

tation. Such methods are typically highly efficient, but can fail

in the presence of noise. A well known example is in electron

backscatter diffraction (EBSD), where the Hough transform is

used to find lines in the backscattered Kikuchi pattern, from

which the orientation can be determined (Adams et al., 1993).

Under noisy conditions, however, the Kichuchi lines can no

longer be reliably identified and the indexing process fails as a

consequence.

The desire to analyse diffraction patterns under less-than-

ideal conditions has motivated the development of forward-

modelling-based pattern indexing, also known as dictionary-

based indexing. In a forward model, rather than working

backwards from the data, the orientation is found using a

brute-force approach. A dictionary is constructed by selecting

ISSN 1600-5767

# 2017 International Union of Crystallography

Page 3: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

a set of orientations and generating simulated patterns for

each of them. A requirement for simulating patterns is that the

crystal phase is known a priori, or, if indexing a multiphase

material, that the set of candidate phases is known.

To index an experimental pattern, it is compared against

every simulated pattern in the dictionary, and the dictionary

pattern with the highest similarity determines the orientation

(in a multiphase material this also determines the phase).

Here, the similarity is determined by the difference in the pixel

intensities in the simulated and experimental patterns. By

using the full image information (i.e. all pixel intensities), the

similarity exhibits a continuous degradation with increasing

noise, as opposed to the catastrophic degradation exhibited

when looking for specific features in the experimental pattern.

A significant drawback of the forward-modelling approach,

however, is the computational effort required: each experi-

mental pattern must be tested against every dictionary

pattern. Since, the accuracy of the pattern indexing process

depends on the granularity of the set of dictionary orienta-

tions, a more accurate indexing requires a larger set.

Increasing the number of dictionary orientations, however,

increases the time required to index a pattern. Since the

objectives of increased accuracy and reduced running time are

in opposition to each other, we ask the question, how can we

achieve the highest accuracy with the fewest dictionary

orientations? In this article, we describe a method for doing so

with the use of quaternions.

1.1. Measurement of dictionary orientation sets

Orientations can be conveniently represented using unit

quaternions (Altmann, 2005). Briefly, a quaternion is a four-

dimensional vector of the form q ¼ fw; ix; jy; kzg, where w, x,

y and z are real numbers and i, j and k are imaginary numbers

which generalize the better-known complex numbers. Unit

quaternions represent points on a four-dimensional hyper-

sphere, a space formally known as S3 and which consists of all

vectors that satisfy ðw2 þ x2 þ y2 þ z2Þ1=2¼ 1. This space is a

double covering of SOð3Þ, the group of rotations in three-

dimensional Euclidean space (R3). The double covering

relationship means that �q and q represent the same orien-

tation, which is evident when considering the quaternion-

derived rotation matrix:

Uq ¼

1� 2y2 � 2z2 2xy� 2wz 2xzþ 2wy

2xyþ 2wz 1� 2x2 � 2z2 2yz� 2wx

2xz� 2wy 2yzþ 2wx 1� 2x2 � 2y2

24

35: ð1Þ

It can be seen that in each element of Uq the sign of the

quaternion cancels out. By using the quaternion representa-

tion, the problem of selecting an optimal set of dictionary

orientations is equivalent to finding an optimal distribution of

a set of points on S3. To do so, we must first decide what

constitutes a good distribution.

The misorientation between two orientations in quaternion

form, p and q, is given by

�ðp; qÞ ¼ 2 arccos jhp; qij; ð2Þ

where hp; qi denotes the inner product of p and q. In many

previous studies, dictionary orientation sets are quantified by

the misorientation between neighbouring orientations: for

example, the average value of �ðp; qÞ over all pairs of nearest

neighbours p and q. This may be adequate when the orien-

tation set has a known grid-like structure, but it does not

constitute a universal measure of quality. To illustrate this with

a pathological example, consider an orientation set, Q, where

all orientations lie at the same point. The misorientation

between all pairs of orientations is zero, that is

�ðp; qÞ ¼ 0 8p 2 Q; q 2 Q; ð3Þ

yet the set constitutes the worst possible dictionary. A good

measure of quality should instead consider the misorientation

between the dictionary set and any possible experimental

orientation. We define the error term as the maximum

misorientation between these two, i.e. how far can an experi-

mental orientation lie from the dictionary? More specifically,

this error term is given by

�max ¼ maxx2SOð3Þ

minq2Q

� x; qð Þ: ð4Þ

This quantity can be minimized by solving the spherical

covering problem in S3. Given N hyperspherical caps of equal

radius, r, called the covering radius, the spherical covering

problem asks how to arrange the caps to cover the surface of

S3 with minimal r. We describe this problem in detail in x2.

By creating orientation sets with a small covering radius, we

can either reduce the number of orientations required to

achieve a desired error tolerance (thereby reducing the

running time of forward-modelling pattern indexing) or

simply improve the error distribution for a fixed number of

orientations. Creation of such sets is the principal contribution

of this work.

1.2. Previous work

Forward modelling has been successfully applied in many

types of diffraction-based experiments, including the indexing

of three-dimensional X-ray diffraction microscopy data (Li &

Suter, 2013; Schmidt, 2014), EBSD data (Chen et al., 2015) and

electron channelling patterns (Singh & De Graef, 2017). Any

forward-modelling method requires a discretization of SOð3Þ.

Whilst many such discretization methods have been devel-

oped, here we consider only three which are both successful

and commonly used amongst crystallographers.

Yershova et al. (2010) have developed an incremental infi-

nite sequence based on the Hopf fibration. The method

generates orientations deterministically, with proven maximal

dispersion reduction when used as a sequence. Furthermore,

the orientation sets are isolatitudinal, which permits expansion

into spherical harmonics (Dahms & Bunge, 1989), refinable

and can be generated on the fly. Whilst the method has many

desirable properties, it is developed for the purpose of robot-

motion planning and is not easily integrated with crystal-

lographic fundamental zones. To remedy this, Rosca et

al.(2014) have developed ‘cubochoric’ coordinates, in which

an area-preserving Lambert projection is used to map points

research papers

2 of 12 Larsen and Schmidt � Improved orientation sampling for indexing J. Appl. Cryst. (2017). 50

Page 4: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

from a cubic grid onto any desired crystallographic funda-

mental zone in SOð3Þ. A different approach, developed by

Karney (2007) for use in molecular modelling, is to generate

sets which attempt to solve the spherical covering problem.

Inspired by the observation that body-centred cubic (b.c.c.)

grids solve the covering problem in R3, b.c.c. grids are

constructed in Rodrigues–Frank (RF) space (Frank, 1988;

Morawiec & Field, 1996) in order to generate good coverings

in SOð3Þ.

Table 1 summarizes the properties of the different methods

of generating orientation sets. Each of the three aforemen-

tioned techniques attempts to solve slightly different problems

and involves different trade-offs as a consequence, although

one feature they have in common is fast generation. We take

an alternative approach, sacrificing other properties in pursuit

of creating the ‘best’ possible orientation sets. Whilst this

approach requires a significant up-front computational effort,

this is a good trade-off when the resulting sets will subse-

quently be used many times. We emphasize that, whilst the

orientational error is critical to forward modelling, there are

many other sources of error in any modality [see Ram et al.

(2017) for a comprehensive analysis in an EBSD context].

The rest of this article is organized as follows: in x2 we

define the spherical covering problem on Sd, show how this

relates to the problem of finding an optimal set of orientations

and derive a conjectured lower bound. We describe the

generation of orientation sets in x3. Results on the covering

radius and error distributions of the resulting orientation are

given in x4. Lastly, the advantages and drawbacks of the

method presented are discussed in x5.

2. Error quantification of orientation sets

In order to compare different orientation sets we must define a

measure of quality. Here, we describe the covering radius of a

set, which we argue is the canonical error measure since it

determines the maximum possible error. We will first describe

the sphere covering problem for Euclidean and spherical

geometries, and then show that the problem of generating

optimal orientation sets is a special case of the spherical

covering problem.

2.1. Spherical coverings

The sphere covering problem is best known in Euclidean

geometries. In Rd, it asks ‘for the most economical way to

cover d-dimensional space with equal overlapping spheres’

(Conway & Sloane, 1998). Optimal coverings are known for

d ¼ 1 and d ¼ 2, which are equally spaced points on a line and

a hexagonal lattice, respectively, and optimal lattice coverings

are known for 1 � d � 5.

The presence of curvature in spherical geometries renders

the covering problem vastly more challenging. In Sd, the

spherical covering problem asks for the most economical way

to cover the surface of Sd with equal overlapping hyper-

spherical caps. In S1, the optimal covering is a set of N points

with angle 2�=N between adjacent points. For d> 1, however,

there is no general formula for determining the optimal

spherical covering. Furthermore, unlike in Rd, the configura-

tion of the optimal covering depends on the number of points

in the covering. For example, for d ¼ 2, the known optimal

configurations are the vertices of the tetrahedron, the octa-

hedron and the icosahedron. Hardin et al. (2017) have found

putatively optimal coverings for d ¼ 2 at other values of N,

but these have been found using numerical optimization and

are not provably optimal.

2.2. Covering radius and covering density

For coverings on Sd, the two (equivalent) measures of

quality are the covering radius and the covering density. Given

a discrete collection of points P ¼ fp1; p2; . . . ; pNg 2 Sd, the

covering radius, �, is defined as the largest angular distance

between any point in Sd and P, that is

� ¼ maxx2Sd

minp2P

arccoshx; pi; ð5Þ

where hx; pi denotes the inner product of x and p. Then, P

covers the surface of Sd with N ¼ jPj equal hyperspherical

caps of radius �. The covering density, �dð�Þ, is given by the

ratio of the sum of the surface area of the caps to the surface

area of a unit d-sphere,

�dð�Þ ¼ NCdð�Þ

Sdð1Þ; ð6Þ

where

Cdð�Þ ¼

Ztanð�Þ

0

Sd�1ðrÞ

ð1þ r2Þ2 dr; Sd�1ð�Þ ¼

d�d=2

� d=2þ 1ð Þ�d�1: ð7Þ

Sd�1ð�Þ is the surface area of the d-sphere of radius � and Cdð�Þis the surface area of a hyperspherical cap of radius � (cf.

Appendix A for derivation). To find the covering radius, we

need to determine the Voronoi cell of each point pi 2 P. The

Voronoi cell of point pi, denoted VorðpiÞ, consists of all points

of Sd that are at least as close to pi as to any other pj. More

specifically

research papers

J. Appl. Cryst. (2017). 50 Larsen and Schmidt � Improved orientation sampling for indexing 3 of 12

Table 1Summary of properties of different methods of orientation setgeneration.

Existing methods prioritize fast generation and a grid-like structure. In ourwork we optimize the covering radius at the expense of all other properties.The optimality gap for a set of N orientations is the percentage difference of itscovering radius to that of the simplex bound (cf. x2.5)

Method

Fastgenera-tion

Refin-able

Isolati-tudinal

Iso-choric

Crystallo-graphic

Optimalgap atN ’ 105 (%)

Random samplingp p

–† –p

127Hopf fibration

p p p– – 59.9

Cubochoricp p p p p

40.8Octahedral b.c.c.

p p–† – –‡ 15.4

Present work – – –† –p

4.64

† Non-isolatitudinal sets do not permit an expansion into spherical harmonics, thoughany orientation set can be expanded into hyperspherical harmonics (Mason & Schuh,2008; Mason, 2009). ‡ These orientation sets can be mapped out into seven of 11 Lauegroup fundamental zones (cf. x2.4).

Page 5: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

VorðpiÞ ¼ fx 2 Sdj arccoshx; pii � arccoshx; pji 8jg: ð8Þ

Since the vertices of the Voronoi cells are the points which

locally maximize the angular distance from P, the covering

radius is determined by the Voronoi vertex that lies furthest

from P.

The Voronoi cells of a set of points in Sd are not easy to

calculate directly, so instead we calculate the (hyperspherically

constrained) Delaunay triangulation. The Delaunay triangu-

lation, DTðPÞ, is a set of hyperspherical simplices whose

vertices are points in P which satisfy the empty-sphere

condition, that is, no points in P lie inside the circumhypercap

of any simplex in DTðPÞ. Associated with each simplex is a

Voronoi vertex, which lies at the centre of the simplex

circumhypercap (the circumcentre). The Delaunay triangula-

tion, Voronoi cells, and simplex circumhypercaps and

circumcentres are illustrated in S2 in Fig. 1. We now show how

to calculate the circumcentre of a simplex.

Theorem. For a hyperspherical simplex t 2 DTðPÞ with

vertices fp1; p2; p3; . . . ; pdþ1g 2 Sd, the position of the

circumcentre, X, is equal to the unit normal vector of the

d-dimensional hyperplane on which the vertices of t lie.

Proof. Let S ¼ fs1 ¼ p2 � p1; s2 ¼ p3 � p1; s3 ¼ p4 � p1;. . . ; sd ¼ pdþ1 � p1g and let X 2 Sd be the circumcentre of t.

Then, per definition, X must satisfy

piX ¼ p1X 8i: ð9Þ

Subtracting p1X from each side gives

siX ¼ 0 8i: ð10Þ

The unit length of X follows from requiring X 2 Sd:

To find X, we calculate the normalized d-fold vector cross

product (Brown & Gray, 1967) of S. Since every hyperplane

has two (opposite) unit plane normals, X has two solutions,

which correspond to the centre of the simplex hypercircumcap

and its dual. However, given that jPj � dþ 2 only one of these

solutions fulfils the empty-sphere condition, which is the one

which satisfies hX; pii> 0 8i. This corresponds to the smaller

of the two hypercircumcaps.

For a set of points on Sd, the vertices of each simplex

t 2 DTðPÞ can be found by calculating the convex hull of P, as

shown in Fig. 2. If we denote the circumradius of a simplex t by

’ðtÞ, equation (5) can be restated as

� ¼ maxf’ðtÞ j t 2 DTðPÞg; ð11Þ

which provides a practical solution to equation (5): the

covering radius of a point set is simply the maximum simplex

circumradius.

2.3. Orientation sets

The problem of finding a good spherical covering is

immediately relatable to the problem of finding good sets of

orientations. As described previously, rotations can be repre-

sented by quaternions, which are points on S3. The maximum

rotational angle between a point x 2 SOð3Þ and a point set P,

also called the maximum misorientation, is given by

�max ¼ 2 maxx2S3

minP2P

min arccosh�x; pi; arccoshx; pi½ �;

¼ 2 maxx2S3

minp2Q

arccoshx; pi;ð12Þ

where Q ¼ P [ f�p j p 2 Pg. It can be seen that, for a point

set with antipodal symmetry, �max ¼ 2�, that is, the maximum

misorientation is twice the covering radius. Thus, the problem

of finding a set of rotations with the lowest maximum misor-

ientation is equivalent to finding an optimal spherical covering

for a point set with antipodal symmetry on S3.

2.4. Integration with crystallographic symmetries

Equation (12) shows that a set of 2N points with antipodal

symmetry represents a set of N rotations. A set of orientations

generated in this way covers the whole space of SOð3Þ and is

immediately applicable to pattern indexing of materials with

triclinic (C1) Bravais lattices. For materials with higher-order

symmetry, though, a dictionary set which covers all of SOð3Þ is

research papers

4 of 12 Larsen and Schmidt � Improved orientation sampling for indexing J. Appl. Cryst. (2017). 50

Figure 2Convex hull (left) and the spherically constrained Delaunay triangulation(right) of 22 points on the sphere. The triangulations exist in R3 and S2,respectively, but the vertices of each simplex are the same. Data fromHardin et al. (2017).

Figure 1Left: a putatively optimal spherical covering for 28 points in S2 [point setfrom Hardin et al. (2017)]. The solid lines indicate the sphericallyconstrained Delaunay triangulation. The dashed lines indicate theVoronoi cells. Right: the same points; each simplex in the Delaunaytriangulation has a circumcap, the centre of which (marked in red) lies ata Voronoi cell vertex. The maximum simplex circumradius determines thecovering radius of the point set.

Page 6: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

wasteful, since only the fundamental zone orientations (He &

Jonas, 2007) are needed. A naive approach for selecting

fundamental zone orientations is to generate a full covering of

SOð3Þ and then simply ‘cut out’ the desired region; this

introduces artifacts at the boundaries of the fundamental zone

which increase the covering radius significantly. Instead, we

apply the symmetry of the desired point group during

generation of the orientation sets.

Given a set of basis points B ¼ fb1; b2; . . .g and a quater-

nion group G ¼ fg1; g2; . . .g, we can create a set of points with

the symmetry of G by

P ¼ fb� g j b 2 B; g 2 Gg; ð13Þ

where � denotes quaternion multiplication. If P is to repre-

sent a set of orientations [cf. equation (12)], G must be a

superset of antipodal symmetry (C1). The finite quaternion

groups which meet this requirement are (Conway & Smith,

2003)

2I60 The binary icosahedral group

2O24 The binary octahedral group

2T12 The binary tetrahedral group

2Dn The binary dihedral group

2Cn The binary cyclic group

With the exception of the binary icosahedral group, each of

these is used to describe the generators of the 11 Laue groups

(Morawiec, 2004), C1, C2, C3, C4, C6, D2, D3, D4, D6, T and O.

By the application of a symmetry group, the problem of

finding a good spherical covering for a chosen crystallographic

fundamental zone is reduced to a problem of finding an

optimal configuration of the basis points, which is a much

smaller problem.

The Laue groups can be divided into two sets:

fC2;C4;D2;D4;T;Og ð14Þ

and

fC3;C6;D3;D6g; ð15Þ

where the elements of each are subsets of O and D6, respec-

tively (C1 is trivially a subset of both). This means that, if we

generate sphere coverings with O and D6 applied according to

equation (13), then by an appropriate mapping of the funda-

mental zone orientations we obtain sphere coverings for all

Laue groups, without the aforementioned boundary artifacts.

The Laue group subset relationships are shown in Appendix B.

2.5. Derivation of the simplex bound on S3

In addition to knowing the covering radius and density of a

point set, it is useful to know how far from optimality a set is.

We can estimate the optimality gap with a lower bound.

The simplex bound is a classic result which gives an upper

bound on the density of sphere packings and a lower bound on

the density of sphere coverings. It has been proven for pack-

ings in Rd (Rogers, 1958) and Sd (Boroczky, 1978), and for

coverings in Rd (Coxeter et al., 1959) and S2 (Toth, 1964).

Boroczky has conjectured that it is a lower bound on S3

(Boroczky, 2004). Despite lacking a proof, we will use the

simplex bound on S3 to estimate the optimality of our point

sets, as it is ‘intuitively obvious’.

The premise of the simplex covering bound is that the

lowest covering density can be achieved with regular

simplices; this concept is illustrated in Fig. 3. Regular simplices

tesselate in R1 and R2. In Rd for d � 3, regular simplices do

not tesselate, and thus the simplex covering density is an

unattainable lower bound. As stated previously, regular

simplices tesselate in S2 for three configurations: the tetra-

hedron, the octahedron and the icosahedron. Thus, the

simplex bound is tight for these configurations only, and is

provably unattainable for any other number of vertices. In S3,

regular simplices tesselate only in the 5-cell, the 16-cell and the

600-cell. If Boroczky’s conjecture is correct, the simplex bound

is tight only for these configurations. Since no description of

the simplex bound covering density on S3 could be found in

the literature, we derive an expression for it here.

Consider a hyperspherical cap on S3 of radius � and volume

C3ð�Þ. We denote the inscribed regular spherical tetrahedron

Tð�Þ. At each of the four vertices of Tð�Þ is a hyperspherical

cap of radius �. Each of these caps intersects Tð�Þ with solid

angle �ð�Þ, giving a volume of intersection of C3ð�Þ�ð�Þ=ð4�Þ.Now Tð�Þ is covered by the four equal volumes of intersection.

The covering density, �S

3 , is the ratio of the sum of the four

volumes of intersection to the volume of Tð�Þ:

�S

3 ð�Þ ¼ 4C3ð�Þ�ð�Þ

4�

1

Vol½Tð�Þ�: ð16Þ

Here,

C3ð�Þ ¼ �½2� � sinð2�Þ�; ð17Þ

�ð�Þ ¼ 3 ð�Þ � �; ð18Þ

ð�Þ ¼ arccos4 cos2ð�Þ � 1

8 cos2ð�Þ þ 1

� �; ð19Þ

Vol½Tð�Þ� ¼ �ReðLÞ þ �½argð�QÞ þ 3 ð�Þ� � 32�

2� �

mod 2�2;

ð20Þ

research papers

J. Appl. Cryst. (2017). 50 Larsen and Schmidt � Improved orientation sampling for indexing 5 of 12

Figure 3Illustration of the simplex bound in R2, shown here because of thedifficulty of visualizing the simplex bound in S3. Regular simplices in R2

are equilateral triangles, which tessellate. At the vertices of each triangle(of circumradius r) is a circle of radius r. The area of intersection betweena triangle and a circle is a circular sector of angle �=3. Each triangle iscovered by three equal areas of intersection. The covering density istherefore the ratio of the sum of the three areas of intersection to the areaof the triangle: �

R2 ¼ 2�=3ð3Þ1=2. In R

d the covering density isindependent of r, which is not the case in Sd for d � 2 owing to a lackof tesselation.

Page 7: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

Q ¼ 3 exp½�2i ð�Þ� þ 4 exp½�3i ð�Þ� þ exp½�6i ð�Þ�; ð21Þ

L ¼ 12

�Li2ðZ0Þ þ 3Li2fZ0 exp½�4i ð�Þ�g

� 4Li2f�Z0 exp½�3i ð�Þ�g � 3 ð�Þ2�; ð22Þ

Z0 ¼�6 sin2

½ ð�Þ�

2�fcos½ ð�Þ� þ 1g3f1� 3 cos½ ð�Þ�g

1=2

Q:

ð23Þ

where ð�Þ is the dihedral angle of Tð�Þ. The terms in equa-

tions (17)–(19) are derived in Appendix A. Equations (20)–

(23) are a simplification of Murakami’s formula for the volume

of a spherical tetrahedron (Murakami, 2012), for the case

where all six dihedral angles are equal (a regular spherical

tetrahedron).

The covering density can be used to estimate the optimality

gap of a point set. For a set of N points with covering radius �,the lower bound on the covering radius �� can be found by

rearranging the density expression in equation (6):

N ¼2�2�

S3 ð��Þ

C3ð��Þ; ð24Þ

where 2�2 is the surface area of S3. The optimality gap of the

point set is then �=�� � 1. Since �S

3 ð��Þ is a nontrivial

expression, we find �� numerically.

3. Method of orientation set generation

We now describe the method for generating point sets with

small covering radii. The direct problem formulation with the

application of symmetry is shown in Table 2. This is essentially

just a restatement of equations (11) and (13).

The problem of finding optimal spherical coverings is

difficult; in addition to being an NP-hard problem (van Emde

Boas, 1981), the objective function is non-differentiable, and

the ‘fitness landscape’ is non-convex and has many local

minima. One possible solution approach [used by Hardin et al.

(2017) to generate coverings in S2] is to use direct search. This

overcomes the non-differentiability of the objective function,

but repeated solution from many different starting config-

urations is required to find the globally optimal configuration.

Furthermore, owing to the poor scaling of direct search

methods with increasing problem size, this approach is not

practical since we wish to create very large orientation sets.

Since it is unlikely that we will find globally optimal solu-

tions for large point sets with direct search, we will instead

attempt to find good solutions with an indirect method. We

proceed as follows: an initial set of orientations is created by

sampling randomly from a uniform distribution on SOð3Þ

(Shoemake, 1992). The covering radius is then succesively

reduced, firstly by using gradient descent to find a configura-

tion which is a local minimizer of the Riesz energy. Secondly, a

smoothing procedure is used to improve the characteristics of

the Delaunay triangulation. Lastly, a local optimization

procedure is used to further refine the solution. We present no

theoretical basis for the choice of methods or for the order in

which the methods are applied. Rather, empirical experi-

mentation has shown that the method is effective and

produces point sets with a small covering radius.

The motivation for choosing these methods is illustrated in

Fig. 4. The random point set has a large covering radius. By

minimizing the Riesz energy the covering radius is signifi-

cantly reduced. The covering radius can be further reduced as

shown in the optimal covering. The effect of the smoothing

procedure is not shown here, as it is visually very similar to the

Riesz energy and optimal covering configurations. In the rest

of this section we describe each method in detail.

3.1. Riesz energy minimization

For a set of points P ¼ fp1; p2; . . . ;pNg 2 S

d, the Riesz energy is defined as

EsðPÞ ¼

XN

i6¼j

1

jpi � pjjs if s> 0;

XN

i6¼j

log1

jpi � pjjif s ¼ 0:

8>>>><>>>>:

ð25Þ

The problem of finding optimal Riesz

energy configurations is well studied,

most commonly for ðd ¼ 3; s ¼ 1Þ

(also known as the Thomson problem)

(Erber & Hockney, 1991; Altschuler et

research papers

6 of 12 Larsen and Schmidt � Improved orientation sampling for indexing J. Appl. Cryst. (2017). 50

Table 2Direct model for minimizing the covering radius of a point set in S3.

The point set P is composed of a basis set, B, on which a chosen symmetrygroup, G, acts. The covering radius, �, is calculated using the Delaunaytriangulation of P.

Variables B ¼ fb1 2 S3; b2 2 S

3; . . .gParameters G ¼ fg1 2 S

3; g2 2 S3; . . .g

Minimize � ¼ maxf’ðtÞ j t 2 DTðPÞgSubject to P ¼ fb� g j b 2 B; g 2 Gg

Figure 4Delaunay triangulations and Voronoi cells of three different point sets in S2, for N ¼ 130. Left: pointssampled uniformly from a random distribution. Centre: the global minimum configuration for theRiesz energy, here for s ¼ 1 [point set from Wales & Ulker (2006)]. Right: putatively optimalspherical-covering configuration [point set from Hardin et al. (2017)]. Point sets in S2 are used herefor illustrative purposes only, because of the difficulty of visualizing S3.

Page 8: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

al., 1994; Wales & Ulker, 2006), but also for ðd ¼ 4; s ¼ 1Þ

(Altschuler & Perez-Garrido, 2007), and in the general case

(Hardin & Saff, 2004; Rakhmanov et al., 1995). The sphere

packing problem is equivalent to solving for s ¼ 1.

Cohn & Kumar (2007) have shown that there exist config-

urations for certain values of N which are universally optimal,

that is, globally optimal solutions for every value of s. The

known universally optimal configurations for d ¼ 3 are the

tetrahedron, the 16-cell and the 600-cell. The vertices of these

polyhedra are conjectured to be global optima for the sphere

covering problem, since their Delaunay triangulations consist

of regular spherical tetrahedra (cf. x2.5). However, for any

value of N for which a universally optimal configuration does

not exist, there is no value of s which for a configuration

minimizing EsðPÞ guarantees an optimal spherical covering.

As such, we will select a value of s on the following basis:

Kuijlaars et al. (2007) have shown that the set of points P

which minimizes EsðPÞ is well distributed when d� 1 � s< d.

We will select s ¼ 2 since longer-range potentials exhibit fewer

local minima (Wales & Ulker, 2006). We have used the PR+

conjugate gradient method (Wright & Nocedal, 1999) to find a

local minimum of EsðPÞ. The resulting configuration is a good

intermediate solution with a small covering radius.

3.2. Optimal Delaunay triangulation smoothing

Minimizing the Riesz energy of a point set reduces the

covering radius whilst considering only the relative positions

of the points. We can obtain a further reduction in covering

radius by considering the positions of a point set and the

simplices in its Delaunay triangulation. This is a well studied

problem in the computational geometry community known as

tetrahedral meshing. Given a set of points sampled from an

object (e.g. a teapot model) the objective is to move the points

in order to create a ‘nice’ Delaunay triangulation (the mesh)

whilst preserving the shape of the object. Chen (2004) defines

an optimal Delaunay triangulation (ODT) as a set of points

which minimizes the energy function

EODT ¼1

dþ 1

Xi¼1...N

Z�i

jjp� pijj2 dp; ð26Þ

where �i is the 1-ring of pi (the volume bounded by pi and its

simplicial neighbours). Minimization of this energy results in a

Delaunay triangulation whose simplices have a low circum-

radius to inradius ratio. Alliez et al. (2005) have shown that,

for a given point, the position which minimizes EODT is

p�i ¼1

Volð�iÞ

Xt2�i

VolðtÞCðtÞ; ð27Þ

where VolðtÞ and CðtÞ are, respectively, the volume and

circumcentre of simplex t. They have shown that the energy

can be minimized with guaranteed convergence by alternately

constructing the Delaunay triangulation and moving the

vertices to their optimal positions using equation (27).

For our applications the ‘object’ whose shape we must

preserve is simply S3. As such, after the optimal vertex posi-

tion has been calculated using equation (27), the vertex

position is normalized in order to bring it back onto S3. We

also calculate VolðtÞ for a spherical tetrahedron (Murakami,

2012) rather than for a Euclidean tetrahedron. Despite the

intended use for Euclidean geometries, we have found that

this method works very well in practice in S3, which is prob-

ably because of the small local curvature of S3 for large point

sets.

3.3. Local refinement

As a last step in the process of reducing the covering radius,

we use an optimization procedure to iteratively refine a

succession of local neighbourhoods. We do so by generalizing

the direct problem, by iteratively dividing B into an active set

A and a constant set C. We then minimize the maximum

circumradius of the simplices with a vertex in A. A description

of the optimization problem is given in Table 3.

Whilst the smallest active set consists of a single vertex, we

find that optimizing the vertices of one whole simplex at a time

gives better results. To do so, we alternately construct the

Delaunay triangulation and then optimize each simplex in

turn. The order in which the simplices are optimized is

determined by their circumradius, from largest to smallest.

After each update the chosen symmetry group is reapplied to

the basis set in order to maintain a consistent point set.

Since the minimization of the maximum value of a set is a

non-differentiable objective function, we use the Nelder–

Mead method (Nelder & Mead, 1965) to optimize the above

function as it is a derivative-free method. In order to avoid

dealing with the implicit constraint jpj ¼ 1 8p 2 P, we

represent the vertices using RF vectors. Representing the

vertices as RF vectors during optimization has the added

benefit of reducing the number of variables, which is parti-

cularly advantageous when using the Nelder–Mead method.

Since an RF vector representation of any 180 rotation has

infinite magnitude, we rotate the local neighbourhood under

consideration to f1; 0; 0; 0g prior to optimization, and back

again after optimization.

4. Results

Fig. 5 illustrates how each stage of the optimization process

affects the solution quality. The initial random sampling

research papers

J. Appl. Cryst. (2017). 50 Larsen and Schmidt � Improved orientation sampling for indexing 7 of 12

Table 3Model for reducing the covering radius of a local neighbourhood of apoint set.

The point set P is composed of a basis set, B, on which a chosen symmetrygroup, G, acts. The basis set, B, consists of an active set, A, which defines thelocal neighbourhood to be optimized, and a constant set, C, which contains theremaining points. The covering radius, �, is again calculated using theDelaunay triangulation, though only of the points which either are active orshare a simplicial neighbour with an active point.

Variables A ¼ fa1 2 S3; a2 2 S

3; . . .g (1)Parameters C ¼ fc1 2 S

3; c2 2 S3; . . .g (2)

G ¼ fg1 2 S3; g2 2 S

3; . . .g (3)Minimize maxf’ðtÞ j t 2 DTðPÞ ^ t \A 6¼ ;g (4)Subject to B ¼ A [ C (5)

P ¼ fb� g j b 2 B; g 2 Gg (6)

Page 9: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

results in a distribution of simplex circumradii that is

approximately Gaussian. Minimization of the Riesz energy

significantly reduces the mean and variance of the simplex

circumradii, as well as the number of simplices. The distribu-

tion resembles a bimodal Gaussian distribution, which

suggests an ordered underlying simplex structure.

Application of ODT smoothing reduces the mean and

variance of the of simplex circumradii and results, again, in an

approximately Gaussian distribution. Lastly, the objective of

the local refinement procedure is to minimize the maximum

simplex circumradius. It can be seen that this produces a peak

around the maximum circumradius with a tail of smaller

circumradii below this.

Fig. 6 shows a comparison of our method with the methods

discussed in x1, in the range N ¼ ½960; 200 000�. We have

applied 2I60 symmetry, as it requires a small basis set and thus

allows us to quickly generate coverings of the full space of S3.

For each value of N, we have applied our method from 200

random starting configurations and taken the point set with

the lowest covering radius. It can be seen that the resulting sets

have a lower covering radius than the other methods, at both

small and large values of N.

Furthermore, our method displays a smooth decrease in

covering radius with increasing N, which is highlighted by the

almost constant covering density. We do not claim optimality

for any of our point sets; in most cases the covering radius of

the best point set was unique amongst the 200 runs. As such we

can conclude that lower covering radii could be obtained

simply by increasing the number of runs, though this is very

time consuming for large point sets.

research papers

8 of 12 Larsen and Schmidt � Improved orientation sampling for indexing J. Appl. Cryst. (2017). 50

Figure 5Histograms showing the change in simplex circumradius at each stage in the optimization for a point set with antipodal symmetry and N = 20 000. Thehistograms show the simplex circumradius distribution after (a) initial random sampling, (b) Riesz energy minimization, (c) ODT smoothing and (d)local refinement. The maximum circumradius is reduced at every stage.

Figure 6Comparison of the covering radius (left) and the covering density (right) of random sampling from a uniform distribution with antipodal symmetry,incremental grids based on the Hopf fibration (Yershova et al., 2010), cubochoric grids (Rosca et al., 2014), b.c.c. grids with binary octahedral symmetry(Karney, 2007) and our method. For the random sampling, a mean of 105 runs was used. For the incremental grids based on the Hopf fibration, thecovering radius was calculated at every value of N in the range shown. For the covering radius optimized point sets (our method), the best result of 200runs was used.

Page 10: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

The optimality gaps of some selected point sets generated

using our method are shown in Table 4. The gaps are below

6% at every value of N. In the Euclidean limit (N!1) the

curvature of S3 in a local area is effectively zero. For this

reason, the optimal covering in a local area should be a b.c.c.

lattice, since this is the best known covering inR3. Since a b.c.c.

lattice has a higher covering density than the simplex bound,

the optimality gaps presented here leave room for improve-

ment.

4.1. Practical application

The results presented in Fig. 6 demonstrate the evolution of

the different methods with increasing size, though all at small

sizes. For a practical pattern-indexing application, much larger

point sets are needed. Furthermore, whilst the covering radius

of a set specifies the maximum error, the distribution of errors

is also of practical interest. Fig. 7 compares the error histo-

grams of a covering-radius-optimized set and a cubochoric set,

which is used for comparison owing to its use in the widely

used EMsoft microscopy software (De Graef, 2017). In order

to generate the error histogram, 108 random orientations were

sampled; for each sampled orientation, the misorientation is

calculated to the nearest orientation in the dictionary set. A

KD-tree (Bentley, 1975) is used to quickly find the closest

dictionary orientation. In addition to a smaller maximum

error, the covering-radius-optimized set has a better overall

error distribution. This is achieved despite the use of a smaller

number of orientations.

The maximum error of the covering-radius-optimized set is

72% smaller than that of the cubochoric set. In the Euclidean

limit � / n�1=3, which suggests that a cubochoric set would

require approximately 5 times as many points to achieve the

same maximum error.

Using the symmetry relationships described in x2.4, we have

created orientation sets for every Laue group with maximum

misorientations (2�) of <1, 2, 3, 4 and 5, with optimality gaps

of less than 6% for every set. The orientation sets are available

online (Larsen & Schmidt, 2017).

5. Summary

We have shown how to construct a near-optimal sampling of

orientations. First we demonstrated that the sampling problem

is equivalent to the problem of how to distribute points on a

hypersphere. We then showed that the best measure of quality

for a point set is the covering radius, as this determines the

maximum orientational error. With the minimum covering

radius as the objective, we created sets of orientations at a

range of sizes for use in pattern indexing, and demonstrated

that the number of orientation samples needed to achieve a

desired indexing accuracy is significantly reduced as a conse-

quence.

In addition to an exact calculation of the covering radius,

which measures the quality of a set of orientations (smaller is

better), we derived a lower bound on the covering radius,

which sets a limit on the best attainable quality. The difference

between the achieved covering radius and the theoretical limit

allows us to quantify the optimality of orientation sets, which

we used to show that the sets we created are within 6% of the

optimal covering radius.

In order to use the method for indexing of diffraction

patterns, we have shown how symmetry groups can be

imposed during orientation sampling, without introducing any

research papers

J. Appl. Cryst. (2017). 50 Larsen and Schmidt � Improved orientation sampling for indexing 9 of 12

Figure 7Error histogram for a covering-radius-optimized point set with 6 106

orientations and a cubochoric set with 6:3 106 orientations. Here, bothpoint sets cover the full space of SOð3Þ, which corresponds to indexing amaterial with a triclinic crystal lattice. The covering-radius-optimizedpoint set has a lower maximum error (1.00 versus 1.72) and a betteroverall distribution of errors.

Table 4Conjectured optimality gaps for covering-radius-optimized configura-tions, with 2I60 symmetry applied.

N is the number of points in each set, � is the covering radius and �� is thecovering radius of the simplex bound on S3, conjectured to be a lower bound(Boroczky, 2004). The optimality gap percentage is 100ð�=�� � 1Þ.

N � () �* () Optimality gap (%)

8† 60.00 60.00 0.00120† 22.24 22.24 0.001920 9.05 8.73 3.683960 7.20 6.85 5.056000 6.27 5.96 5.077920 5.71 5.44 4.959960 5.27 5.04 4.6712000 4.96 4.73 4.7113920 4.72 4.50 4.7615960 4.50 4.30 4.5418000 4.33 4.13 4.7419920 4.18 4.00 4.6124000 3.93 3.76 4.7227960 3.72 3.57 4.3131920 3.56 3.41 4.3836000 3.43 3.28 4.4739960 3.31 3.17 4.6243920 3.21 3.07 4.6748000 3.11 2.98 4.4960000 2.89 2.77 4.3579920 2.63 2.51 4.4899960 2.44 2.33 4.64139920 2.19 2.09 4.83180000 2.01 1.92 4.84

† N ¼ 8 and N ¼ 120 are the point sets containing the vertices of the 16-cell and 600-cell,respectively, included here to highlight the tightness of the simplex bound for point setsconsisting of regular tetrahedral cells.

Page 11: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

edge-effect artifacts. Using this approach we have demon-

strated how to sample from the crystallographic fundamental

zone of any of the 11 Laue groups.

Existing methods for sampling orientations have prioritized

properties such as a refinable grid-like structure, fast genera-

tion and the ability expand into spherical harmonics; we have

instead chosen to optimize the maximum error (the covering

radius) above all else. This also means that the sampling

method has very high computational requirements; the largest

point set requires approximately four days of computation

time. Nonetheless, we claim that this is a good trade-off, since

a point set must only be generated once for each desired error

level, and affords a significant performance improvement

every time a pattern is subsequently indexed.

APPENDIX ASimplex bound derivation

A1. Volume of a hyperspherical cap

The volume of a hyperspherical cap in Sd can be calculated

by projection into RF space. Since RF space is radially

symmetric about the origin, the projection of a hyperspherical

cap with radius � and centre coordinates f1; 0; 0; . . . ; 0g 2 Sd is

a sphere with radius r ¼ tanð�Þ centred at the origin. Thus, the

volume of the cap is the radial integral of the product of the

surface area of a ðd� 1Þ-sphere with the RF space density:

Cdð�Þ ¼

Ztanð�Þ

0

Sd�1ðrÞ

ð1þ r2Þ2 dr where Sd�1ð�Þ ¼

d�d=2

� d=2þ 1ð Þ�d�1:

ð28Þ

For a hyperspherical cap in S3, this gives

C3ð�Þ ¼

Ztanð�Þ

0

4�r2

ð1þ r2Þ2

dr ¼ �½2� � sinð2�Þ�: ð29Þ

This is the same as the result derived by Morawiec (2004,

2010), but without normalization.

A2. Edge length of a regular spherical tetrahedron in S3

Owing to the radial symmetry of RF space, the RF

projection of a regular spherical tetrahedron with centre

coordinates qc ¼ f1; 0; 0; 0g 2 S3 is a tetrahedron with centre

coordinates vc ¼ f0; 0; 0g and vertex coordinates

v1 ¼ fk; k; kg; v2 ¼ fk;�k;�kg;

v3 ¼ f�k; k;�kg; v4 ¼ f�k;�k; kg:ð30Þ

From this, we obtain the vertex coordinates in S3:

q1 ¼1

ð1þ 3k2Þ1=2f1; k; k; kg;

q2 ¼1

ð1þ 3k2Þ1=2f1; k;�k;�kg;

q3 ¼1

ð1þ 3k2Þ1=2f1;�k; k;�kg;

q4 ¼1

ð1þ 3k2Þ1=2f1;�k;�k; kg:

ð31Þ

The circumradius of the tetrahedron is given by the arc length

from the centre to any of the vertices:

� ¼ arccoshqc; qii ¼ arccos1

ð1þ 3k2Þ1=2

� �8i: ð32Þ

The edge length of the tetrahedron is the arc length between

any two vertices:

l ¼ arccoshqi; qji ¼ arccos1� k2

1þ 3k2

�8i 6¼ j: ð33Þ

Using equations (32) and (33) we can express the edge length

in terms of the radius:

l ¼ arccos4 cos2ð�Þ � 1

3

� �: ð34Þ

A3. Dihedral angle and solid angle of intersection

Let fq1; q2; q3; q4g be the vertices of a regular hyper-

spherical simplex in S3 with the following coordinates:

q1 ¼ 1; 0; 0; 0f g; q2 ¼ cosðlÞ;�a;�a

31=2; z

n o;

q3 ¼ cosðlÞ; a;�a

31=2; z

n o; q4 ¼ cosðlÞ; 0;�

2a

31=2; z

� ;

ð35Þ

where

a ¼1� cosðlÞ

2

� �1=2

; z ¼ sin2ðlÞ �

2

3½1� cosðlÞ�

� 1=2

: ð36Þ

When projected into RF space the tetrahedron has vertices

v1 ¼ 0; 0; 0f g; v2 ¼1

cosðlÞ�a;�

a

31=2; z

n o;

v3 ¼1

cosðlÞa;�

a

31=2; z

n o; v4 ¼

1

cosðlÞ0;�

2a

31=2; z

� :

ð37Þ

The dihedral angle of the tetrahedron is then given by

lð Þ ¼ arccosv2 v3

jv2 v3j;

v2 v4

jv2 v4j

� �¼ arccos

cosðlÞ

2 cosðlÞ þ 1

� �:

ð38Þ

Using equation (34) we can express the dihedral angle in terms

of �:

ð�Þ ¼ arccos4 cos2ð�Þ � 1

8 cos2ð�Þ þ 1

� �: ð39Þ

research papers

10 of 12 Larsen and Schmidt � Improved orientation sampling for indexing J. Appl. Cryst. (2017). 50

Page 12: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

The solid angle is then given by

�ð�Þ ¼ 3 ð�Þ � � ¼ 3 arccos4 cos2ð�Þ � 1

8 cos2ð�Þ þ 1

� �� �: ð40Þ

Since v1 lies at the origin, this is also the solid angle of inter-

section of a regular hyperspherical simplex and a hyper-

spherical cap placed at one of its vertices. We can verify that in

the Euclidean limit (where the curvature is zero)

lim�!0 �ð�Þ ¼ 3 arccosð1=3Þ � � ¼ arccosð23=27Þ, which is

the solid angle for a regular tetrahedron in R3, and that

�ð�=3Þ ¼ �=2, which is the solid angle of a tetrahedral cell in

the 16-cell.

APPENDIX BLaue group subset relationships

The subset relationships between the 11 Laue groups are

shown in Tables 5 and 6.

Acknowledgements

The authors thank Thomas J. Hardin for advice on spherical

and hyperspherical harmonics, Farangis Ram for discussions

on the cubochoric method, Nanna Wahlberg, Erik B. Knudsen

and Hugh Simons for proofreading and helpful suggestions on

the manuscript, and an anonymous referee for several

suggestions which have improved this work.

References

Adams, B. L., Wright, S. I. & Kunze, K. (1993). Metall. Trans. A, 24,819–831.

Alliez, P., Cohen-Steiner, D., Yvinec, M. & Desbrun, M. (2005). ACMTrans. Graph. 24, 617–625.

Altmann, S. L. (2005). Rotations, Quaternions and Double Groups.Mineola: Dover Publications.

Altschuler, E. L. & Perez-Garrido, A. (2007). Phys. Rev. E, 76,016705.

Altschuler, E. L., Williams, T. J., Ratner, E. R., Dowla, F. & Wooten,F. (1994). Phys. Rev. Lett. 72, 2671–2674.

Bentley, J. L. (1975). Commun. ACM, 18, 509–517.Boroczky, K. (1978). Acta Math. Acad. Sci. Hung. 32, 243–261.Boroczky, K. (2004). Finite Packing and Covering, Vol. 154.

Cambridge University Press.Brown, R. & Gray, A. (1967). Comment. Math. Helv. 42, 222–

236.Chen, L. (2004). Mesh Smoothing Schemes Based on Optimal

Delaunay Triangulation, Proceedings of the 13th InternationalMeshing Roundtable, pp. 109–120. http://imr.sandia.gov/papers/abstracts/Ch317.html.

Chen, Y. H., Park, S. U., Wei, D., Newstadt, G., Jackson, M. A.,Simmons, J. P., De Graef, M. & Hero, A. O. (2015). Microsc.Microanal. 21, 739–752.

Cohn, H. & Kumar, A. (2007). J. Am. Math. Soc. 20, 99–149.Conway, J. H. & Sloane, N. J. A. (1998). Sphere Packings, Lattices and

Groups. New York: Springer.Conway, J. H. & Smith, D. A. (2003). On Quaternions and Octonions.

New York: Springer.Coxeter, H., Few, L. & Rogers, C. (1959). Mathematika, 6, 147–

157.Dahms, M. & Bunge, H. J. (1989). J. Appl. Cryst. 22, 439–447.De Graef, M. (2017). EMsoft – Electron Microscopy Diffraction and

Image Computations. http://github.com/marcdegraef/EMsoft/.Emde Boas, P. van (1981). Another NP-Complete Partition Problem

and the Complexity of Computing Short Vectors in a Lattice. Report81-04. Mathematisch Instituut, Universiteit van Amsterdam, TheNetherlands.

Erber, T. & Hockney, G. (1991). J. Phys. A Math. Gen. 24, L1369–L1377.

Frank, F. (1988). Metall. Trans. A, 19, 403–408.Hardin, D. & Saff, E. (2004). Not. AMS, 51, 1186–1194.Hardin, R. H., Sloane, N. J. A. & Smith, W. D. (2017). Spherical

Codes. Book in preparation. http://neilsloane.com/coverings/.He, Y. & Jonas, J. J. (2007). J. Appl. Cryst. 40, 559–569.Karney, C. F. F. (2007). J. Mol. Graph. Model. 25, 595–604.

research papers

J. Appl. Cryst. (2017). 50 Larsen and Schmidt � Improved orientation sampling for indexing 11 of 12

Table 5Generators for the seven Laue groups which are subsets of O.

% O T D4 D2 C4 C2 C1

f1; 0; 0; 0gp p p p p p p

f0; 0; 0; 1gp p p p p p

f0; 1; 0; 0gp p p p

f0; 0; 1; 0gp p p p

f21=2=2; 0; 0; 21=2=2gp p p

f21=2=2; 0; 0;�21=2=2gp p p

f0; 21=2=2; 21=2=2; 0gp p

f0;�21=2=2; 21=2=2; 0gp p

f1=2; 1=2;�1=2; 1=2gp p

f1=2; 1=2; 1=2;�1=2gp p

f1=2; 1=2;�1=2;�1=2gp p

f1=2;�1=2;�1=2;�1=2gp p

f1=2;�1=2; 1=2; 1=2gp p

f1=2;�1=2; 1=2;�1=2gp p

f1=2;�1=2;�1=2; 1=2gp p

f1=2; 1=2; 1=2; 1=2gp p

f21=2=2; 21=2=2; 0; 0gp

f21=2=2;�21=2=2; 0; 0gp

f21=2=2; 0; 21=2=2; 0gp

f21=2=2; 0;�21=2=2; 0gp

f0; 21=2=2; 0; 21=2=2gp

f0;�21=2=2; 0; 21=2=2gp

f0; 0; 21=2=2; 21=2=2gp

f0; 0;�21=2=2; 21=2=2gp

Table 6Generators for the five Laue groups which are subsets of D6.

% D6 D3 C6 C3 C1

f1; 0; 0; 0gp p p p p

f1=2; 0; 0; 31=2=2gp p p p

f1=2; 0; 0;�31=2=2gp p p p

f0; 0; 0; 1gp p

f31=2=2; 0; 0; 1=2gp p

f31=2=2; 0; 0;�1=2gp p

f0; 1; 0; 0gp p

f0;�1=2; 31=2=2; 0gp p

f0; 1=2; 31=2=2; 0gp p

f0; 31=2=2; 1=2; 0gp

f0;�31=2=2; 1=2; 0gp

f0; 0; 1; 0gp

Page 13: Improved orientation sampling for indexing diffraction ... · In many types of diffraction experiments, the aim is to determine the orientation of the diffracted crystallite volume

Kuijlaars, A. B. J., Saff, E. B. & Sun, X. (2007). J. Comput. Appl. Math.199, 172–180.

Larsen, P. M. & Schmidt, S. (2017). Orientation Sets Created viaSolution of the Hyperspherical Covering Problem, http://github.com/pmla/hyperspherical-coverings.

Li, S. F. & Suter, R. M. (2013). J. Appl. Cryst. 46, 512–524.Mason, J. K. (2009). Acta Cryst. A65, 259–266.Mason, J. K. & Schuh, C. A. (2008). Acta Mater. 56, 6141–6155.Morawiec, A. (2004). Orientations and Rotations: Computations in

Crystallographic Textures. Berlin, Heidelberg: Springer-Verlag.Morawiec, A. (2010). Acta Cryst. A66, 717–719.Morawiec, A. & Field, D. (1996). Philos. Mag. A, 73, 1113–1130.Murakami, J. (2012). Proc. Am. Math. Soc. 140, 3289–3295.Nelder, J. A. & Mead, R. (1965). Comput. J. 7, 308–313.Poulsen, H. F., Nielsen, S. F., Lauridsen, E. M., Schmidt, S., Suter,

R. M., Lienert, U., Margulies, L., Lorentzen, T. & Juul Jensen, D.(2001). J. Appl. Cryst. 34, 751–756.

Rakhmanov, E. A., Saff, E. B. & Zhou, Y. M. (1995). Comput.Methods Funct. Theory, 5, 293–309.

Ram, F., Wright, S., Singh, S. & De Graef, M. (2017). Ultramicro-scopy, 181, 17–26.

Rogers, C. A. (1958). Proc. London Math. Soc. s3–8, 609–620.Rosca, D., Morawiec, A. & De Graef, M. (2014). Modell. Simul.

Mater. Sci. Eng. 22, 075013.Schmidt, S. (2014). J. Appl. Cryst. 47, 276–284.Shoemake, K. (1992). Graphics Gems III, pp. 124–132. Academic

Press.Singh, S. & De Graef, M. (2017). Microsc. Microanal. 23, 1–10.Toth, L. F. (1964). Regular Figures. New York, Paris: Elsevier.Wales, D. J. & Ulker, S. (2006). Phys. Rev. B, 74, 212101.Wright, S. & Nocedal, J. (1999). Numerical Optimization, Vol. 2. New

York: Springer.Yershova, A., Jain, S., LaValle, S. M. & Mitchell, J. C. (2010). Int. J.

Robot. Res. 29, 801–812.

research papers

12 of 12 Larsen and Schmidt � Improved orientation sampling for indexing J. Appl. Cryst. (2017). 50