Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reflectometry: autoalign [POLREF 25-27th March 2025] #71

Open
jackbdoughty opened this issue Nov 22, 2024 · 3 comments
Open

Reflectometry: autoalign [POLREF 25-27th March 2025] #71

jackbdoughty opened this issue Nov 22, 2024 · 3 comments
Assignees

Comments

@jackbdoughty
Copy link
Contributor

jackbdoughty commented Nov 22, 2024

As a reflectometry scientist I would like a full auto alignment plan and a detector-mapping DAE reducer so that I can align my beamline much faster. Together these two items will be an order-of-magnitude efficiency improvement for reflectometers.

This saves a large amount of time in each cycle. Try to make the components at least somewhat generic, as other reflectometers are very likely to want something similar if it all works nicely on polref.

Acceptance criteria

  • Figure out how POLREFs existing full-auto alignment scripts work
  • Figure out what support they would need from ibex_bluesky_core to achieve this using bluesky
  • Make the scripts into a bluesky plan, potentially using things like adaptive scans where appropriate
  • Sit with CK on an instrument like POLREF and test it
@Tom-Willemsen Tom-Willemsen changed the title Reflectometry: autoalign Reflectometry: autoalign (e.g. polref) Nov 24, 2024
@Tom-Willemsen Tom-Willemsen changed the title Reflectometry: autoalign (e.g. polref) Reflectometry: autoalign [POLREF 25-27th March 2025] Nov 27, 2024
@Tom-Willemsen
Copy link
Contributor

This beamtime has been scheduled for 25th-27th March 2025...

@Tom-Willemsen
Copy link
Contributor

Full-auto and semi-auto -> \\ndxpolref\c$\Instrument\Settings\config\NDXPOLREF\Python\inst\Useful_POLREF.py

@Tom-Willemsen
Copy link
Contributor

The second part of this ticket, after migrating auto-alignment to a bluesky plan, is to implement a DAE reducer which passes spectra to the bumps package and "reduces" to a set of fitted parameters at each scan point.

For POLREF:

  • At each scan point, pull 640 detector spectra from DAE (use SPECDATA pv for this - needs explicitly processing)
  • Use a "detector map" (map of pixel number -> relative angle) to convert to angle (CK can provide this)
  • Pass the resulting arrays to bumps with parameters / models that CK will provide
  • The fitted "peak width" from bumps is the y-axis of ths scan (this will also have an associated uncertainty)
  • Over the whole scanned range (e.g. of a height axis or similar), then do a meta-fit using our normal lmfit/LiveFit callbacks to find optimum of "peak width" against height.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

2 participants