This library contains tools and scripts used for image processing and analysis of medical images. The code makes use of ITK and VTK and is written in Python. Jupyter notebooks are provided where possible, mainly for guidance on getting started with using the tools.
- Python 3.6 or greater
- See requirements.txt for required Python packages
Create a branch off of devel while you make your changes or implement your new tool. Once complete, head to GitHub to create a pull request to merge your changes into the main development branch (devel).
Python code written in this repository should conform to PEP 8 Style Guide for Python. You may like to use black to ensure that your code conforms to PEP 8 standards.
This toolbox is broken up into separate modules. Each module contains several tools, scripts or applications. The following structure should be observed:
- module/
- data/: Directory containing sample data to be used by the Jupyter notebooks and/or test cases of tools within module
- tool/
- *.py: One or more Python scripts providing some functionality
- README.md: Contains description of tool, authors, etc...
- Sample.ipynb: Jupyter notebook demonstrating the basics of using the tool
- tests/: Directory containing test scripts to be run by pytest
Where possible, the tools and scripts within this toolbox should provide a way to run them from the command line. A simple Python library to provide this functionality is click. You simply need to annotate the functions you want to have accessible from the command line. See the official click documentation for an introduction to using click.
Automated unit tests are important for code bases to which various authors are contributing, to ensure that their changes don't make any unintended breaking changes to other parts of the code.
This toolbox uses pytest as the testing framework. See the official pytest documentation for an introduction to writing tests with pytest.
Before you submit a pull request, make sure all the tests are passing by running the command:
pytest
from the root directory of the toolbox.
- Phillip Chlap - [email protected]
- Robert Finnegan - [email protected]