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

Document the layers of the ctapipe API better #2646

Open
kosack opened this issue Nov 12, 2024 · 1 comment
Open

Document the layers of the ctapipe API better #2646

kosack opened this issue Nov 12, 2024 · 1 comment

Comments

@kosack
Copy link
Contributor

kosack commented Nov 12, 2024

This was noted in discussions with ACADA's SAG-RECO team who are considering using some parts of ctapipe. It was not obvious to them that there are multiple ways to use ctapipe:

  • Low-level functions / Components that implement basic algorithms (e.g. hillas_parameters, ImageCleaner, DataWriter)
  • Medium-level Components that standardize a complex set of steps like DLx → DLy transforms (e.g. ShowerProcessor)
  • High-level Tools that handle configuration, many Components, I/O, provenance, etc, and define command-line applications.
  • Transverse functionality, e.g. the instrument and core.metadata modules, maybe the container structure in general?

Showing this "stack" would be useful in the documentation, with examples of how each could be used.

We also noticed that using a Tool outside of a command prompt (i.e. in a python script) is also not well described, though it is somewhat covered in the tool tutorial.

@kosack
Copy link
Contributor Author

kosack commented Nov 12, 2024

The summary is maybe more that we need a proper architecture section of the docs, with some text or diagrams showing the difference between the various parts:

  • algorithms (with the three levels above)
  • data model,
  • support functionality like instrument, provenance, etc.

May take a bit of thought to do this properly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant