pyextal.jaxJoint.datasets

Setting up the datasets and the shared structure factors.

Three passes, each dataset with the engine switched to it:

  1. load the dataset and its .dat, validate the geometry model, and decide which reflections it asks to refine (reflections, as in jaxGeo);

  2. take the union of those, as canonical keys: every one becomes a shared parameter, used in every dataset whose structure matrix holds it, so the crystal has one potential across all of them – whether or not that dataset measured the reflection;

  3. build each dataset’s configuration and metadata with every orbit member of the union in its beam list requested (whichever one the engine picks as its label is then among them), link each label to its canonical key and check the link against the engine.

Attributes

Classes

Dataset

One dataset of a joint refinement, and its refinement state.

Functions

_load(ds, engine, dry_run)

Pass 1: data, .dat, constants, geometry model, reflection choice.

_configure(ds, engine, union, symmetry, centro, settings)

Pass 3: config and metadata with the union requested, then the links.

_weights(datasets, weighting)

prepare(js, engine)

Loads and sets up every dataset, and builds the joint parameter tree.

_describe(m)

'+', '-', '*' (conjugate), '-*' or the phase in degrees.

Module Contents

class pyextal.jaxJoint.datasets.Dataset(index, name, settings)

One dataset of a joint refinement, and its refinement state.

Attributes set at setup: index, name, settings (its resolved RefineSettings), h5, dat, data, g_include, constants, model (GeometryModel), fns (its JAX geometry functions), config, metadata, links ((local key, canonical key, M) in the dataset’s reflection order), selected (canonical keys it asked to refine), n_points and weight.

Refinement state: x (geometry vector), tilts, geo_config, hessian, checked, geo_history and loss_history.

x
geo_config = None
hessian
checked
geo_history = []
loss_history = []
active
units
__repr__()
pyextal.jaxJoint.datasets._load(ds, engine, dry_run)

Pass 1: data, .dat, constants, geometry model, reflection choice.

pyextal.jaxJoint.datasets._configure(ds, engine, union, symmetry, centro, settings)

Pass 3: config and metadata with the union requested, then the links.

pyextal.jaxJoint.datasets._weights(datasets, weighting)
pyextal.jaxJoint.datasets.prepare(js, engine)

Loads and sets up every dataset, and builds the joint parameter tree.

Parameters:
Returns:

(datasets, G, table) – the Dataset list, the joint tree and the shared-parameter table (shared_table).

Return type:

tuple

Raises:

SetupError – If the datasets cannot be refined together.

pyextal.jaxJoint.datasets.KIND_NAMES
pyextal.jaxJoint.datasets._describe(m)

'+', '-', '*' (conjugate), '-*' or the phase in degrees.