Verified Commit 28a1fee4 authored by Sofus Albert Høgsbro Rose's avatar Sofus Albert Høgsbro Rose
Browse files

Added links to README. Done!

parent f63828c2
# openlut - OSS tools for practical color management.
[![build status](https://git.sofusrose.com/so-rose/openlut/badges/master/build.svg)](https://git.sofusrose.com/so-rose/openlut/commits/master)
*Main development happens at https://git.sofusrose.com/so-rose/openlut - take a look!*
**Main Dev Repo**: https://git.sofusrose.com/so-rose/openlut (GitLab)
**PyPi Package**: https://pypi.python.org/pypi/openlut
What is it?
-----
......
openlut - Open-source tools for practical color management.
===========================================================
openlut - OSS tools for practical color management.
===================================================
\*\*Main development happens at
https://git.sofusrose.com/so-rose/openlut - take a look!
|build status|
**Main Dev Repo**: https://git.sofusrose.com/so-rose/openlut (GitLab)
**PyPi Package**: https://pypi.python.org/pypi/openlut
What is it?
-----------
openlut is, at its core, a transform-focused color management library,
accessible from **Python 3.5+**. It's built on my own color pipeline
needs, which includes managing Lookup Tables, Gamma/Gamut
openlut is, at its core, a transform-focused **color management
library**, accessible from **Python 3.5+**. It's built on my own color
pipeline needs, which includes managing Lookup Tables, Gamma/Gamut
functions/matrices, applying color transformations, etc. .
openlut is also a practical tool. Included soon will be a command line
......@@ -18,24 +20,7 @@ comfort of your console. Included already is an OpenGL image viewer,
which might grow in the future to play sequences.
I wanted it to cover this niche simply and consistently, with batteries
included (a library of gamma functions and color gamut matrices). Color
management doesn't have to be so difficult!
What About OpenColorIO? Why does this exist?
--------------------------------------------
OpenColorIO does amazing work - but mostly in the context of large
applications, not-simple config files, and self-defined color space
(with the full range of int/float bit depth specifics, etc.)
openlut is all about images and the transforms on images. Everything
happens in (0, 1) float space. Large emphasis is placed on managing the
tools themselves as well - composing matrices, resizing LUTs, defining
new gamma functions, etc. .
In many ways, OCIO is a system stringing basic operations together. I'd
be perfectly plausible to write an OCIO alternative with openlut in the
backend.
included (a library of gamma functions and color gamut matrices).
Documentation
-------------
......@@ -46,51 +31,61 @@ progress for now (ColMap is 100% documented).
Installation
------------
First: **Ensure you have dependencies!!!** The pip command will break
without them.
1. **Get the dependencies!!!** The pip command will break without them.
Simply use pip: ``pip3 install openlut`` (pip3 denotes that you must use
a Python 3 version of pip). Keep in mind, there are some external
dependencies: \* **Python 3.5**: This is Python; you need Python. \*
**gcc**: This is needed to compile the C++ extensions. \*
**imagemagick**: For all file IO. It's not like I was gonna write that
myself :) .
- **On Debian/Ubuntu**:
``sudo apt-get install python3-pip gcc libmagickwand-dev``
- **On Mac**: ``brew install python3 gcc imagemagick``
- **All**: Make sure **pip**, **setuptools**, and **wheel** are
installed. ``pip3 install -U pip setuptools wheel``. It can cause
errors if they aren't.
*If it's breaking, try running ``pip3 install -U pip setuptools``.
Sometimes they are out of date.* *Linux: You make need to use ``sudo``
before the command. Ignore the AssertionError when building the wheel;
it doesn't affect anything.*
2. Run ``pip3 install openlut`` *(possibly sudo)*. This step **relies**
on the successful installation of deps:
Installing Dependencies
-----------------------
- **Python 3.5**: This is Python. You need Python.
- **gcc**: This is needed to compile the C++ extension.
- **imagemagick**: For all file IO. It's not like I was gonna write
that myself :) .
Not Difficult, I promise!
*Linux: Ignore the AssertionError when building the wheel; it doesn't
affect anything.*
On Debian/Ubuntu:
``sudo apt-get install python3-pip gcc libmagickwand-dev``
Troubleshooting
---------------
On Mac: ``brew install python3 gcc imagemagick`` \* You will need
Homebrew ( copy/paste a command from http://brew.sh/ to install ) and
XCode Command Line Tools for gcc (it should prompt you to install this).
\* If this doesn't install pip, run
``brew install python3; curl https://bootstrap.pypa.io/get-pip.py | python3``
If python's installed but pip won't install, run
``curl https://bootstrap.pypa.io/get-pip.py | python3``
On Other: You need **python 3.5**, pip, a newer version (must support
C++14) of **gcc**.
No Windows support right now - it's the C++ module's fault.
Basic Library Usage
-------------------
Start an issue if something goes wrong with the library itself!
To represent images, use a **ColMap** object. This handles IO to/from
all ImageMagick supported formats (**including EXR and DPX**), as well
as storing the image data.
Misc. Systems need, generically: \* Python 3.5+ \* Pip \* gcc (with
c++14 and openmp support)
Use any child of the **Transform** class to do a color transform on a
ColMap, using ColMap's ``apply(Transform)`` method.
What About OpenColorIO? Why does this exist?
--------------------------------------------
OpenColorIO does amazing work - but mostly in the context of large
applications, not-simple config files, and self-defined color space
(with the full range of int/float bit depth specifics, etc.)
openlut is all about images and the transforms on images. Everything
happens in (0, 1) float space. Large emphasis is placed on managing the
tools themselves as well - composing matrices, resizing LUTs, defining
new gamma functions, etc. .
In many ways, OCIO is a system stringing basic operations together. I'd
be perfectly plausible to write an OCIO alternative with openlut in the
backend.
I Wanna Contribute!
-------------------
The **Transform** objects themselves have plenty of features - like LUT,
with ``open()``, ``save()``, and ``resize()`` methods, or TransMat with
auto-combining input matrices, or automatic spline-based interpolation
of very small 1D LUTs - to make them helpful in and of themselves!
I'm honored! I could use help with: \* Feedback \* Gamma Transfer
Functions: The more "batteries" are included, the better! \* D65
XYZ-referenced color matrices (gamut definitions): See above.
Take a look at the test code under tests for examples.
.. |build status| image:: https://git.sofusrose.com/so-rose/openlut/badges/master/build.svg
:target: https://git.sofusrose.com/so-rose/openlut/commits/master
......@@ -32,7 +32,7 @@ olOpt = Extension( 'openlut.lib.olOpt',
)
setup( name = 'openlut',
version = '0.2.4',
version = '0.2.6',
description = 'OpenLUT is a practical color management library.',
long_description = read('README.rst'),
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment