Changelogs » Aict-tools

PyUp Safety actively tracks 316,954 Python packages for vulnerabilities and notifies you when to upgrade.



* Preserve order of rows when reading cta DL1 data (156) maxnoe


* Add preliminary support for the ctapipe DL1 format. Applying cuts, training and applying models is possible now. (142) LukasNickel maxnoe


This release drops support for python 3.7, following the same decision in our dependencies astropy and numpy
  * New method for origin reconstruction: dx/dy regression (145) ArnePoggenpohl
  * Improvements to `fact_to_dl3` (148) maxnoe
  * add zd / az predictions also for simulations
  * fix tool for when just 1 process is used
  * make use of `ErfaAstromInterpolator` to speed up coordinate transform


* Bump dependency version to sklearn2pmml for compatibility with recent sklearn
  * Fix date conversion in fact_to_dl3 for certain combinations of astropy and numpy


* **Important** From this version onwards, the aict-tools won't require a fixed version of scikit-learn and will try to support the most recent versions. This means you should pin the scikit-learn version when using the aict-tools yourself.
  * Fix an issue with padding in the disp plots


* report how many rows in which columns contain nans in preprocessing
  * Fix creation of bias and resolution plot


* Fix for setting azimuth unit (was reading in the zd unit)
  * Correctly convert altitude units (forgotten to convert in 0.24)
  * plot_disp_performance now calculates uncertainties from the cross validation for the energy dependent metrics


This is a pretty large release with lots of improvements regarding CTA integration.
  * Added config options for all columns where units are needed (e.g. az_pointing_unit).
  The defaults follow the conventions of the FACT-Tools analysis chain, for CTA you will need to define
  these options appropriately. (e.g. `delta_unit: deg`
  * Similarly, one can now provide either altitude or zenith distance, mutually exclusive
  * If the global config options `true_energy_column` or `size_column` are set, these values are stored in the cross validation output hdf5 file, to enable energy/size dependent performance evaluation.
  For now, this is only used in `plot_disp_performance`, where r2 score and sign accuracy are shown versus true energy.


Add script disp performance plotting script


FIx the newly introduced cta coordinate transformations, they were assuming altitude was stored in the zenith column, now corrected.


* fix for calculation of true disp to conform to the normal conventions.
  Training and predictions worked before but was rotated 180 degrees to the usual definition


* Add support for ctapipe coordinate transformation in the training of disp regressors.
  From now on, the configuration key `disp_config.coordinate_transformatin` is required and can be either `FACT` or `CTA`.
  If you want to use the `CTA` coordinate trafo conventions, `ctapipe` is required, use `pip install aict-tools[cta]` to make sure, this is the case.


* Allow application of multiple cuts to the same variable in `aict_apply_cuts`, the old format is still supported, but new files should use a list of cuts instead of a dict:
  width: ['<=', 20]
  - width: ['<=', 20]
  - width: ['>=', 5]     now possible
  * call tight_layout before saving plots in `aict_plot_*_performance` 113
  * Add option for an alternative definition of the true value of disp, see 106


* Warning instead of error in case an empty feature generation config is given.


* Several fixes to make plots work with the matplotlib pgf backend


* Log ROC Aucs in aict_train_separation_model
  * Officially support python 3.8


* aict-tools can now apply models stored using onnx or pmml. However, application  of models stored to pickle is still the fastest option for most models.


* Fixing the configuration of the output names. These can now be set using `output_name: ` in the models section
  * Use onnxruntime v1.0


* Fix modification of input file timestamp in copy runs
  * All but the `apply_` scripts should now not modify their input filestamps now


* Fix for apply_cuts: modification date of input file is not modified anymore


* Add support for most sklearn models, before only `sklearn.ensemble` was supported


* Update to sklearn ~0.21.0, use joblib directly (fixes sklearn's DeprecationWarning)
  * Improve feature importance plot
  * Add citing instructions


* Enable zenodo doi
  * Refactored IO, removed the already sparse support for csv completely
  * Testing pmml on travis
  * Improved log output
  Merged PRs:
  * ade81cb Merge pull request 78 from fact-project/tables_compability
  * b6a41f3 Merge pull request 87 from fact-project/logging
  * c087f54 Merge pull request 88 from fact-project/enable_pmml
  * f930c2a Merge pull request 89 from fact-project/zenodo


Add optional support for serializing models into the onnx format.


Switch from pyyaml to ruamel.yaml


* Add random source position sampling for theta calculation in `fact_to_dl3`
  * Write the samplefraction into files created by `split_data` and copy it in `fact_to_dl3` if present
  Merged PRs
  * Merge pull request 81 from fact-project/add_sample_fraction
  * Merge pull request 80 from fact-project/random_source


Add chunked version of `split_data` for single telescope h5py files to deal with larger than memory files.


* Add long description and classifiers for PyPI


* Publish to PyPI
  * Require scikit-learn 0.20.*
  * Fix progress bars


Fixes an issue where files would not get opened in read-only mode essentially breaking make files.