Skip to main content

Builds, modifies, visualizes, and converts 3D LUTs from popular .cube and .3dl formats.

Project description

Builds, modifies, visualizes, and converts 3D LUTs from popular .cube and .3dl formats. Source available at https://github.com/gregcotten/pylut.

Usage

The idea is that the modifications to a LUT object are non-volatile, meaning that every modification method returns a new LUT object rather than changing the existing object. All sorts of great things can happen!

#!/usr/bin/env python
from pylut import *
lut = LUT.FromLustre3DLFile("/path/to/file.3dl")
lut2 = LUT.FromLustre3DLFile("/path/to/file2.3dl")

print lut.ColorAtLatticePoint(1,2,1)
print lut.ColorAtInterpolatedLatticePoint(1.3,1.5,1.2)
print lut.ColorFromColor(Color(.002,.5,.2344))
print lut.ColorFromColor(Color.FromRGBInteger(14, 1000, 30, bitdepth = 10))

lut3 = lut.CombineWithLUT(lut2)

lut3 *= .5
lut3 -= LUT.FromIdentity(lut3.cubeSize)

lut3 = lut3.ClampColor(Color(0,0,.2),Color(0,0,.4))

lut3 = lut3.Resize(33)
lut3.ToNuke3DLFile("/path/to/destination.3dl")

CLI

I also have a terrible CLI inside bin/pylut-cli.py.

You need to:

sudo pip install docopt

And then:

chmod a+x pylut-cli.py

And you should be ready to go!

Example:

pylut-cli.py some_lut.3dl --resize 17 --convert RCUBE

The Future

  1. No clue.

Contributing

  1. Fork it

  2. Create your feature branch (git checkout -b my-new-feature)

  3. Commit your changes (git commit -am 'Add some feature')

  4. Push to the branch (git push origin my-new-feature)

  5. Create new Pull Request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylut-1.4.2.tar.gz (6.5 kB view details)

Uploaded Source

File details

Details for the file pylut-1.4.2.tar.gz.

File metadata

  • Download URL: pylut-1.4.2.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pylut-1.4.2.tar.gz
Algorithm Hash digest
SHA256 439d60b7b841291ed7263fef1e5c30f079e1c0479d3f4ec3531b4ea034605e42
MD5 2061f72a61a89d42ed604df51ac46df4
BLAKE2b-256 e66ab06c3939e94d61f782dcaf01206100797dd7f69ab1f1e134a34fd46ee3b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page