Skip to content

Website page for AutoMFX projects: VonHamos, EXAFS, Sim_EXAFS, Ondulator Pointing#10

Open
MartinaDelGaudio wants to merge 49 commits into
mainfrom
automfx-amine-martin
Open

Website page for AutoMFX projects: VonHamos, EXAFS, Sim_EXAFS, Ondulator Pointing#10
MartinaDelGaudio wants to merge 49 commits into
mainfrom
automfx-amine-martin

Conversation

@MartinaDelGaudio

Copy link
Copy Markdown

Creating a pull request to merge changes in the website by Martina and Amine

amine-lamouchi and others added 30 commits November 10, 2025 14:12
Added description of Xopt as the core optimization engine for automation efforts.
Expanded project goal section to detail the automation framework and its components.
Added an image to enhance the documentation of the automation framework.
Add documentation for EXAFS Scan Controller project, detailing its goals, functionalities, core components, accomplishments, limitations, and usage examples.
Added subprojects section and listing for AutoMFX projects.
Removed an error from file path for image
Image path + subproject fix
Updated image path for EXAFS project documentation.
Updated project title and improved section headings for clarity.
Updated project description and sections for clarity and detail.
Fixed formatting issue in the simulation documentation.
Removed unnecessary details from the project description.
Added documentation for the Von Hamos project, detailing its goals, functionalities, and workflows.
Updated project details and images for the MFX beamline automation project.

@fredericpoitevin fredericpoitevin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @MartinaDelGaudio this is really great! Let's iterate a little bit over my comments, we're close!

Comment thread _projects/automfx.md Outdated
Comment on lines +36 to +42
### Xopt

Xopt is the core optimization engine driving our group’s automation efforts in beamline alignment. It is a flexible, open-source Python framework designed for high-level optimization across simulations, experiments, and control systems. It allows users to define input variables, objectives and constraints through a simple “VOCS” interface, then select from advanced algorithmic generators (e.g., evolutionary, Bayesian, multi-objective, multi-fidelity) to drive optimization with minimal boilerplate.

<p align="center">
<img width="629" height="267" alt="xopt_diagram" src="/assets/img/xopt_diagram.png" />
</p>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add link to Xopt GitHub.

Comment thread _projects/exafs.md Outdated

### Automation loop

EXAFS scans require stepping photon energy while maintaining throughput and stability. This module runs that workflow by coupling **DCCM energy moves** (the primary scan axis) with **undulator K stepping** to keep the source tuned, and optional per-point optimization and tracking. It can align the **vernier** by maximizing intensity, apply **transfocator** focus configurations from a tracking map, track the **FEE spectrometer** (and optionally its camera), and manage the full **LCLS-II DAQ** lifecycle (configure → run → pause/resume when needed → stop). A flux threshold can be enforced to automatically pause DAQ if the beam drops and resume when it recovers.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarify what is meant by "track the FEE spectrometer (and optionally its camera)".

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added 2 lines, check if it's okay now

Comment thread _projects/exafs.md Outdated

### Limitations

Element edge metadata (foil/threshold energies) is currently hard-coded to a small set of transition metals, so adding new elements requires extending those tables. Focus tracking depends on precomputed tracking data. Vernier alignment is robust but can add overhead because it is scan-based rather than model-predicted. A few hardware interactions use shell calls and fixed PV names, which is less portable than fully device-native control. Finally, `long_escan` is intentionally feature-rich and therefore large, making it a good operational entry point but a natural target for refactoring and unit tests.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add that one of the lessons learned from beamtime is that the transfocator focus tracking capability needs to be improved as the stage motion was lagging behind. Also more work is necessary to ensure pointing remains optimal throughout the scan.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, maybe @amine-lamouchi wants to check on this

Comment thread _projects/simulation.md

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would merge the content of this file into the EXAFS.md file. Also, simulation.md could be understood as more general than just for EXAFS, we might want to keep it if we'd like to say more about the MFX Digital Twin?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I create 2 subpages in autoMFX: one for "real" experiments (name of the section open to suggestions) and one with Digital Twin; then, in the first section I put what is currently EXAFS and VonHamos, and in the digital twin we will put the various simulated parts, including exafs sim? Or do you prefer if every section will have its own "real device" part and simulated part? So, EXAFS will have 2 subsections, one for real and one for simulated, and same for vonhamos etc..?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, added a placeholder for undulator pointing for @amine-lamouchi to fill

Comment thread _projects/vonhamos.md

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we change the title from "Von Hamos" to "Von Hamos Spectrometer"?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Comment thread _projects/vonhamos.md Outdated
- **energy scans** by stepping crystal rotation,
- **multi-crystal acquisition** where all six analyzers collect in parallel and spectra are combined downstream.

Helper utilities like `optimize_crystal()`, `set_all_crystals()`, and position reporting functions provide quick “one-call” operations during shifts and alignment.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be great if we could expand on the alignment automation aspect of the project.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, maybe @amine-lamouchi wants to add more

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's have Leland review this fantasatic figure!

Comment thread assets/img/vonhamos_mfx.png Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I realize that this wasn't used: would we want to fix it and include it?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you want me to try to fix it? Or you like the vonhamos_new.png in place of this? Or vonhamos_new.png + improved version of this?

Comment thread assets/img/vonhamos_new.png Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fantastic!

Comment thread _projects/automfx.md
@@ -3,8 +3,54 @@ layout: projects
title: autoMFX
description: Automation of the MFX beamline at LCLS
img: assets/img/projects/automfx.jpg

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have better pictures now, could we replace that one?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated with the exafs image

MartinaDelGaudio and others added 16 commits March 9, 2026 16:15
Clarified the functionality of the automation loop in EXAFS scans, including tracking of the FEE spectrometer and its camera
Expanded limitations section to include focus tracking synchronization issues and pointing stability challenges during beamtime.
Added disclaimer about the iterative approach.
Added a second project goal for simulation and detailed the features of Sim-EXAFS, including its components and strengths.
Added initial content for Undulator Pointing project documentation.
Updated image reference to cropped version.
Expanded on typical workflows and added details about alignment automation features, including automated array initialization, closed-loop optimization, deterministic verification, and state reporting.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants