question

L Lam avatar image
L Lam asked ·

How to create multichannel noice output

I'm currently running command line noice over multiple AOVs with hopes of splitting the AOVs back out after process completes.

So,

./noice -patchradius 3 -searchradius 9 -variance 0.5 -i beauty.exr -i denoise_albedo.exr -i variance.exr -i N_noice.exr -i Z_noice.exr -i specular.exr -i <other AOVs> -o denoised.exr

I notice that denoised.exr only has RGBA channels and no other AOVs or channels. Is there a way to output denoised image with all the AOVs and channels preserved?

Thanks!

arnoldaovsnoicedenoiser
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Blair avatar image
Stephen Blair answered ·

In the original question, it says "with all the AOVs and channels preserved" so that's what I answered.

If you want to denoise individual AOVs, see here:

https://answers.arnoldrenderer.com/questions/16837/efficient-denoiser-utitliy-workaround.html

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Blair avatar image
Stephen Blair answered ·

noice outputs the denoised AOVs only.

However, if you want to be a bit hacky, you can tell noice to denoise AOVs for which you provide no variance channels. Then noice will simple copy the existing AOV channels to the output.

For example, I've added the other AOVs with -l flags. But there's no variance AOVs, so noice "will just copy"

C:\solidangle\mtoadeploy\2019\bin\noice 
-i C:/maya/projects/default/images/denoise_test.0002.exr 
-o C:/maya/projects/default/images/denoise_test.0002_denoised.exr 
-ef 0 -sr 9 -pr 3 -v 0.5 
-l diffuse -l direct -l emission -l indirect -l specular -l sss 
Denoising image C:/Users/Stephen Blair/Documents/maya/projects/default/images/denoise_test/denoise_test.0002.exr 
------------------------ (1/1)
noice 5.4.0.0 [4d2efe03] - the Arnold denoiser
Using 40 threads.
Loading images...
Loading file "C:/maya/projects/default/images.0002.exr".
Using feature AOV 'diffuse_albedo' with filter 'gaussian_filter'
Using feature AOV 'N' with filter 'gaussian_filter'
Using feature AOV 'Z' with filter 'gaussian_filter'
Working with 1 frame at 1024x1024
Will denoise AOV "RGBA", using associated variance
   Output file will be "C:/maya/projects/default/images.0002_denoised.exr"
Will just copy AOV "diffuse", variance not found
   Output file will be "C:/maya/projects/default/images.0002_denoised.exr"
Will just copy AOV "direct", variance not found
   Output file will be "C:/maya/projects/default/images.0002_denoised.exr"
Will just copy AOV "emission", variance not found
   Output file will be "C:/maya/projects/default/images.0002_denoised.exr"
Will denoise AOV "indirect", using associated variance
   Output file will be "C:/maya/projects/default/images.0002_denoised.exr"
Will denoise AOV "specular", using associated variance
   Output file will be "C:/maya/projects/default/images.0002_denoised.exr"
Will just copy AOV "sss", variance not found
   Output file will be "C:/maya/projects/default/images.0002_denoised.exr"
Start denoising (patch radius 3, search radius 9, variance 0.5)
Denoising RGBA
Denoising diffuse
   Could not find AOV with source diffuse and filter variance_filter
   Could not find variance for AOV "diffuse", skipping denoise.
Denoising direct
   Could not find AOV with source direct and filter variance_filter
   Could not find variance for AOV "direct", skipping denoise.
Denoising emission
   Could not find AOV with source emission and filter variance_filter
   Could not find variance for AOV "emission", skipping denoise.
Denoising indirect
Denoising specular
Denoising sss
   Could not find AOV with source sss and filter variance_filter
   Could not find variance for AOV "sss", skipping denoise.
Finished denoising
Saving image C:/maya/projects/default/images.0002_denoised.exr (1024 x 1024 x 22)

Here's the noice output

oiiotool.exe -v --info "denoise_test.0002_denoised.exr"
Reading denoise_test.0002_denoised.exr
denoise_test.0002_denoised.exr : 1024 x 1024, 22 channel, float openexr
    channel list: R, G, B, A, diffuse.R, diffuse.G, diffuse.B, direct.R, direct.G, direct.B, emission.R, emission.G, emission.B, indirect.R, indirect.G, indirect.B, specular.R, specular.G, specular.B, sss.R, sss.G, sss.B
3 comments Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Thank you for your suggestion.

Right now, what we have are separate AOVs renders. We were hoping to be able to select individual AOVs which are noisy and just run noice on those. Obviously denoising beauty is important, but we would like to denoise the other layers separately as well.

If we pass the other light AOVs with '-l' flag as the hack you mentioned, from what I can see, they will remain unaltered. If I try passing the other AOVs as the main input along with the variance AOVs, it doesn't seem to denoise them. Getting the folloing output message:

0 Likes 0 · ·

...

Loading images...

Loading file "<all the AOV files>"

Using feature AOV 'diffuse_albedo' with filter 'gaussian_filter'

Using feature AOV 'N' with filter 'gaussian_filter'

Using feature AOV 'Z' with filter 'gaussian_filter'

Working with 5 frames at 960x540

Will just copy AOV "specular", variance not found

Output file will be "output.exr"

Start denoising (patch radius 3, search radius 9, variance 0.5)

Denoising diffuse

Could not find AOV with source specular and filter variance_filer

Could not find variance for AOV "specular", skipping denoise.

Finished denoising

0 Likes 0 · ·

My guess is this is because those variance AOVs were based on beauty.

I've tried skipping the variance AOVs in hopes the additional frames alone would provide some temporal stability but it does not seem to denoise either.

So basically, this works for beauty, but not for the other AOVs as we would like. Is there a way we can denoise the other AOVs?

Thanks!

0 Likes 0 · ·
L Lam avatar image
L Lam answered ·

Is there anyway to have noice output "specular.R", "specular.G", etc. in addition to just the beauty's "R","G","B","A" channels?

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

L Lam avatar image
L Lam answered ·

Sorry, I'm not sure I understand what you mean.

I have separate AOV renders which are being sent to noice. Since noice outputs a single exr, I would like to separate the AOVs back out as part of the post denoising process.

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Om Gothi avatar image
Om Gothi answered ·

Instead of using noice I'd consider using something like neat video. denoising in nuke is always better and much much faster unless you have something very high profile. Also have you tried writng channels to separate exrs? Much faster write speeds and can denoise them individually.

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.