Skip to content

Releases: cta-observatory/ctapipe

v0.10.3

15 Feb 13:48
ff80cff
Compare
Choose a tag to compare

This is a hotfix release for the 0.10 series. It fixes applying the stage1 tool and reading its output.
We also updated the example configuration to contain better cleaning levels. These are however still only roughly optimized.

What's Changed since v0.10.2

Contributors

@kosack and @maxnoe

v0.10.2

12 Feb 12:52
3c7d098
Compare
Choose a tag to compare

What's Changed since v0.10.1

Contributors

@Hckjs, @LukasNickel, @RuneDominik, @jsitarek, @kosack, @maxnoe and @nbiederbeck

v0.10.1

03 Dec 15:56
f1cd0bb
Compare
Choose a tag to compare

This is a bug-fix and performance improvement release for v0.10.0

What's Changed since v0.10.0

Bug Fixes

Refactoring and Performance Improvements

  • Only convert to angle if not already (#1539) @maxnoe
  • Avoid deepcopying defaults for containers in stage1 (#1538) @maxnoe
  • Add cache=True to numba functions (#1537) @maxnoe
  • Speed up trigger time creation in SimTelEventSource (#1536) @maxnoe

Packaging and Testing

Contributors

@Hckjs, @LukasNickel, @kosack and @maxnoe

v0.10.0.post1

18 Nov 17:02
a5ad0f1
Compare
Choose a tag to compare

v0.10.0.post1

Add v0.10.0 doi to README, test for automatic pypi deployment.

v0.10.0

18 Nov 12:46
52eefd8
Compare
Choose a tag to compare

What's Changed since v0.9.1

DL1 file support is much improved with DL1Writer and DL1EventSource components, which together allow one to write and read DL1 data trivially. Any code that used EventSource to read data will automatically be able to read DL1 data with no change needed. R0-DL0 data can be analyzed and written to DL1 using the Tool ctapipe-stage1 and merged together using ctapipe-merge

ctapipe-extra is no longer needed (but still supported). Test files are downloaded automatically from the data server.

The analysis and calibration has been improved, with time shift corrections now applied when available, and uncertainties on Hillas parameters.

The event_source helper function was removed and you don't need to use EventSource.from_url or EventSource.from_config anymore, using EventSource('/path/to/file') will "just work" and return the compatible event source if one is available.

New Features

API Changes

  • Remove redundant run_array_direction from SimulationCnfig container (#1521) @maxnoe
  • Remove need for from_url / from_config. Remove now unneeded event_source (#1515) @maxnoe
  • Use enum for pixel shapes (#1491) @maxnoe
  • Refactor simulation event info (#1495) @kosack
  • Remove tels_with_data, fixes #852 (#1489) @maxnoe
  • Remove need for add_subcomponent include subcomponents in Component.get_current_config (#1444) @maxnoe

Packaging and Docs

Bug Fixes

Contributors

@Hckjs, @LukasNickel, @andres-baquero, @kosack, @maxnoe and @nbiederbeck

v0.9.1

13 Oct 12:57
21c4c72
Compare
Choose a tag to compare

This is a primarily a bugfix release, other than one new feature: ctapipe.io.astropy_helpers.h5_table_to_astropy()

What's Changed since v0.9.0

Bug Fixes

Features

  • add function to get astropy table from ctapipe hdf5 file (#1427) @kosack

other

Contributors

@HealthyPear, @kosack and @maxnoe

v0.9.0

02 Oct 11:25
aba828c
Compare
Choose a tag to compare
v0.9.0 Pre-release
Pre-release

This release should be compatible with v0.8.0, but with some bug fixes, speed improvements.

Notable bug fix:

  • the DL1 format generated by v0.8.0 was missing the telescope trigger time, due to a bug which was fixed in this version.

API changes:

  • EventSeeker (which provides random access to event sources) now relies on the get_event_index() and get_event_id() methods to move between events, rather than an implicit __get__ function. Code that used it should change as follows:

    previously:

    event = seeker[12]  # move to event at index 12
    event = seeker["1233"] # move to event id 1233

    now:

    event = seeker.get_event_index(12)
    event = seeker.get_event_id(1233)

What's Changed since v0.8.0

Contributors

@Bultako, @Hckjs, @LukasNickel, @maxnoe, @kosack, @moralejo, @nbiederbeck, @vuillaut and @watsonjj

v0.8.0

21 May 09:08
8c02fb7
Compare
Choose a tag to compare

Main features/changes:

  • ctapipe-stage1-process: standard Tool to generate DL1 outputs, along with many related changes to the internal data model
  • Improved/refactored calibration and ImageExtraction code (including a 2-Pass image extractor using time gradient information)
  • Improved/refactored Muon reconstruction code
  • SubarrayDescription is now accessed directly from the EventSource, rather than the event itself, and now includes a CameraDescription class that aggregates CameraGeometry and CameraReadout.
  • Toy model EventSource and Waveform generators
  • improved configuration with per-telescope (Type or ID) parameters
  • plus many more!

What's Changed since v0.7.0

Contributors

@FrancaCassol, @Hckjs, @HealthyPear, @maxnoe, @adonini, @dneise, @kosack, @momorning, @moralejo, @nbiederbeck, @vuillaut, @watsonjj and @yrenier

v0.7.0

20 Aug 09:16
7162241
Compare
Choose a tag to compare

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

v0.6.2

07 Feb 17:02
Compare
Choose a tag to compare
v0.6.2 Pre-release
Pre-release

Algorithmic Changes:

  • Fixes major bug in impact-parameter reconstruction where an incorrect value was calculated in the case of diffuse simulations

What's Changed since v0.6.1