Release of G'MIC 2.8

Is it possible to do this?

f "a=[0,1,2,3];b[4,5,6,7];merge(a,b) #[0,1,2,3,4,5,6,7]#"

For context, I am rewriting rep_stitch. That means I would need to get n channels value based on values found in a combined set of channel values inside a vector that contains a size of values multiplied by channel numbers.

No, but :

f "a=[0,1,2,3];b[4,5,6,7]; c = [ a,b ];  #[0,1,2,3,4,5,6,7]#"

Hi David.

Question and request - can you expand the information contained in:
List of filters in the G’MIC plug-in

I will give an example:
Artistic / Anguish (command 'samj_Angoisse_en')

Information from gmic_qt_log:

  • [gmic_gimp_qt]./preview/ v 0 samj_Angoisse_en 1,5,0,5,100,2,4,1,250
  • [gmic]-1./ Start G’MIC interpreter.
  • [gmic]-1./samj_Angoisse_en/samj_Angoisse/ Set local variable ‘iterations=1’.
  • [gmic]-1./samj_Angoisse_en/samj_Angoisse/ Set local variable ‘dog_sigma1=5’.
  • [gmic]-1./samj_Angoisse_en/samj_Angoisse/ Set local variable ‘dog_sigma2=0’.
  • [gmic]-1./samj_Angoisse_en/samj_Angoisse/ Set local variable ‘sw_threshold=5’.
  • [gmic]-1./samj_Angoisse_en/samj_Angoisse/ Set local variable ‘smooth_amplitude=100’.
  • [gmic]-1./samj_Angoisse_en/samj_Angoisse/ Set local variable ‘noise_amplitude=2’.
  • [gmic]-1./samj_Angoisse_en/samj_Angoisse/ Set local variable ‘noise_type=4’.
  • [gmic]-1./samj_Angoisse_en/samj_Angoisse/ Set local variable ‘opacite=1’.
  • [gmic]-1./samj_Angoisse_en/samj_Angoisse/ Set local variable ‘sharpen_amplitude=250’.

Information from updatexxx.gmic:

#@gui Artistic
#@gui Anguish : samj_Angoisse_en, samj_Angoisse_en(1)
#@gui : note = note(“Iterations”)
#@gui : Iterations = int(1,1,3)
#@gui : note = note(“Dog”)
#@gui : Sigma 1 = float(5,0,10)
#@gui : Sigma 2 = float(0,0,10)
#@gui : note = note(“Segment Watershed”)
#@gui : Threshold = float(5,0,10)
#@gui : note = note(“Smooth”)
#@gui : Amplitude = float(100,0,200)
#@gui : note = note(“Noise”)
#@gui : Amplitude = float(2,0,10)
#@gui : Type = choice(4,“Gaussian”,“Uniform”,“Salt and pepper”,“Poisson”,“Rice”)
#@gui : note = note(“Blend”)
#@gui : Opacity = float(1,0,1)
#@gui : note = note(“Sharpen”)
#@gui : Amplitude = int(250,0,500)
#@gui : sep = separator(), note = note(“Author: Samj. Latest Update: 2015/03/27.”)
samj_Angoisse_en :

New List of filters in the G’MIC plug-in (something like a PDB database):

Artistic / Anguish (command 'samj_Angoisse_en iterations(1,1,3),dog_sigma1(5,0,10),dog_sigma2(0,0,10),sw_threshold(5,0,10),smooth_amplitude(100,0,200),noise_amplitude(2,0,10),noise_type(4,“Gaussian”,“Uniform”,“Salt and pepper”,“Poisson”,“Rice”),opacite(1,0,1),sharpen_amplitude(250,0,500)

A big “Thank you !” to the 49 sponsors who donated to support our project, in October and November !


I’m currently working on improving the way the verbosity of the messages is managed in G’MIC.
Big changes on the way.
Basically, the use of the commands verbose will be very reduced in the future, most of the commands just won’t need to deal with that, as things will be done automatically.

Still a lot of things to fix right now, but I’m on the right way :slight_smile:


Bug? I probably ran out of memory, a usual occurrence.

gmic a0.gmz afre_y50 1 colormap 0
[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./ Input file 'a0.gmz' at position 0 (1 image 6016x4010x1x3).
[afre]^_^) y50: Compute luminance (D50 Rec.2020) of image [0].
[gmic]-1./ Estimate full colormap for image [0].terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

It works for me:

$ gmic sp lena,6000 afre_y50 1 colormap 0
[gmic]-0./ Start G'MIC interpreter.
[gmic]-1./ Input sample image 'lena' (1 image 6000x6000x1x3).
[afre]^_^) y50: Compute luminance (D50 Rec.2020) of image [0].
[gmic]-1./ Estimate full colormap for image [0].
[gmic]-1./ Display image [0] = '[colormap of lena]'.
[0] = '[colormap of lena]':
  size = (273023,1,1,1) [1066 Kio of floats].
  data = (27.632,27.6776,27.911,27.9566,28.1901,28.3529,28.3985,28.4441,28.5864,28.632,28.6776,28.7232,(...),225.902,225.922,225.938,225.948,225.983,225.993,226.029,226.08,226.09,226.126,226.135,226.171).
  min = 27.632, max = 226.171, mean = 136.19, std = 38.806, coords_min = (0,0,0,0), coords_max = (273022,0,0,0).

I have 4GB of RAM, and run Ubuntu Linux.
Are you running it on Windows ?

I’m planning to release stable version 2.8.0 in the next days.

Do you have any suggestions for improvements that can be done in a reasonable amount of time ?

Maybe some more explanation of the new verbosity? I like it, still for
gmic osteo +pink asf,5
level 9 (v 9) was necessary to get the most of it, to see what happens, including the external commands in this example.
Is it possible that program control commands like repeat change the verbosity level too?

The post I’ve made explain it all. There is not much more to say about this.
The big difference compared to the previous behavior, is that each time you enter a new command, the verbosity is decreased, so if you plan to display some messages on the console in a command that is called in a ‘deep’ scope, then you can force it to be verbose by starting it with v 0.

  • 2019/12/04 : Release for version 2.8.0 !

Win10 with 4GB RAM.

I’ve tested yesterday on my virtualized Win7, with 3Gb RAM, and it worked…
4Gb seems more than enough for doing this operation BTW.

I just tried to compile from git using:

git clone && git clone && make -C gmic/src CImg.h gmic_stdlib.h && cd gmic-qt && qmake HOST=gimp && make

Compilation failed soon after download:

Project MESSAGE: GMIC_PATH was not set: Found gmic sources in ../gmic/src
Project MESSAGE: G'MIC repository was found (../gmic/src)
Project MESSAGE: G'MIC version is 281
Project MESSAGE: CImg version is 280
Project ERROR: Version numbers of files 'gmic.h' ( 281 ) and 'CImg.h' ( 280 ) mismatch

Do I need to update the command line instructions or is it something else?

It should be fixed now in the repository.
Try $ make clean in src/ and try again :slight_smile:

Compiled & working thanks! :grinning:

1 Like

Minor flaw with the command
gmic v 0 sp ?
It terminates immediately on my Mac. Is that by purpose?

gmic version
[gmic]-0./ Start G’MIC interpreter.

gmic: GREYC’s Magic for Image Computing: command-line interface
Version 2.8.1 (pre-release #191205)

    Copyright (c) 2008-2020, David Tschumperle / GREYC / CNRS. 

[gmic]-0./ End G’MIC interpreter.

Looks like a bug in 2.8.1. i’ve made some modifs this morning, and this is a regression.
I’ll fix this ASAP.

Ha sorry, not a bug, it is by purpose indeed :slight_smile:

Now, when a pipeline ends its execution, images are not displayed automatically if the verbosity level is <=0. So, gmic v 0 sp d basically solves this “issue”.

Ok, acceptable. Still it could be mentioned in the verbose command description. Image and text is slightly different for me.
Autom. display of remaining images is suppressed for verbosity<=0