Skip to content

Instantly share code, notes, and snippets.

Jed Smith jedypod

Block or report user

Report or block jedypod

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@jedypod
jedypod / ExposureBracketBlend.nk
Last active Jul 15, 2019
Nuke node to automate the blending of multiple bracketed exposures into a single high dynamic range hdr image. Includes a script to sort the input nodes based on exposure time.
View ExposureBracketBlend.nk
set cut_paste_input [stack 0]
BackdropNode {
inputs 0
name BackdropNode4
tile_color 0x7f7f7f01
label "Self contained python"
note_font_size 25
selected true
xpos -1456
ypos 883
@jedypod
jedypod / README.md
Last active Jun 23, 2019
Nuke ffmpeg Render
View README.md

Nuke ffmpeg Render

Writeffmpeg is a python script and a node that allows you to render from Nuke directly into ffmpeg. Instead of a 2 step process where you render from Nuke to a temporary image sequence that you then transcode using ffmpeg, this solution writes to a single uint16 cache tiff file and this data gets piped into ffmpeg.

I've included a little screen recordingto help demo how it works.

Files

ffmpeg_render.py Writeffmpeg.nk

Dependencies

@jedypod
jedypod / FLog2Lin.nk
Last active Jun 23, 2019
Fuji F-Log Colorspace Transformations
View FLog2Lin.nk
set cut_paste_input [stack 0]
push $cut_paste_input
Group {
name FLog2Lin
label "\[value operation]"
selected true
xpos -40
ypos -952
addUserKnob {20 FLog2Lin}
addUserKnob {4 operation M {log2lin lin2log}}
@jedypod
jedypod / daily_still_photos.py
Created Dec 20, 2018
Develop and process still photos using OpenImageIO
View daily_still_photos.py
import OpenImageIO as oiio
from OpenImageIO import ImageInput, ImageOutput
from OpenImageIO import ImageBuf, ImageSpec, ImageBufAlgo
import os, sys
import shlex, subprocess
import glob
#--------------------------------------------
@jedypod
jedypod / nuke_python_recipes.py
Last active Jun 18, 2019
Nuke Python Recipes
View nuke_python_recipes.py
import nuke, math
def get_closest_node(node):
# Return the closest node to node
distances = {}
for n in nuke.allNodes():
if n.name() == node.name():
continue
distance = math.sqrt(
math.pow( (node.xpos() - n.xpos()), 2 ) + math.pow( (node.ypos() - n.ypos()), 2 )
)
@jedypod
jedypod / DAILIES_CONFIG.yaml
Last active Dec 2, 2018
Tool to pipe openexr images, apply an ocio display, and output through a bash pipe to ffmpeg and encode to mov
View DAILIES_CONFIG.yaml
globals:
###############################################
## Color
###############################################
# Path to the ocio config to use
ocioconfig: /opt/ocio/aces/config.ocio
# ocio display transform
ociodisplay: ACES
@jedypod
jedypod / photo_autoexpose.py
Last active Nov 29, 2018
Python script using OpenImageIO to automatically expose scene linear aces ap0 openexr source files and render into jpeg
View photo_autoexpose.py
import OpenImageIO as oiio
from OpenImageIO import ImageInput, ImageOutput
from OpenImageIO import ImageBuf, ImageSpec, ImageBufAlgo
import os, sys
import shlex, subprocess
import glob
#--------------------------------------------
@jedypod
jedypod / AutoExposure.nk
Last active Nov 29, 2018
Sample Color values of input averaging within a box size
View AutoExposure.nk
Group {
name AutoExposure
addUserKnob {20 User}
addUserKnob {41 wb T ColorMatch.wb}
addUserKnob {41 dst_color l dst T ColorMatch.dst_color}
addUserKnob {22 calc T "n = nuke.thisNode()\nnuke.root().begin()\nn.begin()\nct = nuke.toNode('CURVETOOL')\nct\['intensitydata'].clearAnimated()\nt = nuke.frame()\nnuke.execute(ct, t, t)" +STARTLINE}
addUserKnob {26 ""}
addUserKnob {41 intensitydata T CURVETOOL.intensitydata}
addUserKnob {41 sample T ColorSampler.sample}
addUserKnob {26 ""}
@jedypod
jedypod / HexGenerator.nk
Last active Dec 17, 2018
Generates a Hex Pattern
View HexGenerator.nk
set cut_paste_input [stack 0]
version 5.2 v1
Group {
inputs 0
name HexGenerator
selected true
xpos -50
ypos -482
addUserKnob {20 HexGenerator}
addUserKnob {41 format T HexGenCalc.format}
View CornerPinToMatrix
set cut_paste_input [stack 0]
push $cut_paste_input
Group {
name CornerPinMatrix
help "<b>PlanarProjection</b>\n\nGenerates 2D coordinates for points in 3D space. Type in 3D point coordinates, or use vertex selection in 3D viewer and click set to pick average of selected points, or set points to set all four points at once. You can connect node output to scene together with your pointcloud or geometry and see where your points are located in 3d space. Double click any of them to move it in 3d space like any traditional nuke transform control.\n\nA matrix transform is also generated to be used with RotoPaint, SplineWarp and GridWarp nodes.\n\nIf you are using matrix in GridWarp, points have to be in clockwise order, pick them one by one! Command set points doesn't respect selection order!\n\nCheck out the demo video on my website!\n\nKudos to Ivan Busquets for help with matrix math.\n\n--\ndeveloped by Vit Sedlacek (c)2012\nwww.vitsedlacek.com\n\n-- \nModified by Jed Smith to make calculation time nearly ins
You can’t perform that action at this time.