v0.12.0 – 2021-11-23
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-quickstart
tool 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 intoctapipe-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
Contributors
@Hckjs, @HealthyPear, @LukasNickel, @kosack, @maxnoe, @nbiederbeck and @vuillaut