Contributions are welcome and appreciated. There are a few ways to contribute:
Please report bugs at the repo's issue tracker. When reporting, please include a detailed description of how to reproduce the bug, what OS/enivronment you're on and tag the issue with the 'bug' label.
Issues tagged with 'bug' and 'help wanted' are open to all. If it's not tagged with 'help wanted' and you have a fix, submit a pull request (but no guarantees of a merge).
If you think some of the docs aren't clear, raise an issue. If possible, try adding more documentation to bits you understand and feel are lacking.
This can be in the form of issues requesting a feature, or describing a general problem you'd like fixed that's not a bug.
The most difficult! There are a few features that would be nice to have implemented - check out the issues tracker for issues tagged 'enhancements' and 'help wanted'. Here's a list of the big ones:
- GPU featurisation using pyClesperanto: should be mostly a drag n drop replacement of multiscale_features so long as it returns an np array
- 3D featurisation: currently featurisation is 2D only
- A native app/GUI: originally this project was a Python + Tkinter project, but that has largely fallen by the wayside. An updated Python version would be able to leverage all the GPU accelerations and ideally have a nice user interface without needing to install node/npm/yarn. It should be relatively easy to detach all the core logic from the server logic and wrap into a GUI.
- Fork the
SAMBA
repo on GitHub. - Clone your fork locally:
git clone [email protected]:your_name_here/SAMBA.git
- Follow all the installation instructions on
README.md
, including creating a virtual environment etc. - Create a branch for local development:
git checkout -b name-of-your-bugfix-or-feature
- If making changes to the backend, check the tests pass:
python backend/tests.py $FIJI_PATH
- Commit your changes and push your branch to GitHub:
git add .
git commit -m "Your detailed description of your changes."
git push origin name-of-your-bugfix-or-feature
- Submit a pull request through the GitHub website. Ensure new backend features have associated tests and any new code has docstrings and comments.
This document was adapted from https://github.com/tldr-group/taufactor/blob/main/CONTRIBUTING.md