1 Upgradeafre_portraitmontage is now complete. The code is nicer and bug checked. It has resize options (small, large) and more matte shapes (none, circle, polygon, star). To-do Add matte shapes suitable for afre_montagex.
2 Addtranslation_en.gmic and translate samj_reptile (not much but a start). Didn’t realize this translation method was deprecated.
2 Fixafre_box_fast to make radii<3 fast. Benefits afre_sdpatch and afre_gui*_fast based commands.
It’s looking good. By the way, remember that you wanted to do multi-threaded evaluation, and then move on into next row/column? One could do that with a image strip, and insert a repeat({w or h or d}, I(#ind,tx,ty,tz)=expression;);.
Yes, it is more suited for noise texture removal. By texture, I mean noise and soft edges. Combined with Iain’s recovery algorithm, it would be a good denoiser.
The recovery re-introduces some noise. If we compare this with the machine learning (ML) result, it has the following properties:
PSNR Mine relative to ML28.362
The larger the better: 30-50 dB is acceptable for lossy JPEG.
MAD (dispersion) Noisy45.960 vs ML7.4129 vs Mine14.825
STD Noise Noisy22.874 vs ML0.331 vs Mine4.972
Closer to ML the better. How far can we dial back Guide Recovery without sacrificing detail? @Iain Any other arguments to consider? I get brain fog when there is more than a few .
Guide reduction only uses that one control. All other controls are not used because that is for the main noise reduction, which is skipped because you are providing a noised reduced image instead.
The detail recovery will introduce some noise because that is the least objectionable artefact I could get.
I might be possible to improve it or provide more control.
New Added afre_queryprimary, which selects per pixel the channel(s) meeting the min, max, med criterion and sets the rest to 0. This can be for an image with an arbitrary number of channels. There is an option to skip the last channel if it is the alpha or transparency channel.
CLI
afre_queryprimary:
mode={ 0=min | 1=max | 2=med },_skip_last_channel={ 0 | 1 }
Query pixel minima, maxima or medians of selected images.
Default values: 'mode=1' and 'skip_last_channel=0'.
More “denoise” fun. This one includes Iain’s recovery. These experiments are usually on the fly based on past experience. I should keep better track of what works and what doesn’t. Compared to last time:
Pros
– Closer MAD to noisy original
– Sharper less noisy highlights