Command line tools (tools)¶
Introduction¶
ctapipe.tools contains the command line tools that use the ctapipe
framework. All commandline tools inherit from ctapipe.core.Tool
which provides a common user-interface experience, complete with
command-line and configuration file handling, logging, and provenance
features. See ctapipe.core documentation for examples.
Getting Started¶
You can find out what ctapipe tools are installed using the
ctapipe-info command-line tool:
ctapipe-info --tools # list all tools
ctapipe-info --version # show ctapipe version
ctapipe-info --dependencies # list dependencies
To find out more about a specific tool, use it’s --help command-line option
Common Tool Functionality¶
High-level command-line options can be seen with
--helpLow-level (Component) options can be seen with
--help-allYou can either specify options on the command-line, or in a config file (so far in JSON or python format, see the documentation for traitlets.config). Specify this configuration file using the
--config=FILENAMEoption.You can set the logging level of a tool using
--log_levelto a value or name in the list[0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']. By default, only warning messages are shown, but if you specify DEBUG you will get everything.
Developing a new Tool¶
To create a new command-line Tool, follow the following procedure:
make a subclass of
ctapipe.core.Tooldefine any user-configurable parameters of the tool
register any configurable
ctapipe.core.Componentlasses that you will use with the Tool via itsclassesattributeuse the
aliasesattribute to promote any parameters from one of the sub-Components to a high-level a command-line parameter (they can still be specified using the advanced command-line command syntax or via a config file if you do not do this, but if the parameter is commonly changed by the user, having it be high-level is more convenientoverload the
setup(self),start(self), andfinish(self)methods to implement the functinatlity of the tool (these will be called in order when you call therun()method.make sure you have a function called
main()that creates and runs your tool in the source file.add the file and
main()function you made in step 6 to the top-levelsetup.pyfile under the section calledentry_points['console_scripts']. This will automatically create an executable calledctapipe-*where*is the name of the source file of your tool (e.g.mytool.pywill becomectapipe-mytool.this new tool will be installed in the bin directory next time you run
make developat the top-level of ctapipe, or if you re-install the ctapipe package in non-developer mode.
Reference/API¶
ctapipe.tools Package¶
ctapipe command line tools.
ctapipe.tools.process Module¶
Generate DL1 (a or b) output files in HDF5 format from {R0,R1,DL0} inputs.
Classes¶
|
Process data from lower-data levels up to DL1, including both image extraction and optinally image parameterization |