There is a usecase for CMYK(A). If your filter is basically a fun filter, and CMYK(A) gives a different result, then you can add it in addition to color space model parameter. I almost always add color space options and will add cmyka if it allows me to get interesting result.
Nice Updates
1 Fix
afre_portraitmontage
: discontinuity in frame mat. To-do: add other masks (ovals, echo
,none, etc.).
2 Tweak
afre_gui1*
. smoothing=0
now since the main objective is to transfer structure not smooth.
3 Tweak
afre_norm
. Add parameter info to echo.
4 Add
afre_gradientnorm
. Like gradient_norm
but with channel and range parameters. keep_range=1
to inherit the range of the input image. keep_range=0
to give it a mask range ([0,1]
). NB Be aware that this is different from afre_gnorm
, which is a prototype of afre_edge
.
afre_gradientnorm:
_keep_channels={ 0 | 1 },_keep_range={ 0 | 1 }
Compute normalized gradient norms of selected images.
Default values: 'keep_channels=1' and 'keep_range=0'.
5 Add
afre_hessiannorm
. Like afre_hnorm
but with channel and range parameters. Similar to afre_gradientnorm
but with hessian
.
6 Add
afre_dilateg afre_erodeg afre_openg afre_closeg
, which perform geodesic morphology, where the structuring mask defines the domain in which the filtering may take place (rather than filtering by a predefined kernel shape). Useful in segmentation and reconstruction. NB These commands are slow because they are naive in their approach, relying on iteration.
7 afre.gmic
Sort commands and place them under new categories. Also included empty newline comments to denote that the command is to standard (#
) or I have more planned for it (##
).
8 Update
afre_orien
to include counterpart to afre_norm
. To-do Add more modes, no-arg.
9 Update
afre_maxmin
and afre_minmax
to accept an arbitrary number of channels.
10 Add
afre_montagex
and update
afre_portraitmontage
to match. Differences:
– The new afre_montagex
doesn’t resize and allows custom row length.
– afre_portraitmontage
auto resizes and arranges, matte shapes (circle or none; more to come).
Update your G’MICs in a hour or so.
Someone is on fire! Keep it up.
Updates
1 Upgrade
afre_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 Didn’t realize this translation method was deprecated.Add
translation_en.gmic and translate samj_reptile
(not much but a start).
2 Fix
afre_box_fast
to make radii<3
fast. Benefits afre_sdpatch
and afre_gui*_fast
based commands.
Update your G’MICs in a hour or so.
This is an example of geodesic morphology. afre_openg 7
will remove the apostrophe '
because its width is less than 7px wide (6px).
This is how a regular open (7px) would appear. Looks like a made up sci fi or fantasy language.
what would be cool is a gif of this…
This time with sample barbara afre_openg 7
.
Original
Loop of the second part of geodesic opening
This is neat! Thank you for having tried!
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;);
.
Yet another “noise suppression” attempt. No machine learning, just mild-mannered fun with afre.
Before (source: Exporting/importing photos in full 32-bit representation (to train a neural network for image denoising) - #85 by Peter)
After (on JPEG above, not raw original)
PS Closeups (using my unreleased auto-crop command)
Before
After
A bit heavy handed, I think!
There’s some luminosity noise, but the result is good.
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.
Yes! The detail recovery algorithm does best when textures have been removed but edges have been kept.
Here is the bird with the details recovered.
I used “guide recovery” with a recovery setting of about 0.8, everything else at default.
This is what it looks like with
+ Iain Noise Reduction 2019 (Guide Recovery 0.8)
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 ML 28.362
The larger the better: 30-50 dB is acceptable for lossy JPEG.
MAD (dispersion)
Noisy 45.960
vs ML 7.4129
vs Mine 14.825
STD Noise
Noisy 22.874
vs ML 0.331
vs Mine 4.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 .
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.