Releases: European-XFEL/EXtra
Releases · European-XFEL/EXtra
2025.1
What's Changed
- Add infrastructure and initial set of tests for ADQ component by @philsmt in #215
- Component for motors moving halfs of JF4M detector by @egorsobolev in #224
- Added analysis code used to calibrate Cookiebox and grating spectrometer by @daniloefl in #284
- Fix support for the
acquisition_timewith newer Karabacon versions by @JamesWrigley in #303 - Fix alignment between DLD data and external pulse information by @philsmt in #263
- Expose extra_data components in extra.components by @takluyver in #177
- Fix pulse alignment in ADQ raw data component by @philsmt in #310
- Account for additional indices in PulsePattern.is_constant_pattern by @philsmt in #313
- Use _reshape_flat_pulses rather than _reshape_pulses_by_train for pulse splitting by @philsmt in #312
- Added auxiliary tool to calculate the TOF instrument response (optionally deconvolve), and Virtual Spectrometer light by @daniloefl in #304
- Delete nonexistent arguments from a docstring by @JamesWrigley in #319
- Allow Scan.plot_bin_by_steps() to work for 2D binned results by @takluyver in #320
- Update changelog by @JamesWrigley in #325
- Fix Timepix3.spatial_bins when using custom arguments by @philsmt in #324
- Add tests to ADQ component for actual data retrieval by @philsmt in #316
FixPrevent building with Cython 3.1 by @takluyver in #328- Always use the passed axis in Scan.plot_bin_by_steps() by @JamesWrigley in #334
- Update EXtra-data & EXtra-geom to latest versions on CI by @takluyver in #337
- Add support for DataArrays to imshow2 by @JamesWrigley in #333
- Fix Scan.plot_bin_by_steps() with given axis for 2D result by @takluyver in #338
- Allow building with Cython 3.1.2 by @takluyver in #330
- [CI] Specify versions of pint & dependencies by @takluyver in #341
- Fix XGM.plot_pulse_energy() to not show an extra colorbar by @JamesWrigley in #345
- Improve handling of XGM data recording the wrong number of pulses by @JamesWrigley in #161
- Add calibration for 1D grating and improve existing interface in
recipesby @daniloefl in #318 - Implement hyperslicer2() for plotting image arrays by @JamesWrigley in #348
- Add reorder_axes_to_shape function by @takluyver in #349
- Align pulse information to the ADQ trains before using them by @philsmt in #332
- Sync CalCat API changes from internal repo by @takluyver in #254
- Release 2025.1 by @JamesWrigley in #346
New Contributors
- @daniloefl made their first contribution in #284
Full Changelog: 2024.2...2025.1
2024.2
What's Changed
- Add support for Karabacon 3.0.10 by @JamesWrigley in #212
- fix(dependency): add tabulate (used in markdown_table) by @kakhahmed in #214
- Fix sign for stage-to-time conversion in OpticalLaserDelay by @philsmt in #227
- Move XGM mock devices to their own module in .mockdata by @philsmt in #232
- Actually use title/xlabel/ylabel in Scan.plot_bin_by_steps() by @JamesWrigley in #237
- Fix initializing PumpProbePulses with an instrument string by @philsmt in #236
- Add a Timepix3 component by @philsmt in #231
- Add A_sign parameter for fit_gaussian() by @takluyver in #222
- Improve extrapolation exceptions in PumpProbePulses by @philsmt in #242
- Catch reported number of Timepix events exceeding buffer size by @philsmt in #250
- Relax contourpy dependecy to avoid version conflicts by @philsmt in #260
- Fix pulse slicing code to advance to next train on same pulse ID by @philsmt in #259
- Fix missing chapter link for Timepix component by @philsmt in #258
- Fill pulse traces with NaN/-1 if data is too short by @philsmt in #245
- Allow passing a figure size to Scan.plot() by @JamesWrigley in #262
- Only average over trains dimension in Scan.bin_by_steps() by @takluyver in #269
- Minor docs fixes by @JamesWrigley in #276
- Fix too restrictive auto detection in Timepix component by @philsmt in #275
- Prepare for releasing v2024.2 by @JamesWrigley in #282
Full Changelog: 2024.1.2...2024.2
2024.1.2
Also see the official changelog in our docs: https://extra.readthedocs.io/en/latest/changelog/#202412
What's Changed
- Add docs for extra.calibration module by @takluyver in #135
- Update Github actions to fix warnings about Node.js 16 by @takluyver in #144
- Implement fit_gaussian() to quickly fit a Gaussian by @JamesWrigley in #131
- Mask all non-finite values in fit_gaussian() by @JamesWrigley in #147
- Look in the fast data to find the max number of pulses by @JamesWrigley in #153
- Take empty trains into account when checking for constant pulse pattern by @philsmt in #156
- Some minor improvements to generic pulse components by @philsmt in #155
- Add a DLD component by @philsmt in #103
- Add support to align pulse-indexed data as new columns in DLD sparse data by @philsmt in #166
- [XGM] Add support for .pulse_energy() returning a Series, and .slow_train_energy() by @JamesWrigley in #162
- Add a component for optical laser delay by @philsmt in #165
- Optionally use negative pulse indices for PPL-only DLD pulses by @philsmt in #167
- Add Scan.split_by_steps() method by @takluyver in #169
- Fix missing index name in train-averaged BAM data by @philsmt in #171
- Add support to filter DLD hits for reconstruction method while loading by @philsmt in #170
- Add bad pixel flags to extra.calibration by @takluyver in #172
- Support more types for DLD dataframe extra columns by @philsmt in #173
- Add parameter to get only FEL or only pump laser mask from PumpProbePulses by @takluyver in #174
- Deprecate pulse dimension time in favor of pulseTime by @philsmt in #178
- Add constant fraction and dynamic leading edge discriminators by @philsmt in #25
- Add high-level interface for ADQ digitizer channels by @philsmt in #35
- Fix many typos and links in ADQ component docs and navigation by @philsmt in #188
- Fix insertion of aligned columns when original frame has none by @philsmt in #189
- Docs fixes, and document
PulsePattern.select_trains()by @JamesWrigley in #190 - Expose the DAMNIT API by @JamesWrigley in #164
- fix: convert conditions for CALCAT to float or string as expected. by @kakhahmed in #193
- Fix using a labelled series to compute pulse distances by @philsmt in #196
- Fix extra_compile_args in setup.py by @philsmt in #198
- Add missing EdgeInterpolation docs and various other text fixes by @philsmt in #197
- Detector motors component by @egorsobolev in #148
- Fix detector motors docstrings by @egorsobolev in #199
- Two line docstring fix for DelayLineDetector by @TimBerberich in #191
- Markdown table methods for calibration constants by @takluyver in #202
- Attempt to improve plots of scan positions by @takluyver in #201
- Enable coverage reporting in CI by @JamesWrigley in #205
- Add Python 3.12 to CI by @JamesWrigley in #207
- Prepare changelog for new release 2024.1.2 by @tmichela in #208
New Contributors
- @kakhahmed made their first contribution in #193
- @egorsobolev made their first contribution in #148
- @TimBerberich made their first contribution in #191
- @tmichela made their first contribution in #208
Full Changelog: 2024.1.1...2024.1.2
2024.1
Also see the official changelog in our docs: https://extra.readthedocs.io/en/latest/changelog/#20241
What's Changed
- Move the repr() logic into .info() by @JamesWrigley in #29
- Add get_version.py to excluded package data by @RobertRosca in #34
- Update the changelog by @JamesWrigley in #39
- Add extra.utils.imshow2 for easier image plotting by @JamesWrigley in #38
- Re-implement PulsePattern interface on top of labelled pulse IDs rather than mask by @philsmt in #40
- Add tag/diff links to the changelog by @JamesWrigley in #41
- Add DldPulses interface for pulse information in reconstructed DLD data by @philsmt in #42
- Add an installation script and installation docs by @JamesWrigley in #37
- Mention the cron job configuration in the README by @JamesWrigley in #43
- Activate env modules in install script by @RobertRosca in #45
- Initial implementation of Scan component by @JamesWrigley in #4
- Minor fixes for the Scan component by @JamesWrigley in #51
- Expose Scan.name by @JamesWrigley in #52
- Reorganize the component docs by @JamesWrigley in #49
- Scan bugs by @JamesWrigley in #56
- Add PumpProbePulses for combined FEL/PPL pulse patterns by @philsmt in #24
- Fix handling of trains without pulses by @philsmt in #100
- Add an XGM component by @JamesWrigley in #53
- Deprecate the
get_prefix from some method names by @JamesWrigley in #106 - Rename 'intensity' to 'energy' by @JamesWrigley in #108
- Prepare the changelog for a new release by @JamesWrigley in #109
Full Changelog: 2023.2...2024.1
2023.2
Initial release 🎉
What's Changed
- Remove import proxy machinery by @philsmt in #3
- Add initial documentation by @JamesWrigley in #1
- Scantool class and CI by @JamesWrigley in #2
- Enable dependabot by @JamesWrigley in #6
- PulsePattern component by @philsmt in #5
- Add a changelog by @JamesWrigley in #10
- Add version to package initializer and read during setup by @philsmt in #11
- Scantool compatibility and pretty-printing by @JamesWrigley in #21
- Replace setup.py with pyproject.toml by @RobertRosca in #27
- Add support to also take pulse data from PulsePatternDecoder devices by @philsmt in #20
- Final packaging touches by @philsmt in #17
- Support inherited members in docs by @JamesWrigley in #28
- Minor corrections to the installation docs by @JamesWrigley in #31
New Contributors
- @philsmt made their first contribution in #3
- @JamesWrigley made their first contribution in #1
Full Changelog: https://github.com/European-XFEL/EXtra/commits/2023.2