Giter Club home page Giter Club logo

nuke-colortools's Introduction

Nuke Color Tools

A collection of Nuke tools related to color science and the Academy Color Encoding System (ACES).

  • ACES Output Transform v1.2 - A Nuke node to apply ACES output transforms, matching ACES v1.2 CTL. This node is compatible with Nuke Non-Commercial. There is also a blinkscript version.
  • ACES Output Transform v1.0.3 - A Nuke node to apply ACES output transforms, matching ACES v1.0.3 CTL. This node is compatible with Nuke Non-Commercial. There is also a blinkscript version.
  • ACES Inverse Output Transforms are also available as separate nodes: ACES_InvOutputTransform_v1.0.3 (with blink version), ACES_InvOutputTransform_v1.2 (with blink version).
  • ACES expression nodes - A Nuke node implementation of rrt algorithms: segmented_spline_c5, segmented_spline_c9, ssts, glow_module, red_modifier. No blinkscript, compatible with Nuke Non-Commercial.
  • Gamut Convert - Calculate a 3x3 matrix to convert from one colorspace to another, given the chromaticity coordinates of the source and destination colorspaces, and a chromatic adapaptation method if the whitepoints are different.
  • Whitepoint - Calculate a chromatic adaptation matrix given a source and a destination whitepoint as CIE xy chromaticity coordinates. Supports blackbody color temperature and input image sampling.
  • Gamut to XYZ - Calculate a 3x3 matrix to convert an RGB colorspace to CIE XYZ, given the chromaticities of the color gamut - (the rgb primaries and whitepoint as xy coordinates).
  • Plot Chromaticity - A blinkscript tool for plotting an image on a chromaticity diagram. Supports overlays for the spectral locus, the planckian locus, pointer's gamut, a macbeth chart, and 3 rgb gamuts.
  • Plot Chromaticity Points - Same as PlotChromaticity above, but uses a Nuke 3D PositionToPoints method instead of blinkscript. Works in Nuke Non-Commercial, and is useful if you want to view the 3 dimensional gamut volume.
  • Plot Waveform - Blinkscript tool to plot the waveform of an input image.
  • Plot Slice - Blinkscript tool to plot a graph of the pixel values through a slice of the input image. Similar to the venerable SliceTool written by Frank Reuter, but with antialiasing.

For more specific information on each tool go to the toolsets folder and check out the README.

Resources

OCIO Configs

I also made some OCIO Configs and other color pipeline tools which might be of interest.

nuke-colortools's People

Contributors

jedypod avatar kelsolaar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nuke-colortools's Issues

PlotChromaticity

Hi, Jed!
Macbeth colorchecker colors reference dots in PlotChromaticity.nk don't match the colors from MacbethColorchecker.nk and ColorChecker24Sweep.nk. Looks like its a white point mismatch.
(Or I use it wrong)

ACES Output Transform Blink won't compile in OpenCL

The Blink versions of the ACES Output Transform (and quite possibly others of your Blink based nodes) won't run on the GPU on my MacBook Pro.

I can fix it by changing the process() function in the kernel to use this additional step:

SampleType(src) input = src();
float3 aces = float3(input.x, input.y, input.z);

Your original code referencing src() directly gives an error.

float3 aces = float3(src().x, src().y, src().z);

This change obviously also needs to be reflected in the final line:

dst() = float4(aces.x, aces.y, aces.z, input.w);

Create a tag

Hello,

If you don't mind, could you create a tag to help us version this package on our end?

Best,

Mitja

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.