Skip to content

Releases: cta-observatory/ctapipe

v0.21.0 – 2024-04-26

26 Apr 09:00
7ac2feb
Compare
Choose a tag to compare

Summary

This is a pretty large release with lots of changes, new features and a couple of API breaking changes, see below.

The headline feature is that through a lot of work, the ImPACT reconstructor works again.

For the full changelog, see https://ctapipe.readthedocs.io/en/stable/changelog.html#ctapipe-v0-21-0-2024-04-26, for contributors and list of merged PRs, see below.

Contributors

@Hckjs, @LukasBeiske, @LukasNickel, @StFroese, @Tobychev, @aknierim, @ccossou, @dependabot, @dependabot[bot], @gschwefer, @kosack, @maxnoe, @morcuended and @nbiederbeck

What has changed since v0.20.0

Pull-requests containing changes of multiple nature are repeated.

New features

  • Change R1- and DL0-waveforms shape to (n_channels, n_pixels, n_samples) (#2529) @Hckjs
  • Change ImageCleaner API (#2511) @Hckjs
  • Use intmin for invalid pixel positions, allow empty arguments (#2397) @maxnoe
  • Add option to override obs_id in SimTelEventSource (#2411) @maxnoe

API Changes

Data Model Changes

  • Change R1- and DL0-waveforms shape to (n_channels, n_pixels, n_samples) (#2529) @Hckjs
  • Change definition of leakage_pixel_{1,2} (#2432) @maxnoe
  • Improve column names for disp (#2443) @LukasBeiske
  • Add option to override obs_id in SimTelEventSource (#2411) @maxnoe

Bug Fixes

  • Properly transform between camera and telescope frame in muon fitter (#2464) @maxnoe

Refactoring and Optimization

  • Prevent import of ctapipe.image at import time of ctapipe.io (#2488) @maxnoe

Maintenance

v0.20.0 – 2023-09-11

11 Sep 15:59
3c5b4f3
Compare
Choose a tag to compare

Summary

This release has a couple of bug fixes, new features and mainly documentation theme updates, see below for the merged pull requests and find the full changelog on readthedocs

Contributors

@StFroese, @TjarkMiener, @Tobychev, @aknierim, @gschwefer, @jstvdk, @kosack, @maxnoe and Vadym Voitsekhovskyi

What has changed since v0.19.3

Pull-requests containing changes of multiple nature are repeated.

New features

API Changes

  • Use int minval instead -1 for invalid telescope ids in SubarrayDescription.tel_index_array, improve docstrings (#2376) @maxnoe
  • Remove EventSource.from_config, fixes #2258 (#2384) @maxnoe
  • Remove dump-triggers, enable ctapipe-process to store only trigger and simulation data (#2375) @maxnoe

Data Model Changes

  • Add fields defined in CTAO DL0 and R1 data models (#2338) @maxnoe
  • Remove SimulationConfigContainer.injection_height, add SimulatedShowercontainer.starting_grammage (#2343) @maxnoe

Bug Fixes

  • Fix HillasIntersection error for badly reconstructed events (#2265) @gschwefer
  • Bug fix in full numeric pixel likelihood calculation (#2388) @gschwefer

Maintenance

  • Add changelog for 0.20.0 (#2394) @maxnoe
  • Convert all notebooks to sphinx gallery format (#2377) @StFroese
  • Use int minval instead -1 for invalid telescope ids in SubarrayDescription.tel_index_array, improve docstrings (#2376) @maxnoe
  • Update doc structure and dev guide (#2383) @maxnoe
  • Remove no-longer needed importlib_resources (#2389) @maxnoe
  • Replace deprecated provision-with-micromamba action with setup-micromamba (#2387) @maxnoe
  • Drop support for python 3.8, update env file (#2342) @maxnoe
  • Update docs (#2373) @aknierim
  • Try to fix readthedocsbuild (#2365) @maxnoe

v0.19.3 – 2023-06-21

21 Jun 07:30
3f21780
Compare
Choose a tag to compare

Summary

This is a bugfix release, find the list of merged pull requests below, the changelog is available on readthedocs.

Contributors

@LukasBeiske, @clara-escanuela, @kosack and @maxnoe

What has changed since v0.19.2

Pull-requests containing changes of multiple nature are repeated.

  • Render changelog for 0.19.3 (#2362) @maxnoe
  • Improve docstring and validation of parameters in CameraGeometry (#2361) @maxnoe
  • Fix removal of telescope events in software trigger, fixes #2356 (#2357) @maxnoe
  • Add support for using toymodel in telescope frame (#2349) @maxnoe
  • Fix pixel picking for multiple displays in same figure (#2358) @maxnoe
  • Fill reference_location into SubarrayDescription.tel_coords (#2354) @maxnoe
  • fix help string in disp reconstructor (#2352) @maxnoe
  • Add support for hillas parameters in TelescopeFrame to CameraDisplay (#2347) @maxnoe
  • Fix typo in merge tool flag definition (#2341) @LukasBeiske
  • Fix return value of NullDataVolumeReducer (#2340) @maxnoe
  • Peak time units conversion for the FlashCam reconstructor (#2337) @clara-escanuela

Maintenance

  • Improve error messages of expression engine (#2350) @maxnoe

v0.19.2 – 2023-05-17

17 May 15:22
01962ff
Compare
Choose a tag to compare

Summary

This is a bugfix release, see the full changelog in the docs and merged Pull Requests below.

Contributors

@clara-escanuela and @maxnoe

What has changed since v0.19.1

Pull-requests containing changes of multiple nature are repeated.

Maintenance

v0.19.1 – 2023-05-11

11 May 13:15
8ff0ee3
Compare
Choose a tag to compare

Summary

This is mainly a bug fix and maintenance release containing one feature addition.

See the full changelog in the documentation
and the list of merged PRs below.

This is also the first release to support python 3.11.

Contributors

@kosack and @maxnoe

What has changed since v0.19.0

Pull-requests containing changes of multiple nature are repeated.

Bug Fixes

New Features

  • Add possibility to compute multiplicities using FeatureGenerator (#2308) @maxnoe

Maintenance

v0.19.0 – 2023-03-31

31 Mar 12:57
0b54fcb
Compare
Choose a tag to compare

Summary

This release has only one headline feature: the addition of the FlashCamExtractor to support the signal shaping needed to properly analyze the data of FlashCam.

See the changelog in the documentation and the list of merged PRs down below.

Contributors

@Tobychev, @clara-escanuela, @kosack, @maxnoe and @zinob

What has changed since v0.18.1

Pull-requests containing changes of multiple nature are repeated.

Maintenance

  • Render 0.19 changelog using towncrier (#2300) @maxnoe
  • Adapt default config for flashcam, bring in line with current grid production (#2299) @maxnoe
  • Fix status of CEP-001, add link to PR (#2298) @maxnoe
  • Remove or move examples to documentation (#2266) @kosack
  • Fixing link to cta-observatory.org (#2297) @zinob
  • Install ffmpeg on readthedocs (#2302) @maxnoe

v0.18.1 – 2023-03-17

17 Mar 10:31
38d173c
Compare
Choose a tag to compare

Summary

This is a bugfix release fixing three bugs and including some maintenance changes to the repository.

See the detailed changelog in the documentation and the list of merged PRs down below.

This release is also the first to include CEP 1, the definition of the CEP process, in the released ctapipe documentation.

Contributors

@LukasBeiske, @StFroese, @Tobychev, @kosack, @maxnoe and @nbiederbeck

What has changed since v0.18.0

Pull-requests containing changes of multiple nature are repeated.

New features

Maintenance

v0.18.0 – 2023-02-09

09 Feb 14:41
3afb8e3
Compare
Choose a tag to compare

Summary

For the detailed changelog, please visit https://ctapipe.readthedocs.io/en/latest/changelog.html#ctapipe-v0-18-0-2023-02-09

Below, you can find a list of contributors and grouped list of all merged pull requests.

Contributors

@LukasBeiske, @LukasNickel, @RuneDominik, @StFroese, @Tobychev, @henningpt, @kosack, @maxnoe and @nbiederbeck

What has changed since v0.17.0

Pull-requests containing changes of multiple nature are repeated.

New features

API Changes

  • Raise error in case expected telescope-data is missing in HDF5EventSource (#2244) @RuneDominik
  • Make muon analysis part of the processing tool (#2168) @StFroese

Bug Fixes

  • Add rng attribute back to TrainEnergyRegressor (#2247) @maxnoe
  • fix import error in metadata: fails on systems without pwd (#2152) @kosack
  • Correctly setup components in dump-instrument-info, add test (#2106) @maxnoe

Refactoring and Optimization

Maintenance

v0.17.0 – 2022-09-27

28 Sep 08:29
370b6b9
Compare
Choose a tag to compare

Summary

There are three major changes in this release:

  1. It is now possible to configure multiple reconstructors to be applied (at the moment, this means you can both run HillasReconstructor and HillasIntersection using ctapipe-process).

  2. The naming scheme of telescope wise quantities at dl2 changed. In 0.16, e.g. the reconstructed impact distance to a specific telescope was HillasReconstructor_tel_distance, missing the prefix of the container the field was defined in. This is now fixed and the same column is now HillasReconstructor_tel_impact_distance.

  3. The HillasReconstructor was optimized to remove pure-python loops over telescopes which resulted in a ca. 5x speed up when running on a La Palma prod6 run.

For smaller changes and bug fixes, see blow list of merged PRs.

Contributors

@Hckjs, @HealthyPear, @LukasNickel, @StFroese, @kosack, @maxnoe and @nbiederbeck

What has changed since v0.16.0

Pull-requests containing changes of multiple nature are repeated.

New features

API Changes

Data Model Changes

Bug Fixes

  • Fix invalid case in HillasReconstructor and HillasIntersection (#2082) @maxnoe
  • Convert float32 pi/2 value to float64 pi/2 value in SimTelEventSource (#2077) @maxnoe
  • Allow data model version 4 in HDFEventSource, actually check which frame is used for hillas parameters (#2079) @maxnoe
  • Fix unreachable assertion in Provenance unit test (#2072) @HealthyPear
  • Fix wrong container used for camera frame in ImageProcessor, fixes #2062 (#2070) @maxnoe
  • Fix tables.Node.__del__ throwing exceptions on interpreter exit when writing index tables, fixes #2067 (#2069) @maxnoe
  • Sort unique cameras/types/optics to generate stable indices in hdf5, fixes #2063 (#2066) @maxnoe
  • Make ExpressionEngine be no Component. Fixes #2065. (#2068) @nbiederbeck
  • Fix camera rotation in examples/camera_rotation.py (#2056) @Hckjs
  • Report HDF5EventSource as compatible for dl2 only files, fixes #2058 (#2059) @LukasNickel
  • Merge simulated impact (#2049) @nbiederbeck
  • Fix Container.as_dict for case of flatten=True and add_prefix=True (#1887) @maxnoe

Refactoring and Optimization

  • Vectorize operations in HillasReconstructor (#2036) @maxnoe

Maintenance

v0.16.0 – 2022-08-01

01 Aug 08:50
2c82d49
Compare
Choose a tag to compare

Summary

This next major release of ctapipe includes a large number of improvements and new features, as well as significant changes to the API and data model that fix outstanding problems with both. Due to the nature of these required changes and to keep the code reasonably maintainable (in this pre-1.0 release), files written by earlier versions of ctapipe are not guaranteed to be readable with this one.

Contributors

@aknierim, @kosack, @maxnoe, @nbiederbeck, @satoshifukami0115 and @vuillaut

What has changed since v0.15.0

Pull-requests containing changes of multiple nature are repeated.

New features

  • ObsConfig data model (#1973) @kosack
  • Add abstract InvalidPixelHandler and NeighborAverage implementation, apply in CameraCalibrator and TwoPassWindowSum. Pass invalid pixels to extractors. (#2023) @maxnoe
  • Get reference_location and optics/camera name from simtel metadata if available (#2018) @maxnoe
  • Add methods to read run config and shower distribution to TableLoader (#2010) @maxnoe
  • added a better template for release-drafter (#1880) @kosack
  • Add another cleaning method in cleaning.py (#1672) @satoshifukami0115
  • Round floats for hashing in instrument module, use __slots__ (#1986) @maxnoe
  • Add location of subarray reference point to SubarrayDescription (#1980) @maxnoe
  • recursively validate containers (#1976) @kosack
  • Improve units code in hillas_parameters (#1988) @maxnoe
  • Add TableLoader.read_telescope_events_by_type_chunked (#1984) @maxnoe
  • Maintain event order of input file in TableLoader, fixes #1966 (#1968) @maxnoe
  • Chunked table loader (#1935) @maxnoe
  • Read dl2 in hdf5eventsource (#1940) @maxnoe
  • add joined option to SubarrayDescription.to_table (#1939) @maxnoe
  • compute impact distance to shower axis (#1899) @kosack
  • Improved configuration of reference metadata (#1889) @kosack
  • Allow passing already opened h5file to table loader (#1933) @maxnoe
  • Add overwrite option to write_table (#1932) @maxnoe
  • Support reading files created with extract_calibevent (#1929) @maxnoe
  • improve array display (#1911) @kosack

API Changes

  • Use n_ prefix consistently, (rename all num_ to n_), fixes #986 (#2046) @maxnoe
  • Remove cutflow (#1766) @maxnoe
  • Add pixel, channel, sample information to CameraReadout, update OpticsDescription (#2019) @maxnoe
  • Remove support for by_type split files (#2032) @maxnoe
  • Rework h5 metadata (#2003) @maxnoe
  • Use pytest fixtures in unit tests instead of from_name methods (#1985) @maxnoe
  • Store both equivalent and effective focal length in OpticsDescription, add __slots__ (#1923) @maxnoe
  • Replace deepcopying defaults with default_factory (#1991) @maxnoe
  • Use module of Tool to setup logging (#1964) @maxnoe
  • Add QualityQuery.get_table_mask, compile python code (#1943) @maxnoe
  • Load all dl2 available groups in TableLoader (#1934) @maxnoe
  • Use container classes for TableReader.read method, do not reuse same container instance (#1921) @maxnoe

Data Model Changes

  • ObsConfig data model (#1973) @kosack
  • Rename ReconstructedContainer.tel_ids -> telescopes, fixes 1953 (#2044) @maxnoe
  • Use n_ prefix consistently, (rename all num_ to n_), fixes #986 (#2046) @maxnoe
  • Add pixel, channel, sample information to CameraReadout, update OpticsDescription (#2019) @maxnoe
  • Rework h5 metadata (#2003) @maxnoe
  • Fix datalevels (#2004) @maxnoe
  • Store both equivalent and effective focal length in OpticsDescription, add __slots__ (#1923) @maxnoe
  • Rework container prefix handling (#1949) @maxnoe
  • Add location of subarray reference point to SubarrayDescription (#1980) @maxnoe
  • compute impact distance to shower axis (#1899) @kosack

Bug Fixes

  • Fix missing f-string (#2043) @nbiederbeck
  • Fix columns order when string column present, fixes #2041 (#2042) @maxnoe
  • Fix writing and merging of dl2 statistics, fixes #1884 (#1885) @maxnoe
  • Fix pixel rotation for very large offsets in NominalFrame (#2037) @maxnoe
  • Fix wrong pixel area and rotation in nominal frame, fixes #2028 (#2029) @maxnoe
  • Fix error message for missing effective focal length (#2026) @maxnoe
  • Remove restriction on existing file in EventSource.input_url, fixes #1821 (#1998) @maxnoe
  • Fix TableLoader reading empty table (#2013) @nbiederbeck
  • Fix datalevels (#2004) @maxnoe
  • Include number of mirror tiles in guessing keys to be able to distinguish between MAGIC 1 and MAGIC 2 (#1977) @maxnoe
  • Use correct traitlet for event type enum in eventtypefilter (#2002) @maxnoe
  • Add dl2 datalevel in hdf5 source, add datalevel tests (#2001) @maxnoe
  • Ignore unknown column metadata in read_table (#1992) @maxnoe
  • Fix comparison of timestamps in calibration code (#1987) @maxnoe
  • Fix missing start/stop for reading impact table, use correct type in simteleventsource (#1982) @maxnoe
  • Hash rounded versions of floats for CameraGeometry (#1956) @maxnoe
  • Fix impact being written for non-triggered telescopes, fixes #1961 (#1967) @maxnoe
  • fixed bug that prevented printing of QualityQuery (#1958) @kosack
  • Fix ArrayDisplay creating legend in wrong axes with multiple axes active (#1946) @maxnoe
  • Store true_image_sum also when true image is not written (#1893) @maxnoe
  • Better error message in case unknown telescopes are selected, fixes #1924 (#1925) @maxnoe
  • Minor visual bugfix: better html repr for Tool and Component (#1905) @kosack

Refactoring and Optimization

  • Use tel_id consistently (replacing telid -> tel_id), fixes #1457 (#2045) @maxnoe
  • Remove cutflow (#1766) @maxnoe
  • Add 'raises' to run_tool, which raises exceptions instead of logging them. (#2038) @nbiederbeck
  • ExpressionEngine for QualityQuery and FeatureGenerator (#2014) @nbiederbeck
  • Return tuples from SubArray properties, add suport for single value in get_tel_ids (#2027) @maxnoe
  • Use pytest fixtures in unit tests instead of from_name methods (#1985) @maxnoe
  • Ignore containers and maps by default in HDF5Writer (#1945) @maxnoe
  • Hdf5EventSource performance improvements and skip empty events, fixes #1916 (#1917) @maxnoe
  • Directly return peak position from neighbor average waveform (#1914) @maxnoe

Maintenance

  • updated incorrect comments in base_config.yaml (#2040) @kosack
  • Remove support for by_type split files (#2032) @maxnoe
  • Fixed Typo in docstring (#2009) @aknierim
  • added a better template for release-drafter (#1880) @kosack
  • Add flake8 pre-commit hook. Change black hook to also format notebooks. (#1993) @nbiederbeck
  • Avoid warning in case of reading DL1a only files with HDF5EventSource (#1994) @maxnoe
  • Automatically include fields in docstrings for containers (#1990) @maxnoe
  • Create a fresh ArrayEventContainer for each event in HDF5EventSource (#1970) @maxnoe
  • Create a fresh ArrayEventContainer for each event in SimTelEventSource (#1952) @maxnoe
  • Update CI actions versions (#1951) @maxnoe
  • Simplify units code in subarray (#1950) @maxnoe
  • Use a simple kwarg instead of a traitlet for TableLoader.h5file (#1937) @maxnoe
  • Improve TableLoader docs, fixes #1930 (#1931) @maxnoe
  • Print version info in pytest header (#1919) @maxnoe