Skip to content

v0.7.0

Compare
Choose a tag to compare
@release-drafter release-drafter released this 20 Aug 09:16
7162241

What's Changed since v0.6.2

This is a major release with breaking API changes from the 0.6.x series. Scripts using ctapipe-0.6.x may need to be updated.

Notable API changes:

  • gain-channel selection is applied at the DL1 level, so event.dl1.tel[i].image is now 1D (whereas before it was 2D, with the first index as the gain channel)
  • removed Factory classes (factories now in constructor)
  • EventSources are now constructed using EventSource.from_url() or EventSource.from_config(), thought the convenience function event_source() still works as before.
  • The default EventSource for MC data is now the SimTelEventSource instead of HESSIOEventSource. This means libhessio is no longer required, as SimTelEventSource uses a pure-python implementation called pyeventio.
  • Other EventSources are now plug-ins that are automatically detected if installed.
  • the camera calibration code and ChargeExtractor have been totally re-factored and simplified. Note that it's lower-level API has thus changed.
  • ctapipe-extra is not longer strictly required to be installed (though some functionality will not work if it is not installed like constructing a CameraGeometry from name if no CTAPIPE_SVC_PATH is set by the user).
  • New EngineeringCameraFrame coordinate system that allows one to draw a camera as it would look when parked (rather than the standard SimTelArray coordinate system).
  • naming scheme for telescopes has changed in the instrument module (it is now <optics type>_<optics_subtype>_<camera type>, e.g. LST_LST_LSTCam or SST_ASTRI_CHEC)

Improvements:

  • ctapipe no longer needs any compilation (the c code in CameraCalibrator has been removed and replaced with Numba functionality for speed and maintainability improvements), which means the package can be made architecture-independent (though python must generate the *.pyc files on install, which takes a bit longer)
  • HDF5TableWriter now can write tables to any group(s) in an HDF5 file, and can optionally append prefixes to the output columns of a Container (e.g. widthhillas_width)
  • HillasReconstructor now supports non-parallel (e.g. divergent or convergent) pointings
  • many speed improvements for calibration and neighbor matrix operations.
  • New tailcuts (picture/boundary) function for multiple nearest-neighbor cleaning (MARS-like)

Detailed Changelog