As PHOTONAI is a framework developed to unify the machine learning worfklow and integrate state-of-the-art algorithm implementations, contributions are more than welcome.
Add custom preprocessing algorithm
In order to integrate a custom transformer element, simply adhere to the scikit-learn object API as depicted here
Add custom learning algorithm
In order to integrate a custom learning algorithm, integrate scikit-learn object API for estimators as depicted here
Python Style Guide
We require each contribution to
- PEP 8 Style Guide
- be programmed in an object-oriented manner
- include Docstring documentations
In addition we ask each contributor to the following steps
- Create a new feature branch derived from the current development branch
- Add your feature to either the PHOTONAI core files, or if you want to add a custom algorithm, add it to the modelwrapper folder
- Please add an example script, to showcase the syntax to use your feature in the examples folder. Based on that, we will integrate it in the online documentation.
- Make sure you add unit tests to the unit test folder to a) make sure your feature is working properly and b) help other developers to assure any new code does not affect your feature.
- In order to output information, please use the PHOTONAI Logger that can be imported from photonai.photonlogger.logger. This will make sure that all your information is included in the log files that are written to the user's specified output folders.
- Finally please add a pull request to our github repository and we will take care of your feature's integration.