DasGrain v1.8


 
This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Fabian Holtz
Semiautomatic regraining tool.
Requirements:
12.2, 12.1, 12.0, 11.3, 11.2, 11.1, 11.0, 10.5 or later
Linux, Windows
07 Mar 2021
7971

watch the video Tool Video

83211072 854178478357620 7380101537507835283 n
Thanks for the meme, edgyvfx!
 
 
Tired of matching grain manually? Me too!
 
DasGrain takes the pain out of the re-graining process by automatically adapting the plate grain to your comp.
For areas where the original grain doesn't work, you can generate a new grain that is based on the original grain.
Having a good degrain is crucial for this tool!
 
Long and boring demo here: https://vimeo.com/284820390
 
Please let me know how it works for you or if you have any questions. I'm always happy to help! :)
 
Unfortunately DasGrain doesn't work with Nuke Indie and Nuke NC due to their Python and Blinkscript limitations.
 
v1.8
- updated UI and many of the tooltips (let me know what you think!)
- fixed a fundamental bug in the per channel range script
- added a metadata knob to choose between plate and comp
- added a threshold, so that a sample has to contain at least 10 pixels to be used
- deleted the colorspace choice in the two colorspace knobs so on first load it will be set to whatever is the default space in your config rather than potentially error.
- updated Python scripts to be Nuke 13 compatible
- fixed and improved many minor things
 
special thanks to Erwan Leroy for his feedback!
 
v1.7
- added stereo option to generate different grain per view
- added colorspace menu
- couple of bug fixes and improvements that accumulated in the last year (aka I didn't keep track, but it's better now!)
 
v1.5
- added Help tab (with setup steps and Troubleshoot button)
- reordered, improved and removed some functions (check the tooltips and the updated video)
- bugfixes
- copy/pasting now roughly a million times faster
 
v1.4
- fixed bug (due to a missing link in the last version, only frame 0 was being analysed. This could've led to issues if degrained plate and plate had different start frames)
- minor improvements
 
v1.2
- Bugfixes
- tech improvements
- added luminance grain compensation and new DegrainHelper node
- layout improvements
 
Webp.net-gifmaker 2
 
Please login in order to download these files.

Comments   

 
# Benjamin Jennrich 2018-08-16 11:51
Like it, well done Fabi
 
 
# Matthias Backmann 2018-08-16 14:55
Totally awesome! Thanks a lot Fabian, that rocks.
 
 
# be de 2018-08-16 14:59
great tool!
 
 
# Ivan Godomin 2018-08-22 08:39
It's really working! Thanks man!
 
 
# Jonas Lindfors 2018-08-22 11:06
Looks great, thanks for sharing!
 
 
# Eduardo Lima 2018-08-24 18:56
Your gizmo is beyond any expectatiom. I used your Voronoy Scatter (based on Matthew Shaw idea) to fix other issues in our company pippeline. Thanks a lot!
 
 
+2 # Fabian Holtz 2018-08-25 01:03
Thanks for the great feedback guys, I appreciate it!
 
 
# Lucas Pfaff 2018-08-29 12:40
Hi there Fabian, I admit I had some trouble starting with the plugin, but now I got it and it's awesome. So far I never had a complicated shot where I needed to fiddle with the curves or with the scatter.
Even if the analyze can take a bit I still feel like I save a lot of time, and definitely my nerves :)

Beste Grüße aus Berlin,
Lucas
 
 
# Fabian Holtz 2018-08-29 23:29
Hey Lucas, glad to help saving your nerves ;)
If you have any idea how to make it more intuitive let me know!
 
 
# Johannes Retter 2018-09-30 18:37
I tried it today the first time and I love it.
Thanks, Fabian!
 
 
# Mitchell Kehn 2018-10-10 01:01
Wow this is so cool! Your explanation video is definitely worth a watch.

One thing that we've run into is that when we try to copy and paste this node between scripts (maybe they use the same plates or something) that it crashes nuke. Not sure if this is to do with some sort of python callback that messes it up, but it would be awesome to see this fixed in a later version!
 
 
# Fabian Holtz 2019-01-07 18:23
Hey Mitchell,
Sorry for the late reply. To be honest I'm not sure what could cause this, there are definitely no plate related callbacks in there.

A friend of mine had problems with crashes in the beginning as well. The solution for him was to import it into nuke and export it again. There were no crashes when he used the version he exported himself.

Hope that helps. :)
 
 
+1 # Brandon Blevins 2018-10-22 20:56
Thank you for this tool. Really works great we have used this on several projects. Put it through some really hard tests and some 35mill shots we had an impossible time to match grain and it worked flawlessly. Some caveats to understand on how it works but wasnt a scenerio my compers ran into we didnt find a solution for with proper settings etc.

Brandon
 
 
# Fabian Holtz 2019-01-07 18:25
Thanks Brandon, I've already heard that you guys are using DasGrain :)
Really happy to see how it's spreading and that it's useful!
 
 
# nikolai michaleski 2019-01-18 00:18
Very cool looking tool!

When I hit analyse, it starts from frame 1 even though my footage starts from 1001. How do I solve this?
 
 
# Fabian Holtz 2019-01-18 01:43
Hey Nikolai,
Don't worry about that. I'm re-ordering the analysis frames internally to be next to each other, starting at frame 0 :)
 
 
# Sasha Kras 2019-02-07 15:10
Hi Fabian,
Thank you for sharing your tools, it's wonderful!

I just can't understand one thing, I hope you can help me with that.
If I using Scatter in Replace tab, I can do some kind of grain plate, but how can I add a grain plate to denoised image? I tried to use Merge with Plus but I'm not sure it's correct or not?

Thank you!
 
 
# Fabian Holtz 2019-02-07 21:22
Hi Sasha,
Did you set the output (in the dropdown menu at the top) to regrained comp?
Alternatively, 'plus' will give you the same result as long as the output is set to adapted grain.
If you haven't yet, I recommend watching the demo on vimeo as well :)
Let me know if you have any other question!
 
 
# Sasha Kras 2019-02-08 09:01
Hi Fabian,
Thank you for your answer.

Yeah, I have seen the demo twice :)
I just think maybe 'plus' it's not correct for adding the grain. The Grain node from Nuke using an expression for adding grain to the image.

Here this expression.
For the red channel:
max(minimum.r,r+(2*Ar-1)*(r*red_m+black.r))

For the green channel:
max(minimum.g,g+(2*Ag-1)*(g*green_m+black.g))

And for the blue channel:
max(minimum.b,b+(2*Ab-1)*(b*blue_m+black.b))

Maybe this can be a little bit correct than just 'plus' operator.

Thank you!
 
 
# Fabian Holtz 2019-02-08 09:43
Hey Sasha,
don't worry, 'plus' is correct. The expression in the Grain node is controlling the grain response based on the 'intensity', 'black' and 'minimum' knobs of the node. DasGrain calculates and uses the actual response curve for the shot and therefore doesn't need those knobs or the expression.
 
 
# Sasha Kras 2019-02-08 13:00
Great, thank you!

Cheers!
 
 
# Andrew Rea 2019-02-14 16:37
Fantastic tool, Can I ask if you have any degraining tips to get the best out of this? Does temporal filtering cause issues?
 
 
# Fabian Holtz 2019-02-14 21:38
Thanks Andrew!

I assume you use Neat Video? My first suggestion would be to have a look at the user guide and watch the tutorials. In my experience many people don't know how to get a good noise profile or how exactly temporal filtering works.

Temporal filtering can definitely help getting a better result, but be aware of its limitations. Aggressive temporal filtering may seem like it's doing a good job, but it can lead to warping around moving objects. This will cause additional difference between degrain and plate, which reduces the analysis quality and introduces unwanted detail in the regrain.

I like to connect DasGrain to the live ReduceNoise node, set the output to 'original grain' and play around with the radius and threshold to see how far I can go.

Hope this helps :)
 
 
# Andrew Rea 2019-02-14 21:49
Thanks Fabian, yes I am using Neat Video, will go and read the user guide now although I think I know what I am doing, I have never read it.
Thanks again for posting the great tool
 
 
# Damian Binder 2019-03-02 11:42
This has quickly become one of my all time favourite tool. The normalisation feature is brilliant and the scatter option works great. I also agree that grain is something that should not get in the way while comping and should be treated with care as a different element. Some companies are still afraid of doing so..
Job well done Fabian.
 
 
# Fabian Holtz 2019-03-02 15:50
Thanks Damian, I appreciate it!
 
 
# Steve Drew 2019-03-20 20:51
Final!
 
 
# Pranav Gangapurkar 2019-05-20 15:33
This is awesome. Thanks a lot
 
 
# Nikolai Wüstemann 2019-06-04 15:37
I'm using yout tool for 5 minutes now and I already love it! Why bother with manual adjustments in a process that can be fully automated? Nice work!

I have a question/featur e request though. I usually like to keep my original noise, where I did not change the plate. You already have a replace mask built in, but the input has to be set manually. Why not generate this mask by looking at the denoised plate and comp difference? A checkbox for that and a threshold slider would do the job I guess.
 
 
# Fabian Holtz 2019-06-04 16:00
Hey Nikolai, I'm glad you like it!

I'm not using a difference key because I don't think that it's a universal way to generate a replace mask. (Just because the values of the comp are close to the plate doesn't mean that I want to keep the plate grain and vice versa)

I could of course add it as an option, but DasGrain probably has too many sliders and buttons already.

My suggestion would be to just make your difference key setup, connect it to the mask input and save it with DasGrain in your toolsets.
 
 
# Nikolai Wüstemann 2019-06-04 16:14
Yeah, that's what I'm doing and it is very fast to setup, so I get your point of not adding another feature.
Anyway, for the projects I worked on we always tried to keep as much plate grain as possible and only replace it in areas, where the plate is actually changed. Since no degrain is perfect, it also brings back plate detail, which is a nice bonus effect.
 
 
# Tor Andreassen 2019-06-14 05:01
Absolutely fantastic tool! It's now my new favorite tool for regraining, thank you very much for sharing Fabian, works great!
 
 
# Fabian Holtz 2019-06-25 15:51
Thanks Tor, I appreciate it! Go ahead and introduce it at ILM ;-)
 
 
# Connor Tong 2019-09-11 16:57
By far the best regrain node I have used! Never seen anything like it! Thanks for this!
 
 
# Olly Caiden 2019-09-19 19:28
My new favourite node, thanks!

Having said that, we have been encountering some issues with das_grain corrupting scripts, we tracked it down to linux not liking the non-asci characters found in the 'testimonial' section. Could you do a point update that removes this section? Thanks!
 
 
# nikolai michaleski 2019-09-19 19:41
Ran into some issues with this even on Windows.
 
 
# Fabian Holtz 2019-09-20 01:14
Hey Olly, can you send me a short email to the address in the Info tab? Then I can send you a new version you can test before I publish it.
 
 
# Olly Caiden 2019-09-20 01:43
Yep will do!
 
 
# ankur suvarapu 2019-10-28 09:07
Thanks alot for sharing
 
 
# nikolai michaleski 2019-10-31 01:50
Absolutely love this tool!

Occasionally we'll get dancing white pixels in the result. This can remedied by clamping the blacks of the plate and degrained plate to 0. Just thought I'd share and maybe there's a cleaner solution from within the tool itself?
 
 
# Fabian Holtz 2019-11-01 03:47
Thanks Nikolai!!

That sounds like the response curves might not be accurate. If you want you can send me just the node the way it is used in your script by email and I'll have a look.
You are right, clamping the blacks is not a clean solution.
 
 
# David Forcada 2019-11-04 13:39
Hi all,

I have started to use DasGrain but I a, running into the following problem. When I applied the scatter button I get the attached image. Any thoughts?

David

https://www.dropbox.com/s/gyyvp23yx72cbvn/Scatter.png?dl=0
 
 
# Fabian Holtz 2019-11-11 17:38
Hi David.
Not entirely sure. I'd say stretched pixels are normally an indicator of bounding box issues. But without seeing your script it's hard to tell.
 
 
# chris booth 2019-11-11 09:34
we're getting the following error on deadline
Error: RuntimeError: Group1.VoronoiS catter.error: increase sample box size or decrease cell size

any ideas?
 
 
# chris booth 2019-11-11 09:34
we're getting the following error on deadline
Error: RuntimeError: Group1.VoronoiS catter.error: increase sample box size or decrease cell size

any ideas?
 
 
# Fabian Holtz 2019-11-11 17:35
Yes, try to increase sample box size or decrease cell size :P

It's a built in error to prevent the voronoy cells from breaching the bounds of the sample region. Does it only fail in Deadline? It shouldn't work in the GUI either.
 
 
# Federico Sibella 2020-01-25 17:19
A tool that implemented the idea of normalized grain! Super! Thanks a bunch Fabian! :lol:
 
 
# Paul Laverack 2020-03-02 00:33
This is a fabulous tool Fabian. Thanks so much.
 
 
# bin zhuang 2020-03-03 03:07
it seems doesn work in OCIO colorspace, the OCIOColorspace doesn find linear space
 
 
# Fabian Holtz 2020-03-03 03:33
Just set it to whatever is correct in your config. For example ACEScg and Alexa wide gamut linear.
 
 
# chucheep chaipoon 2020-06-28 17:47
thank you so much for your Awesome regain tool!

I would like you to ask permission to use Dasgrain in our studio located in Bangkok.
my studio requests a permission email from the author of the tool.
however, I could not be able to reach you in any way.

please let me know if you could allow our studio to use your tool in production.

Thank you!

Best wish,
Chucheep Chaipoon
[email protected]
 
 
# Fabian Holtz 2020-06-29 04:09
Did you try the email address in the tool? ;)
Write me there and mention the name of the company please.
 
 
# Fabian Holtz 2020-06-29 04:09
.
 
 
# chucheep chaipoon 2020-06-29 18:04
found it ,Thank you!
 
 
# Livia Nunes 2020-07-28 18:00
I'm a little confused about the colorspace option. If I'm using ACES 2065 plates should both options be ACES 2065?
 
 
# Fabian Holtz 2020-07-28 18:41
Hi Livia,
the first option should be whatever you project settings are (so I guess ACES 2065?) and the second should be set to the camera native linear color space. If it's an Alexa plate it should be Arri linear Alexa Wide Gamut.
 
 
# Greg Lamar 2020-10-25 06:16
So. Good.
 
 
# Paul Laverack 2020-10-29 04:41
Howdy Fabian. Just wanted to say thanks so much for this gizmo, it's now an essential part of my workflow.
 
 
# Nanthuvfx boy 2020-11-24 09:44
Does 1.4 Supports for Nuke v12 ?
 
 
# Michael Timoshenko 2020-12-21 13:00
Love this tool!

BTW DasGrain v1.7 on Nuke 10.0v2 was located on top of the script before I fixed it by removing 2 lines 359 and 360
in_colorspace linear
out_colorspace linear
 
 
# Sagar Patil 2020-12-21 21:09
Hi Fabian thanks for this node using this since long time very powerful,but lately after updating to Nuke12.2v2 i am getting following error,

DasGrain2.VoronoyScatter.Voronoy.VoronoiNoise:Error compiling kernel for GPU

Any idea how to fix this?
 
 
+1 # Bernd M 2021-01-15 22:01
This seems to be similiar to my issue with higx... I wrote Mads about this and he replied:

TheFoundry broke blinkscript in the 12.1 update (only on windows), so if someone use the quite common ‘normalise’ function, it won’t compile on the GPU.

So to fix your use go into the "dasgrain" group (s button in node); dive deeper and go into the VoronoiScatter group; find Voronoi Noise -> Kernel Tab -> disable GPU
 
 
+1 # Fabian Holtz 2021-01-15 22:20
Hmm, there is no normalize function in the BlinkScript. But I could expose the GPU knob in the next version anyway, as it seems to cause issues occasionally.
 
 
# Sagar Patil 2021-01-21 16:04
Thanks a lot Bernd i will try that.

Thanks a lot Fabian the GPU knob in next release will be much appreciated.
 
 
# Mr. Magoos 2021-01-07 14:44
Amazing!
 
 
# Mr. Magoos 2021-01-07 14:44
Hi Fabian! random question for you... I work in a facility that uses multiple views/split and join workflow, dasgrain scatter option doesn't work. the grain appears frameheld and nobody in our facility can figure it out. Any ideas?

HUGE FAN of your tool btw
 
 
# Fabian Holtz 2021-01-08 02:53
Hi Brian, I'm not sure. Multiply views shouldn't be an issue as long as there is a plate and a degrained plate present in all views. Feel free to email me more details about your setup, maybe we can figure it out.
 
 
# andres salas 2021-02-01 18:40
Hi Fabian, I am trying to find a email to contact you that would be possible? I would like to talk with you.
Thanks so much! :lol:
 
 
# Fabian Holtz 2021-02-02 21:09
Hi Andres, you can find my email address in the Info tab of DasGrain.
 
 
# David Rouxel 2021-02-18 11:54
Hi Fabian,

I have artists in my team using dasGrain and they are facing the same issue regularly. Their script's size double each times they save it until Nuke cannot open it anymore.

We discovered that the culprit is dasGrain. For some reason it is filling the script with characters. In such cases I have to edit their nuke files and delete the dasGrain section.

We are working on centOS 7 and faced this issue on all versions of Nuke since 10.5v1.

Thanks for your help
 
 
# David Rouxel 2021-02-18 12:02
Here's a screenshot of the issue :

https://imgur.com/IfKRX3H
 
 
# Fabian Holtz 2021-02-18 12:19
Hey, which version of DasGrain are you using?
 
 
# David Rouxel 2021-02-18 13:08
This happened today and artist was using 1.5
 
 
# Fabian Holtz 2021-02-18 16:42
Hi David,
please use the latest version, it should be fixed in there.
 
 
# David Rouxel 2021-02-19 05:11
We'll give it a try.
Thanks for the quick reply
 
 
# David Rouxel 2021-02-19 05:11
We'll give it a try.
Thanks for the quick reply
 
 
# Fabian Holtz 2021-02-19 05:19
No worries! Actually someone else from MPC pointed out this behaviour back in 2019, that's when I fixed it. So I guess it has something to do with the MPC pipeline. It hat something to do with non ASCII characters in the code.
 
 
# David Rouxel 2021-02-19 05:37
This is also what I think. the Mill and other BUs are not having the issue. Not sure how to debug this though.
 
 
# David Rouxel 2021-02-19 12:32
I had confirmation from my side that v1.7 is stable.
Thanks for your help.
 
 
# Emiliano Acuña 2021-02-19 20:02
Hi! Thanks for this Node!! :)

I'm using nuke indie and, if I press Analyse, a warning error appears saying:

'NoneType' object has no attribute '__getitem__'

And it doesn't permit me to analyse, Anybody knows what's happen?

Thanks!
 
 
# Fabian Holtz 2021-02-19 21:09
Unfortunately this is because of Nuke Indie's python limitations. I'm not aware of any solution.
 
 
# Daiwa Shoji 2021-02-21 14:02
Hi.
I would like to know more detail about v1.7.
Please explain.
 
 
# Fabian Holtz 2021-02-21 21:06
Anything in particular you would like to know?
 
 
# Daiwa Shoji 2021-02-27 07:40
What are Degrain amount mask and analysis mask used for ?
When and how ?
 
 
# Mark Holman-Harris 2021-03-09 17:30
Hi Fabian
Firtsly thanks for sucha wonderfully useful tool.
We are having issues rendering DasGrain on our deadline farm.
v1.4 works fine but 1.8 throws up errors on any internal node that has a parent. expression back to the dasgrain group.
An example of such an error being Group1. Multiply6.value : Nothing is named "parent.luminan ce"
any ideas why that may be?
 
 
# Gregor Stephani 2021-03-18 13:27
Hi Fabian,

first of all, thank you very much for this amazing tool!

Unfortunately we're experiencing the same issue Mark mentioned after updating to v1.8.
On our deadline farm we get the error message using Nuke 12.1v5 and dasGrain 1.8:
Group1. Multiply6.value : Nothing is named "parent.luminance"

Any hint about how to fix this would be greatly appreciated :)
Thanks again!
 
 
# Fabian Holtz 2021-03-19 11:38
Hi Gregor, can you confirm that all older versions work? Mark told me that for them every version after v1.4 throw up that error. Unfortunately we haven't found a solution yet.
 
 
# Gregor Stephani 2021-03-19 18:33
Hi Fabian,

thank you for getting back to me so quickly!
We switched from 1.4 straight to 1.8 as far as I know, I'll confirm that and try older versions as well.

So far it appears that we have to save dasGrain as Gizmo to get rid of that error and get a "Error: FailRenderExcep tion : NameError: knob testimonial does not exist" instead.

I will continue testing and let you know in case I find something.
 
 
# Marcel Vanderwekken 2021-03-24 18:09
DasGrain is wizardry magic! Thanks so much Fabian!
 
 
# Daniel Brylka 2021-04-06 10:21
Hi,
I tried DasGrain v1.8 with Nuke 13.0v1.

It works completely fine, but every time I reopen a script all the connections to the gizmo are cut off. I can reconnect them and render, no problem. But the connections keep getting lost.
Did someone else has this issue?

Thanks for this amazing tool.
 

You have no rights to post comments

We have 4650 guests and 121 members online