|
| 1 | +pyirf 0.8.1 (2023-03-16) |
| 2 | +======================== |
| 3 | + |
| 4 | + |
| 5 | +New Features |
| 6 | +------------ |
| 7 | + |
| 8 | +- Migrating the interpolation methods from ``pyirf.interpolation`` to interpolator |
| 9 | + objects, allowing for later inheritance for new algorithms and reusability. [`#210 <https://github.com/cta-observatory/pyirf/pull/210>`__] |
| 10 | + |
| 11 | + |
| 12 | +Maintenance |
| 13 | +----------- |
| 14 | + |
| 15 | +- Add and enable ``towncrier`` in CI. [`#207 <https://github.com/cta-observatory/pyirf/pull/207>`__] |
| 16 | + |
| 17 | +- Add a fixture containing three IRFs from `the prod5 IRF data-release <https://zenodo.org/record/5499840>`_ |
| 18 | + for unit testing. Specifically the fixture contains the contents of: |
| 19 | + |
| 20 | + - Prod5-North-20deg-AverageAz-4LSTs.180000s-v0.1.fits.gz. |
| 21 | + - Prod5-North-40deg-AverageAz-4LSTs.180000s-v0.1.fits.gz |
| 22 | + - Prod5-North-60deg-AverageAz-4LSTs.180000s-v0.1.fits.gz |
| 23 | + |
| 24 | + The user has to download these irfs to ``irfs/`` using ``download_irfs.py``, |
| 25 | + github's CI does so automatically and caches them for convenience. [`#211 <https://github.com/cta-observatory/pyirf/pull/211>`__] |
| 26 | + |
| 27 | + |
| 28 | +Older releases |
| 29 | +============== |
| 30 | + |
| 31 | +For releases between v0.4.1 and v0.8.1, please refer to `the GitHub releases page <https://github.com/cta-observatory/pyirf/releases>`_. |
| 32 | + |
| 33 | + |
| 34 | +.. _pyirf_0p4p1_release: |
| 35 | + |
| 36 | +`0.4.1 <https://github.com/cta-observatory/pyirf/releases/tag/v0.4.1>`__ (2021-03-22) |
| 37 | +------------------------------------------------------------------------------------- |
| 38 | + |
| 39 | +Summary |
| 40 | ++++++++ |
| 41 | + |
| 42 | +- Released March 22nd, 2021 |
| 43 | +- 1 Contributors |
| 44 | + |
| 45 | +Contributors |
| 46 | +++++++++++++ |
| 47 | + |
| 48 | +- Maximilian Nöthe |
| 49 | + |
| 50 | + |
| 51 | +Merged Pull Requests |
| 52 | +++++++++++++++++++++ |
| 53 | + |
| 54 | +- `#135 <https://github.com/cta-observatory/pyirf/pull/135>`_ Add functions to convert pyirf results to the corresponding gammapy classes |
| 55 | +- `#137 <https://github.com/cta-observatory/pyirf/pull/137>`_ Add example notebook for calculating point-lile IRFs from the FACT open data |
| 56 | + |
| 57 | + |
| 58 | +.. _pyirf_0p4p0_release: |
| 59 | + |
| 60 | +`0.4.0 <https://github.com/cta-observatory/pyirf/releases/tag/v0.4.0>`__ (2020-11-09) |
| 61 | +------------------------------------------------------------------------------------- |
| 62 | + |
| 63 | +Summary |
| 64 | ++++++++ |
| 65 | + |
| 66 | +- Released November 11th, 2020 |
| 67 | +- 2 Contributors |
| 68 | + |
| 69 | +Contributors |
| 70 | +++++++++++++ |
| 71 | + |
| 72 | +In order of number of commits: |
| 73 | + |
| 74 | +- Maximilian Nöthe |
| 75 | +- Michele Peresano |
| 76 | + |
| 77 | + |
| 78 | +Description |
| 79 | ++++++++++++ |
| 80 | + |
| 81 | +This release is an important update that introduces three |
| 82 | +changes in the cut optimization, background estimation and sensitivity calculation. |
| 83 | + |
| 84 | +Together, these changes bring the calculated sensitivities much closer to the ones calculated by |
| 85 | +EventDisplay. |
| 86 | + |
| 87 | +* Scale the relative flux calculated to reach the target sensitivity |
| 88 | + up if the requirements on the minimum number of signal events are not met. |
| 89 | + Essentially, instead of always calculating the flux that |
| 90 | + yields ``target_sensitivity`` and then checking if the two other conditions are met, |
| 91 | + we increase the required flux to meet the other requirements. |
| 92 | + This can result in new sensitivities where before pyirf would report no sensitivities, |
| 93 | + and report better sensitivities everywhere where the event number conditions where not |
| 94 | + met before at the target significance. |
| 95 | + The best sensitivity now is the lowest flux that just barely satisfies all |
| 96 | + requirements (so is at the minimum requirement of one of the three). |
| 97 | + |
| 98 | +* Differentiate between `reco_source_fov_offset` and `true_source_fov_offset`, |
| 99 | + using the former for background rates and the latter for everything concerning |
| 100 | + signal events. |
| 101 | + |
| 102 | +* Change ``optimize_gh_cut`` to do the optimization in terms of efficiency and |
| 103 | + limit this efficiency to max. 80 % in the EventDisplay comparison. |
| 104 | + |
| 105 | + |
| 106 | +Smaller improvements also include: |
| 107 | + |
| 108 | +* It is now possible to include a ``particle_type`` column in the event lists, |
| 109 | + which will result in additionally reporting all event counts also per ``particle_type``. |
| 110 | + E.g. if ``particle_type`` is included in the background table consisting of both |
| 111 | + electrons and protons, ``estimate_background`` will not only report ``n_background(_weighted)`` |
| 112 | + but also ``n_electron(_weighted)`` and ``n_proton(_weighted)`` |
| 113 | + |
| 114 | +* ``relative_sensitivity`` now supports vectorized application and broadcasting |
| 115 | + of inputs, as previously wrongly advertized in the docstring. |
| 116 | + |
| 117 | + |
| 118 | +Related news |
| 119 | +++++++++++++ |
| 120 | + |
| 121 | +GammaPy ``0.18.0`` was released and includes fixes for IRF axis orders. |
| 122 | +The output of ``pyirf`` in GADF fits format can now be read by gammapy without |
| 123 | +problems. |
| 124 | +The workarounds for installing GammaPy is also no longer needed. |
| 125 | + |
| 126 | + |
| 127 | +Merged Pull Requests |
| 128 | +++++++++++++++++++++ |
| 129 | + |
| 130 | +Feature changes |
| 131 | +""""""""""""""" |
| 132 | + |
| 133 | +- `#110 <https://github.com/cta-observatory/pyirf/pull/110>`_ Optimize cuts in efficiency steps with maximum efficiency of 80% for EventDisplay comparison |
| 134 | +- `#104 <https://github.com/cta-observatory/pyirf/pull/104>`_ Scale flux for conditions, differenatiate reco and true source_fov_offset |
| 135 | +- `#108 <https://github.com/cta-observatory/pyirf/pull/108>`_ Add counts / weighted counts per particle type |
| 136 | +- `#107 <https://github.com/cta-observatory/pyirf/pull/107>`_ Small update to installation instructions |
| 137 | +- `#106 <https://github.com/cta-observatory/pyirf/pull/106>`_ Use vectorize for relative_sensitivity |
| 138 | + |
| 139 | +Project maintenance |
| 140 | +""""""""""""""""""" |
| 141 | + |
| 142 | +- `#102 <https://github.com/cta-observatory/pyirf/pull/102>`_ Require astropy >= 4.0.2 |
| 143 | +- `#100 <https://github.com/cta-observatory/pyirf/pull/100>`_ Fix deploy condition in travis yml |
| 144 | + |
| 145 | + |
| 146 | +.. _pyirf_0p3p0_release: |
| 147 | + |
| 148 | +`0.3.0 <https://github.com/cta-observatory/pyirf/releases/tag/v0.3.0>`__ (2020-10-05) |
| 149 | +------------------------------------------------------------------------------------- |
| 150 | + |
| 151 | +Summary |
| 152 | ++++++++ |
| 153 | + |
| 154 | +- Released October 5th, 2020 |
| 155 | +- 5 Contributors |
| 156 | + |
| 157 | +Contributors |
| 158 | +++++++++++++ |
| 159 | + |
| 160 | +In order of number of commits: |
| 161 | + |
| 162 | +- Maximilian Nöthe |
| 163 | +- Michele Peresano |
| 164 | +- Noah Biederbeck |
| 165 | +- Lukas Nickel |
| 166 | +- Gaia Verna |
| 167 | + |
| 168 | + |
| 169 | +Description |
| 170 | ++++++++++++ |
| 171 | + |
| 172 | +This release is the result of the IRF sprint week in September 2020. |
| 173 | +Many bug fixes and improvements were made to the code. |
| 174 | + |
| 175 | +As the target for the sprint week was to reproduce the approach of ``EventDisplay`` and |
| 176 | +the resulting IRFs, one scheme of cut optimization is implemented. |
| 177 | +The ``examples/calculate_eventdisplay_irfs.py`` should follow the approach |
| 178 | +of ``EventDisplay`` closely and shows what is currently implemented in ``pyirf``. |
| 179 | +In the central and upper energy range, ``pyirf`` now reproduces the ``EventDisplay`` sensitivity |
| 180 | +exactly, the lower energy bins still show some disagreement. |
| 181 | +The cut optimization seems not yet to be the same as EventDisplay's and will be further investigated. |
| 182 | +This example could be used as a starting point if you also want to do cut optimization for best sensitivity. |
| 183 | + |
| 184 | + |
| 185 | +At least one version of each IRF is now implemented and can be stored in the GADF format. |
| 186 | +Computation of full-enclosure IRFs should be possible but is of now not yet tested |
| 187 | +on a reference dataset. |
| 188 | + |
| 189 | + |
| 190 | +Merged Pull Requests |
| 191 | +++++++++++++++++++++ |
| 192 | + |
| 193 | +- `#97 <https://github.com/cta-observatory/pyirf/pull/97>`_ Store correct signal amount, store information on which checks failed for sensitivity bins (Maximilian Nöthe) |
| 194 | +- `#96 <https://github.com/cta-observatory/pyirf/pull/96>`_ Add integration test (Michele Peresano) |
| 195 | +- `#98 <https://github.com/cta-observatory/pyirf/pull/98>`_ Remove option point_like for psf (Maximilian Nöthe) |
| 196 | +- `#95 <https://github.com/cta-observatory/pyirf/pull/95>`_ Cut updates (Maximilian Nöthe) |
| 197 | +- `#91 <https://github.com/cta-observatory/pyirf/pull/91>`_ Fix conditions to take relative sensitivity into account, fixes #90 (Maximilian Nöthe) |
| 198 | +- `#89 <https://github.com/cta-observatory/pyirf/pull/89>`_ Fix brentq returning the lower bound of 0 for flat li ma function (Maximilian Nöthe) |
| 199 | +- `#85 <https://github.com/cta-observatory/pyirf/pull/85>`_ Improve comparison to EventDisplay (Maximilian Nöthe) |
| 200 | +- `#75 <https://github.com/cta-observatory/pyirf/pull/75>`_ Add a function to check a table for required cols / units (Maximilian Nöthe) |
| 201 | +- `#86 <https://github.com/cta-observatory/pyirf/pull/86>`_ Fix Li & Ma significance for n_off = 0 (Maximilian Nöthe) |
| 202 | +- `#76 <https://github.com/cta-observatory/pyirf/pull/76>`_ Feature resample histogram (Noah Biederbeck, Lukas Nickel) |
| 203 | +- `#79 <https://github.com/cta-observatory/pyirf/pull/79>`_ Fix integration of power law pdf in simulations.py (Gaia Verna) |
| 204 | +- `#80 <https://github.com/cta-observatory/pyirf/pull/80>`_ Estimate unique runs taking pointing pos into account (Maximilian Nöthe) |
| 205 | +- `#71 <https://github.com/cta-observatory/pyirf/pull/71>`_ Background estimation (Maximilian Nöthe) |
| 206 | +- `#78 <https://github.com/cta-observatory/pyirf/pull/78>`_ Change argument order in create_rad_max_hdu (Lukas Nickel) |
| 207 | +- `#77 <https://github.com/cta-observatory/pyirf/pull/77>`_ Calculate optimized cut on only the events surviving gh separation (Maximilian Nöthe) |
| 208 | +- `#68 <https://github.com/cta-observatory/pyirf/pull/68>`_ Effective area 2d (Maximilian Nöthe) |
| 209 | +- `#67 <https://github.com/cta-observatory/pyirf/pull/67>`_ Add method integrating sim. events in FOV bins (Maximilian Nöthe) |
| 210 | +- `#63 <https://github.com/cta-observatory/pyirf/pull/63>`_ Verify hdus using ogadf-schema (Maximilian Nöthe) |
| 211 | +- `#58 <https://github.com/cta-observatory/pyirf/pull/58>`_ Implement Background2d (Maximilian Nöthe) |
| 212 | +- `#52 <https://github.com/cta-observatory/pyirf/pull/52>`_ Add sections about tests, coverage and building docs to docs (Maximilian Nöthe) |
| 213 | +- `#46 <https://github.com/cta-observatory/pyirf/pull/46>`_ Add PyPI deploy and metadata (Maximilian Nöthe) |
| 214 | + |
| 215 | + |
| 216 | +.. _pyirf_0p2p0_release: |
| 217 | + |
| 218 | +`0.2.0 <https://github.com/cta-observatory/pyirf/releases/tag/v0.2.0>`__ (2020-09-27) |
| 219 | +------------------------------------------------------------------------------------- |
| 220 | + |
| 221 | +Summary |
| 222 | ++++++++ |
| 223 | + |
| 224 | +- Released September 27th, 2020 |
| 225 | +- 4 Contributors |
| 226 | + |
| 227 | +Contributors |
| 228 | +++++++++++++ |
| 229 | + |
| 230 | +In order of number of commits: |
| 231 | + |
| 232 | +- Maximilian Nöthe |
| 233 | +- Michele Peresano |
| 234 | +- Lukas Nickel |
| 235 | +- Hugo van Kemenade |
| 236 | + |
| 237 | + |
| 238 | +Description |
| 239 | ++++++++++++ |
| 240 | + |
| 241 | +For this version, pyirf's API was completely rewritten from scratch, |
| 242 | +merging code from several projects (pyirf, pyfact, fact-project/irf) to provide a library to compute IACT |
| 243 | +IRFs and sensitivity and store them in the GADF data format. |
| 244 | + |
| 245 | +The class based API using a configuration file was replaced by a finer grained |
| 246 | +function based API. |
| 247 | + |
| 248 | +Implemented are point-like IRFs and sensitivity. |
| 249 | + |
| 250 | +This release was the starting point for the IRF sprint week in September 2020, |
| 251 | +where the refactoring continued. |
| 252 | + |
| 253 | + |
| 254 | +Merged Pull Requests |
| 255 | +++++++++++++++++++++ |
| 256 | + |
| 257 | +- `#36 <https://github.com/cta-observatory/pyirf/pull/36>`_ Start refactoring pyirf (Maximilian Nöthe, Michele Peresano, Lukas Nickel) |
| 258 | +- `#35 <https://github.com/cta-observatory/pyirf/pull/35>`_ Cleanup example notebook (Maximilian Nöthe, Michele Peresano, Lukas Nickel) |
| 259 | +- `#37 <https://github.com/cta-observatory/pyirf/pull/37>`_ Move to python >= 3.6 (Hugo van Kemenade) |
| 260 | + |
| 261 | + |
| 262 | + |
| 263 | +.. _pyirf_0p1p0_release: |
| 264 | + |
| 265 | +`0.1.0 <https://github.com/cta-observatory/pyirf/releases/tag/v0.1.0>`__ (2020-09-16) |
| 266 | +------------------------------------------------------------------------------------- |
| 267 | + |
| 268 | +This is a pre-release. |
| 269 | + |
| 270 | +- Released September 16th, 2020 |
| 271 | + |
| 272 | + |
| 273 | +.. _pyirf_0p1p0alpha_prerelease: |
| 274 | + |
| 275 | +`0.1.0-alpha <https://github.com/cta-observatory/pyirf/releases/tag/v0.1.0-alpha>`__ (2020-05-27) |
| 276 | +------------------------------------------------------------------------------------------------- |
| 277 | + |
| 278 | +Summary |
| 279 | ++++++++ |
| 280 | + |
| 281 | +This is a pre-release. |
| 282 | + |
| 283 | +- Released May 27th, 2020 |
| 284 | +- 3 contributors |
| 285 | + |
| 286 | +Description |
| 287 | ++++++++++++ |
| 288 | + |
| 289 | +- Started basic maintenance |
| 290 | +- Started refactoring |
| 291 | +- First tests with CTA-LST data |
| 292 | + |
| 293 | +Contributors |
| 294 | +++++++++++++ |
| 295 | + |
| 296 | +In alphabetical order by last name: |
| 297 | + |
| 298 | +- Lea Jouvin |
| 299 | +- Michele Peresano |
| 300 | +- Thomas Vuillaume |
0 commit comments