Also will this formula work Ivan/ Diogo? As I can add this too. Not at a machine to test these yet.
Obviously a proper nuke tool would be great so + 1 for that. Howard On 14 Oct 2012, at 03:04, Ivan Busquets <[email protected]> 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 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
