Changelog
0.2.0 (current)
Beam-centre detection — complete refactor
Unique centre-detection method: iso-intensity contour fitting (
recalibrate_from_isocurve()). All previous methods (iterative ring moment,recalibrate_with_beamstop) have been removed.Centre detected automatically at
SAEDProcessor.__init__— no manualinitial_centerneeded. Result stored inproc.centeras a plain(cx, cy)tuple.proc.centercan be read and overwritten freely before callingintegrate()orextract_epdf().Removed attributes:
initial_center,skip_center_recalibration,use_ring_fit,use_isocurve.Graceful fallback to intensity-maximum pixel if isocurve detection fails (e.g. unusual image geometry or very strong beamstop), with a printed warning.
MTF deconvolution
Richardson-Lucy filter removed; Wiener filter is now the only deconvolution method.
Wiener
epsilonis read from column 3 of the MTF file whenwiener_epsilon=None(default).
Streamlit app — Tab 1 redesign
New two-step flow per column (Sample / Reference):
Upload files (image, PONI, mask, MTF) — mask can also be drawn interactively via the pyFAI-drawmask GUI.
Click 🚀 Create SAEDProcessor — processor is created, isocurve runs, centre auto-filled in the Center X / Y fields.
Wiener
εfield pre-filled from column 3 of the MTF file on upload.🔄 Update button applies edited centre coordinates to the processor.
At PDF calculation time (Tab 2), centre is synchronised from the number-input fields before
integrate()— the displayed value is always the one used.Removed: global “Validate and Create Processors” button, dropdown for recalibration method selection, duplicated MTF parameter section below the columns.
NaN handling in compute_ePDF
Masked azimuthal-integration bins (NaN / zero-weight) are interpolated over before PDF computation, preventing crashes in PDFgetX3.
0.1.4
Asymmetric ROI in
compute_mtf_slanted_edgefor beamstop-side imagesMTF deconvolution: Wiener filter
Interactive ePDF extraction GUI (ipywidgets)
pyFAI-based beam-centre recalibration with beamstop
NumPy docstrings across all modules
0.1.0
Initial release