Skip to content

Releases: European-XFEL/EXtra

2026.1.1

Choose a tag to compare

@takluyver takluyver released this 04 Aug 10:37
685066d

What's Changed

Full Changelog: 2026.1...2026.1.1

2026.1

Choose a tag to compare

@takluyver takluyver released this 04 Aug 09:00
a5d9614

What's Changed

  • Use nans instead of zeros as a fill value in XGM.pulse_energy() by @JamesWrigley in #347
  • Make imshow2() draw a colorbar by default by @JamesWrigley in #351
  • Add a stub for extra-proposal by @JamesWrigley in #353
  • Remove the TOF*Response recipes from the docs by @JamesWrigley in #359
  • Ridgeplot utility function by @takluyver in #354
  • Fix pulse alignment when retrieving train and pulse edges by @philsmt in #361
  • Allow to use DataCollection object as point in time for CalibrationData by @philsmt in #360
  • Update the install-extra.sh script for pixi by @JamesWrigley in #358
  • Bump fonttools from 4.58.5 to 4.59.0 in /.github/dependabot by @dependabot[bot] in #364
  • Bump pyzmq from 27.0.0 to 27.0.1 in /.github/dependabot by @dependabot[bot] in #365
  • Bump fonttools from 4.59.0 to 4.59.1 in /.github/dependabot by @dependabot[bot] in #369
  • Bump pyzmq from 27.0.1 to 27.0.2 in /.github/dependabot by @dependabot[bot] in #370
  • Bump pandas from 2.3.1 to 2.3.2 in /.github/dependabot by @dependabot[bot] in #371
  • Use CalibrationData.summary_table() to implement .markdown_table() by @takluyver in #372
  • Update typing-extensions requirement from ~=4.14 to ~=4.15 in /.github/dependabot by @dependabot[bot] in #374
  • Update platformdirs requirement from ~=4.3.8 to ~=4.4.0 in /.github/dependabot by @dependabot[bot] in #375
  • Bump fonttools from 4.59.1 to 4.59.2 in /.github/dependabot by @dependabot[bot] in #376
  • Added more tests for the Grating. by @daniloefl in #368
  • Build wheels for newer Python versions by @takluyver in #377
  • Bump pyzmq from 27.0.2 to 27.1.0 in /.github/dependabot by @dependabot[bot] in #378
  • feat: jupyter widget for spectrometer calibration by @tmichela in #363
  • Bump pyparsing from 3.2.3 to 3.2.4 in /.github/dependabot by @dependabot[bot] in #380
  • Add method to group xarray by scan steps by @takluyver in #379
  • Markdown repr for calibration conditions objects by @takluyver in #381
  • Bump fonttools from 4.59.2 to 4.60.0 in /.github/dependabot by @dependabot[bot] in #382
  • Bump pyparsing from 3.2.4 to 3.2.5 in /.github/dependabot by @dependabot[bot] in #383
  • Allow passing DataArrays to fit_gaussian() and add nans_on_failure by @JamesWrigley in #385
  • Bump fonttools from 4.60.0 to 4.60.1 in /.github/dependabot by @dependabot[bot] in #386
  • Fix variable initialization in fit_gaussian() by @JamesWrigley in #387
  • Bump pandas from 2.3.2 to 2.3.3 in /.github/dependabot by @dependabot[bot] in #388
  • Bump matplotlib from 3.10.1 to 3.10.6 in /.github/dependabot by @dependabot[bot] in #393
  • Update xarray requirement from <=2025.1.2 to <=2025.10.0 in /.github/dependabot by @dependabot[bot] in #389
  • Update contourpy requirement from <=1.3.1 to <=1.3.3 in /.github/dependabot by @dependabot[bot] in #390
  • Bump pint from 0.24.4 to 0.25 in /.github/dependabot by @dependabot[bot] in #392
  • Bump extra-data from 1.21.0 to 1.22.0 in /.github/dependabot by @dependabot[bot] in #391
  • Update xarray requirement from <=2025.10.0 to <=2025.10.1 in /.github/dependabot by @dependabot[bot] in #394
  • Update numpy requirement from <=2.2.4 to <=2.3.3 in /.github/dependabot by @dependabot[bot] in #395
  • Bump msgpack from 1.1.1 to 1.1.2 in /.github/dependabot by @dependabot[bot] in #397
  • Update platformdirs requirement from ~=4.4.0 to ~=4.5.0 in /.github/dependabot by @dependabot[bot] in #398
  • Minor docs fixes by @JamesWrigley in #399
  • Bump matplotlib from 3.10.6 to 3.10.7 in /.github/dependabot by @dependabot[bot] in #400
  • CookieboxCalibration: Add recipe test, allow deconvolution-calibration embedding, simplify normalization by @daniloefl in #367
  • Bump h5py from 3.14.0 to 3.15.0 in /.github/dependabot by @dependabot[bot] in #401
  • Update numpy requirement from <=2.3.3 to <=2.3.4 in /.github/dependabot by @dependabot[bot] in #402
  • Bump pillow from 11.3.0 to 12.0.0 in /.github/dependabot by @dependabot[bot] in #403
  • Bump h5py from 3.15.0 to 3.15.1 in /.github/dependabot by @dependabot[bot] in #404
  • Access to dimension labels on calibration constants by @takluyver in #350
  • Ensure fit_gaussian() always returns a positive sigma by @JamesWrigley in #405
  • Rename recipes to applications by @philsmt in #384
  • Add CalibrationData.from_correction() method by @takluyver in #396
  • Add shared header by @JamesWrigley in #407
  • Use XMPL data to test CalibrationData.from_correction() with run number by @takluyver in #410
  • Publicly expose the private ._pulses: XrayPulses | None attribute by @fadybishara in #411
  • Update pint requirement from <=0.25 to <=0.25.1 in /.github/dependabot by @dependabot[bot] in #412
  • Add test for specifying begin_at_strategy when finding constants by @takluyver in #409
  • Add support for wrapped Julia arrays to imshow2() by @JamesWrigley in #413
  • Update pint requirement from <=0.25.1 to <=0.25.2 in /.github/dependabot by @dependabot[bot] in #414
  • Update xarray requirement from <=2025.10.1 to <=2025.11.0 in /.github/dependabot by @dependabot[bot] in #415
  • Update numpy requirement from <=2.3.4 to <=2.3.5 in /.github/dependabot by @dependabot[bot] in #416
  • Calibration: Skip making module numbers if first_module_index missing by @takluyver in #418
  • Support colorbar=False for DataArray's in imshow2 by @JamesWrigley in #419
  • Bump fonttools from 4.60.1 to 4.61.0 in /.github/dependabot by @dependabot[bot] in #420
  • Fix config for mkdocstrings v1.0 by @takluyver in #421
  • Bump extra-data from 1.22.0 to 1.23.0 in /.github/dependabot by @dependabot[bot] in #422
  • Update platformdirs requirement from ~=4.5.0 to ~=4.5.1 in /.github/dependabot by @dependabot[bot] in #423
  • Update xarray requirement from <=2025.11.0 to <=2025.12.0 in /.github/dependabot by @dependabot[bot] in #426
  • Bump extra-data from 1.23.0 to 1.23.1 in /.github/dependabot by @dependabot[bot] in #427
  • Bump extra-data from 1.23.1 to 1.23.2 in /.github/dependabot by @dependabot[bot] in #428
  • Fix BAM time unit for legacy key format by @philsmt in #425
  • Bump matplotlib from 3.10.7 to 3.10.8 in /.github/dependabot by @dependabot[bot] in #429
  • Bump fonttools from 4.61.0 to 4.61.1 in /.github/dependabot by @dependabot[bot] in #431
  • Bump tzdata from 2025.2 to 2025.3 in /.github/dependabot by @dependabot[bot] in #432
  • Add PulsePattern.info() by @philsmt in #435
  • Bump pyparsing from 3.2.5 to 3.3.1 in /.github/dependabot by @dependabot[bot] in #439
  • Bump pillow from 12.0.0 to 12.1.0 in /.github/dependabot by @dependabot[bot] in #440
  • Update numpy requirement from <=2.3.5 to <=2.4.0 in /.github/dependabot by @dependabot[bot] in #438
  • Use fixed seed for random numbers in tests by @takluyver in https://github.com/European-XFEL/EXtra/p...
Read more

2025.1

Choose a tag to compare

@JamesWrigley JamesWrigley released this 08 Jul 10:15
a77efd0

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_time with 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
  • Fix Prevent 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 recipes by @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

Full Changelog: 2024.2...2025.1

2024.2

Choose a tag to compare

@JamesWrigley JamesWrigley released this 07 Jan 20:37
fa8f526

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

Choose a tag to compare

@tmichela tmichela released this 30 Jul 05:51
9e7914f

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

Full Changelog: 2024.1.1...2024.1.2

2024.1

Choose a tag to compare

@JamesWrigley JamesWrigley released this 25 Jan 16:46
16bdac8

Also see the official changelog in our docs: https://extra.readthedocs.io/en/latest/changelog/#20241

What's Changed

Full Changelog: 2023.2...2024.1

2023.2

Choose a tag to compare

@JamesWrigley JamesWrigley released this 28 Jul 07:53
3388d90

Initial release 🎉

What's Changed

New Contributors

Full Changelog: https://github.com/European-XFEL/EXtra/commits/2023.2