There is a newer version of this record available.

Software Open Access

cta-observatory/ctapipe: v0.12.0

Karl Kosack; Jason Watson; Maximilian Nöthe; Jean Jacquemier; Alison Mitchell; Dominik Neise; Christoph Deil; Michele Peresano; Samuel Timothy Spencer; Lukas Nickel; Raquel de los Reyes; Franca Cassol; Noah Biederbeck; Kai Brügge; Thomas Vuillaume; Michele Mastropietro; Jérémie Decock; Abelardo Moralejo; Wrijupan Bhattacharyya; francesco visconti; Jose Enrique Ruiz; mgaug; Ruben Lopez-Coto; orelgueta; Cyril Alispach; Julien Lefaucheur; Konstantin Pfrang; Moritz Hütten; thomasarmstrong; Alice Donini

What's Changed since v0.11.0

The main changes in this release are related to expanding the data model to include DL2 and the computation of DL2 parameters. This also required changing the units of some DL1 parameters from the CameraFrame to the TelescopeFrame to make them easier to compare between telescopes, which includes an overhaul of how the HillasReconstructor works (supporting both frames as input), and adds include a new Component ShowerProcessor that generates DL2(a) information. The data model was expanded to include DL2 and to support a more general InstrumentDescription serialization. DL1Writer was refactored into a general DataWriter that writes the full data model. TableLoader provides a user interface to load all events at once from ctapipe output files, joining them as needed, which is useful for benchmarking.

The ctapipe-stage1 tool was removed and replaced with the more general ctapipe-process, which can now handle any transformation from R0 to DL2a, depending on what configuration file it is given. A ctapipe-quickstarttool was added to generate some starting config files, and a ctapipe-fileinfo tool to show file header information for any files written by ctapipe.

New Features
  • Add flag to use camera frame for ctapipe-process (#1790) @maxnoe
  • TableLoader (#1771) @maxnoe
  • Add flags to enforce recomputation of dl1/dl2 (#1776) @LukasNickel
  • ctapipe-quickstart tool (#1774) @kosack
  • Add condition option to read_table (#1769) @maxnoe
  • Implement allow_none=False for Path trait, fixes #1759 (#1760) @maxnoe
  • ctapipe-fileinfo (#1756) @kosack
  • Configurable contact information for DataWriter (#1757) @maxnoe
  • Generalize image converter for square pixels (#1728) @LukasNickel
  • Implement ctapipe-process (#1726) @kosack
  • Add support for calibration scale and shift in R1 (#1749) @HealthyPear
  • Direction reconstruction (also) from Telescope Frame (#1408) @HealthyPear
  • Add no-flags, add short aliases, make aliases more consistent (#1748) @nbiederbeck
  • Adapt subarray for 'allowed_tels' option in merger_tool (#1736) @Hckjs
  • Implement a shower processor (#1675) @HealthyPear
  • DL2 data model and output (#1673) @kosack
  • Allow regexp in table name for TableWriter.exclude() (#1717) @kosack
  • Shortform aliases (#1713) @maxnoe
  • implements add_column_transform_regexp feature (#1690) @kosack
  • Use iminuit>=2 (#1714) @nbiederbeck
Breaking Changes

Both of these change the data model, but the code remains backward-compatible.

  • Use indices for camera / optics lookup in from_hdf / to_hdf (#1426) @maxnoe
  • Hillas parameters in telescope frame (optionally) (#1591) @LukasNickel
  • ctapipe-stage1 refactored into ctapipe-process (#1726)
Performance Improvements
  • Do not guess pixel area when transforming (#1794) @maxnoe
  • Improve performance of calc_pixel_neighbors, fixes #1791 (#1792) @maxnoe
  • Precompile table regex for column exclusion, fixes #1719 (#1720) @maxnoe
Bug Fixes and Refactoring
  • Compare to numpy integer (#1801) @LukasNickel
  • Fix negative vmin/vmax raising error with mpl3.5, fixes #1805 (#1807) @maxnoe
  • Fix display dl1 (#1795) @maxnoe
  • Fix writing FITS in fileinfo for unicode (#1789) @maxnoe
  • Fix TelescopeParameter for traitlets 5.1 (#1784) @maxnoe
  • Remove unnecessary is_simulation for ImageProcessor (#1773) @maxnoe
  • Remove debug prints, fixes #1764 (#1765) @maxnoe
  • Remove redundant test code in simtel event source test code (#1747) @maxnoe
  • Change REF_WIDTH to REFWIDTH to fit into 8 characters for FITS, fixes #1452 (#1753) @maxnoe
  • Rename function. Fix #1733. (#1734) @nbiederbeck
  • Fix ctapipe-merge with --allowed-tels (#1712) @nbiederbeck
  • Set errordef for taubin fit (#1716) @maxnoe
Documentation, Testing, and Build updates

a big change is that tests are now parallelizable, leading to faster results from the CI system.

  • Removing unwanted quotes for code block in readme (#1808) @vuillaut
  • Add note about PYTHONNOUSERSITE to README (#1806) @maxnoe
  • Fix deprecated keys in setup.cfg (#1804) @maxnoe
  • Fix several warnings during tests (#1787) @maxnoe
  • Unit tests: fix mutated camera geometry fixtures (#1793) @maxnoe
  • Build docs using two cores, fix name of step (#1781) @maxnoe
  • Do not use sphinx action for building docs (#1780) @maxnoe
  • include stage1_config.json in package (#1752) @nbiederbeck
  • Switch on doctests in the CI (#1731) @maxnoe
  • Add tests for download functions (#1763) @maxnoe
  • Fix docs for Path (#1758) @maxnoe
  • Use pypa/build for packaging (#1725) @maxnoe
  • Cache the test data (#1746) @maxnoe
  • Improve dl1 fixtures and fix test concurrency issues (#1741) @maxnoe
  • Parallel tests (#1740) @maxnoe
  • Pyflakes in CI (#1735) @maxnoe
  • Add citing information for version 0.11 (#1710) @LukasNickel

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

Files (5.0 MB)
Name Size
5.0 MB Download
All versions This version
Views 77941
Downloads 291
Data volume 144.1 MB5.0 MB
Unique views 59536
Unique downloads 271


Cite as