mcjDespeckle - PCWin app Remove fireflies in iRay - New! Daz Studio Frontend

mCasualmCasual Posts: 3,987
edited June 2016 in Freebies

also fine for Cycles/Lux/Octane renders

 

The "fireflies" observed on path-traced renders are distinct from noise in photos

they are usually 1 pixel-wide and quite bright compared to surrounding pixels

my filter takes advantage of this and detects them quite well

HD1080p images are filtered in a fraction of a second ( no real limits on the image size other than your PC's ram )

------

It's a PC-Win Application, .exe

command-line driven but you can also just drag and drop an image on it and it works


>>> instructions and download
https://sites.google.com/site/mcasualsdazscripts7/mcjdespeckle
 

note: if writing .bat files is really too complicated for you

in a few minutes, I'll post the .bat files discussed in the "manual" in a zip file



i added (Mac?) in the title because as you see below, i may publish the WebGL version someday, which should run in Mac browsers

 

image

 

image

 

image

 

 

image

 

image

fillll.png
960 x 540 - 321K
despec2.png
960 x 541 - 854K
despe3.png
960 x 480 - 124K
despe4.png
960 x 483 - 290K
lala.png
960 x 960 - 794K
Post edited by mCasual on
«1

Comments

  • TugpsxTugpsx Posts: 209

    Wow, another great tool from you. Thanks for sharing.

  • Cris PalominoCris Palomino Posts: 5,271

    Casual, I'm unable to see the images.  Did you remove the thumbnails?

  • RuphussRuphuss Posts: 2,244

    msvcp140.dll is missing

  • mCasualmCasual Posts: 3,987

    thanks i thought my app would only need DLLs present on any windows, but apparently ... not

    i will recompile it in a way  that the dll in question is in the belly of my .exe

    (instead of sending people to .dll sites that can be dangerous )

     

     

    Ruphuss said:

    msvcp140.dll is missing

     

  • mCasualmCasual Posts: 3,987

    Casual, I'm unable to see the images.  Did you remove the thumbnails?

    if you mean the images in my Daz3D forum post, they show up for me

    but if you dont see them here you'll see them all on my google sites page, because that's where they reside

     

  • mCasualmCasual Posts: 3,987
    Ruphuss said:

    msvcp140.dll is missing

    new version, is bigger 126K instead of 21K - and if i did it correctly, it wont need the services of those DLLs

    so it wont run on Vic-20s but may run on Commodore 64's with the extra ram cartridges :)

     

  • mCasualmCasual Posts: 3,987
    edited June 2016

    UPDATE UPDATE UPDATE UPDATE UPDATE UPDATE 

    The new version should annoy you about missing DLLs because the functionalities from those DLLs are now in the app itself

    also, i added a pack of 5 batch files which are easy to figure and edit

     

     

     

    000.png
    800 x 1035 - 1M
    Post edited by mCasual on
  • RuphussRuphuss Posts: 2,244

    thank you mcasual

    v2 works nicely

    first post pics cannot be seen

  • mCasualmCasual Posts: 3,987
    edited June 2016
    Ruphuss said:

    thank you mcasual

    v2 works nicely

    first post pics cannot be seen

    thanks for your testing efforts !

    i replaced the linked photos by attached ones in my original post

     

    yavol.png
    800 x 1600 - 2M
    Post edited by mCasual on
  • mCasualmCasual Posts: 3,987

    that's my image despeckler, converted into HTML5/WebGL code

    running in a Chrome browser on Windows 7

    it takes a fraction of a second to process the millions of pixels !

    when/if i make this public, it should work on PCs, Macs maybe tablets and phones too

    anything with a browser that supports webgl/HTML5 code

    for now at least i had to run my Chrome browser with a special code that tells it: "it's safe to let the web page load my disk images"

    the annoyances of the internet security state

     

  • RuphussRuphuss Posts: 2,244

    i would like to use this for picture series of movie clips

    could these be worked on in one session ?

  • mCasualmCasual Posts: 3,987
    edited June 2016

    lets say your images are named

    pic000.png pic001.png ... pic119.png 

    if you type this in notepad


    mcjDespeckle pic000.png movipic000.jpg

    mcjDespeckle pic001.png movipic001.jpg

    ...

    mcjDespeckle pic119.png movipic1119.jpg


    then you save this under the name PicoMovipic.bat

    and Run this batch file (double-left-click on it )

    then your 120 pix___.png images will be  filtered and saved as  

    movipic000.jpg movipic001.jpg ... movipic119.jpg 

     

    ( sometimes i create that type of batch file in excel )

     

    my store worz video was despeckled that way

    i may eventually make a daz script that does all this for you ... but not today !

     

    if you can figure what this daz script here does, then feelfree to use it .... in the Daz Scripting Editor panel


    for(i=0;i<120;i++)

    {

    if(i<10) paddedi= "00"+i;

    else if(i<100) paddedi = "0"+i;

    else paddedi = i;

    debug( "mcjDespeckler pic" +paddedi + ".png mypic" + paddedi + ".jpg" )

    }


    or you could download the text file attached to this post

    and do a little search&replace

    then save it as myfilterbatchjob.bat

     

     

     

    Ruphuss said:

    i would like to use this for picture series of movie clips

    could these be worked on in one session ?

     

    txt
    txt
    BatchFile120PNGToJPG.txt
    5K
    Post edited by mCasual on
  • RuphussRuphuss Posts: 2,244

    thank you mcasual

    i remember you can do that in excel with an increment

    will try

  • RuphussRuphuss Posts: 2,244

    my jpg go down from 2mb original size to 300kb

  • mCasualmCasual Posts: 3,987
    edited June 2016

    the jpg exporter in my app is gdiplus , i didnt consider the jpg quality/compression

    next version will have 100% quality by default and/or a command-line switch to set it how you like

    in the meantime you could specify png as the output format, even if your input file is jpeg it will work

    there's also bmp, gif and .tif you can try

     

    ex:

    mcjDespeckle myfile.jpg myfile.tif

     

    incidentally, i despeckled a 24 frames animation today!

     

    Ruphuss said:

    my jpg go down from 2mb original size to 300kb

     

    Post edited by mCasual on
  • RuphussRuphuss Posts: 2,244

    cold you please just for testing render this to a movie file in daz and look at the ram behaviour ?

    i see the ram stay as high as it can and cannot get rid of it even if i declare only few cores for daz

    even if i delete everything in the scene

    you cannot work any further then and i have to restart daz studio

    i opened a ticket for this and need some assistence

    i render to movie just for quick testing animations

    the ram behaviour with image series is not like this

  • mCasualmCasual Posts: 3,987
    edited June 2016

    I'll write a Daz Script front-end (maybe someday a blender front end ) for the despeckler

    the first time you run it, you specify the location of mcjDescpeckle on your hard disk

    then you can select 1 image to despeckle

    if the image is part of a series of images, you'll have the option of despeckling the whole series

    you'll also be able to specify the despeckling strength and the output image format, which by default will be the same as the input image format

    ABDespeck.png
    800 x 1440 - 2M
    Post edited by mCasual on
  • mCasualmCasual Posts: 3,987
    edited June 2016

    I rendered many scenes as movie files 

    usually in uncompressed format because i convert them to gif later

    no memory problems so far

    i still use DS4.9.0.63 and have 8G or ram

    my video card has .... 2G

    renderers like iRay and Cycles need to upload all your images to the video card

    so if you use a Genesis figure and her many 4Kx4K pixel images are in the scene, sometimes it doesn't fit in the video card memory

    and can do mean things like crash the renderer and leave it in a non-responsive state

    in the iRay render settings itself there are some settings like "Environment Lighting Resolution" which may influence memory usage ( though maybe in that case it's just the render time that is affected )

    and in the NVidia iRay render settings, in the Advanced tab there's the "Texture Compression" settings panel

    by reducing those settings value i think your big Genesis3 textures get shrunk before being sent to the video card

    ----

    also, i often use Windows Task Manager to destroy the zombie-daz-studios that didn't die when i used and closed them

    sometimes there's 2 zombie Daz Studios holding on to memory and who knows, maybe the video card or the iray renderer

    --------

    another thing : some Codecs have a tendency to crash when you try to use them to save your avi/movie file

    i had this happen a few times, and i can never remember which ones are safe and which ones are not

    so i save them as uncompressed videos or as series of images

    then i use VirtualDub to create the DivX .avi files

     

     

     

    Ruphuss said:

    cold you please just for testing render this to a movie file in daz and look at the ram behaviour ?

    i see the ram stay as high as it can and cannot get rid of it even if i declare only few cores for daz

    even if i delete everything in the scene

    you cannot work any further then and i have to restart daz studio

    i opened a ticket for this and need some assistence

    i render to movie just for quick testing animations

    the ram behaviour with image series is not like this

     

    yaya.jpg
    1193 x 616 - 47K
    Post edited by mCasual on
  • RuphussRuphuss Posts: 2,244

    thank you  mcasual

    i forgot to say these issues are only with interactive mode

    movie and image series

    photoreal does not behave like that

    but very nice you evolve the despeckle script

  • Wendy_CarraraWendy_Carrara Posts: 19,865

    yes I too would love an easy to use image series option, filters in Hitfilm are OK but your despeckle does an awesome job, I honestly think if you could make it a plugin  filter for Virtualdub or other compositing software you could market on somewhere highend even like CGsociety it as users of other PBR render software could use this too!

  • mCasualmCasual Posts: 3,987
    edited June 2016

    * NEW * NEW * NEW * NEW * NEW * NEW *

    Control mcjDespeckler from the comfort of Daz Studio

    Including the 1-Button filtering of image sequences

    this way ---> https://sites.google.com/site/mcasualsdazscripts7/mcjdespecklefrontend

    startitup.jpg
    616 x 501 - 52K
    promodes.jpg
    800 x 300 - 88K
    Post edited by mCasual on
  • mCasualmCasual Posts: 3,987
    edited June 2016

    Tip

     it works best if your render is in png or bmp or tif format because the filter counts on the presence sharp bright pixels and jpg format smudges them

    if your image contains just a few dozens or hundred bright pixels then you can reduce the filtering ( by using a factor like 200 )

    this way the despeckler will remove the bright pixels but not burn the object contours too much

    in the image here, if the filter setting is the strongest ( factor=0) then some of the bright reflections on the bike paint would be corroded

    dede.png
    800 x 600 - 847K
    Post edited by mCasual on
  • mCasualmCasual Posts: 3,987
    edited June 2016

    oops

    Post edited by mCasual on
  • Skywalker77Skywalker77 Posts: 425

    That is fantastic!   Looks very user friendly.   Thank you!

  • Mustakettu85Mustakettu85 Posts: 2,564

    yesThank you so much!!

  • SkelchSkelch Posts: 239
    edited July 2016

    I just tried this on an image I had that needed this badly. Thank you so much in just a drag and drop my image was cleaned up. I am so thankful to you!

    Post edited by Skelch on
  • mCasualmCasual Posts: 3,987
    edited June 2016

    Welcome!

    at first i thought i'd just release it stand alone

    but having the Daz Studio interface leads me to use it a lot more myself!

    there's a quirk but i forget what it is, something about .png ... so i'll fix that next time i encounter the issue, maybe it was for animations

     

    a recent despeckled image

    vs something like this originally

     

    Skelch said:

    I just tried this on an image I had the needed this badly. Thank you so much in just a drag and drop my image was cleaned up. I am so thankful to you!

     

    AzuraAndTheSixMerlinasAtGlassTempleBeachOut.jpg
    810 x 1080 - 501K
    smm.png
    800 x 1067 - 1M
    Post edited by mCasual on
  • RuphussRuphuss Posts: 2,244

    hi Mcasual

    you think it is complicated making a script that enhances or decreases a graph of an animation in percentages ?

    and thank you for the despeckle script

    very useful 

  • mCasualmCasual Posts: 3,987
    edited June 2016

    i made a script named something like "moderate your face" i think it may be usable for other animations, it's for morphs though.

    http://www.daz3d.com/forums/discussion/45233/mcjmoderateyourface-script-to-curb-your-figure-s-enthusiasm-ds-1-5

    For rotation animations, you can  use mcjCycleFilter to change the minimum and maximum values the animation curve is allowed to swing

    https://sites.google.com/site/mcasualsdazscripts/mcjcyclefilter

    plus it's a good way to view curves for short animations - for longer animations there's my mcgSceneGraf plugin

    https://sites.google.com/site/mcasualsdazscripts2/mcjscenegrafds45

    unrelated image

     

     

     

    Ruphuss said:

    hi Mcasual

    you think it is complicated making a script that enhances or decreases a graph of an animation in percentages ?

    and thank you for the despeckle script

    very useful 

     

    in the ennis house.jpg
    1280 x 1920 - 227K
    Post edited by mCasual on
  • N_R ArtsN_R Arts Posts: 572

    Now that's impressive! To be honest, the whole "firefly" thing put me off rendering in Iray, but this is brilliant. Thank you for sharing (P.S. I love your avatar). 

     

Sign In or Register to comment.