Skip to content

Instantly share code, notes, and snippets.

View rafaelperez's full-sized avatar
🏠
Working from home

Rafael Silva rafaelperez

🏠
Working from home
View GitHub Profile
@rafaelperez
rafaelperez / dabblet.css
Created February 17, 2014 19:55 — forked from alicelara/dabblet.css
Happy Valentine's Day
/**Happy Valentine's Day
*/
*, *:before, *:after {
box-sizing: border-box
}
body{
background-color:#E03840;
}
@rafaelperez
rafaelperez / gist:a60b221fd25d5afab3f118b79ecb87a9
Created September 3, 2017 20:58 — forked from megafaunasoft/gist:6152840
Spectral matting in numpy/scipy
#-----------------------------------------------------------------------------------------
#
# Spectral Matting
#
import time
import logging
import numpy as np
from scipy import ndimage, sparse
import scipy.sparse.linalg as sparse_linalg
import xml.etree.ElementTree as ET
import threading, re, struct, time
#Create the svg to roto class
class SvgRoto(threading.Thread):
def __init__(self, file, maxShapes=300, renderHidden=False):
threading.Thread.__init__(self)
#the file name
self.file = file
#list of all of the shapes
Gizmo {
name X_Denoise
help "Clean digital noise on video"
knobChanged "import math\nn = nuke.thisNode()\nk = nuke.thisKnob()\ni = n\['iterations'].value()\nm = n\['x2'].value()\n\n\nif k.name() == \"iterations\":\n n\['active_frames'].setValue(1+math.ceil(i)*2*(1+m))\nelif k.name() == \"x2\":\n n\['active_frames'].setValue(1+math.ceil(i)*2*(1+m))\nif n\['fix_artifacts'].value() == 0:\n n\['motion_threshold'].setEnabled(False)\n n\['smooth_threshold'].setEnabled(False)\n n\['preview_mask'].setEnabled(False)\n n\['median'].setEnabled(False)\nelse:\n n\['motion_threshold'].setEnabled(True)\n n\['smooth_threshold'].setEnabled(True)\n n\['preview_mask'].setEnabled(True)\n n\['median'].setEnabled(True)\n\nif n\['static'].value() == 1:\n n\['vectorDetail'].setEnabled(False)\n n\['smoothness'].setEnabled(False)\n n\['flickerCompensation'].setEnabled(False)\nelse:\n n\['vectorDetail'].setEnabled(True)\n n\['smoothness'].setEnabled(True)\n n\['flickerCompensation'].setEnabled(True)"
selected true
Group {
help "aPMatte v1.0 by Adrian Pueyo\n\nGenerate a matte of different shapes, based on a Position pass. Includes options to transform the mask and change its falloff. Also has the option to output or overlay a P-based 3D noise.\n\nadrianpueyo.com, 2017"
name "aPMatte"
knobChanged "n = nuke.thisNode()\nk = nuke.thisKnob()\n\nif k.name() == \"shape\":\n rampOn = k.value() in \['linear ramp', 'radial ramp'];\n n\['radius'].setVisible(not rampOn)\n n.knobs()\[\"black\"].setVisible(rampOn)\n n.knobs()\[\"picker\"].setLabel( \"white\" if rampOn else \"center\" )\n\n\nif k.name() == \"noise\":\n noiseOn = k.value() != 'off';\n n\['noise_rel'].setVisible(noiseOn)\n n\['noise_persistance'].setVisible(noiseOn)\n n\['noise_octaves'].setVisible(noiseOn)\n n\['noise_lacunarity'].setVisible(noiseOn)\n n\['noise_size'].setVisible(noiseOn)\n n\['noise_offset'].setVisible(noiseOn)\n n\['noise_add'].setVisible(noiseOn)\n n\['noise_gain'].setVisible(noiseOn)\n n\['noise_gamma']
set cut_paste_input [stack 0]
version 11.1 v3
push $cut_paste_input
Camera2 {
translate {0 6 -2.587715073e-07}
rotate {-90 0 0}
name Camera1
selected true
xpos 113
ypos 220
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY"
--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Content-Disposition: attachment; filename=".start"
Content-Type: text/plain
fplayback -i on -r on -f 1 -e on -h on -t on -a on -k on -s 1
tcur 0.91666666666666663
fps 24
def TrackerToRoto() :
#CREATES NEW LAYER ON ROTO OR ROTOPAINT WITH TRACKING DATA
import nuke.rotopaint as rp
n = nuke.selectedNodes()
try:
nuke.selectedNode()
except:
print nuke.message("Select a Tracker and a Roto or Rotopaint!")
#! /home/vfx/Nuke11.1v1/libnuke-11.1.1.so -nx
version 11.1 v1
define_window_layout_xml {<?xml version="1.0" encoding="UTF-8"?>
<layout version="1.0">
<window x="1920" y="25" w="1920" h="2107" screen="0">
<splitter orientation="1">
<split size="1214"/>
<splitter orientation="2">
<split size="1102"/>
<dock id="" activePageId="Viewer.1">
#! /home/vfx/Nuke11.1v1/libnuke-11.1.1.so -nx
version 11.1 v1
define_window_layout_xml {<?xml version="1.0" encoding="UTF-8"?>
<layout version="1.0">
<window x="1920" y="25" w="1920" h="2107" screen="0">
<splitter orientation="1">
<split size="1214"/>
<splitter orientation="2">
<split size="1102"/>
<dock id="" activePageId="Viewer.1">