https://github.com/jim-easterbrook/pyctools
A picture processing algorithm development kit
https://github.com/jim-easterbrook/pyctools
Last synced: 8 months ago
JSON representation
A picture processing algorithm development kit
- Host: GitHub
- URL: https://github.com/jim-easterbrook/pyctools
- Owner: jim-easterbrook
- License: gpl-3.0
- Created: 2014-10-01T08:34:37.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2025-03-12T08:38:47.000Z (over 1 year ago)
- Last Synced: 2025-09-29T05:03:08.516Z (9 months ago)
- Language: Python
- Size: 1.51 MB
- Stars: 11
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.txt
- Contributing: CONTRIBUTING.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
Pyctools
========
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_.
.. image:: https://pyctools.readthedocs.io/en/latest/_images/editor_8.png
Example projects using pyctools include `pyctools-pal`_ (a simulation of the `Transform PAL decoder`_) and `pyctools-demo`_ (demonstrations of some simple processing).
Documentation
-------------
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.
Requirements
------------
Essential
^^^^^^^^^
* 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.
Optional
^^^^^^^^
* OpenCV_ python bindings for advanced image processing.
* FFmpeg_ to read and write video files.
* rawkit_ and/or rawpy_ to read raw image files.
* PyQt_ (or PySide_) and PyOpenGL_ graphic toolkit used by the Pyctools visual editor and the Qt display components.
* Sphinx_ to build local documentation.
Installation
------------
Please see `the documentation`_ for full details of how to install Pyctools and its requirements.
Licence
-------
| Pyctools - a picture processing algorithm development kit.
| https://github.com/jim-easterbrook/pyctools
| Copyright (C) 2014-25 Pyctools contributors
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/.
.. _Cython: https://cython.org/
.. _FFmpeg: https://www.ffmpeg.org/
.. _NumPy: https://numpy.org/
.. _OpenCV: https://opencv.org/
.. _pillow: https://python-pillow.org/
.. _pyctools-demo: https://github.com/jim-easterbrook/pyctools-demo
.. _pyctools-pal: https://github.com/jim-easterbrook/pyctools-pal
.. _PyOpenGL: https://pyopengl.sourceforge.net/
.. _PyQt: https://riverbankcomputing.com/software/pyqt/intro
.. _PySide: https://wiki.qt.io/Qt_for_Python
.. _Python: https://www.python.org/
.. _python-exiv2: https://pypi.org/project/exiv2/
.. _Python Imaging Library:
https://en.wikipedia.org/wiki/Python_Imaging_Library
.. _rawkit: https://rawkit.readthedocs.io/
.. _rawpy: https://letmaik.github.io/rawpy/api/index.html
.. _Read The Docs: https://pyctools.readthedocs.io/
.. _Sphinx: https://www.sphinx-doc.org/
.. _the documentation:
https://pyctools.readthedocs.io/en/latest/manual/installation.html
.. _Transform PAL decoder: https://www.jim-easterbrook.me.uk/pal/