afre's G'MIC diary

Major Updates (edit improved post, added new points)

As usual, remember to update your G’MIC app and plugin, and update the commands and filters for each. Feedback is appreciated and let me know how you are using these commands. Enjoy!
 
1 Improved afre_darksky CLI GUI (formerly fx_darken_sky). Supported by the new afre_contrast (see 2). Future work would be to add a local contrast option. Dramatic darkening example:

Image and original deep sky method from Deep blue sky effect.

Settings

image

afre_darksky:
    blend={ 0=softlight | 1=overlay },-10<=_contrast<=10,_smooth_method={ \
     0=fast_approx | 1=slow_accurate },0<=_smooth_radius<=3,_channels={ 0=RGB | \
     1=CIELAB_L }

  Enhance landscape by darkening the sky.
  Default values: 'blend=0', 'contrast=0', 'smooth_method=0', 'smooth_radius=0' and 'channels=1'.

 
Original

Dramatic (I have updated the filter since, so it is a little different from this.)


 
2 NEW Added afre_contrast CLI GUI. Drives the contrast parameter of afre_darksky, which is a Δ% in contrast (or more precisely the standard deviation). Uses a simple curve; by itself, it doesn’t look very good when pushed. Hint the new afre_localcontrast is a better standalone contrast modifier.

image

afre_contrast:
    -10<=sd_change%<=10,_method={ 0=fast_approx | 1=slow_accurate }

  Enhance contrast with standard deviation.
  Default values: 'sd_change%=0' and 'method=0'.

 
3 NEW Added search_dichotomic CLI. This is the command version of the search_dichotomic() macro; I am able to do more with this one. Currently, it helps afre_contrast determine the right contrast level for a given parameter setting.

search_dichotomic:
    "increasing_fn",target_y,_precision>0

  Find parameter for function such that 'target_y' is met in image.
  Default value: 'precision=1e-3'.

  - Return 'nan' if search fails.
  * Credit: David Tschumperle.

 
4 NEW Added afre_localcontrast GUI CLI.

image

afre_localcontrast:
    1<=radius<=10,-100<=_amount<=100

  Enhance local contrast.
  Default values: 'radius=1' and 'amount=50'.

Hint Keep radius at 1 or as low as possible. Otherwise edges will bleed over.
 

5 NEW afre_jabz afre_ijabz afre_jchz afre_ijchz  Do you know what Jzazbz and its polar cousin JzCzhz are (besides being a mouthful to read)? In a nutshell they are newer than and outshine L*a*b* and friends. I have shortened the names: e.g. afre_jabz represents afre_rgb2jzazbz and afre_ijabz is its inverse transformation.
 

That is all for now. This brings us a total of 35 commands and 15 filters. Not bad for a person who started with no coding background or mad math skills.

# List of Commands and Filters
#---------35-----------15-----
# GUI CLI : afre_contrast afre_localcontrast afre_darksky afre_edge
#   afre_cleantext afre_vigrect afre_vigcirc afre_softlight
#   afre_sharpenfft afre_contrastfft afre_gleam afre_halfhalf
#   afre_portraitmontage
# CLI only: afre_jabz afre_ijabz afre_jchz afre_ijchz afre_gnorm
#   afre_hnorm afre_sdpatch afre_reorder afre_section afre_cleanphoto
#   afre_cleanphoto1 afre_compare afre_log2 afre_y50 afre_orien
#   afre_conv afre_box afre_gui0 afre_gui1 afre_gui0c afre_gui1c
#   search_dichotomic
# GUI old : fx_gamify fx_hnorm