Skip to content

Description of MX wedged and inverse beam scans #72

@c-mita

Description

@c-mita

MX offers two main forms of "line" scan - Helical and Wedged.
Helical is straight forward, omega is continuously rotated while the sample stages move between positions.

E.g. scan axis values are:

x = [0, 0.2, 0.4, 0.6, 0.8, 1.0]
y = [0, 0.2, 0.4, 0.6, 0.8, 1.0]
omega = [0, 20, 40, 60, 80, 100]
xy_g = LineGenerator(['y', 'x'], 'mm', [0, 0], [1, 1], 6)
omega_g = LineGenerator('omega', 'deg', 0, 100 5)
g = ZipGenerator([xy_g, omega_g])
cg = CompoundGenerator([g], [], [])

Wedged is more tricky.
Omega performs part of its rotation and different x, y positions. That is, the full rotation is broken up into stages, performed at different points.

omega = [0, 10, 20, 30, 40, 50, 60, 70, 80]
x = [0, 0, 0, 1, 1, 1, 2, 2, 2]
y = [0, 0, 0, 1, 1, 1, 2, 2, 2]

The first wedge happens at "(0, 0)", the next part at "(1, 1)".

We don't have a good way of describing such scans. We could specify the full x, y arrays as an ArrayGenerator and zip them with omega, but that is inelegant, and far from concise.

MX also has the concept of Inverse Beam data collections:

omega = [0, 1, 2, 3, 4, 180, 181, 182, 183, 184, 5, 6, 7, 8, 9, 185, 186, 187, 188, 189, ...]

Here omega performs a full rotation, but again broken up into wedges that are "flipped" between a rotation started at 0 and a rotation started at 180.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions