Skip to content

detector_residuals: resolve per-frame XFELBeam for composite stills#1164

Draft
dwmoreau wants to merge 2 commits into
masterfrom
stills_process_imagesequence
Draft

detector_residuals: resolve per-frame XFELBeam for composite stills#1164
dwmoreau wants to merge 2 commits into
masterfrom
stills_process_imagesequence

Conversation

@dwmoreau

Copy link
Copy Markdown
Contributor

This is a prototype branch, not intended for merge. It serves as a discussion point for what is necessary to convert dials.stills_process from ImageSet to ImageSequence. See the DIALS PR for more information: https://github.com/dials/dials/pull/3181

David Mittan-Moreau and others added 2 commits May 22, 2026 13:11
cctbx.xfel.detector_residuals crashed with "XFELBeam has no fixed s0"
on composite stills .expt output from the stills_process_imagesequence
branch: each Experiment.beam is the shared wavelength-less XFELBeam, and
the residual/prediction code calls beam.get_s0() / get_wavelength() both
via StillsReflectionPredictor and in several direct sites.

Resolve each experiment's per-frame monochromatic beam once, right after
the experiments are loaded, via the new Experiment.get_monochromatic_beam()
(XFELBeam + scan "wavelength" property -> monochromatic Beam). A no-op for
ordinary beams. This tool only reads experiments, so replacing the beam in
place is safe.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
dxtbx now makes XFELBeam/PolychromaticBeam direct siblings of Beam under
BeamBase rather than subclasses, so isinstance(beam, Beam) is no longer
True for them. Broaden mod_view's Format.setup() beam assert to BeamBase
to match the new hierarchy.
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.

1 participant