Release of G'MIC 3.3

Indeed, Wikipedia is often wrong about technical things such as algorithms and terminology, e.g., colour science. Still, it is good for discovery purposes. :wink:

@David_Tschumperle One thing that has been bothering me is that display regularly generates a window beyond view, e.g.,  gmic sp.  I am currently using Win11 on a relatively high-resolution laptop screen connected to a low-resolution external monitor virtually positioned to extend from the top.

It is hard to tell when this started happening or the reason behind it. It could be due to Win11 continuously replacing its legacy code and changing how things work or something else.

PS - for the curious, as a workaround, I hover over the taskbar to get the hidden window’s preview and then right click to select move or maximize to place it in view.

You may want to look at this: G'MIC (2023-01-17) - Page 18 - Plugins - Publishing ONLY! - paint.net Forum

@David_Tschumperle : This doesn’t look right:

$ echo {[-1,0]^^.5} # => [nan,0]

What I’d like to do is take n-root of a negative number, and get the complex number. Same if the negative number as a imaginary number next to it.

For me:

$ gmic e {"[-1,0]^^.5"}
[gmic]-0./ Start G'MIC interpreter.
6.123233995736766e-17,1
[gmic]-0./ End G'MIC interpreter.

Tested on Ubuntu, not on Windows.

A quick test on Windows (MSYS2 cli), with latest 3.2.1 pre-release:

gmic_csqrt

Works also in the plug-in:

So, I can’t reproduce the issue here, neither under Linux nor under Windows.

I see that it works with plugin. It fails to work on Windows command prompt.

Edit: I know why, ^ is escape symbol in Window command prompt. Sorry for false alert.

Nice progress David.

Error from me… (by surprising switch of focus)

Why am I getting these errors?

The source seem to be in these codes:

cs2rgb=${arg\ 1+$11,,ryb2rgb,hsi82rgb,hsl82rgb,hsv82rgb,lab82rgb,lch82rgb,yiq82rgb,yuv82rgb}

convert_colors_fwd=${arg\ 1+$16,,rgb2srgb,rgb2ryb,rgb2cmy,,rgb2hcy,rgb2hsi,rgb2hsl,rgb2hsv,rgb2lab,rgb2lch,rgb2yiq,rgb2yuv,rgb2ycbcr,rgb2ycbcrglic,rgb2xyz,rgb2yes,rgb2k1}
convert_colors_bwd=${arg\ 1+$16,,srgb2rgb,ryb2rgb,cmy2rgb,,hcy2rgb,hsi2rgb,hsl2rgb,hsv2rgb,lab2rgb,lch2rgb,yiq2rgb,yuv2rgb,ycbcr2rgb,ycbcrglic2rgb,xyz2rgb,yes2rgb,k12rgb}

I made some changes to get it to work as before, please try again by 12:00 or 6:00 EST or CDT.

Note to self: Fix other places with modf.

Also note to self: With changed modf, other commands can be fixed too.

Also note to self: Cascading self-glitch needs a rewrite too!

1 Like

Added new upscale filter “Upscale [Recursive2x]” based on self-similar matching, for testing. It can be glitchy and sometimes produces vector-like shapes, but it has a nice tendency to clean/sharp edges. Had to use a lot of pre and post processing to reduce glitches, so it might be tweaked in future.
recursivepeppers

3 Likes
  • 2023/02/15: Release of G’MIC 3.2.1.

G’MIC 3.2.1 GMIC CLI , GMIC-QT , GMIC-GIMP-2.10 Win 32/64 + GMIC-GIMP-2.99.15 Portable Win 64

1 Like

I just pushed a single character commit to make “Upscale [Recursive2x]” faster for those with multi-cpu. If that breaks it for anyone, please let me know and I’ll make it optional. I don’t expect that to happen though.

I want to point that you should consider multi-cpu as the default. Most people utilize multiple threads at this point.

Indeed, assuming nothing breaks. Multi-thread also has a certain overhead which can outweigh the gains depending on the algo and input size - you will no doubt know that already!

Update for “Recursive2x”:

  • Added new option for randomized matching with kernel = 0. It’s faster and probably produces better output for video.
2 Likes

gmic_reference.pdf file seems to be updated. Looks good now. It’s a pity that the navigation via internal links does not work.

By the way at least the reference chapters

  • Managing 3D vector objects
  • Scientific publications

would fit very well in the pdf version.

How does anyone feel about resize() in math parser getting arithmetic operation such as sum,subtract,etc for interpolation option? Or maybe downsize() which should operate similarity to resize and restricted to downsiding while checking if it is divisible, but with operation like +,-,*. Something to make this shorter?

 color_info=crop(#-2,0,0,0,0,w#-2,h#-2,1,s)*periodic_alpha;
 color_output=vector(#s,0);
 repeat(s,p,
  color_output[p]=sum((color_info)[p*tile_dimensions,tile_dimensions]);
 );
 color_output;

Also, calling @David_Tschumperle for this thread - Repeat effect N-times. Also redo/undo N-times. - Paint.NET Discussion and Questions - paint.net Forum .