hexrd.indexer module

hexrd.indexer.paintGrid(quats, etaOmeMaps, threshold=None, bMat=None, omegaRange=None, etaRange=None, omeTol=0.017453292519943295, etaTol=0.017453292519943295, omePeriod=array([-3.14159265, 3.14159265]), doMultiProc=False, nCPUs=None, debug=False)[source]

Spherical map-based indexing algorithm, i.e. paintGrid.

Given a list of trial orientations quats and an eta-omega intensity map object etaOmeMaps, this method executes a test to produce a completeness ratio for each orientation across the spherical inensity maps.

Parameters

quats(4, N) ndarray

hstacked array of trial orientations in the form of unit quaternions.

etaOmeMapsobject

an spherical map object of type hexrd.instrument.GenerateEtaOmeMaps.

thresholdfloat, optional

threshold value on the etaOmeMaps.

bMat(3, 3) ndarray, optional

the COB matrix from the reciprocal lattice to the reference crystal frame. In not provided, the B in the planeData class in the etaOmeMaps is used.

omegaRangearray_like, optional

list of valid omega ranges in radians, e.g. np.radians([(-60, 60), (120, 240)])

etaRangearray_like, optional

list of valid eta ranges in radians, e.g. np.radians([(-85, 85), (95, 265)])

omeTolfloat, optional

the tolerance to use in the omega dimension in radians. Default is 1 degree (0.017453292519943295)

etaTolfloat, optional

the tolerance to use in the eta dimension in radians. Default is 1 degree (0.017453292519943295)

omePeriod(2, ) array_like, optional

the period to use for omega angles in radians, e.g. np.radians([-180, 180])

doMultiProcbool, optional

flag for enabling multiprocessing

nCPUsint, optional

number of processes to use in case doMultiProc = True

debugbool, optional

debugging mode flag

Raises

RuntimeError

DESCRIPTION.

Returns

retval(N, ) list

completeness score list for quats.

Notes

Notes about the implementation algorithm (if needed).

This can have multiple paragraphs.

You may include some math:

\[X(e^{j\omega } ) = x(n)e^{ - j\omega n}\]

And even use a Greek symbol like \(\omega\) inline.

References

Cite the relevant literature, e.g. [1]. You may also cite these references in the notes section above.

Examples

These are written in doctest format, and should illustrate how to use the function.

>>> a = [1, 2, 3]
>>> print([x + 3 for x in a])
[4, 5, 6]
>>> print("a\nb")
a
b
hexrd.indexer.paintGridThis(quat)[source]

Single instance paintGrid call.

Note that this version does not use omeMin/omeMax to specify the valid angles. It uses “valid_eta_spans” and “valid_ome_spans”. These are precomputed and make for a faster check of ranges than “validateAngleRanges”

hexrd.indexer.paintgrid_init(params)[source]

Initialize global variables for paintGrid.

Parameters

paramsdict

multiprocessing parameter dictionary.

Returns

None.