DasGrain v1.7

This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Fabian Holtz
Semiautomatic regraining tool.
11.0, 10.5 or later
Linux, Windows
28 Feb 2020

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! :)
- 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!)
- 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
- 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
- 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.


# 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,
# 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.

# 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:

For the green channel:

And for the blue channel:

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!

# 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
# 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?


# 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.

You have no rights to post comments

We have 3320 guests and 40 members online