PHOTONAI is built on clean interfaces and therefore fully customizable.

The core class is the Hyperpipe, managing the selection of training parameters and offering convenient setup functionality for custom Pipelines. The Pipeline streams data through a sequence of Pipeline Elements, the latter of which represent either established or custom algorithm implementations (BaseElement).

Pipeline Elements can share a Pipeline position within the data stream via an And-Operation (Stack), an Or-Operation (Switch) or building a parallel sub-pipeline (Branch).

Integrating a custom algorithm

With an internal registration system that instantiates class objects from a keyword, the import, access and setup of different algorithms is significantly simplified and accelerated. Relying on the established scikit-learn object API (REF), users can integrate any third-party or custom algorithm. Once registered, custom code fully integrates into all PHOTON functionalities thus being compatible with all other algorithms, hyperparameter optimization strategies, PHOTON’s extended pipeline functionality, nested cross-validation and model persistence.

PHOTONAI class diagram