Adding to Cart…
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2024 Daz Productions Inc. All Rights Reserved.You currently have no notifications.
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2024 Daz Productions Inc. All Rights Reserved.
Comments
i'll see if i can fix this
well it was painful but i found a solution
i was able to install imagemagick after i installed macports for antique macbooks
and i found the bizarre reeason why my mcjDenoise script could not launch imagemagick and opendenoise ( execution permissions and avoiding the use of quotation marks )
imagemagick can convert your png jpg etc to the pfm format which intel open denoise requires, tested works
my macbook is apparently too old or weak for opendenoise, but i can now launch opendenoise and see it run and refuse to do the job
but on your modern macbook it should denoise the pfm version of your render athen imagemagick converts the denoised image into a png or jpg etc...
Thursday it shall be
unrelated old render
Cool. Not sure if I said exactly what I'm running, but in case it's relevant, I'm using a 2015 13" macbook pro, 3.1 i7, running mojave.
there's a new version of mcjDenoise, my Daz Script that lets you use Intel Open Denoise to A.I.-Denoise your renders, for now i only have an antique macbook so apparently i cant run openDenoise, but your modern macs should , there's also the version for PCs https://sites.google.com/site/mcasualsdazscripts9/mcjdenoise
i had to figure out the not-well-documented execute-permissions of Daz Scripts, then use the .command extension then avoid quotation marks when running that .command file
Thanks for the heads up, though I didn't get a chance to download until after your revision.
Just tried it for the first time, and the script could not launch.
Message from log file:
2021-01-22 22:41:00.924 Loading script: /Users/Shared/My DAZ 3D Library/Scripts/mcasual/mcjDenoise2021ForMac.dsa
2021-01-22 22:41:00.925 WARNING: Script Error: Line 78
2021-01-22 22:41:00.925 WARNING: SyntaxError: Parse error
2021-01-22 22:41:00.925 WARNING: Stack Trace:
<anonymous>()@/Users/Shared/My DAZ 3D Library/Scripts/mcasual/mcjDenoise2021ForMac.dsa:78
2021-01-22 22:41:00.925 Error in script execution: /Users/Shared/My DAZ 3D Library/Scripts/mcasual/mcjDenoise2021ForMac.dsa
Changed line 78 to read (just added second quotation marks):
wDlg.caption = appName + "2021 for Macs";
seems to have done the trick. Now I'm running into a different issue that seems to be because of imagemagick, not your script. Think I'm trying to use a binary package of imagemagick made for high sierra, not mojave, so I need to look at that later - and I have message into the imagemagick people regarding this.
This is awesome work! Much apreciated; I'll gladly use this in my workflow :-D However, I've got one question; how do I preserve the transparancy of a .png render? Saving the result out to a .png doesn't seem to work?
i fear this is the result of OpenDenoise's pfm format ... but maybe not, maybe i can change something in the imagemagick conversion options
January 22nd 2021 2:00PM SORRY i forgot a closing quote at line 78 of the mac version which prevented it from working
today's zip file contains the modified mac version
( thanks SonOfRaven )
Next week i may receive my 2012 macbook pro I5 which may let me actually run the intel OpenDenoiser
Unrelated image
i researched the matter briefly
i downloaded and used the free app XNVIEWMP to view the PFM images and extract/view the alpha layer
they seem to have an alpha layer but it's just a grayscale version of the image, not the alpha layer from the input file
i also used an online converter and just like imagemagick the alpha layer becomes a grayscale version of the RGB channels
so the only solution i can imagine is to use imagemagick to transfer the alpha layer from the input image to the denoised image
i'll see if i can figure the imagemagick command to do that
in the meantime, some old people probably think of this when they see PFM mentionned
i researched some more and the PFM image format doesnt support alpha layers, there's a PF4 format that does support alpha layers but i think imagemagick doesnt support it
on my PC the imagemagick convert utility is named magick.exe
the command line to take the alpha image from your undenoised image and apply it to the denoised image looks like this
"C:/Program Files/ImageMagick-7.0.10-Q16-HDRI/magick.exe" denoised.png alpha.png -compose copy-opacity -composite combo.png
alpha.png would be the undenoised image
denoised.png would be the denoised image
combo.png would be the combination of the two
i will add a checkbox to the script that will do this automatically
new version of mcjDenoise can carry-over the alpha/transparency layer of the original ( so google mcjDenoise of find it at mcasualsdazscripts9 )
The solution to this *MAY* be using the brew install method (at the very least it should make imagemagick work on mojave, if you use it directly through terminal), however, it is installed in an invisible location, so browsing to it through the script does not work - at least with everything in standard settings.
Have set all files to visible via terminal and still could not view invisible files/folders through the script, BUT Daz was running while I did this, so perhaps quitting and restarting Daz will allow the invisible to be visible. Am rendering something that I want to let finish then will try quitting and restarting Daz.
i installed my imagemagick using mac what was the name macports, and convert got installed in something like /opt/local/bin
maybe if you have trouble to get there, and if luck has it, imagemagick convert works standalone, you could copy it from there to one of your user folders
at line 807 of the script, there's a line that reads
var converter = quoted( getSetting( "converter", "" ) );
you could try changing it to
var converter = quoted( "convert" ) );
or
var converter = quoted( "magick" ) );
or
var converter = quoted( "/opt/local/bin/convert" ) );
First off, hopefully I'll remember to include the useful detals, because I'm rewriting this response after firefox reloaded this page after I typed my response and hit backspace to delete and correct something. FU firefox (but still runs much more lightly than safari).
I did not try your suggestion so cannot comment on it.
Restarting Daz did not allow the browsing from your script to show all files, however I came across this little helpful trick: press ⌘ + ⇧ Shift + . and it will show/hide your files, and it worked while browsing through your script.
My path to imagemagick, with the brew install, is /usr/local/Cellar/imagemagick/7.0.10-58/bin/magick
May have needed to close script after that then open it again, but after getting the brew installed imagemagick binary selected, it worked MAGNIFICENTLY! Thank you!
Have only used on the one test image so far, next I should try an image that is actually using transparency, but without having experimented more, I have a couple of questions: what exactly does the jpeg quality setting do?; are there any adjustments for how detailed the denoising is done (this question is coming out specifically thinking about preserving things like hair detail)?
Once again, thank you so much.
Oh, can't remember if this was already mentioned, but in case someone does not know and is wishing there was a way to use this script while an image is in the process of rendering, you can simply open the script from its location on your system (My Daz 3D Library/Scripts/mcasual).
Tried on an image that uses transparency, and now I have a couple more questions.
- first, already had this question actually, why does the script output 3 images?
- one of these three images retains the transparency, but without noise reduction, the other two end up with a black background; how do you handle these/what are you supposed to do with them?
i noticed that too, i'm not sure and i didnt review that aspect of the script
the batch file created and executed by the script does this:
magick.exe Pic.png -endian LSB temp_inp.pfm
oidnDenoise -ldr temp_inp.pfm" -o temp_out.pfm
magick.exe temp_out.pfm Pic_out.jpg
magick.exe yourimage.png" -compose copy-opacity alphaPic_out.png
the first 2 images are generated in Daz Studio's temp folder
the 2 others are your denoised image without alpha inheriting
the other is the dinoised with inherited alpha
so the other images must be leftovers generated by imagemagick
i did a test and it's the alpha compositing step of imagemagick that generates those 2
personally i just delete them
mCasual thank you for your hard work your scripts are always nice and usefull.
When trying to denoise an image with transparency, the copy that comes out with transparency does not seem to be denoised. I must be doing something wrong, perhaps my settings are not right. I'm rendering in 3840x2160, trying denoise before resizing (tried resizing one image to 1080 then denoise, but denoise result was better with orig render size). Have selected "Retain Png Source Alpha", have tried "PNG: Default. Economical format", "PNG24: 8bit RGB without alpha", "PNG32: RGB with alpha", "PNG00: same depth from input image".
Have not yet touched the jpeg quality, just trying with it set to 50.
Any thoughts/suggestions there? If need be I can try to magic wand erase the black background in ps, but that's never perfect.
Do you resize images after rendering, and if so, which size do you denoise?
Two of the output images are clearly denoised - out and out-0, but both of these have the black background, and out-0 gets a funky shift in it; out-1 has the transparency but does not come out denoised. Every image I've tested, whether checking the preserve png alpha or not, have the same results regarding this.
My source image is just the png render from Daz. I've only recently switched to using Iray, so not sure if there are any kind of settings I'm using that might affect this.
It seemed logical to me that denoising the larger would retain detail better, and in comparison when using your script it seems to me it does a better denoise job on the larger image than the reduced image (but I only did 2 tests with resizing before denoising).
sorry again
in the previous version the alpha layer preservation option introduced an error
the version of 10:30PM 01/26/2021 corrects this
though the mac version of the alpha preservation option doesnt seem to work on macs
well i received my more recent macbook with catalina, i unstalled xcode, to install homebnrew, to install imagemagick
and it looks like i have many versions of imagemagick, the convert one and the magick one, i used magick
and for catalina to accept running imagemagic's libraries i had to go in system prefs/sec and privacy/general and allow each component to run after catalina refused to run them
good news
my macbook test with png 32bit with alpha as the output format
and the "retain png source alpha" option checked\
did produce a png file (alphanoyzee_out-1.png) that does contain an alpha layer as shown here
note that in the iray render options you must have the environment dome as not-visible and in the daz environment tab , you must not have a backdrop
that's how i produce renders with an alpha layer
in the folder of
I think I'm missing something (or a couple somethings). Is the intention for the user to use the alpha to separate the desired content from the black background in an image editor, so that you use it on _out to preserve the content of your image and delete the background?
When I open _out-1 in photoshop, I don't show an alpha channel, there are channels for RGB, Red, Green, Blue. Now I'm far from being an expert with image work, so it would be very easy for me to miss something obvious, whether in what I'm looking at or in how you intend for this to put to use.
If we are meant to use the alpha with an image program like photoshop to clear _out, then I could make an alpha, but I think I'm missing something about what I am supposed to be doing.
Here's a shot of the channels for _out-1
when the png has an alpha layer, the background will show up as gray checkers
then copy a background image or area of an image
and paste it on the image with the alpha layer
your background image becomes a layer
in the Layers tab, click and drag the background layer so that it is below the alpha layer
and the background is now only seen in transparent areas
This is perhaps just a difference between image editors, where some, like gimp, will automatically create/present an alpha channel, whereas photoshop does not.
However, it turns out to be super easy to give the _out image with black background the transparency of the original. Open both images in photoshop. Duplicate the layer of your _out image to your original image, so that the layer with the transparency is below the denoised layer with the black background in the layer list. Place your cursor in between the two layers, press alt (cursor will change), left click, and the denoised layer is now clipped to the original, so you see the denoised version of your image with the original transparency.
mCasual, on the topic of resizing images, do you strictly render the same size as your final intention, or were you just referring to denoising before reducing size?