cool- that'd be good. something that also shows the uses and differences between the Viewer Process and Input Process, would be rad.
On 14 October 2012 15:08, Frank Rueter <[email protected]> wrote: > 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]>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]> 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]> 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]> 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]> 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]> 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 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], >>>>>>> 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 >>>>>>> >>>>>>> _______________________________________________ >>>>>>> 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 [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 [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
