Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Irf maker and cut optimiser #2473

Draft
wants to merge 175 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
175 commits
Select commit Hold shift + click to select a range
d986453
First kludge of protopipe irf code as a ctapipe tool
Tobychev Apr 18, 2023
0872831
Fixed names so the tool can install properly
Tobychev Apr 19, 2023
376bb09
Fixing two small comments from Karl
Tobychev Apr 25, 2023
1d730fb
Various small fixes
Tobychev May 3, 2023
535469f
Big refactor to use components as intended
Tobychev May 3, 2023
f0f17bf
Got it all to run
Tobychev May 4, 2023
df97fba
Formatting fixes
Tobychev May 4, 2023
853b447
Adjusting defaults to make only one bin in offset?
Tobychev May 4, 2023
4c891fe
Moved preselection to start()
Tobychev May 10, 2023
dcaafc4
Use only one true energy axis
Tobychev May 10, 2023
cb26868
Use only one true energy axis
Tobychev May 10, 2023
3882702
Use only one true energy axis
Tobychev May 10, 2023
8d12004
Refactoring to group things in the same manner
Tobychev May 10, 2023
a5f0f90
Split preselct into remaning and quality selecting, made EventPreProc…
Tobychev May 12, 2023
71e88b1
Fixed serveral problems
Aug 23, 2023
b94180b
Fixed unit issue
Aug 23, 2023
9297a0b
Updated some defaults
Tobychev Aug 23, 2023
c2ca5ec
Updated some comments to avoid problems with the doctest
Tobychev Aug 28, 2023
f01157e
Add changelog
Tobychev Aug 28, 2023
bc33fd1
Fixed small bug, trying to pass doctests
Tobychev Aug 28, 2023
b07e7f6
Refactored after feedback
Tobychev Sep 5, 2023
ebf3bd3
Refactored after feedback
Tobychev Sep 5, 2023
36d2c98
Refactored after feedback
Tobychev Sep 5, 2023
1eac6f6
Made spectra into enums
Tobychev Sep 5, 2023
8623593
Added specific configuration of the optimisation grid to the cut opti…
Tobychev Sep 7, 2023
17fa87d
Refactored based on feedback: new tests that simulations stay consist…
Tobychev Sep 8, 2023
1fac888
Refactored based on feedback: cleaner test
Tobychev Sep 8, 2023
07dcfc4
Various changes to match reference script.
Tobychev Sep 11, 2023
4e955a0
Reworked how initial theta cuts are calculated, changed some logging …
Tobychev Sep 19, 2023
3609e24
Update conf.py
Tobychev Sep 20, 2023
f0bd3ad
Moved PSF related quantities into its own component
Tobychev Sep 26, 2023
7e4ffc1
Renamed PSF component to ThetaCutsCalculator, other small refactors
Tobychev Sep 26, 2023
c622e2a
Update to support newest pyirf version
Tobychev Oct 5, 2023
8683fed
Fix logging error
Tobychev Oct 5, 2023
4cee2a8
Use consistent offset binning
Tobychev Oct 18, 2023
1120cc8
Add theta cut to the background, change logging statments
Tobychev Oct 23, 2023
ac3928d
Partial refactoring into optimising and calculating parts
Tobychev Nov 16, 2023
2785572
Mayor refactor complete, still not running properly
Tobychev Nov 23, 2023
214cd2b
Various changes to get the code to run end to end
Tobychev Nov 25, 2023
705f8db
Pretty large refactoring around how results are saved, cleaned out so…
Tobychev Dec 1, 2023
e1c4b13
Further refactoring to decouple things now that there are two tools
Tobychev Dec 5, 2023
72c5a0b
Added background and benchmarking option to the make_irf tool
Tobychev Dec 5, 2023
686a117
removed some dead code that had been left behind by mistake
Tobychev Dec 7, 2023
f339963
Minor fixes
LukasBeiske Dec 7, 2023
d229d7f
Ensure users requested binning is honoured
Tobychev Dec 8, 2023
36a7f98
Fixed typo in EXTNAME of energy dispersion
Tobychev Dec 12, 2023
f4b4308
Add several convenience functions for plotting irfs
Tobychev Dec 12, 2023
7647ab0
Added function to draw 2d hist from a irf table
Tobychev Dec 12, 2023
fb4fa4a
Use integar indices for fov bounds; fix write out of benchmark hdus
LukasBeiske Dec 19, 2023
e7d6a62
Remove redundant overwrite flag
LukasBeiske Dec 19, 2023
dd23611
Add some aliases and flags; fix logging bug
LukasBeiske Dec 19, 2023
8b503e7
Rename some files and classes
LukasBeiske Dec 19, 2023
8059361
Make EventPreProcessor a subcomponent of EventsLoader
LukasBeiske Dec 19, 2023
4e0f3d4
Use reco energy for rad_max table
LukasBeiske Dec 20, 2023
e7620f7
Use n_bins everywhere instead of n_edges
LukasBeiske Jan 12, 2024
f379568
Add reco bins to logging; remove unused bins
LukasBeiske Jan 12, 2024
a6a425b
Fix EventPreProcessor configurability
LukasBeiske Jan 13, 2024
245c61b
Make ThetaCutsCalculator configurable
LukasBeiske Jan 13, 2024
82777d3
Fix help for n_bins config options
LukasBeiske Jan 15, 2024
676fc9a
Added helper function for plotting just bin-wise statistics of IRF ta…
Tobychev Jan 10, 2024
f8315d3
Added energy binning directly to the PsfIrf class
Tobychev Jan 15, 2024
b00182a
Created a Background2D and Background3D IRF classes
Tobychev Jan 15, 2024
875adc0
Add option for point-like IRF; support diffuse and point-like gammas
LukasBeiske Jan 15, 2024
fc89e6f
Update to consistently use number of bins
Tobychev Jan 16, 2024
0b1a768
Added calculation of fov_lat/lon and explicit column descriptions
Tobychev Jan 16, 2024
68ead32
Added a bit of logging
Tobychev Jan 16, 2024
b8af86e
Remove unnecessary conversions
Tobychev Jan 16, 2024
322003d
Moved stuff to match src/ organisatoin
Tobychev Feb 6, 2024
633d69d
Fix extra dimension in effective area per offset, adapt to new loader…
Tobychev Feb 25, 2024
8ef8d3c
Fixed bug where background only used gh-cuts
Tobychev Feb 29, 2024
06ea78c
Renamed some options for clarity
Tobychev Mar 5, 2024
a2418ac
Clarified arguments for full-enclosure irfs
Tobychev Apr 10, 2024
9ab37a5
Sort and remove duplicates in sphinx nitpicks
LukasBeiske Apr 29, 2024
9f335a2
Use AstroQuantity trait for observation time
LukasBeiske Apr 29, 2024
708b532
Add definition of selectable spectra to irf.select
LukasBeiske Apr 29, 2024
d0401ce
Force same clf for computation and application of g/h cuts; warn if o…
LukasBeiske Apr 29, 2024
a9649ed
Use full-enclosure flag for cut optimization tool
LukasBeiske Apr 30, 2024
6bd36e0
Remove theta cut re-calculation from irf-tool; move ThetaCutsCalculat…
LukasBeiske May 2, 2024
b81ead7
Make saving a theta cut optional in cut-opt tool and if saved, also s…
LukasBeiske May 2, 2024
97ed3f8
Remove redundant bin range check
LukasBeiske May 2, 2024
fb97799
Apply event selection per particle type
LukasBeiske May 2, 2024
1f50bb6
More AstroQuantity
LukasBeiske May 2, 2024
aa94d78
Rework irf classes
LukasBeiske May 3, 2024
e5a1dd5
Make irf parameterizations configurable
LukasBeiske May 6, 2024
be18ff8
Move spectra definition to separate file
LukasBeiske May 6, 2024
98be917
Revert change of edisp extname
LukasBeiske May 6, 2024
64a2508
Also calculate aeff for protons and electrons
LukasBeiske May 6, 2024
0503bc6
Update cut optimization components and make cut opt algorithm configu…
LukasBeiske May 7, 2024
7bb9a8e
Clearer class names
LukasBeiske May 7, 2024
870becc
Remove FoVOffsetBinning; save singular quantities in ResultValidRange
LukasBeiske May 10, 2024
2d6bc02
No cut on background events based on its true origin position
LukasBeiske May 10, 2024
8583c16
Split out input handling code to separate helper to keep logic of ini…
Tobychev May 13, 2024
2fd3d32
Fixed typo
Tobychev May 13, 2024
46cbcd5
Set min pyirf version to handle astropy 6.0
Tobychev May 14, 2024
bc3c8c2
Create a minimal changelog
Tobychev May 14, 2024
d0dba10
Use classes_with_traits() in tools
LukasBeiske May 14, 2024
a1ab5ba
cleaning up changelogs
Tobychev May 14, 2024
abd051c
Added messages explaining which bin range was failing to pass the check
Tobychev May 14, 2024
6451539
Respect bounds over n_bins_per_decade for energy binning
LukasBeiske May 14, 2024
97eaa99
Made range check optionally only emit warning, made output a bit more…
Tobychev May 14, 2024
1d10a5d
Added tracking of where range check came from, made check failure opt…
Tobychev May 14, 2024
8bc0c5c
Discared Lukas changes in error
Tobychev May 14, 2024
c4caea0
Fixed some code quality issues from sonar
Tobychev May 15, 2024
229f999
Fixed typo
Tobychev May 15, 2024
8d359cb
Fixed problems where PSF was not always being generate
Tobychev May 15, 2024
4d14332
Added optional colorbar plotting to plot_hist2d, additional small fixes
Tobychev May 15, 2024
8715f67
Move benchmarks into dedicated Components; remove OutputEnergyBinning
LukasBeiske May 16, 2024
d6bc7d4
Add type hints to EventsLoader and EventPreProcessor
LukasBeiske May 16, 2024
a7fbb38
Add fov binning for benchmarks
LukasBeiske May 17, 2024
0b655af
Only compute psf for full enclosure irf
LukasBeiske Jun 4, 2024
fa2c47e
Allow user renaming of cols and check for needed cols after
LukasBeiske Jun 6, 2024
0c4a156
Add tests for event loading and selection code; minor bugfix
LukasBeiske Jun 6, 2024
fb780c5
Shorten bins in range checks a bit
LukasBeiske Jun 7, 2024
28abfb4
Fix number of bin edges in make_bins_per_decade
LukasBeiske Jun 14, 2024
5b53873
parent=None as default for all components
LukasBeiske Jun 14, 2024
7648dde
Add tests for binning
LukasBeiske Jun 14, 2024
2ebab81
Fix caplog binning test
LukasBeiske Jun 14, 2024
81d0514
Do not use caplog in test, due to problems with pytest-xdist
LukasBeiske Jun 14, 2024
33af16f
Do not expose base classes
LukasBeiske Jun 14, 2024
a7eda57
Add missing docstring
LukasBeiske Jun 14, 2024
8b8dac0
Fix imports in binning tests
LukasBeiske Jun 14, 2024
4b2c59a
Remove wrong bin-in-range checks; fix valid_fov_offset
LukasBeiske Jul 18, 2024
0ad46d0
Only compute event weights, if a sensitivity is computed
LukasBeiske Jul 18, 2024
cdfebf4
Make proton and electron files optional, if PercentileCuts is used
LukasBeiske Jul 19, 2024
1ac08b1
Move pytest fixtures to conftest.py
LukasBeiske Jul 19, 2024
1e3a94b
Some tests for cut optimization
LukasBeiske Jul 19, 2024
e09a7cd
Fixed hardcoded nonsensical offset bins for RAD_MAX
Tobychev Jul 19, 2024
a8da136
Add test to ensure BackgroundRate2dMaker stays working once current r…
Tobychev Jul 23, 2024
b6a5bf9
Fixed broken background generation
Tobychev Jul 23, 2024
f8547b8
Rework event weight calculation
LukasBeiske Jul 24, 2024
6f6a1d2
Fix background2D test
LukasBeiske Aug 14, 2024
3a7330e
More tests for optimization components
LukasBeiske Aug 14, 2024
b743eb9
Iterate over cut optimizers in optimize tests
LukasBeiske Aug 16, 2024
11f8320
Add more tests for irf makers
LukasBeiske Sep 2, 2024
1c375f7
Small refactoring of irf tests
LukasBeiske Sep 3, 2024
9a61124
Add tests for benchmarks; fix axis order in benchmark output
LukasBeiske Sep 3, 2024
f8c0fdf
Address some comments
LukasBeiske Sep 19, 2024
579fb0f
replace removed in numpy 2.0
LukasBeiske Sep 19, 2024
e7a925e
Add unit definition, docstring, fix table name
Tobychev Sep 18, 2024
520e476
Fixed bug with weights not being set properly
Tobychev Sep 20, 2024
8c93ff8
Make header row using columns directly
Tobychev Sep 20, 2024
1f53311
fixed conftest table generation to work around bug with dimensionless…
Tobychev Sep 20, 2024
69c697a
Linspace to match bins from official IRFs
Tobychev Sep 20, 2024
f75106a
harmonised column names
Tobychev Sep 23, 2024
45be6f2
Made linear bins optional, adjusted wording of help strings
Tobychev Sep 23, 2024
35b02f4
Trying to work around pyIrf errors
Tobychev Sep 23, 2024
d2e1692
Rename EnergyMigrationMaker to EnergyDispersionMaker to avoid confusion
LukasBeiske Sep 26, 2024
73f9b84
Replace do_benchmarks with optional benchmark_output_path
LukasBeiske Sep 26, 2024
d21c30c
Fix some code smells
LukasBeiske Sep 26, 2024
305151a
Use ctapipe.compat.COPY_IF_NEEDED
LukasBeiske Sep 30, 2024
655224a
Add test for cut optimization tool
LukasBeiske Oct 1, 2024
7a6bde3
Add test for irf tool
LukasBeiske Oct 11, 2024
56c5539
Calculate full-enclosure irf by default with optional point-like flag
LukasBeiske Oct 18, 2024
c26294b
Remove old todo
LukasBeiske Oct 18, 2024
c35efaf
Merge OptimizationResult and OptimizationResultStore
LukasBeiske Oct 18, 2024
616c40e
Fix some docstrings
LukasBeiske Oct 24, 2024
5a34ad4
Remove support for non-standart column names
LukasBeiske Oct 24, 2024
58f3951
Move on/off ratio config to PointSourceSensitivityOptimizer
LukasBeiske Oct 24, 2024
951bdc9
Rename ctapipe.irf.select to ctapipe.irf.preprocessing
LukasBeiske Nov 15, 2024
9982a79
Add doc pages; fix docstrings; add __all__
LukasBeiske Nov 15, 2024
a3479e1
Update pyirf dependency and make it optional; remove numpy 2.0 hotfixes
LukasBeiske Nov 15, 2024
1a94eb4
Fix heading on doc page
LukasBeiske Nov 18, 2024
4b726e7
Add support for older files
Tobychev Nov 20, 2024
c4953c7
Support for only using proton and gamma files
Tobychev Nov 20, 2024
38eed2b
Remove unused visualisation conde
Tobychev Nov 20, 2024
7ffd76c
Remove unused visualisation conde
Tobychev Nov 20, 2024
91bce34
Fix tests for pyirf as optional dependency; update ctapipe-info
LukasBeiske Nov 21, 2024
b127e30
Fix irf tool for only proton file; remove refs to visualization code …
LukasBeiske Nov 21, 2024
837104f
Improve handling of only protons as bkg and add tests
LukasBeiske Nov 21, 2024
2f92d8b
ctapipe-make-irf -> ctapipe-compute-irf; IrfEventSelector -> EventSel…
LukasBeiske Nov 21, 2024
1406781
Fix docs test for minimal dependencies
LukasBeiske Nov 21, 2024
e13bbd5
Add test for using incompatible cuts for irf computation
LukasBeiske Nov 21, 2024
3dfc055
Use TableLoader to load observation info
LukasBeiske Nov 22, 2024
8f481f3
Restore ability to generate correct pointlike irf files
Tobychev Nov 25, 2024
339439f
Remove option of only calculating gh cuts with cut-opt tool, but keep…
LukasBeiske Jan 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions docs/api-reference/irf/benchmarks.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _benchmarks:

**********
Benchmarks
**********


Reference/ API
==============

.. automodapi:: ctapipe.irf.benchmarks
:no-inheritance-diagram:
12 changes: 12 additions & 0 deletions docs/api-reference/irf/binning.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _binning:

*******
Binning
*******


Reference/ API
==============

.. automodapi:: ctapipe.irf.binning
:no-inheritance-diagram:
44 changes: 44 additions & 0 deletions docs/api-reference/irf/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
.. _irf:

**********************************************
Instrument Response Functions (`~ctapipe.irf`)
**********************************************

.. currentmodule:: ctapipe.irf

This module contains functionalities for generating instrument response functions.
The simulated events used for this have to be selected based on their associated "gammaness"
value and (optionally) their reconstructed angular offset from their point of origin.
The code for doing this can found in :ref:`cut_optimization` and is intended for use via the
`~ctapipe.tools.optimize_event_selection.EventSelectionOptimizer` tool.

The generation of the irf components themselves is implemented in :ref:`irfs` and is intended for
use via the `~ctapipe.tools.compute_irf.IrfTool` tool.
This tool can optionally also compute some common benchmarks, which are implemented in :ref:`benchmarks`.

The cut optimization as well as the calculations of the irf components and the benchmarks
are done using the `pyirf <https://pyirf.readthedocs.io/en/stable/>`_ package.

:ref:`binning`, :ref:`preprocessing`, and :ref:`spectra` contain helper functions and classes used by many of the
other components in this module.


Submodules
==========

.. toctree::
:maxdepth: 1

optimize
irfs
benchmarks
binning
preprocessing
spectra


Reference/API
=============

.. automodapi:: ctapipe.irf
:no-inheritance-diagram:
12 changes: 12 additions & 0 deletions docs/api-reference/irf/irfs.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _irfs:

**************
IRF components
**************


Reference/ API
==============

.. automodapi:: ctapipe.irf.irfs
:no-inheritance-diagram:
12 changes: 12 additions & 0 deletions docs/api-reference/irf/optimize.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _cut_optimization:

********************************
G/H (and Theta) Cut Optimization
********************************


Reference/ API
==============

.. automodapi:: ctapipe.irf.optimize
:no-inheritance-diagram:
12 changes: 12 additions & 0 deletions docs/api-reference/irf/preprocessing.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _preprocessing:

*******************************
Event Loading and Preprocessing
*******************************


Reference/ API
==============

.. automodapi:: ctapipe.irf.preprocessing
:no-inheritance-diagram:
12 changes: 12 additions & 0 deletions docs/api-reference/irf/spectra.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _spectra:

*************************************
Spectra definitions for event weights
*************************************


Reference/ API
==============

.. automodapi:: ctapipe.irf.spectra
:no-inheritance-diagram:
8 changes: 7 additions & 1 deletion docs/api-reference/tools/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,13 @@ Reference/API
:no-inheritance-diagram:

.. automodapi:: ctapipe.tools.train_disp_reconstructor
:no-inheritance-diagram:
:no-inheritance-diagram:

.. automodapi:: ctapipe.tools.apply_models
:no-inheritance-diagram:

.. automodapi:: ctapipe.tools.optimize_event_selection
:no-inheritance-diagram:

.. automodapi:: ctapipe.tools.compute_irf
:no-inheritance-diagram:
17 changes: 17 additions & 0 deletions docs/changes/2473.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Add a ``ctapipe-optimize-event-selection`` tool to produce cut-selection files,
based on a gamma, and optionally a proton and an electron DL2 file.
Two components for calculating G/H and optionally theta cuts are added:
``PercentileCuts`` keeps a certain percentage of gamma events in each bin and
``PointSourceSensitivityOptimizer`` optimizes G/H cuts for maximum point source sensitivity and
optionally calculates percentile theta cuts.

Add a ``ctapipe-compute-irf`` tool to produce irfs given a cut-selection file, a gamma,
and optionally a proton, and an electron DL2 input file.
Given only a gamma file, the energy dispersion, effective area, and point spread function are calculated.
Optionally, the bias and resolution of the energy reconstruction and the angular resolution can be calculated
and saved in a separate output file.
If a proton or a proton and an electron file is also given, a background model can be calculated,
as well as the point source sensitivity.

Both, full enclosure and point-like irf can be calculated.
Only radially symmetric parameterizations of the irf components are implemented so far.
31 changes: 16 additions & 15 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
("py:class", "t.Type"),
("py:class", "t.List"),
("py:class", "t.Tuple"),
("py:class", "t.Sequence"),
("py:class", "Config"),
("py:class", "traitlets.config.configurable.Configurable"),
("py:class", "traitlets.traitlets.HasTraits"),
Expand All @@ -132,35 +133,34 @@
("py:class", "traitlets.config.application.Application"),
("py:class", "traitlets.utils.sentinel.Sentinel"),
("py:class", "traitlets.traitlets.ObserveHandler"),
("py:class", "traitlets.traitlets.T"),
("py:class", "traitlets.traitlets.G"),
("py:class", "Sentinel"),
("py:class", "ObserveHandler"),
("py:class", "dict[K, V]"),
("py:class", "G"),
("py:class", "K"),
("py:class", "V"),
("py:class", "t.Sequence"),
("py:class", "StrDict"),
("py:class", "ClassesType"),
("py:class", "traitlets.traitlets.G"),
("py:class", "re.Pattern"),
("py:class", "re.Pattern[t.Any]"),
("py:class", "astropy.coordinates.baseframe.BaseCoordinateFrame"),
("py:class", "astropy.table.table.Table"),
("py:class", "eventio.simtel.simtelfile.SimTelFile"),
("py:class", "ctapipe.compat.StrEnum"),
("py:class", "ctapipe.compat.StrEnum"),
("py:obj", "traitlets.traitlets.T"),
("py:obj", "traitlets.traitlets.G"),

Check failure on line 154 in docs/conf.py

View check run for this annotation

CTAO-DPPS-SonarQube / ctapipe Sonarqube Results

docs/conf.py#L154

Define a constant instead of duplicating this literal "py:obj" 9 times.
("py:obj", "traitlets.traitlets.S"),
("py:obj", "traitlets.traitlets.T"),
("py:class", "traitlets.traitlets.T"),
("py:class", "re.Pattern[t.Any]"),
("py:class", "re.Pattern"),
("py:class", "Sentinel"),
("py:class", "ObserveHandler"),
("py:obj", "traitlets.config.boolean_flag"),
("py:obj", "traitlets.TraitError"),
("py:obj", "-v"), # fix for wrong syntax in a traitlets docstring
("py:obj", "cls"),
("py:obj", "name"),
("py:meth", "MetaHasDescriptors.__init__"),
("py:meth", "HasTraits.__new__"),

Check failure on line 162 in docs/conf.py

View check run for this annotation

CTAO-DPPS-SonarQube / ctapipe Sonarqube Results

docs/conf.py#L162

Define a constant instead of duplicating this literal "py:meth" 3 times.
("py:meth", "BaseDescriptor.instance_init"),
("py:obj", "cls"),
("py:obj", "name"),
("py:class", "astropy.coordinates.baseframe.BaseCoordinateFrame"),
("py:class", "astropy.table.table.Table"),
("py:class", "eventio.simtel.simtelfile.SimTelFile"),
("py:class", "ctapipe.compat.StrEnum"),
("py:class", "ctapipe.compat.StrEnum"),
]

# Sphinx gallery config
Expand Down Expand Up @@ -404,6 +404,7 @@
"numpy": ("https://numpy.org/doc/stable", None),
"pandas": ("https://pandas.pydata.org/pandas-docs/stable", None),
"psutil": ("https://psutil.readthedocs.io/en/stable", None),
"pyirf": ("https://pyirf.readthedocs.io/en/stable/", None),
"pytables": ("https://www.pytables.org", None),
"pytest": ("https://docs.pytest.org/en/stable", None),
"python": ("https://docs.python.org/3", None),
Expand Down
1 change: 1 addition & 0 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ dependencies:
- pypandoc
- pre-commit
- psutil
- pyirf
- pytables
- pytest
- pytest-cov
Expand Down
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ all = [
"eventio >=1.9.1,<2.0.0a0",
"iminuit >=2",
"matplotlib ~=3.0",
"pyirf ~=0.12.0"
]

tests = [
Expand Down Expand Up @@ -104,6 +105,8 @@ ctapipe-dump-instrument = "ctapipe.tools.dump_instrument:main"
ctapipe-display-dl1 = "ctapipe.tools.display_dl1:main"
ctapipe-process = "ctapipe.tools.process:main"
ctapipe-merge = "ctapipe.tools.merge:main"
ctapipe-optimize-event-selection = "ctapipe.tools.optimize_event_selection:main"
ctapipe-compute-irf = "ctapipe.tools.compute_irf:main"
ctapipe-fileinfo = "ctapipe.tools.fileinfo:main"
ctapipe-quickstart = "ctapipe.tools.quickstart:main"
ctapipe-train-energy-regressor = "ctapipe.tools.train_energy_regressor:main"
Expand Down
Loading
Loading