Yup, that's how I have done my custom tools for years.
I sense a Nukepedia tutorial come up about how to register such a viewer
process ;)
On 14/10/12 3:04 PM, Ivan Busquets wrote:
I'd also cast my vote for having this built into the viewer, maybe as
a dropdown under the cliptest/zebra pattern option, for the sake of
convenience.
However, in terms of a more efficient way to do a custom one, there
are ways around having to sample the image (with tcl or python), or
having to pre-analyze, avoiding the notable overhead that goes with it.
Taking Diogo's Dilate Min/Max approach, for example, there's no need
to sample the image afterwards, since you can do all the scaling
and offsetting using regular merges.
Ex:
set cut_paste_input [stack 0]
version 6.3 v8
push $cut_paste_input
Ramp {
p0 {0 0}
p1 {2048 0}
color 1000
name Ramp2
label "0 to 1000"
selected true
xpos 1112
ypos -322
}
Group {
name Normalize
tile_color 0x7aa9ffff
selected true
xpos 1112
ypos -216
}
Input {
inputs 0
name Input
xpos -450
ypos -312
}
set N18046380 [stack 0]
push $N18046380
Dilate {
size {{"-max(input.format.w, input.format.h)"}}
name Dilate2
label Min
xpos -376
ypos -200
}
CopyBBox {
inputs 2
name CopyBBox2
xpos -376
ypos -76
}
set N1a498300 [stack 0]
push $N18046380
Merge2 {
inputs 2
operation from
name Merge4
xpos -450
ypos 59
}
push $N1a498300
push $N18046380
push $N18046380
Dilate {
size {{"max(input.format.w, input.format.h)"}}
name Dilate1
label Max
xpos -281
ypos -323
}
CopyBBox {
inputs 2
name CopyBBox1
xpos -281
ypos -173
}
Merge2 {
inputs 2
operation from
name Merge1
xpos -281
ypos -76
}
Merge2 {
inputs 2
operation divide
name Merge3
xpos -281
ypos 59
}
Output {
name Output1
xpos -281
ypos 137
}
end_group
On Sat, Oct 13, 2012 at 6:22 PM, Frank Rueter <[email protected]
<mailto:[email protected]>> wrote:
None of those solutions actually produce what we're after though
(some of your solutions seem to invert the input).
We need something that can compresses the input to a 0-1 range by
offsetting and scaling based on the image's min and max values (so
the resulting range is 0-1). You can totally do this with a Grade
or Expression node and a bit of tcl or python (or the CurveTool if
you want to pre-compute), but that's not efficient.
I reckon this should be a feature built into the viewer for
ease-of-use and speed.
On 14/10/12 1:04 PM, Marten Blumen wrote:
and this group does all channels rgba,depth,motion using the
expressions. should be quite fast as an input process
set cut_paste_input [stack 0]
version 7.0 v1b74
push $cut_paste_input
Group {
name Normalised_channels
selected true
xpos -526
ypos 270
}
Input {
inputs 0
name Input1
xpos -458
ypos 189
}
Expression {
expr0 "mantissa (abs(r))"
expr1 "mantissa (abs(g))"
expr2 "mantissa (abs(b))"
channel3 depth
expr3 "mantissa (abs(z))"
name Normalized_Technical1
tile_color 0xb200ffff
label rgbz
note_font Helvetica
xpos -458
ypos 229
}
Expression {
channel0 alpha
expr0 "mantissa (abs(a))"
channel1 {forward.u -forward.v -backward.u forward.u}
expr1 "mantissa (abs(u))"
channel2 {-forward.u forward.v -backward.u forward.v}
expr2 "mantissa (abs(v))"
channel3 depth
name Normalized_Motion1
tile_color 0xb200ffff
label "a, motion u & v"
note_font Helvetica
xpos -458
ypos 270
}
Output {
name Output1
xpos -458
ypos 370
}
end_group
On 14 October 2012 11:29, Marten Blumen <[email protected]
<mailto:[email protected]>> wrote:
And one that looks technical or techni-color!
set cut_paste_input [stack 0]
version 7.0 v1b74
push $cut_paste_input
Expression {
expr0 "mantissa (abs(r))"
expr1 "mantissa (abs(g))"
expr2 "mantissa (abs(b))"
channel3 depth
expr3 "mantissa (abs(z))"
name Normalized_Technical
tile_color 0xb200ffff
label "Normalized\n"
note_font Helvetica
selected true
xpos -286
ypos -49
}
On 14 October 2012 10:46, Marten Blumen <[email protected]
<mailto:[email protected]>> wrote:
This works for rgb & depth. Pop it into the ViewerProcess
for normalized viewing. It seems to work with all values,
free polygon cube to anyone who breaks it ;)
Who knows the expression node; can we just apply the
formula to all the present channels?
set cut_paste_input [stack 0]
version 7.0 v1b74
push $cut_paste_input
Expression {
expr0 1/(r+1)/10
expr1 1/(g+1)/10
expr2 1/(b+1)/10
channel3 depth
expr3 1/(z+1)/10
name RGBDEPTH
label "Normalized\n"
note_font Helvetica
selected true
xpos -220
ypos 50
}
On 14 October 2012 10:24, Marten Blumen <[email protected]
<mailto:[email protected]>> wrote:
A normalised expression node:
set cut_paste_input [stack 0]
version 7.0 v1b74
push $cut_paste_input
Expression {
expr0 1/(r+1)/10
expr1 1/(g+1)/10
expr2 1/(b+1)/10
name Expression6
label "Normalize Me\n"
note_font Helvetica
selected true
xpos -306
ypos 83
}
On 14 October 2012 09:33, Marten Blumen
<[email protected] <mailto:[email protected]>> wrote:
+ 1
as a side note, doesn't SoftClip and Toe nodes do
dynamic normalising of the RGB channels?
set cut_paste_input [stack 0]
version 7.0 v1b74
push $cut_paste_input
SoftClip {
conversion "logarithmic compress"
softclip_min 1
name SoftClip2
selected true
xpos -1876
ypos 1428
}
Toe2 {
name Toe2
selected true
xpos -1876
ypos 1461
}
On 13 October 2012 23:51, Patrick Heinen
<[email protected]
<mailto:[email protected]>> wrote:
Yes of course I can use VIEWER_INPUT or a
register a viewer process, but that wouldn't
make it dynamic either, well maybe with the
MinColor Node but that one again doesn't work
for deep data... And starting to sample every
pixel via python is just horribly slow and
you would need to bake it after that again.
Plus again the VIEWER_INPUT doesn't work for
deep data either...
It shouldn't be to complicated having one
button, that dynamically normalizes what's
shown in the Viewer, just as you have it in
Fusion.
I sent in a request, Ticket#2012101310000031
Regards
Patrick
Am 13.10.2012 <tel:13.10.2012> um 11:42
schrieb Johannes Hezer:
> +1
>
>
> Am 10/13/12 7:47 AM, schrieb Frank Rueter:
>> Same. It would indeed be very helpful. Has
somebody sent in a request yet?
>>
>>
>> On 13/10/12 6:54 AM, Holger
Hummel|Celluloid VFX wrote:
>>> yes, you can.
>>> BUT:
>>> - it needs manual work: you need to
know/find the min/max values. they change
from pass to pass, actually in most cases
from frame to frame.
>>> - it's quicker when you can just click on
button to toggle this. also because it does
not conflict with some other VIWER_INPUT that
might be active.
>>>
>>> so +1 from me making this a feature request
>>>
>>> - Holger
>>>
>>>
>>> jbidwell wrote:
>>>> You can make a grade and group it, then
name it "VIEWER_INPUT". The viewer will use
that grade in the viewer whenever the IP
button is active.
>>>>
>>>> - JB
>>>>
------------------------------------------------------------------------
>>>>
>>>>
_______________________________________________
>>>> Nuke-users mailing list
>>>> [email protected]
<mailto:[email protected]>,
http://forums.thefoundry.co.uk/
>>>>
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
>>>
>>
>>
_______________________________________________
>> Nuke-users mailing list
>> [email protected]
<mailto:[email protected]>,
http://forums.thefoundry.co.uk/
>>
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
>
> _______________________________________________
> Nuke-users mailing list
> [email protected]
<mailto:[email protected]>,
http://forums.thefoundry.co.uk/
>
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
_______________________________________________
Nuke-users mailing list
[email protected]
<mailto:[email protected]>,
http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
_______________________________________________
Nuke-users mailing list
[email protected]
<mailto:[email protected]>,http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
_______________________________________________
Nuke-users mailing list
[email protected]
<mailto:[email protected]>,
http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
_______________________________________________
Nuke-users mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
_______________________________________________
Nuke-users mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users