Arnold filters

161 views
Skip to first unread message

Brian Meanley

unread,
Jul 16, 2018, 3:01:09 PM7/16/18
to gaffe...@googlegroups.com
Is it possible to specify the Arnold filter node that gets used for registered Gaffer outputs?

So far we've gotten by specifying our outputs by following the example in startup/gui/outputs.py; however, if I'm not mistaken, filters are always created as a gaussian_filter.  Can this be modified/overriden per output?

Thanks!

-Brian

Daniel Dresser

unread,
Jul 17, 2018, 2:44:51 AM7/17/18
to gaffer-dev
I don't currently have an Arnold install for Gaffer on my home box, but this is definitely possible.  We may not have nicely wrapped this up as a menu for public Gaffer ( the way we set up render passes at IE is tied into asset management, and is a bit different ), but it looks like if you just add a custom string parameter to your output, and set it to the suffix of one of the Arnold filters, ( ie. "blackman_harris" to pick blackman_harris_filter ), that should work.

Similiarly a custom parameter named "filterwidth" on the output will set the width parameter on the filter.

Doesn't appear to have been properly documented though - we should fix that, and ideally add some UI for it too.

-Daniel

John Haddon

unread,
Jul 17, 2018, 4:47:39 AM7/17/18
to gaffe...@googlegroups.com
I've attached an example Outputs node set up as Daniel described. We should standardise this so it's available in the regular output definitions, but currently I think there are a few differences between each of the renderer backends in this area. In the meantime you could use a config file to define outputs exactly as you want them, following startup/gui/outputs.py as an example...
Cheers...
John

--
You received this message because you are subscribed to the Google Groups "gaffer-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gaffer-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
John Haddon - R&D Programmer
Image Engine
studio: +1 (604) 874-5634 | jo...@image-engine.com | www.image-engine.com



15 West 5th Avenue, Vancouver, BC, V5Y 1H4, Canada

If you are not the intended recipient, disclosure, copying, distribution and use of this email is prohibited. Please notify us immediately and delete this email from your systems. You may contact us at in...@image-engine.com if you do not wish to receive further commercial electronic messages. We may still send you messages for which we do not require consent.

arnoldFilterExample.gfr

Brian Meanley

unread,
Jul 17, 2018, 12:47:53 PM7/17/18
to gaffe...@googlegroups.com
Ahh, got it, thanks guys!  No need for a nicely wrapped up UI in a case like this I don't think, I just wasn't at first sure of the syntax for adding it during our startup routines.  This helps.

Thanks!

-Brian

On Tue, Jul 17, 2018 at 1:47 AM John Haddon <jo...@image-engine.com> wrote:
I've attached an example Outputs node set up as Daniel described. We should standardise this so it's available in the regular output definitions, but currently I think there are a few differences between each of the renderer backends in this area. In the meantime you could use a config file to define outputs exactly as you want them, following startup/gui/outputs.py as an example...
Cheers...
John
On 17 July 2018 at 07:44, Daniel Dresser <dres...@gmail.com> wrote:
I don't currently have an Arnold install for Gaffer on my home box, but this is definitely possible.  We may not have nicely wrapped this up as a menu for public Gaffer ( the way we set up render passes at IE is tied into asset management, and is a bit different ), but it looks like if you just add a custom string parameter to your output, and set it to the suffix of one of the Arnold filters, ( ie. "blackman_harris" to pick blackman_harris_filter ), that should work.

Similiarly a custom parameter named "filterwidth" on the output will set the width parameter on the filter.

Doesn't appear to have been properly documented though - we should fix that, and ideally add some UI for it too.

-Daniel


On Monday, July 16, 2018 at 12:01:09 PM UTC-7, Brian Meanley wrote:
Is it possible to specify the Arnold filter node that gets used for registered Gaffer outputs?

So far we've gotten by specifying our outputs by following the example in startup/gui/outputs.py; however, if I'm not mistaken, filters are always created as a gaussian_filter.  Can this be modified/overriden per output?

Thanks!

-Brian

--
You received this message because you are subscribed to the Google Groups "gaffer-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gaffer-dev+...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
John Haddon - R&D Programmer
Image Engine
studio: +1 (604) 874-5634 | jo...@image-engine.com | www.image-engine.com



15 West 5th Avenue, Vancouver, BC, V5Y 1H4, Canada

If you are not the intended recipient, disclosure, copying, distribution and use of this email is prohibited. Please notify us immediately and delete this email from your systems. You may contact us at in...@image-engine.com if you do not wish to receive further commercial electronic messages. We may still send you messages for which we do not require consent.

--
You received this message because you are subscribed to the Google Groups "gaffer-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gaffer-dev+...@googlegroups.com.

Brian Meanley

unread,
Jul 17, 2018, 2:40:37 PM7/17/18
to gaffe...@googlegroups.com
It seems that the word "filter" gets stripped off of the front of the parameter names at render/export-time. For instance, on the variance_filter, in order to set the "filter_weights" parameter, it actually needs to be passed in as "filterfilter_weights".  Is that a correct assumption?

Thanks!

-Brian

Brian Meanley

unread,
Jul 17, 2018, 5:06:09 PM7/17/18
to gaffe...@googlegroups.com
And sorry, one last question.  You can probably see where I'm going with this... Is it possible to override the layer_name of an Arnold output statement (similar to what is described at the bottom of this page: https://support.solidangle.com/display/A5AFHUG/OpenEXR)?  I've tried a few different combinations, but haven't found the right combination just yet.

Thanks,

-Brian

dan...@image-engine.com

unread,
Jul 17, 2018, 5:35:21 PM7/17/18
to gaffer-dev
First off, I think you're right about it currently needing "filterfilter_weights".  I think when it was written, the only parameter we were really thinking of was the "width" parameter on the filter, so calling it "filterwidth" made sense, and we just stripped the filter prefix.  This has allowed for some forward compatibility with the newly added filter_weights parameter, but yeah, the naming isn't making much sense here.

For setting layer names, if you add a custom preserve_layer_name bool parameter set to true to your output, then Arnold will automatically take the data name as a layer name for aovs ( though the beauty will still get standard channel names ).  But we will still need to set up something explicit for overriding the layer names.  We have a fairly high priority internal ticket to support writing multiple layers to the same EXR in the Arnold backend, this should get done at the same time.

Brian Meanley

unread,
Jul 17, 2018, 6:01:04 PM7/17/18
to gaffe...@googlegroups.com
For setting layer names, if you add a custom preserve_layer_name bool parameter set to true to your output, then Arnold will automatically take the data name as a layer name for aovs

Thanks, we are already doing this, but I was hoping to be able to override them as you state.  I'll work around this for now. 

We have a fairly high priority internal ticket to support writing multiple layers to the same EXR in the Arnold backend, this should get done at the same time.

This sounds great!  We are currently auto-combining our EXRs after the frame is finished with oiiotool, but if we could skip this step, it would definitely be preferable. 

Thanks again for the added info!

-Brian

John Haddon

unread,
Jul 18, 2018, 5:19:10 AM7/18/18
to gaffe...@googlegroups.com
On 17 July 2018 at 22:35, <dan...@image-engine.com> wrote:
First off, I think you're right about it currently needing "filterfilter_weights".  I think when it was written, the only parameter we were really thinking of was the "width" parameter on the filter, so calling it "filterwidth" made sense, and we just stripped the filter prefix.  This has allowed for some forward compatibility with the newly added filter_weights parameter, but yeah, the naming isn't making much sense here.

I noticed this oddity the other day as well. I think namespacing it as "filter:<whatever>" would make more sense. It'd still need to be "filter:filter_weights" for that particular Arnold parameter, but it'd be more readable at least. Perhaps we should also roll this into the multi-layer EXR work...
 
Reply all
Reply to author
Forward
0 new messages