A picture processing algorithm development kit.
Pyctools is a collection of picture processing primitive components that you can easily interconnect to make complex algorithm simulations. It works with stills or video, and utilises popular libraries such as Python Imaging Library, NumPy and OpenCV.
Example projects using pyctools include pyctools-pal (a simulation of the Transform PAL decoder) and pyctools-demo (demonstrations of some simple processing).
The core Pyctools library and components are documented on Read The Docs. If you install additional components you should build a local copy of the documentation to include the extra components.
- Python version 3.6 or later.
- NumPy for its powerful multi-dimensional array object.
- Python Imaging Library for image file reading and writing. (The pillow fork of PIL is recommended.)
- Cython to build fast extensions for Python.
- python-exiv2 to handle metadata.
- OpenCV python bindings for advanced image processing.
- FFmpeg to read and write video files.
- rawkit and/or rawpy to read raw image files.
- PyQt5 and PyOpenGL graphic toolkit used by the Pyctools visual editor and the Qt display components.
- Sphinx to build local documentation.
Please see the documentation for full details of how to install Pyctools and its requirements.
Pyctools is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Pyctools is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Pyctools. If not, see https://www.gnu.org/licenses/.