Skip to content

Releases: cta-observatory/ctapipe

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

v0.6.1

18 Oct 12:55
Compare
Choose a tag to compare
v0.6.1 Pre-release
Pre-release

What's Changed since v0.6.0

v0.6.0

04 May 14:54
Compare
Choose a tag to compare
v0.6.0 Pre-release
Pre-release

This is an interim release, after some major refactoring, and before we add the automatic gain selection and refactored container classes. It's not intended yet for production.

Some Major changes since last release:

  • new EventSource class hierarchy for reading event data, which now supports simulation and testbench data from multiple camera prototypes (notably CHEC, SST-1M, NectarCam)
  • new EventSeeker class for (inefficient) random event access.
  • a much improved Factory class
  • re-organized event data structure (still evolving) - all scripts not in ctapipe must be changed to work with the new data items that were re-named (a migration guide will be given in the 0.7 release)
  • better HDF5 table output, supporting merging multiple Containers into a single output table
  • improvements to Muon analysis, and the muon example script
  • improvements to the calibration classes
  • big improvements to the Instrument classes
  • lots of cleanups and bug fixes
  • much more...

v0.5.2

31 Jul 12:51
Compare
Choose a tag to compare
v0.5.2 Pre-release
Pre-release
release version 0.5.2

instrument restructuring

05 Jul 14:39
Compare
Choose a tag to compare
Pre-release
  • instrument module now has much more rich functionality (SubarrayDescription, TelescopeDescription, OpticsDescription classes added
  • no more need to construct CameraGeometry and others manually, they are created in the hessio_event_source
  • all new code should use event.inst.subarray
  • the old inst.tel_pos, inst.optics_foclen, etc, will be phased out in the next point release (but still exist in this release)

ready for sensitivity plots

16 Jun 14:03
Compare
Choose a tag to compare
Pre-release

Lots of improvements and bug fixes, some highlights listed below.

Major framework changes:

  • removed astropy_helpers and ctapipe_extras sub-repos (the latter is now a seprate module)
  • improved setup, versioning, and package system
  • improved documentation
  • working unit tests
  • support for travisCI documentation builds
  • simplified instrument module
  • faster and more unified CameraGeometry, with support for cameras in FITS files
  • basic provenance system to record input/output/parameter metadata
  • improved coordinate systems
  • event-wise HDF5 table io
  • improved camera and array displays
  • ctapipe-dump-instrument tool

Major algorithm changes:

  • complete Muon analysis
  • complete Hillas reconstruction (HillasReconstructor)
  • energy estimation with machine learning
  • ImPACT reconstruction and fast table interpolation
  • cleaned up ChargeExtractors and WaveFormCleaners
  • simplified calibration (and added CameraCalibrator helper)

v0.4.0

13 Mar 15:33
Compare
Choose a tag to compare
v0.4.0 Pre-release
Pre-release

API Changes

  • New Container structure that follows CTA data levels better

All Changes:

0.4.0 / 2017-03-13

  • updated conda environment.yml and setup instructions to use it
  • add History.md
  • update notebook
  • add example provenance notebook
  • add Provenance.clear() method
  • revert .9 -> .1
  • forgot adding this file to staging
  • removed rotation of astri cameras
  • typo
  • moved uncertainty from predict to fit_core_crosses
  • add automatic provenance in Tool and io
  • added uncertainty on position fit
  • fixed missing camera rotation
  • fix bug in ctapipe-dump-triggers tool
  • use Singleton metaclass for provenance
  • refactoring
  • separate activity provenance from global provenance
  • cleanups to proveance class and core init
  • update provenence
  • mini change in doc string
  • first attempt at system provenance and time sampling
  • Corrected tests for charge_resolution
  • Corrected example cmdline arguments
  • some updates to example notebooks
  • Corrected r0 to dl0
  • merge and apply fixes to PR#284
  • Replaced event.dl0 calls to event.r0
  • small fix to example
  • add --all option to ctapipe-info
  • fix broken --dependencies option in ctapipe-info
  • fix in camera_rotation
  • fix bug in CameraDisplay
  • mask in geometry now uses bools instead of int
  • minor camera display update
  • use cta-observatory conda channel for pyhessio install
  • remove version cache from git repo and make sure it's in .gitignore
  • improve camdemo tool
  • add version cache to gitignore
  • remove import of unused npLinAlgError
  • replaced least chi2 calculation with numpy build-in
  • stuff
  • Added pedestal_path and tf_path to CameraR1CalibratorFactor, as real cameras require these separate files for calibration
  • Corrected bug in Factory
  • When saving the pickle file, the directory will created if it doesn't exist
  • Some refactoring
  • Update Charge Resolution
  • Small change to how integration window is plotted
  • Included extra external children
  • Corrected container
  • Corrected @observe logging
  • Corrected container for DL0
  • Updated examples/display_integrator.py to use new calibration steps
  • Updated calibration pipeline to use new calibration steps
  • Renamed examples/dl1_calibration.py back to examples/calibration_pipeline.py as it now contains the whole calibration chain from r0 to dl1
  • Corrections to pass tests
  • Added tests for calibrators
  • Removed calibrate_source
  • Corrected check_*_exists
  • Renamed test files Renamed MCR1Calibrator to HessioR1Calibrator
  • Created function check_*_exists in each calibration step to allow them to be ran even if the data has been read at a later calibration step
  • Created dl0.py to handle to data volume reduction in the conversion from r1 to dl0. Created reductors.py to contain the date volume reductors that can be passed as an argument to CameraDL0Reducer in dl0.py.
  • Corrected r1.py to loop through all telescopes that have data in the event
  • Removed dl0 correction for mc files - this is now handled by r1.py
  • Removed mc.py and mycam.py as they do not fit in the new calib methodology
  • Created r1 calibrator component - should replace mc.py
  • Added origin attribute to EventFileReader class - useful for components that depend on the file type
  • Updated docstring
  • Renamed ctapipe/calib/camera/calibrators.py to ctapipe/calib/camera/dl1.py
  • Removed clearing of dl2
  • Imported external classes that should be included in the factory
  • Refactored dl0 container to r0 container Created new containers: r1 (containing r1 calibrated data) and dl0 (containing data volume reduced data)

v0.3.4

06 Feb 16:38
Compare
Choose a tag to compare
v0.3.4 Pre-release
Pre-release
Merge pull request #323 from kosack/master

more fixes for version.py

new package

24 Jan 15:58
Compare
Choose a tag to compare
new package Pre-release
Pre-release
Merge pull request #316 from kosack/master

fix build system so packages can be made