1G'MIC(1)                    General Commands Manual                   G'MIC(1)
2
3
4

NAME

6       gmic - Perform image processing operations using the G'MIC framework.
7
8

HELP

10         gmic: GREYC's Magic for Image Computing: command-line interface
11               (https://gmic.eu)
12               Version 2.9.0
13
14               Copyright (c) 2008-2020, David Tschumperle / GREYC / CNRS.
15               (https://www.greyc.fr)
16
17        1. Usage
18
19           gmic [command1 [arg1_1,arg1_2,..]] .. [commandN [argN_1,argN_2,..]]
20
21           'gmic'  is  the  open-source  interpreter  of the G'MIC language, a
22       script-based programming
23           language dedicated to the design of possibly complex image process‐
24       ing pipelines and operators.
25           It  can  be used to convert, manipulate, filter and visualize image
26       datasets made of one
27           or several 1D/2D or 3D multi-spectral images.
28
29           This reference documentation describes all the technical rules gov‐
30       erning the G'MIC language.
31           As  a  starting  point, you may want to visit our detailed tutorial
32       pages, at:
33            https://gmic.eu/tutorial/
34
35        2. Overall Context
36
37         - At any time, G'MIC manages one list  of  numbered  (and  optionally
38       named) pixel-based images,
39            entirely stored in computer memory (uncompressed).
40
41         -  The first image of the list has index '0' and is denoted by '[0]'.
42       The second image of the
43            list is denoted by '[1]', the third by '[2]' and so on.
44
45         - Negative indices are treated in a periodic way:  '[-1]'  refers  to
46       the last image of the list,
47            '[-2]'  to  the  penultimate  one,  etc.  Thus,  if the list has 4
48       images, '[1]' and '[-3]' both
49            designate the second image of the list.
50
51         - A named image may be also indicated by '[name]', if 'name' uses the
52       character set [a-zA-Z0-9_]
53            and  does not start with a number. Image names can be set or reas‐
54       signed at any moment during
55            the processing pipeline (see command 'name' for this purpose).
56
57         - G'MIC defines a set of various commands and substitution mechanisms
58       to allow the design of
59            complex pipelines and operators managing this list of images, in a
60       very flexible way:
61            You can insert or remove  images  in  the  list,  rearrange  image
62       order, process images
63            (individually  or grouped), merge image data together, display and
64       output image files, etc.
65
66         - Such a pipeline can define a new custom G'MIC command (stored in  a
67       user command
68            file),  and  re-used  afterwards as a regular command, in a larger
69       pipeline if necessary.
70
71        3. Image Definition and Terminology
72
73         - In G'MIC, each image is modeled as a 1D, 2D,  3D  or  4D  array  of
74       scalar values, uniformly
75            discretized on a rectangular/parallelepipedic domain.
76
77         - The four dimensions of this array are respectively denoted by:
78
79           . 'width', the number of image columns (size along the 'x'-axis).
80           . 'height', the number of image rows (size along the 'y'-axis).
81           . 'depth', the number of image slices (size along the 'z'-axis).
82               (the  depth  is  equal  to  1  for  usual color or grayscale 2D
83       images).
84           .  'spectrum',  the  number  of  image  channels  (size  along  the
85       'c'-axis).
86               (the  spectrum  is  respectively equal to 3 and 4 for usual RGB
87       and RGBA color images).
88
89         - There are no hard limitations on the size of the image  along  each
90       dimension. For instance,
91            the  number  of  image slices or channels can be of arbitrary size
92       within the limits of
93            the available memory.
94
95         - The width, height and depth of an image are considered  as  spatial
96       dimensions, while the
97            spectrum  has  a multi-spectral meaning. Thus, a 4D image in G'MIC
98       should be most often
99            regarded as a 3D dataset of multi-spectral  voxels.  Most  of  the
100       G'MIC commands will stick with
101            this idea (e.g. command 'blur' blurs images only along the spatial
102       'xyz'-axes).
103
104         - G'MIC stores all the image data as buffers of  'float'  values  (32
105       bits, value range
106            [-3.4E38,+3.4E38]).  It  performs  all its image processing opera‐
107       tions with floating point
108            numbers. Each image pixel takes  then  32bits/channel  (except  if
109       double-precision buffers have
110            been enabled during the compilation of the software, in which case
111       64bits/channel can be the
112            default).
113
114         - Considering 'float'-valued pixels ensure to keep the numerical pre‐
115       cision when executing
116            image processing pipelines. For image input/output operations, you
117       may want to prescribe the
118            image datatype to be different than 'float' (like 'bool',  'char',
119       'int', etc...).
120            This  is possible by specifying it as a file option when using I/O
121       commands.
122            (see section 'Input/Output Properties' to learn  more  about  file
123       options).
124
125        4. Items of a Processing Pipeline
126
127         -  In  G'MIC, an image processing pipeline is described as a sequence
128       of items separated by the
129            space character ' '. Such items are interpreted and executed  from
130       the left to the right.
131            For instance, the expression:
132
133              filename.jpg   blur  3,0  sharpen  10  resize  200%,200%  output
134       file_out.jpg
135
136            defines a valid pipeline composed of nine G'MIC items.
137
138         - Each G'MIC item is a string that is either a  command,  a  list  of
139       command arguments,
140            a filename, or a special input string.
141
142         -  Escape  characters '\' and double quotes '"' can be used to define
143       items containing spaces or
144            other special characters. For instance, the two  strings  'single\
145       item' and '"single item"'
146            both define the same single item, with a space in it.
147
148        5. Input Data Items
149
150         -  If  a specified G'MIC item appears to be an existing filename, the
151       corresponding image data
152            are loaded and inserted at the end of the  image  list  (which  is
153       equivalent to the use of
154            'input filename').
155
156         - Special filenames '-' and '-.ext' stand for the standard input/out‐
157       put streams, optionally
158            forced to be in a specific 'ext'  file  format  (e.g.  '-.jpg'  or
159       '-.png').
160
161         -  The  following special input strings may be used as G'MIC items to
162       create and insert new
163            images with prescribed values, at the end of the image list:
164
165           . '[selection]' or '[selection]xN': Insert 1 or N copies of already
166       existing images.
167              'selection' may represent one or several images
168              (see  section 'Command Items and Selections' to learn more about
169       selections).
170
171           . 'width[%],_height[%],_depth[%],_spectrum[%],_values[xN]':  Insert
172       one or N images with specified
173              size  and values (adding '%' to a dimension means 'percentage of
174       the size along the same
175              axis, taken from the last image '[-1]''). Any  specified  dimen‐
176       sion can be also written as
177              '[image]',  and is then set to the size (along the same axis) of
178       the existing specified image
179              [image]. 'values' can be either a sequence of numbers  separated
180       by commas ',',
181              or   a   mathematical   expression,   as   e.g.  in  input  item
182       '256,256,1,3,[x,y,128]' which
183              creates a 256x256 RGB color image with a spatial shading on  the
184       red and green channels.
185              (see  section  'Mathematical  Expressions'  to  learn more about
186       mathematical expressions).
187
188           . '(v1,v2,..)[xN]': Insert one or N new images from specified  pre‐
189       scribed values. Value separator
190              inside parentheses can be ',' (column separator), ';' (row sepa‐
191       rator), '/' (slice separator) or
192              '^'    (channel    separator).    For    instance,    expression
193       '(1,2,3;4,5,6;7,8,9)' creates a
194               3x3 matrix (scalar image), with values running from 1 to 9.
195
196           .  '('string'[:delimiter])[xN]':  Insert  one  or N new images from
197       specified string, by filling
198              the images with the character codes composing the  string.  When
199       specified, 'delimiter' tells about
200              the  main orientation of the image. Delimiter can be 'x' (eq. to
201       ',' which is the default),
202              'y' (eq. to ';'), 'z' (eq. to '/') or 'c' (eq. to '^').
203              When specified delimiter is ',', ';', '/' or '^', the expression
204       is
205              actually  equivalent to '({'string'[:delimiter]})[xN]' (see sec‐
206       tion 'Substitution Rules'
207              for more information on the syntax).
208
209           . '0[xN]': Insert one or N new 'empty' images, containing no  pixel
210       data.
211              Empty images are used only in rare occasions.
212
213         - Input item 'name=value' declares a new variable 'name', or assign a
214       new string value
215            to an existing variable. Variable names must use the character set
216       [a-zA-Z0-9_] and cannot
217            start with a number.
218
219         - A variable definition is always local to the current command except
220       when it starts by the
221            underscore character '_'. In that case, it becomes also accessible
222       by any command invoked
223            outside the current command scope (global variable).
224
225         -  If  a  variable  name starts with two underscores '__', the global
226       variable is also shared among
227            different threads and can be read/set by commands running in  par‐
228       allel (see command 'parallel'
229            for  this purpose). Otherwise, it remains local to the thread that
230       defined it.
231
232         - Numerical variables can be updated with the use  of  these  special
233       operators:
234            '+='  (addition),  '-=' (subtraction), '*=' (multiplication), '/='
235       (division), '%=' (modulo),
236            '&=' (bitwise and), '|=' (bitwise or),  '^='  (power),  '<<='  and
237       '>>=' (bitwise left and right
238            shifts). For instance, 'foo=1 foo+=3'.
239
240         -  Input  item  'name.=string' concatenates specified 'string' to the
241       end of variable 'name'.
242
243         - Multiple variable assignments and updates are allowed, with expres‐
244       sions:
245            'name1,name2,...,nameN=value'                                   or
246       'name1,name2,...,nameN=value1,value2,...,valueN'
247            where assignment operator '='  can  be  replaced  by  one  of  the
248       allowed operators
249            (e.g. '+=').
250
251         -  Variables usually store numbers or strings. Use command 'store' to
252       assign variables from image
253            data (and command 'input $variable' to  bring  them  back  on  the
254       image list afterwards).
255
256        6. Command Items and Selections
257
258         - A G'MIC item that is not a filename nor a special input string des‐
259       ignates a command,
260            most of the time. Generally,  commands  perform  image  processing
261       operations on one or several
262            available images of the list.
263
264         -  Reccurent  commands have two equivalent names (regular and short).
265       For instance, command names
266            'resize' and 'r' refer to the same image resizing action.
267
268         - A G'MIC command may have mandatory or optional  arguments.  Command
269       arguments must be specified
270            in the next item on the command line. Commas ',' are used to sepa‐
271       rate multiple arguments of a
272            single command, when required.
273
274         - The execution of a G'MIC command may be restricted only to a subset
275       of the image list, by
276            appending  '[selection]'  to  the  command name. Examples of valid
277       syntaxes for 'selection' are:
278
279           . 'command[-2]': Apply command only on the penultimate  image  [-2]
280       of the list.
281           . 'command[0,1,3]': Apply command only on images [0],[1] and [3].
282           .  'command[3-6]':  Apply  command  only on images [3] to [6] (i.e,
283       [3],[4],[5] and [6]).
284           . 'command[50%-100%]': Apply command only on the second half of the
285       image list.
286           . 'command[0,-4--1]': Apply command only on the first image and the
287       last four images.
288           . 'command[0-9:3]': Apply command only on images [0] to [9], with a
289       step of 3
290                                 (i.e. on images [0], [3], [6] and [9]).
291           . 'command[0-9:25%]': Apply command only on images [0] to [9], with
292       a step of 25%
293                                 (i.e. on images [0], [3], [6] and [9]).
294           . 'command[0--1:2]': Apply command only on images of the list  with
295       even indices.
296           .  'command[0,2-4,50%--1]': Apply command on images [0],[2],[3],[4]
297       and on the second half of
298                                        the image list.
299           . 'command[^0,1]': Apply command on all  images  except  the  first
300       two.
301           . 'command[name1,name2]': Apply command on named images 'name1' and
302       'name2'.
303
304         - indices in selections are always sorted in  increasing  order,  and
305       duplicate indices are
306            discarded.  For instance, selections '[3-1,1-3]' and '[1,1,1,3,2]'
307       are both equivalent to
308            '[1-3]'. If you want to repeat a single command multiple times  on
309       an image, use a
310            'repeat..done'  loop  instead. Inverting the order of images for a
311       command is achieved by
312            explicitly inverting the order of the images  in  the  list,  with
313       command 'reverse[selection]'.
314
315         -  Command selections '[-1]','[-2]' and '[-3]' are so often used they
316       have their own
317            shortcuts, respectively '.', '..' and '...'. For instance, command
318       'blur..' (or 'blur[..]')
319            is equivalent to 'blur[-2]'. These shortcuts work also when speci‐
320       fying command arguments.
321
322         - G'MIC commands invoked without '[selection]'  are  applied  on  all
323       images of the list, i.e. the
324            default  selection  is  '[0--1]' (except for command 'input' whose
325       default selection is '[-1]').
326
327         - Prepending a single hyphen '-' to a G'MIC command is allowed.  This
328       may be useful to recognize
329            command  items  more  easily  in  a  one-liner pipeline (typically
330       invoked from a shell).
331
332         - A G'MIC command prepended with a plus sign '+' or a  double  hyphen
333       '--' does not act 'in-place'
334            but  inserts its result as one or several new images at the end of
335       the image list.
336
337         - There are two different types of commands that can be  run  by  the
338       G'MIC interpreter:
339
340           .  Built-in  commands,  are  the  hard-coded functionalities in the
341       interpreter core. They are thus
342              compiled as binary code and run fast, most of the time. Omitting
343       an argument when invoking a
344              built-in command is not permitted, except if all following argu‐
345       ments are also omitted.
346              For instance, invoking 'plasma 10,,5' is invalid but 'plasma 10'
347       is correct.
348           .  Custom  commands,  are defined as G'MIC pipelines of built-in or
349       other custom commands.
350              They are parsed by the G'MIC interpreter, and  thus  run  a  bit
351       slower than built-in commands.
352              Omitting  arguments when invoking a custom command is permitted.
353       For instance, expressions
354              'flower ,,,100,,2' or 'flower ,' are correct.
355
356         - Most of the existing commands in G'MIC are actually defined as cus‐
357       tom commands.
358
359         -  A  user can easily add its own custom commands to the G'MIC inter‐
360       preter (see section
361            'Adding Custom Commands' for more details). New built-in  commands
362       cannot be added
363            (unless you modify the G'MIC interpreter source code and recompile
364       it).
365
366        7. Input/Output Properties
367
368         - G'MIC is able to read/write most of the classical image  file  for‐
369       mats, including:
370
371           .  2D  grayscale/color  files: .png, .jpeg, .gif, .pnm, .tif, .bmp,
372       ...
373           . 3D volumetric files: .dcm, .hdr, .nii, .pan, .inr, .pnk, ...
374           . video files: .mpeg, .avi, .mov, .ogg, .flv, ...
375           . Generic text or binary data files:  .gmz,  .cimg,  .cimgz,  .dlm,
376       .asc, .pfm, .raw, .txt, .h.
377           . 3D object files: .off.
378
379         -  When  dealing with color images, G'MIC generally reads, writes and
380       displays data using the usual
381            sRGB color space.
382
383         - G'MIC is able to manage 3D objects that may be read from  files  or
384       generated by G'MIC commands.
385            A  3D object is stored as a one-column scalar image containing the
386       object data, in the
387            following order: { magic_number; sizes; vertices; primitives; col‐
388       ors; opacities }.
389            These 3D representations can be then processed as regular images.
390            (see  command 'split3d' for accessing each of these 3D object data
391       separately).
392
393         - Be aware that usual file formats may be sometimes  not  adapted  to
394       store all the available image
395            data,  since  G'MIC uses float-valued image buffers. For instance,
396       saving an image that was
397            initially loaded as a 16bits/channel image, as a  .jpg  file  will
398       result in a loss of
399            information.  Use the G'MIC-specific file extension .gmz to ensure
400       that all data
401            precision is preserved when saving images.
402
403         - Sometimes, file options may/must be set for file formats:
404
405           . Video files: Only sub-frames of an image sequence may be  loaded,
406       using the input expression
407              'filename.ext,[first_frame[,last_frame[,step]]]'.            Set
408       'last_frame==-1' to tell it must be
409              the last frame of the video. Set 'step' to 0 to force an  opened
410       video file to be
411              opened/closed.  Output  framerate  and  codec can be also set by
412       using the output expression
413              'filename.avi,_fps,_codec,_keep_open={ 0 | 1 }'.  'codec'  is  a
414       4-char string
415              (see  http://www.fourcc.org/codecs.php)  or  '0' for the default
416       codec. 'keep_open'
417              tells if the output video file must be kept open  for  appending
418       new frames afterwards.
419
420           .  .cimg[z]  files: Only crops and sub-images of .cimg files can be
421       loaded, using the input
422             expressions 'filename.cimg,N0,N1', 'filename.cimg,N0,N1,x0,x1',
423             'filename.cimg,N0,N1,x0,y0,x1,y1',                         'file‐
424       name.cimg,N0,N1,x0,y0,z0,x1,y1,z1' or
425             'filename.cimg,N0,N1,x0,y0,z0,c0,x1,y1,z1,c1'.
426             Specifying '-1' for one coordinates stands for the maximum possi‐
427       ble value. Output expression
428             'filename.cimg[z][,datatype]' can be used  to  force  the  output
429       pixel type. 'datatype' can be
430             {  auto  |  uchar | char | ushort | short | uint | int | uint64 |
431       int64 | float | double }.
432
433           . .raw binary files: Image dimensions and input pixel type  may  be
434       specified when loading .raw
435              files with input expression
436              'filename.raw[,datatype][,width][,height[,depth[,dim[,off‐
437       set]]]]]'. If no dimensions are
438              specified, the resulting image is a one-column vector with maxi‐
439       mum possible height. Pixel
440              type  can  also  be  specified with the output expression 'file‐
441       name.raw[,datatype]'.
442              'datatype' can be the same as for .cimg[z] files.
443
444           . .yuv files: Image dimensions must be specified when loading,  and
445       only sub-frames of an image
446              sequence may be loaded, using the input expression
447              'filename.yuv,width,height[,chroma_subsam‐
448       pling[,first_frame[,last_frame[,step]]]'.
449              'chroma_subsampling' can be { 420 | 422 | 444 }.
450              When saving, chroma subsampling mode can be specified with  out‐
451       put expression
452              'filename.yuv[,chroma_subsampling]'.
453
454           .  .tiff  files:  Only  sub-images of multi-pages tiff files can be
455       loaded, using the input
456              expression 'filename.tif,_first_frame,_last_frame,_step'.
457              Output       expression       'filename.tiff,_datatype,_compres‐
458       sion,_force_multipage,_use_bigtiff' can
459              be  used  to  specify the output pixel type, as well as the com‐
460       pression method.
461              'datatype' can be the same as for .cimg[z] files.  'compression'
462       can be
463              {  none (default) | lzw | jpeg }. 'force_multipage can be { 0=no
464       (default) | 1=yes }.
465              'use_bigtiff can be { 0=no | 1=yes (default) }.
466
467           . .gif files: Animated gif files can  be  saved,  using  the  input
468       expression
469              'filename.gif,fps>0,nb_loops'.  Specify  'nb_loops=0'  to get an
470       infinite number of animation
471              loops (this is the default behavior).
472
473           . .jpeg files: The output quality may be specified  (in  %),  using
474       the output expression
475              'filename.jpg,30'  (here, to get a 30% quality output). '100' is
476       the default.
477
478           . .mnc files: The output header can set from  another  file,  using
479       the output expression
480              'filename.mnc,header_template.mnc'.
481
482           .  .pan,  .cpp,  .hpp,  .c and .h files: The output datatype can be
483       selected with output expression
484              'filename[,datatype]'.  'datatype'  can  be  the  same  as   for
485       .cimg[z] files.
486
487           .  .gmic files: These filenames are assumed to be G'MIC custom com‐
488       mands files. Loading such a
489              file will add the commands it defines to the interpreter.  Debug
490       information can be
491              enabled/disabled     by     the    input    expression    'file‐
492       name.gmic[,add_debug_info={ 0 | 1 }]'.
493
494           . Inserting 'ext:' on the beginning of a filename (e.g.  'jpg:file‐
495       name') forces G'MIC to
496              read/write  the  file  as  it would have been done if it had the
497       specified extension '.ext'.
498
499         - Some input/output formats and options may not be supported, depend‐
500       ing on the configuration
501            flags that have been set during the build of the G'MIC software.
502
503        8. Substitution Rules
504
505         -  G'MIC  items  containing  '$' or '{}' are substituted before being
506       interpreted. Use these
507            substituting expressions to access various data  from  the  inter‐
508       preter environment.
509
510         -  '$name'  and  '${name}'  are  both substituted by the value of the
511       specified named variable
512            (set previously by the item 'name=value'). If  this  variable  has
513       not been already set, the
514            expression  is  substituted  by  the highest positive index of the
515       named image '[name]'. If no
516            image has this name, the expression is substituted by the value of
517       the OS environment variable
518            with same name (it may be thus an empty string).
519            The  following  reserved  variables  are  predefined  by the G'MIC
520       interpreter:
521
522              . '$!': The current number of images in the list.
523              . '$>' and '$<': The increasing/decreasing index of  the  latest
524       (currently running)
525                 'repeat...done'  loop.  '$>' goes from '0' (first loop itera‐
526       tion) to
527                 'nb_iterations - 1' (last iteration). '$<' does the opposite.
528              . '$/': The current call stack. Stack  items  are  separated  by
529       slashes '/'.
530              .  '$|': The current value (expressed in seconds) of a millisec‐
531       ond precision timer.
532              . '$^': The current verbosity level.
533              . '$_cpus': The number of computation cores  available  on  your
534       machine.
535              . '$_pid': The current process identifier, as an integer.
536              .  '$_prerelease': For pre-releases, the date of the pre-release
537       as 'yymmdd'.
538                 For stable releases, this variable is set to 0.
539              . '$_version': A 3-digits number telling about the current  ver‐
540       sion of the G'MIC interpreter
541                 (e.g. '290').
542              .  '$_host':  A  string telling about the host running the G'MIC
543       interpreter
544                 (e.g. 'cli' or 'gimp').
545              . '$_vt100': Set to 1 if colored text output is allowed  on  the
546       console.
547                 Otherwise, set to 0
548              .  '$_path_rc':  The  path  to  the  G'MIC  folder used to store
549       resources and configuration files
550                (its value is OS-dependent).
551              . '$_path_user': The path  to  the  G'MIC  user  file  .gmic  or
552       user.gmic
553                 (its value is OS-dependent).
554              .  '$_path_commands':  A  list  of  all  imported  command files
555       (stored as a list-valued variable).
556
557         - '$$name' and '$${name}' are both substituted by  the  G'MIC  script
558       code of the specified named
559            custom  command,  or  by an empty string if no custom command with
560       specified name exists.
561
562         - '${"-pipeline"}' is substituted by the status value after the  exe‐
563       cution of the specified
564            G'MIC  pipeline  (see  command  'status').  Expression  '${}' thus
565       stands for the
566            current status value.
567
568         - '{``string}' (starting with two backquotes)  is  substituted  by  a
569       double-quoted version of the
570            specified string.
571
572         -  '{/string}' is substituted by the escaped version of the specified
573       string.
574
575         - '{'string'[:delimiter]}' (between single quotes) is substituted  by
576       the sequence of character codes
577            that  composes the specified string, separated by specified delim‐
578       iter. Possible delimiters are
579            ',' (default), ';', '/', '^' or ' '.
580            For instance, item '{'foo'}' is substituted by  '102,111,111'  and
581       '{'foo':;}' by '102;111;111'.
582
583         -  '{image,feature[:delimiter]}' is substituted by a specific feature
584       of the image [image].
585            'image' can be either an image number or an image name. It can  be
586       also eluded, in which case,
587            the  last image '[-1]' of the list is considered for the requested
588       feature.
589            Specified 'feature' can be one of:
590
591              . 'b': The image basename (i.e. filename without the folder path
592       nor extension).
593              . 'f': The image folder name.
594              .  'n':  The  image name or filename (if the image has been read
595       from a file).
596              . 't': The text string from the image values regarded as charac‐
597       ter codes.
598              .  'x':  The  image extension (i.e the characters after the last
599       '.' in the image name).
600              . '^ : The sequence of all image  values,  separated  by  commas
601       ','.
602              .  '@subset':  The sequence of image values corresponding to the
603       specified subset, and
604                 separated by commas ','.
605              . Any other 'feature' is considered as a mathematical expression
606       associated to the image
607                 [image]  and  is  substituted by the result of its evaluation
608       (float value). For instance,
609                 expression '{0,w+h}' is substituted by the sum of  the  width
610       and height of the first image
611                 (see section 'Mathematical Expressions' for more details). If
612       a mathematical expression
613                 starts with an underscore '_', the resulting value  is  trun‐
614       cated to a readable format.
615                 For instance, item '{_pi}' is substituted by '3.14159' (while
616       '{pi}'
617                  is substituted by '3.141592653589793').
618              . A 'feature' delimited by backquotes is replaced  by  a  string
619       whose character codes correspond
620                 to  the  list  of values resulting from the evaluation of the
621       specified mathematical
622                 expression. For instance, item '{`[102,111,111]`}' is substi‐
623       tuted by 'foo' and item
624                 '{`vector8(65)`}' by 'AAAAAAAA'.
625
626         - '{*}' is substituted by the visibility state of the instant display
627       window [0]
628            (can be { 0=closed | 1=visible }).
629
630         - '{*[index],feature1,...,featureN[:delimiter]}' is substituted by
631             a specific set of features of the instant display window  #0  (or
632       #index, if specified).
633             Requested 'features' can be:
634
635              .  'w': display width (i.e. width of the display area managed by
636       the window).
637              . 'h': display height (i.e. height of the display  area  managed
638       by the window).
639              . 'wh': display width x display height.
640              . 'd': window width (i.e. width of the window widget).
641              . 'e': window height (i.e. height of the window widget).
642              . 'de': window width x window height.
643              . 'u': screen width (actually independent on the window size).
644              . 'v': screen height (actually independent on the window size).
645              . 'uv': screen width x screen height.
646              . 'n': current normalization type of the instant display.
647              . 't': window title of the instant display.
648              . 'x': X-coordinate of the mouse position (or -1, if outside the
649       display area).
650              . 'y': Y-coordinate of the mouse position (or -1, if outside the
651       display area).
652              . 'b': state of the mouse buttons { 1=left-but. | 2=right-but. |
653       4=middle-but. }.
654              . 'o': state of the mouse wheel.
655              . 'k': decimal code of the pressed key if any, 0 otherwise.
656              . 'c': boolean (0 or 1) telling if the instant display has  been
657       closed recently.
658              .  'r':  boolean telling if the instant display has been resized
659       recently.
660              . 'm': boolean telling if the instant  display  has  been  moved
661       recently.
662              . Any other 'feature' stands for a keycode name (in capital let‐
663       ters), and is substituted
664                 by a boolean describing the current key state {  0=pressed  |
665       1=released }.
666              .  You  can  also prepend a hyphen '-' to a 'feature' (that sup‐
667       ports it) to flush the
668                 corresponding  event  immediately  after  reading  its  state
669       (works for keys, mouse and
670                 window events).
671
672         -  Item  substitution  is  never  performed  in  items between double
673       quotes. One must break the quotes
674           to enable substitution if needed, as in '"3+8 kg  =  "{3+8}"  kg"'.
675       Using double quotes is then
676           a  convenient  way to disable the substitutions mechanism in items,
677       when necessary.
678
679         - One can also disable the substitution mechanism  on  items  outside
680       double quotes, by escaping the
681            '{','}' or '$' characters, as in '\{3+4\}\ doesn't\ evaluate'.
682
683        9. Mathematical Expressions
684
685         - G'MIC has an embedded mathematical parser, used to evaluate (possi‐
686       bly complex) expressions
687            inside braces '{}', or formulas in commands that may take  one  as
688       an argument (e.g. 'fill').
689
690         -  When  the context allows it, a formula is evaluated for each pixel
691       of the selected images
692            (e.g. 'fill').
693
694         - A math expression may return a scalar or vector-valued result (with
695       a fixed number of
696            components).
697
698         - The mathematical parser understands the following set of functions,
699       operators and variables:
700
701           _ Usual operators: || (logical or), && (logical  and),  |  (bitwise
702       or), & (bitwise and),
703              !=, ==, <=, >=, <, >, << (left bitwise shift), >> (right bitwise
704       shift), -, +, *, /,
705              % (modulo), ^ (power), ! (logical not), ~ (bitwise not),
706              ++, --, +=, -=, *=, /=, %=, &=, |=, ^=, >>=, <<= (in-place oper‐
707       ators).
708
709           _  Usual  math  functions: abs(), acos(), acosh(), arg(), argkth(),
710       argmax(), argmaxabs(),
711              argmin(),  argminabs(),  asin(),   asinh(),   atan(),   atan2(),
712       atanh(), avg(), bool(), cbrt(), ceil(),
713              cos(),  cosh(),  cut(), exp(), fact(), fibo(), floor(), gauss(),
714       int(), isnan(), isnum(), isinf(),
715              isint(), isbool(), isexpr(), isfile(), isdir(),  isin(),  kth(),
716       log(), log2(), log10(), max(),
717              maxabs(),  med(),  min(),  minabs(), narg(), prod(), rol() (left
718       bit rotation),
719              ror() (right bit  rotation),  round(),  sign(),  sin(),  sinc(),
720       sinh(), sqrt(), std(),
721              srand(_seed), sum(), tan(), tanh(), var(), xor().
722
723              . 'atan2(y,x)' is the version of 'atan()' with two arguments 'y'
724       and 'x' (as in C/C++).
725              . 'permut(k,n,with_order)' computes the number  of  permutations
726       of k objects from a set of
727                 n objects.
728              . 'gauss(x,_sigma,_is_normalized)' returns
729                 'exp(-x^2/(2*s^2))/(is_normalized?sqrt(2*pi*sigma^2):1)'.
730              .   'cut(value,min,max)'   returns  value  if  it  is  in  range
731       [min,max], or min or max otherwise.
732              . 'narg(a_1,...,a_N)' returns the number of specified  arguments
733       (here, N).
734              . 'arg(i,a_1,..,a_N)' returns the ith argument a_i.
735              .  'isnum()',  'isnan()',  'isinf()', 'isint()', 'isbool()' test
736       the type of the given
737                 number or expression, and return 0 (false) or 1 (true).
738              . 'isfile('path')' (resp. 'isdir('path')') returns 0 (false)  or
739       1 (true) whether its string
740                 argument is a path to an existing file (resp. to a directory)
741       or not.
742              . 'isin(v,a_1,...,a_n)' returns 0 (false) or  1  (true)  whether
743       the first value 'v' appears
744                 in the set of other values 'a_i'.
745              . 'inrange(value,m,M,include_boundaries)' returns 0 (false) or 1
746       (true) whether
747                 the specified value lies in range [m,M] or not (checked range
748       is ]m,M[ if
749                 'include_boundaries=0').
750              .  'argmin()',  'argmax()',  'avg()', 'kth()', 'max()', 'med()',
751       'min()', 'std()', 'sum()'
752                 and 'var()'  can  be  called  with  an  arbitrary  number  of
753       scalar/vector arguments.
754              .   'round(value,rounding_value,direction)'  returns  a  rounded
755       value. 'direction' can be
756                 { -1=to-lowest | 0=to-nearest | 1=to-highest }.
757              . 'lerp(a,b,t)' returns 'a*(1-t) + b*t'.
758
759           _ Variable names below are pre-defined. They can be overridden.
760
761              . 'l': length of the associated list of images.
762              . 'k': index of the associated image, in [0,l-1].
763              . 'w': width of the associated image, if any (0 otherwise).
764              . 'h': height of the associated image, if any (0 otherwise).
765              . 'd': depth of the associated image, if any (0 otherwise).
766              . 's': spectrum of the associated image, if any (0 otherwise).
767              . 'r': shared state of the associated image, if  any  (0  other‐
768       wise).
769              . 'wh': shortcut for width x height.
770              . 'whd': shortcut for width x height x depth.
771              .  'whds':  shortcut for width x height x depth x spectrum (i.e.
772       number of image values).
773              . 'im','iM','ia','iv','is','ip','ic': Respectively the  minimum,
774       maximum, average,
775                 variance,  sum,  product  and  median value of the associated
776       image, if any (0 otherwise).
777              . 'xm','ym','zm','cm': The  pixel  coordinates  of  the  minimum
778       value
779                 in the associated image, if any (0 otherwise).
780              .  'xM','yM','zM','cM':  The  pixel  coordinates  of the maximum
781       value
782                 in the associated image, if any (0 otherwise).
783              . All these variables are considered as constant values  by  the
784       math parser (for optimization
785                 purposes)  which is indeed the case most of the time. Anyway,
786       this might not be the case,
787                 if function 'resize(#ind,..)' is used in the math expression.
788                 If so, it is safer to  invoke  functions  'l()',  'w(_#ind)',
789       'h(_#ind)', ... 's(_#ind)'
790                 and 'ic(_#ind)' instead of the corresponding named variables.
791              .  'i':  current  processed  pixel  value (i.e. value located at
792       (x,y,z,c)) in the associated
793                 image, if any (0 otherwise).
794              . 'iN': Nth channel value of current processed pixel (i.e. value
795       located at (x,y,z,N)) in
796                 the  associated  image,  if any (0 otherwise). 'N' must be an
797       integer in range [0,9].
798              . 'R','G','B' and 'A' are equivalent to  'i0',  'i1',  'i2'  and
799       'i3' respectively.
800              .  'I':  current vector-valued processed pixel in the associated
801       image, if any (0 otherwise).
802                 The number of vector components is equal  to  the  number  of
803       image channels
804                 (e.g. I = [ R,G,B ] for a RGB image).
805              .  You  may  add  '#ind'  to  any  of the variable name above to
806       retrieve the information for any
807                 numbered image [ind] of the list (when this makes sense). For
808       instance 'ia#0' denotes
809                 the average value of the first image of the list).
810              .  'x': current processed column of the associated image, if any
811       (0 otherwise).
812              . 'y': current processed row of the associated image, if any  (0
813       otherwise).
814              .  'z':  current processed slice of the associated image, if any
815       (0 otherwise).
816              . 'c': current processed channel of the associated image, if any
817       (0 otherwise).
818              .  't':  thread id when an expression is evaluated with multiple
819       threads (0 means
820                 'master thread').
821              . 'e': value of e, i.e. 2.71828...
822              . 'pi': value of pi, i.e. 3.1415926...
823              . 'u': a random value between [0,1], following a uniform distri‐
824       bution.
825              .  'g':  a  random  value,  following a gaussian distribution of
826       variance 1
827                 (roughly in [-6,6]).
828              . 'interpolation': value of the default interpolation mode  used
829       when reading pixel values
830                  with the pixel access operators (i.e. when the interpolation
831       argument is not explicitly
832                  specified, see below for more details on pixel access opera‐
833       tors). Its initial default
834                  value is 0.
835              . 'boundary': value of the default boundary conditions used when
836       reading pixel values with
837                  the pixel access operators (i.e. when the boundary condition
838       argument is not explicitly
839                  specified, see below for more details on pixel access opera‐
840       tors). Its initial default
841                  value is 0.
842
843           _ Vector calculus: Most operators are also able to work  with  vec‐
844       tor-valued elements.
845
846              .  '[  a0,a1,...,aN-1  ]'  defines  a  N-dimensional vector with
847       scalar coefficients ak.
848              . 'vectorN(a0,a1,,...,aN-1)' does the same, with  the  ak  being
849       repeated periodically if
850                 only a few are specified.
851              .  'vector(#N,a0,a1,,...,aN-1)'  does  the same, and can be used
852       for any constant expression N.
853              . In previous expressions, the ak can be vectors themselves,  to
854       be concatenated into a
855                 single vector.
856              . The scalar element ak of a vector X is retrieved by 'X[k]'.
857              . The sub-vector [ X[p],X[p+s]...X[p+s*(q-1)] ] (of size q) of a
858       vector X
859                 is retrieved by 'X[p,q,s]'.
860              . Equality/inequality comparisons between two  vectors  is  done
861       with operators '==' and '!='.
862              . Some vector-specific functions can be used on vector values:
863                'cross(X,Y)'   (cross   product),  'dot(X,Y)'  (dot  product),
864       'size(X)' (vector dimension),
865                'sort(X,_is_increasing,_chunk_size)'     (sorting     values),
866       'reverse(A)' (reverse order of
867                components), 'shift(A,_length,_boundary_conditions)' and
868                'same(A,B,_nb_vals,_is_case_sensitive)'    (vector    equality
869       test).
870              . Function 'normP(u1,...,un)' computes the LP-norm of the speci‐
871       fied vector
872                 (P  being  an  unsigned  integer  constant or 'inf'). If P is
873       omitted, the L2 norm is used.
874              . Function  'resize(A,size,_interpolation,_boundary_conditions)'
875       returns a resized version of
876                 a  vector  'A' with specified interpolation mode. 'interpola‐
877       tion' can be { -1=none
878                 (memory content) | 0=none | 1=nearest | 2=average |  3=linear
879       | 4=grid | 5=bicubic |
880                 6=lanczos }, and 'boundary_conditions' can be { 0=dirichlet |
881       1=neumann | 2=periodic |
882                 3=mirror }.
883              . Function 'find(A,B,_starting_index,_search_step)' returns  the
884       index where
885                 sub-vector B appears in vector A, (or -1 if B is not found in
886       A).
887                 Argument A can be also replaced by an image index #ind.
888              . A 2-dimensional vector may be seen as  a  complex  number  and
889       used in those particular
890                 functions/operators:
891                 '**'  (complex multiplication), '//' (complex division), '^^'
892       (complex exponentiation),
893                 '**=' (complex  self-multiplication),  '//='  (complex  self-
894       division), '^^=' (complex
895                 self-exponentiation),  'cabs()'  (complex  modulus), 'carg()'
896       (complex argument), 'cconj()'
897                 (complex conjugate), 'cexp()' (complex exponential), 'clog()'
898       (complex logarithm)
899                 'ccos()'  (complex cosine), 'csin()' (complex sine), 'ctan()'
900       (complex tangent),
901                 'ccosh()' (complex  hyperpolic  cosine),  'csinh()'  (complex
902       hyperbolic sine)
903                 and 'ctanh()' (complex hyperbolic tangent).
904              . A MN-dimensional vector may be seen as a M x N matrix and used
905       in those
906                 particular functions/operators:
907                 '*' (matrix-vector multiplication),  'det(A)'  (determinant),
908       'diag(V)' (diagonal matrix
909                 from a vector), 'eig(A)' (eigenvalues/eigenvectors), 'eye(n)'
910       (n x n identity matrix),
911                 'inv(A)'  (matrix  inverse),  'mul(A,B,_nb_colsB)'   (matrix-
912       matrix multiplication),
913                 'pseudoinv(A,_nb_colsA)',   'rot(u,v,w,angle)'  (3D  rotation
914       matrix), 'rot(angle)' (2D
915                 rotation matrix), 'solve(A,B,_nb_colsB)' (least-square solver
916       of linear system A.X = B),
917                 'svd(A,_nb_colsA)' (singular value decomposition), 'trace(A)'
918       (matrix trace) and
919                 'transp(A,nb_colsA)' (matrix transpose). Argument  'nb_colsB'
920       may be omitted if it is
921                 equal to 1.
922              . Specifying a vector-valued math expression as an argument of a
923       command that operates on
924                 image values (e.g. 'fill') modifies the whole spectrum  range
925       of the processed image(s),
926                 for  each  spatial  coordinates (x,y,z). The command does not
927       loop over the C-axis in this
928                 case.
929
930           _ String manipulation: Character strings are defined and managed as
931       vectors objects.
932              Dedicated functions and initializers to manage strings are
933
934              . [ 'string' ] and 'string' define a vector whose values are the
935       character codes of the
936                 specified  character  string  (e.g.  'foo'  is  equal  to   [
937       102,111,111 ]).
938              .  _'character'  returns the (scalar) byte code of the specified
939       character (e.g. _'A' is
940                 equal to 65).
941              . A special case happens  for  empty  strings:  Values  of  both
942       expressions [ '' ] and '' are 0.
943              .  Functions  'lowercase()' and 'uppercase()' return string with
944       all string characters
945                 lowercased or uppercased.
946              . Function 'stov(str,_starting_index,_is_strict)' parses  speci‐
947       fied string 'str' and
948                 returns the value contained in it.
949              . Function 'vtos(expr,_nb_digits,_siz)' returns a vector of size
950       'siz' which contains
951                 the character representation of values described  by  expres‐
952       sion 'expr'.
953                 'nb_digits'  can be { -1=auto-reduced | 0=all | >0=max number
954       of digits }.
955              . Function 'echo(str1,str2,...,strN)' prints  the  concatenation
956       of given string arguments
957                 on the console.
958              . Function 'cats(str1,str2,...,strN,siz)' returns the concatena‐
959       tion of given string
960                 arguments as a new vector of size 'siz'.
961
962           _ Special operators can be used:
963
964              . ';': expression separator. The returned value  is  always  the
965       last encountered expression.
966                 For instance expression '1;2;pi' is evaluated as 'pi'.
967              . '=': variable assignment. Variables in mathematical parser can
968       only refer to numerical
969                 values (vectors or scalars). Variable names  are  case-sensi‐
970       tive. Use this operator in
971                 conjunction with ';' to define more complex evaluable expres‐
972       sions, such as
973                 't=cos(x);3*t^2+2*t+1'.
974                 These variables remain local to the mathematical  parser  and
975       cannot be accessed outside
976                  the evaluated expression.
977              . Variables defined in math parser may have a constant property,
978       by specifying keyword
979                 'const' before the variable name (e.g. 'const foo = pi/4;').
980                 The value set to such a variable must be  indeed  a  constant
981       scalar.
982                 Constant  variables  allows certain types of optimizations in
983       the math JIT compiler.
984
985           _ The following specific functions are also defined:
986
987              . 'u(max)'  or  'u(min,max)':  return  a  random  value  between
988       [0,max] or [min,max], following
989                 a uniform distribution.
990              .  'f2ui(value)'  and  'ui2f(value)':  Convert  a large unsigned
991       integer as a negative
992                 floating point value (and vice-versa), so that 32bits  floats
993       can be used to store large
994                 integers while keeping a unitary precision.
995              .     'i(_a,_b,_c,_d,_interpolation_type,_boundary_conditions)':
996       return the value of the pixel
997                 located at position (a,b,c,d) in the associated image, if any
998       (0 otherwise).
999                 'interpolation_type' can be { 0=nearest neighbor | 1=linear |
1000       2=cubic }.
1001                 'boundary_conditions' can be  {  0=dirichlet  |  1=neumann  |
1002       2=periodic | 3=mirror }.
1003                 Omitted  coordinates  are  replaced  by  their default values
1004       which are respectively
1005                 x, y, z, c, interpolation and boundary.
1006                 For instance command 'fill 0.5*(i(x+1)-i(x-1))' will estimate
1007       the X-derivative of an
1008                 image with a classical finite difference scheme.
1009              .  'j(_dx,_dy,_dz,_dc,_interpolation_type,_boundary_conditions)'
1010       does the same for the pixel
1011                 located at position (x+dx,y+dy,z+dz,c+dc) (pixel access rela‐
1012       tive to the current
1013                 coordinates).
1014              .  'i[offset,_boundary_conditions]'  returns  the  value  of the
1015       pixel located at specified
1016                 'offset' in the associated image buffer (or 0  if  offset  is
1017       out-of-bounds).
1018              .  'j[offset,_boundary_conditions]'  does the same for an offset
1019       relative to the current pixel
1020                 coordinates (x,y,z,c).
1021              . 'i(#ind,_x,_y,_z,_c,_interpolation,_boundary_conditions)',
1022                 'j(#ind,_dx,_dy,_dz,_dc,_interpolation,_boundary_condi‐
1023       tions)',
1024                 'i[#ind,offset,_boundary_conditions]'  and  'i[offset,_bound‐
1025       ary_conditions]' are similar
1026                 expressions used to access  pixel  values  for  any  numbered
1027       image [ind] of the list.
1028              . 'I/J[offset,_boundary_conditions]' and
1029                'I/J(#ind,_x,_y,_z,_interpolation,_boundary_conditions)'    do
1030       the same as
1031                'i/j[offset,_boundary_conditions]' and
1032                'i/j(#ind,_x,_y,_z,_c,_interpolation,_boundary_conditions)'
1033       but return a vector instead
1034                 of  a  scalar (e.g. a vector [ R,G,B ] for a pixel at (a,b,c)
1035       in a color image).
1036              . 'sort(#ind,_is_increasing,_axis)'  sorts  the  values  in  the
1037       specified image [ind].
1038              . 'crop(_#ind,_x,_y,_z,_c,_dx,_dy,_dz,_dc,_boundary_conditions)'
1039       returns a vector whose
1040                 values come from the cropped region of image [ind]  (or  from
1041       default image selected if
1042                 'ind'  is  not  specified).  Cropped region starts from point
1043       (x,y,z,c) and has a size of
1044                 dx x dy x dz x dc. Arguments for coordinates and sizes can be
1045       omitted if they are not
1046                 ambiguous  (e.g. 'crop(#ind,x,y,dx,dy)' is a valid invocation
1047       of this function).
1048              .      'draw(_#ind,S,x,y,z,c,dx,_dy,_dz,_dc,_opacity,_M,_max_M)'
1049       draws a sprite S in image [ind]
1050                 (or  in  default image selected if 'ind' is not specified) at
1051       coordinates (x,y,z,c).
1052                 The size of the sprite dx x dy x dz x dc must  be  specified.
1053       You can also specify a
1054                 corresponding opacity mask M if its size matches S.
1055              .  'polygon(_#ind,nb_vertices,coords,_opacity,_color)'  draws  a
1056       filled polygon
1057                 in image [ind] (or in default image selected if 'ind' is  not
1058       specified)
1059                 at  specified coordinates. It draws a single line if 'nb_ver‐
1060       tices' is set to 2.
1061              .  'polygon(_#ind,-nb_vertices,coords,_opacity,_pattern,_color)'
1062       draws a outlined polygon
1063                 in  image [ind] (or in default image selected if 'ind' is not
1064       specified)
1065                 at specified coordinates and with specified line pattern.
1066                 It draws a single line if 'nb_vertices' is set to 2.
1067              . 'ellipse(_#ind,xc,yc,radius1,_radius2,_angle,_opacity,_color)'
1068       draws a filled ellipse
1069                 in  image [ind] (or in default image selected if 'ind' is not
1070       specified)
1071                 with specified coordinates.
1072              .  'ellipse(_#ind,xc,yc,-radius1,-_radius2,_angle,_opacity,_pat‐
1073       tern,_color)' draws an
1074                 outlined ellipse in image [ind] (or in default image selected
1075       if 'ind' is not specified).
1076              .               'resize(#ind,w,_h,_d,_s,_interp,_boundary_condi‐
1077       tions,_cx,_cy,_cz,_cc)' resizes an image
1078                 of  the associated list with specified dimension and interpo‐
1079       lation method. When using this
1080                 function, you should consider retrieving  the  (non-constant)
1081       image dimensions using the
1082                 dynamic   functions   'w(_#ind)',   'h(_#ind)',   'd(_#ind)',
1083       's(_#ind)', 'wh(_#ind)',
1084                 'whd(_#ind)' and 'whds(_#ind)' instead of  the  corresponding
1085       constant variables.
1086              .    'if(condition,expr_then,_expr_else)':   return   value   of
1087       'expr_then' or 'expr_else',
1088                 depending on the value of 'condition' (0=false,  other=true).
1089       'expr_else' can be omitted
1090                 in  which  case 0 is returned if the condition does not hold.
1091       Using the ternary operator
1092                 'condition?expr_then[:expr_else]' gives an equivalent expres‐
1093       sion.
1094                 For  instance,  G'MIC  commands  'fill if(x%10==0,255,i)' and
1095       'fill x%10?i:255'
1096                 both draw blank vertical lines on every  10th  column  of  an
1097       image.
1098              . 'do(expression,_condition)' repeats the evaluation of 'expres‐
1099       sion' until 'condition'
1100                 vanishes (or until 'expression' vanishes if no 'condition' is
1101       specified). For instance,
1102                 the                                               expression:
1103       'if(N<2,N,n=N-1;F0=0;F1=1;do(F2=F0+F1;F0=F1;F1=F2,n=n-1))' returns
1104                 the Nth value of the  Fibonacci  sequence,  for  N>=0  (e.g.,
1105       46368 for N=24).
1106                 'do(expression,condition)'  always  evaluates  the  specified
1107       expression at least once,
1108                 then check for the loop condition. When done, it returns  the
1109       last value of 'expression'.
1110              .   'for(init,condition,_procedure,body)'  first  evaluates  the
1111       expression 'init', then
1112                 iteratively evaluates  'body'  (followed  by  'procedure'  if
1113       specified) while 'condition'
1114                 is  verified (i.e. not zero). It may happen that no iteration
1115       is done, in which case the
1116                 function returns nan. Otherwise, it returns the last value of
1117       'body'.
1118                 For            instance,            the           expression:
1119       'if(N<2,N,for(n=N;F0=0;F1=1,n=n-1,F2=F0+F1;F0=F1;F1=F2))'
1120                 returns the Nth value of the  Fibonacci  sequence,  for  N>=0
1121       (e.g., 46368 for N=24).
1122              .   'while(condition,expression)'   is   exactly   the  same  as
1123       'for(init,condition,expression)'
1124                 without the specification of an initializing expression.
1125              . 'break()' and 'continue()' respectively breaks  and  continues
1126       the current running bloc
1127                 (loop, init or main environment).
1128              .  'fsize('filename')'  returns the size of the specified 'file‐
1129       name'
1130                 (or '-1' if file does not exist).
1131              . 'date(attr,'path')' returns the date attribute for  the  given
1132       'path' (file or directory),
1133                 with  'attr' being { 0=year | 1=month | 2=day | 3=day of week
1134       | 4=hour | 5=minute |
1135                 6=second }, or a vector of those values.
1136              . 'date(_attr)' returns the specified attribute for the  current
1137       (locale) date
1138                  (attributes  being  {  0...6=same  meaning as above | 7=mil‐
1139       liseconds }).
1140              . 'print(expr1,expr2,...)' or 'print(#ind)' prints the value  of
1141       the specified expressions
1142                 (or  image information) on the console, and returns the value
1143       of the last expression
1144                 (or nan in case of an image).  Function  'prints(expr)'  also
1145       prints the string composed
1146                 of  the  character codes defined by the vector-valued expres‐
1147       sion (e.g. 'prints('Hello')').
1148              . 'debug(expression)'  prints  detailed  debug  info  about  the
1149       sequence of operations done
1150                 by  the  math  parser to evaluate the expression (and returns
1151       its value).
1152              . 'display(_X,_w,_h,_d,_s)' or 'display(#ind)' display the  con‐
1153       tents of the vector 'X'
1154                 (or  specified  image)  and wait for user events. if no argu‐
1155       ments are provided, a memory
1156                 snapshot of the math parser environment is displayed instead.
1157              . 'begin(expression)' and 'end(expression)' evaluates the speci‐
1158       fied expressions only once,
1159                 respectively  at the beginning and end of the evaluation pro‐
1160       cedure, and this,
1161                 even when multiple evaluations are required  (e.g.  in  'fill
1162       ">begin(foo = 0); ++foo"').
1163              .   'copy(dest,src,_nb_elts,_inc_d,_inc_s,_opacity)'  copies  an
1164       entire memory block of
1165                 'nb_elts' elements starting from a source value  'src'  to  a
1166       specified destination
1167                 'dest',  with  increments  defined  by  'inc_d'  and  'inc_s'
1168       respectively for
1169                 the destination and source pointers.
1170              . 'stats(_#ind)' returns the statistics vector  of  the  running
1171       image '[ind]', i.e the vector
1172                 [ im,iM,ia,iv,xm,ym,zm,cm,xM,yM,zM,cM,is,ip ] (14 values).
1173              .  'ref(expr,a)' references specified expression 'expr' as vari‐
1174       able name 'a'.
1175              . 'unref(a,b,...)' destroys references  to  the  named  variable
1176       given as arguments.
1177              . 'breakpoint()' inserts a possible computation breakpoint (use‐
1178       less with the cli interface).
1179              . '_(expr)' just ignores its arguments (mainly useful for debug‐
1180       ging).
1181              .  'run('pipeline')' executes the specified G'MIC pipeline as if
1182       it was called outside
1183                 the currently evaluated expression.
1184              . 'store(A,'varname',_w,_h,_d,_s,_is_compressed)' transfers  the
1185       data of vector 'A' as a
1186                 'w x h x d x s' image to the G'MIC variable '$varname'. Thus,
1187       the data becomes
1188                 available outside the math expression (that is equivalent  to
1189       using the regular command
1190                 'store', but directly in the math expression).
1191              . 'name(_#ind,size)' returns a vector of size size, whose values
1192       are the characters
1193                 codes of the name of image [ind] (or default  image  selected
1194       if 'ind' is not specified).
1195              .  'setname(_#ind,string)'  sets  the  name  of  image [ind] (or
1196       default image selected if
1197                 'ind' is not specified).
1198              .        'correlate(I,wI,hI,dI,sI,K,wK,hK,dK,sK,_boundary_condi‐
1199       tions,_is_normalized,_channel_mode,
1200                           _xcenter,_ycenter,_zcen‐
1201       ter,_xstart,_ystart,_zstart,_xend,_yend,_zend,
1202                           _xstride,_ystride,_zstride,_xdilation,_ydila‐
1203       tion,_zdilation)'
1204                  returns  the  correlation, unrolled as a vector, of the wI x
1205       hI x dI x sI-sized image I
1206                  with the wK x hK x dK x sK-sized kernel K  (the  meaning  of
1207       the other arguments are the
1208                  same  as  in  command  'correlate').  Similar function 'con‐
1209       volve(...)' is also defined for
1210                  computing the convolution between I and K.
1211
1212           - User-defined macros:
1213
1214              . Custom macro functions can be defined in  a  math  expression,
1215       using the assignment operator
1216                 '=',  e.g.  'foo(x,y)  =  cos(x  +  y);  result  = foo(1,2) +
1217       foo(2,3)'.
1218              . Trying to override a built-in function (e.g. 'abs()')  has  no
1219       effect.
1220              .  Overloading macros with different number of arguments is pos‐
1221       sible. Re-defining a
1222                 previously defined macro with the same  number  of  arguments
1223       discards its previous
1224                 definition.
1225              .  Macro  functions are indeed processed as macros by the mathe‐
1226       matical evaluator. You should
1227                 avoid  invoking  them  with  arguments  that  are  themselves
1228       results of assignments or
1229                 self-operations.  For  instance,  'foo(x)  =  x  +  x; z = 0;
1230       foo(++z)' returns '4' rather
1231                 than expected value '2'.
1232              . When substituted, macro arguments are placed inside  parenthe‐
1233       ses, except if a number sign
1234                 '#'  is  located  just before or after the argument name. For
1235       instance, expression
1236                 'foo(x,y) = x*y; foo(1+2,3)' returns '9'  (being  substituted
1237       as '(1+2)*(3)'), while
1238                 expression  'foo(x,y) = x#*y#; foo(1+2,3)' returns '7' (being
1239       substituted as '1+2*3').
1240              . Number signs appearing between macro arguments function  actu‐
1241       ally count for 'empty'
1242                 separators.  They  may  be  used to force the substitution of
1243       macro arguments in unusual
1244                 places, e.g. as in 'str(N) = ['I like N#'];'.
1245
1246           - Multi-threaded and in-place evaluation:
1247
1248              . If your image data are large enough and you have several  CPUs
1249       available, it is likely that
1250                 the  math expression passed to a 'fill' or 'input' command is
1251       evaluated in parallel,
1252                 using multiple computation threads.
1253              . Starting an expression with ':' or '*' forces the  evaluations
1254       required for an image to be
1255                 run  in  parallel,  even  if the amount of data to process is
1256       small (beware, it may be slower
1257                 to evaluate in this case!). Specify ':' (instead of  '*')  to
1258       avoid possible image copy
1259                 done before evaluating the expression (this saves memory, but
1260       do this only if you are
1261                 sure this step is not required!)
1262              . If the specified expression starts with '>' or '<', the  pixel
1263       access operators
1264                 'i(),  i[],  j()'  and 'j[]' return values of the image being
1265       currently modified,
1266                 in forward ('>') or backward ('<') order. The multi-threading
1267       evaluation of the
1268                 expression is also disabled in this case.
1269              .  Function  'critical(operands)'  forces  the  execution of the
1270       given operands in a single
1271                 thread at a time.
1272              . 'begin_t(expression)' and  'end_t(expression)'  evaluates  the
1273       specified expressions once
1274                 for  each  running  thread (so possibly several times) at the
1275       beginning and the end of the
1276                 evaluation procedure.
1277              . 'merge(variable,operator)' tells to merge the  local  variable
1278       value computed by threads,
1279                 with  the  specified operator, when all threads have finished
1280       computing.
1281
1282           _             Expressions              'i(_#ind,x,_y,_z,_c)=value',
1283       'j(_#ind,x,_y,_z,_c)=value', 'i[_#ind,offset]=value'
1284              and  'j[_#ind,offset]=value'  set  a  pixel value at a different
1285       location than the running one
1286              in the image [ind] (or  in  the  associated  image  if  argument
1287       '#ind' is omitted), either with
1288              global coordinates/offsets (with 'i(...)' and 'i[...]'), or rel‐
1289       atively to the current
1290              position (x,y,z,c) (with 'j(...)' and 'j[...]').  These  expres‐
1291       sions always return 'value'.
1292
1293         -  The last image of the list is always associated to the evaluations
1294       of '{expressions}',
1295            e.g. G'MIC sequence '256,128 fill {w}' will create a 256x128 image
1296       filled with value 256.
1297
1298        10. Image and Data Viewers
1299
1300         -  G'MIC  has  some very handy embedded visualization modules, for 1D
1301       signals (command 'plot'),
1302            1D/2D/3D images (command 'display') and 3D objects (command  'dis‐
1303       play3d'). It manages
1304            interactive views of the selected image data.
1305
1306         - The following actions are available in the interactive viewers:
1307
1308           . (mousewheel): Zoom in/out.
1309           . ESC: Close window.
1310           . CTRL+D: Increase window size.
1311           . CTRL+C: Decrease window size.
1312           . CTRL+R: Reset window size.
1313           . CTRL+F: Toggle fullscreen mode.
1314           . CTRL+S: Save current view as a numbered file 'gmic_xxxx.ext'.
1315           .  CTRL+O:  Save  copy  of  the  viewed  data,  as  a numbered file
1316       'gmic_xxxx.ext'.
1317
1318         - Actions specific to the 1D/2D image viewer (command 'display') are:
1319
1320           . Left mouse button: Create an image selection and zoom into it.
1321           . Middle mouse button, or CTRL+left mouse button: Move image.
1322           . Mouse wheel or PADD+/-: Zoom in/out.
1323           . Arrow keys: Move image left/right/up/down.
1324           . CTRL+A: Enable/disable transparency (show alpha channel).
1325           . CTRL+N: Change normalization mode (can  be  'none',  'normal'  or
1326       'channel-by-channel').
1327           . CTRL+SPACE: Reset view.
1328           . CTRL+X: Show/hide axes.
1329           . CTRL+Z: Hold/release aspect ratio.
1330
1331         -  Actions  specific to the 3D volumetric image viewer (command 'dis‐
1332       play') are:
1333
1334           . CTRL+P: Play z-stack of frames as a movie.
1335           . CTRL+V: Show/hide 3D view on bottom right zone.
1336           . CTRL+X: Show/hide axes.
1337           . CTRL+(mousewheel): Go up/down.
1338           . SHIFT+(mousewheel): Go left/right.
1339           . Numeric PAD: Zoom in/out (+/-)  and  move  through  zoomed  image
1340       (digits).
1341           . BACKSPACE: Reset zoom scale.
1342
1343         - Actions specific to the 3D object viewer (command 'display3d') are:
1344
1345           . (mouse)+(left mouse button): Rotate 3D object.
1346           . (mouse)+(right mouse button): Zoom 3D object.
1347           . (mouse)+(middle mouse button): Shift 3D object.
1348           . CTRL+F1 ... CTRL+F6: Toggle between different 3D rendering modes.
1349           . CTRL+G: Save 3D object, as numbered file 'gmic_xxxx.off'.
1350           . CTRL+T: Switch between single/double-sided 3D modes.
1351           . CTRL+X: Show/hide 3D axes.
1352           . CTRL+Z: Enable/disable z-buffered rendering.
1353
1354        11. Adding Custom Commands
1355
1356         -  New  custom  commands can be added by the user, through the use of
1357       G'MIC custom commands files.
1358
1359         - A command file is a simple text file, where each line starts either
1360       by
1361            'command_name: command_definition' or 'command_definition (contin‐
1362       uation)'.
1363
1364         - At  startup,  G'MIC  automatically  includes  user's  command  file
1365       $HOME/.gmic (on Unix) or
1366            %APPDATA%/user.gmic  (on  Windows).  The CLI tool 'gmic' automati‐
1367       cally runs the command
1368            'cli_start' if defined.
1369
1370         - Custom command names must use character set [a-zA-Z0-9_] and cannot
1371       start with a number.
1372
1373         - Any ' # comment' expression found in a custom commands file is dis‐
1374       carded by the G'MIC parser,
1375            wherever it is located in a line.
1376
1377         - In a custom command, the following $-expressions are recognized and
1378       substituted:
1379
1380           .  '$*'  is  substituted by a copy of the specified string of argu‐
1381       ments.
1382           . '$"*"' is substituted by a copy of the specified string of  argu‐
1383       ments, each being
1384              double-quoted.
1385           .  '$#'  is  substituted  by  the  maximum index of known arguments
1386       (either specified by the user
1387              or set to a default value in the custom command).
1388           . '$[]' is substituted by the list of selected image  indices  that
1389       have been specified in the
1390              command invocation.
1391           . '$?' is substituted by a printable version of '$[]' to be used in
1392       command descriptions.
1393           . '$i' and '${i}' are both substituted by the i^th specified  argu‐
1394       ment. Negative indices such as
1395              '${-j}'  are allowed and refer to the j^th latest argument. '$0'
1396       is substituted
1397              by the custom command name.
1398           . '${i=default}' is substituted by the value of $i (if defined)  or
1399       by its new value set to
1400               'default' otherwise ('default' may be a $-expression as well).
1401           .  '${subset}'  is substituted by the argument values (separated by
1402       commas ',') of a specified
1403              argument subset. For instance expression '${2--2}' is substitued
1404       by all specified command
1405              arguments  except the first and the last one. Expression '${^0}'
1406       is then substituted by all
1407              arguments of the invoked command (eq. to '$*' if  all  specified
1408       arguments have indeed a
1409              value).
1410           .  '$=var'  is  substituted  by  the  set of instructions that will
1411       assign each argument $i to the
1412              named variable 'var$i' (for i in [0...$#]). This is particularly
1413       useful when a custom
1414              command  want to manage variable numbers of arguments. Variables
1415       names must use character set
1416              [a-zA-Z0-9_] and cannot start with a number.
1417
1418         - These particular $-expressions for custom commands are always  sub‐
1419       stituted, even in
1420            double-quoted  items or when the dollar sign '$' is escaped with a
1421       backslash '\'. To avoid
1422            substitution, place an empty double quoted string just  after  the
1423       '$' (as in '$""1').
1424
1425         - Specifying arguments may be skipped when invoking a custom command,
1426       by replacing them by commas
1427            ',' as in expression 'flower ,,3'. Omitted arguments  are  set  to
1428       their default values, which
1429            must  be  thus explicitly defined in the code of the corresponding
1430       custom command (using
1431            default argument expressions as '${1=default}').
1432
1433         - If one numbered argument required by  a  custom  command  misses  a
1434       value, an error is thrown by the
1435            G'MIC interpreter.
1436
1437        12. List of Commands
1438
1439          All available G'MIC commands are listed below, classified by themes.
1440       When several choices of
1441          command arguments are possible, they appear  separated  by  '|'.  An
1442       argument specified inside '[]'
1443          or  starting by '_' is optional except when standing for an existing
1444       image [image], where 'image'
1445          can be either an index number or an image name. In  this  case,  the
1446       '[]' characters are mandatory
1447          when  writing  the  item.  A command marked with '(+)' is one of the
1448       built-in commands. Note also
1449          that all images that serve as illustrations in this reference  docu‐
1450       mentation are normalized in
1451          range  [0,255]  before  being  displayed.  You  may  need to do this
1452       explicitly (command
1453          'normalize 0,255') if you want to save and view images with the same
1454       aspect than those
1455          illustrated in the example codes.
1456
1457        ** Global Options:
1458
1459           debug (+):
1460
1461               Activate debug mode.
1462               When  activated, the G'MIC interpreter becomes very verbose and
1463       outputs additional log
1464               messages about its internal state on the standard output  (std‐
1465       out).
1466               This option is useful for developers or to report possible bugs
1467       of the interpreter.
1468
1469           help:
1470               command |
1471               (no arg)
1472
1473               Display help (optionally for specified command only) and exit.
1474               (eq. to 'h').
1475
1476           version:
1477
1478               Display current version number on stdout.
1479
1480        ** Input / Output:
1481
1482           camera (+):
1483               _camera_index>=0,_nb_frames>0,_skip_frames>=0,_cap‐
1484       ture_width>=0,
1485                 _capture_height>=0
1486
1487               Insert one or several frames from specified camera.
1488               When  'nb_frames==0',  the camera stream is released instead of
1489       capturing new images.
1490
1491               Default    values:    'camera_index=0'    (default     camera),
1492       'nb_frames=1', 'skip_frames=0' and
1493                 'capture_width=capture_height=0' (default size).
1494
1495           clut:
1496               "clut_name",_resolution>0,_cut_and_round={ 0=no | 1=yes }
1497
1498               Insert one of the 856 pre-defined CLUTs at the end of the image
1499       list.
1500               'clut_name' can be  {  2-strip-process  |  60s  |  60s_faded  |
1501       60s_faded_alt | action_magenta_01 |
1502                 action_red_01 | adventure_1453 | agfa_apx_100 | agfa_apx_25 |
1503       agfa_precisa_100 |
1504                 agfa_ultra_color_100  |  agfa_vista_200   |   agressive_high‐
1505       ligjtes_recovery_5 | alberto_street |
1506                 alien_green      |     amstragram     |     amstragram+     |
1507       analogfx_anno_1870_color | analogfx_old_style_i |
1508                 analogfx_old_style_ii     |     analogfx_old_style_iii      |
1509       analogfx_sepia_color | analogfx_soft_sepia_i |
1510                 analogfx_soft_sepia_ii  | anime | apocalypse_this_very_moment
1511       | aqua | aqua_and_orange_dark |
1512                 arabica_12 | autumn |  ava_614  |  avalanche  |  azrael_93  |
1513       bboyz_2 | berlin_sky | black_and_white |
1514                  black_star | blade_runner | bleach_bypass | bleachbypass_1 |
1515       bleachbypass_2 | bleachbypass_3 |
1516                 bleachbypass_4  |  bleech_bypass_green  |  bleech_bypass_yel‐
1517       low_01 | blue_cold_fade | blue_dark |
1518                 blue_house | blue_ice | blue_mono | blue_shadows_01 | blues |
1519       bob_ford | bourbon_64 |
1520                 bright_green_01 | bright_teal_orange | bright_warm |  bright‐
1521       green | brownish | bw_1 | bw_10 |
1522                 bw_2  |  bw_3  |  bw_4  |  bw_5 | bw_6 | bw_7 | bw_8 | bw_9 |
1523       byers_11 | candlelight | caribe |
1524                 chemical_168 | chrome_01 | cinema |  cinema_2  |  cinema_3  |
1525       cinema_4 | cinema_5 | cinema_noir |
1526                 cinematic-1 | cinematic-10 | cinematic-2 | cinematic-3 | cin‐
1527       ematic-4 | cinematic-5 |
1528                 cinematic-6 | cinematic-7 | cinematic-8 | cinematic-9 | cine‐
1529       matic_01 | cinematic_02 |
1530                 cinematic_03  |  cinematic_for_flog  |  cinematic_lady_bird |
1531       cinematic_mexico | city_7 |
1532                 classic_teal_and_orange  |  clayton_33  |  clear_teal_fade  |
1533       clouseau_54 | cobi_3 | coffee_44 |
1534                 cold_clear_blue  |  cold_clear_blue_1  |  cold_simplicity_2 |
1535       color_rich | colorful_0209 |
1536                 colornegative   |   conflict_01   |   contrail_35   |    con‐
1537       trast_with_highlights_protection |
1538                 contrasty_afternoon | contrasty_green | crispromance | crisp‐
1539       warm | crispwinter |
1540                 cross_process_cp_130      |       cross_process_cp_14       |
1541       cross_process_cp_15 | cross_process_cp_16 |
1542                 cross_process_cp_18 | cross_process_cp_3 | cross_process_cp_4
1543       | cross_process_cp_6 | crushin |
1544                 cubicle_99 | d_o_1 | dark_blues_in_sunlight | dark_green_02 |
1545       dark_green_1 | dark_place_01 |
1546                 date_39  |  day_4nite  |  day_for_night  | deep | deep_blue |
1547       deep_dark_warm | deep_high_contrast |
1548                 deep_teal_fade   |   deep_warm_fade    |    delicatessen    |
1549       denoiser_simple_40 | desert_gold_37 |
1550                 dimension | directions_23 | django_25 | domingo_145 | dream_1
1551       | dream_85 | drop_green_tint_14 |
1552                 dropblues | earth_tone_boost  |  edgyember  |  elegance_38  |
1553       enchanted | eterna_for_flog |
1554                 expired_69 | expired_fade | expired_polaroid | extreme | fade
1555       | fade_to_green | faded |
1556                 faded_47  |  faded_alt  |  faded_analog  |  faded_extreme   |
1557       faded_green | faded_print |
1558                 faded_retro_01  |  faded_retro_02 | faded_vivid | fadedlook |
1559       fallcolors | faux_infrared |
1560                 fgcinebasic |  fgcinebright  |  fgcinecold  |  fgcinedrama  |
1561       fgcinetealorange_1 | fgcinetealorange_2
1562                 |  fgcinevibrant  |  fgcinewarm  |  film_0987  |  film_9879 |
1563       film_high_contrast | film_print_01 |
1564                 film_print_02 | filmic | flat_30 | flavin | foggynight | fol‐
1565       ger_50 | french_comedy | frosted |
1566                 frostedbeachpicnic | fuji_160c | fuji_160c_+ | fuji_160c_++ |
1567       fuji_160c_- |
1568                 fuji_3510_constlclip | fuji_3510_constlmap |  fuji_3510_cusp‐
1569       clip | fuji_3513_constlclip |
1570                 fuji_3513_constlmap   |   fuji_3513_cuspclip  |  fuji_400h  |
1571       fuji_400h_+ | fuji_400h_++ | fuji_400h_-
1572                 | fuji_800z | fuji_800z_+  |  fuji_800z_++  |  fuji_800z_-  |
1573       fuji_astia_100_generic |
1574                 fuji_astia_100f    |    fuji_fp-100c   |   fuji_fp-100c_+   |
1575       fuji_fp-100c_++ | fuji_fp-100c_+++ |
1576                 fuji_fp-100c_++_alt  |  fuji_fp-100c_-  |  fuji_fp-100c_--  |
1577       fuji_fp-100c_alt | fuji_fp-100c_cool |
1578                 fuji_fp-100c_cool_+       |       fuji_fp-100c_cool_++      |
1579       fuji_fp-100c_cool_- | fuji_fp-100c_cool_-- |
1580                 fuji_fp-100c_negative     |     fuji_fp-100c_negative_+     |
1581       fuji_fp-100c_negative_++ |
1582                 fuji_fp-100c_negative_+++  |  fuji_fp-100c_negative_++_alt  |
1583       fuji_fp-100c_negative_- |
1584                 fuji_fp-100c_negative_-- | fuji_fp-3000b | fuji_fp-3000b_+  |
1585       fuji_fp-3000b_++ | fuji_fp-3000b_++
1586                 +  |  fuji_fp-3000b_- | fuji_fp-3000b_-- | fuji_fp-3000b_hc |
1587       fuji_fp-3000b_negative |
1588                 fuji_fp-3000b_negative_+   |   fuji_fp-3000b_negative_++    |
1589       fuji_fp-3000b_negative_+++ |
1590                 fuji_fp-3000b_negative_-    |   fuji_fp-3000b_negative_--   |
1591       fuji_fp-3000b_negative_early |
1592                 fuji_fp_100c    |    fuji_hdr    |     fuji_neopan_1600     |
1593       fuji_neopan_1600_+ | fuji_neopan_1600_++ |
1594                 fuji_neopan_1600_-       |       fuji_neopan_acros_100      |
1595       fuji_provia_100_generic | fuji_provia_100f |
1596                 fuji_provia_400f  |  fuji_provia_400x  |  fuji_sensia_100   |
1597       fuji_superia_100 | fuji_superia_100_+ |
1598                 fuji_superia_100_++  | fuji_superia_100_- | fuji_superia_1600
1599       | fuji_superia_1600_+ |
1600                 fuji_superia_1600_++ | fuji_superia_1600_- | fuji_superia_200
1601       | fuji_superia_200_xpro |
1602                 fuji_superia_400 | fuji_superia_400_+ | fuji_superia_400_++ |
1603       fuji_superia_400_- |
1604                 fuji_superia_800 | fuji_superia_800_+ | fuji_superia_800_++ |
1605       fuji_superia_800_- |
1606                 fuji_superia_hg_1600  |  fuji_superia_reala_100  | fuji_supe‐
1607       ria_x-tra_800 |
1608                 fuji_velvia_100_generic       |       fuji_velvia_50        |
1609       fuji_xtrans_iii_acros | fuji_xtrans_iii_acros+g |
1610                 fuji_xtrans_iii_acros+r    |    fuji_xtrans_iii_acros+ye    |
1611       fuji_xtrans_iii_astia |
1612                 fuji_xtrans_iii_classic_chrome   |   fuji_xtrans_iii_mono   |
1613       fuji_xtrans_iii_mono+g |
1614                 fuji_xtrans_iii_mono+r     |     fuji_xtrans_iii_mono+ye    |
1615       fuji_xtrans_iii_pro_neg_hi |
1616                 fuji_xtrans_iii_pro_neg_std   |   fuji_xtrans_iii_provia    |
1617       fuji_xtrans_iii_sepia |
1618                 fuji_xtrans_iii_velvia  |  fusion_88  |  futuristicbleak_1  |
1619       futuristicbleak_2 | futuristicbleak_3 |
1620                  futuristicbleak_4   |   going_for_a_walk    |    golden    |
1621       golden_bright | golden_fade | golden_mono |
1622                 golden_night_softner_43  |  golden_sony_37 | golden_vibrant |
1623       goldengate |
1624                 goldfx_bright_spring_breeze  |  goldfx_bright_summer_heat   |
1625       goldfx_hot_summer_heat |
1626                 goldfx_perfect_sunset_01min  |  goldfx_perfect_sunset_05min |
1627       goldfx_perfect_sunset_10min |
1628                 goldfx_spring_breeze | goldfx_summer_heat  |  good_morning  |
1629       green_15 | green_2025 | green_action
1630                 |   green_afternoon   |   green_blues   |   green_conflict  |
1631       green_day_01 | green_day_02 | green_g_09 |
1632                 green_indoor | green_light  |  green_mono  |  green_yellow  |
1633       greenish_contrasty | greenish_fade |
1634                 greenish_fade_1    |    hackmanite    |    happyness_133    |
1635       hard_teal_orange | harsh_day | harsh_sunset |
1636                 helios | herderite | heulandite | hiddenite | highlights_pro‐
1637       tection | hilutite | hlg_1_1 |
1638                 hong_kong  |  horrorblue  |  howlite  | hydracore | hyla_68 |
1639       hypersthene | hypnosis | hypressen |
1640                 ilford_delta_100 | ilford_delta_3200 | ilford_delta_3200_+  |
1641       ilford_delta_3200_++ |
1642                 ilford_delta_3200_- | ilford_delta_400 | ilford_fp_4_plus_125
1643       | ilford_hp_5 | ilford_hp_5_+ |
1644                 ilford_hp_5_++  |  ilford_hp_5_-  |  ilford_hp_5_plus_400   |
1645       ilford_hps_800 | ilford_pan_f_plus_50 |
1646                 ilford_xp_2  | indoor_blue | industrial_33 | instantc | just‐
1647       peachy | k_tone_vintage_kodachrome |
1648                 kh_1 | kh_10 | kh_2 | kh_3 | kh_4 | kh_5 | kh_6 | kh_7 | kh_8
1649       | kh_9 | killstreak |
1650                 kodak_2383_constlclip      |      kodak_2383_constlmap      |
1651       kodak_2383_cuspclip | kodak_2393_constlclip |
1652                 kodak_2393_constlmap | kodak_2393_cuspclip |  kodak_bw_400_cn
1653       | kodak_e-100_gx_ektachrome_100 |
1654                 kodak_ektachrome_100_vs  |  kodak_ektachrome_100_vs_generic |
1655       kodak_ektar_100 |
1656                 kodak_elite_100_xpro     |      kodak_elite_chrome_200      |
1657       kodak_elite_chrome_400 | kodak_elite_color_200 |
1658                  kodak_elite_color_400    |    kodak_elite_extracolor_100   |
1659       kodak_hie_hs_infra | kodak_kodachrome_200
1660                 |     kodak_kodachrome_25     |     kodak_kodachrome_64     |
1661       kodak_kodachrome_64_generic | kodak_portra_160 |
1662                 kodak_portra_160_+ | kodak_portra_160_++ | kodak_portra_160_-
1663       | kodak_portra_160_nc |
1664                 kodak_portra_160_nc_+ | kodak_portra_160_nc_++  |  kodak_por‐
1665       tra_160_nc_- | kodak_portra_160_vc |
1666                 kodak_portra_160_vc_+  |  kodak_portra_160_vc_++ | kodak_por‐
1667       tra_160_vc_- | kodak_portra_400 |
1668                 kodak_portra_400_+ | kodak_portra_400_++ | kodak_portra_400_-
1669       | kodak_portra_400_nc |
1670                 kodak_portra_400_nc_+  |  kodak_portra_400_nc_++ | kodak_por‐
1671       tra_400_nc_- | kodak_portra_400_uc |
1672                 kodak_portra_400_uc_+ | kodak_portra_400_uc_++  |  kodak_por‐
1673       tra_400_uc_- | kodak_portra_400_vc |
1674                 kodak_portra_400_vc_+  |  kodak_portra_400_vc_++ | kodak_por‐
1675       tra_400_vc_- | kodak_portra_800 |
1676                 kodak_portra_800_+ | kodak_portra_800_++ | kodak_portra_800_-
1677       | kodak_portra_800_hc |
1678                 kodak_t-max_100   |   kodak_t-max_3200  |  kodak_t-max_400  |
1679       kodak_tmax_3200 | kodak_tmax_3200_+ |
1680                 kodak_tmax_3200_++ | kodak_tmax_3200_- |  kodak_tmax_3200_alt
1681       | kodak_tri-x_400 |
1682                 kodak_tri-x_400_+  | kodak_tri-x_400_++ | kodak_tri-x_400_- |
1683       kodak_tri-x_400_alt | korben_214 |
1684                 landscape_1 | landscape_10  |  landscape_2  |  landscape_3  |
1685       landscape_4 | landscape_5 |
1686                 landscape_6  |  landscape_7  |  landscape_8  |  landscape_9 |
1687       lateafternoonwanderlust | latesunset |
1688                 lc_1 | lc_10 | lc_2 | lc_3 | lc_4 | lc_5 | lc_6 | lc_7 | lc_8
1689       | lc_9 | lenox_340 |
1690                 life_giving_tree  |  light_blown  |  lomo  |  lomography_red‐
1691       scale_100 | lomography_x-pro_slide_200 |
1692                 low_contrast_blue | low_key_01 | lucky_64 | lushgreensummer |
1693       magenta_day | magenta_day_01 |
1694                 magenta_dream  |  magenta_yellow  |  magentacoffee | matrix |
1695       mckinnon_75 | memories | metropolis |
1696                 milo_5 | minimalistcaffeination | modern_film | mono_tinted |
1697       monochrome_1 | monochrome_2 |
1698                 moody_1  | moody_10 | moody_2 | moody_3 | moody_4 | moody_5 |
1699       moody_6 | moody_7 | moody_8 |
1700                 moody_9 | moonlight | moonlight_01 | moonrise |  morning_6  |
1701       morroco_16 | mostly_blue | moviz_1 |
1702                  moviz_10  |  moviz_11  |  moviz_12  |  moviz_13 | moviz_14 |
1703       moviz_15 | moviz_16 | moviz_17 |
1704                 moviz_18 |  moviz_19  |  moviz_2  |  moviz_20  |  moviz_21  |
1705       moviz_22 | moviz_23 | moviz_24 | moviz_25
1706                 |  moviz_26  |  moviz_27  |  moviz_28  | moviz_29 | moviz_3 |
1707       moviz_30 | moviz_31 | moviz_32 |
1708                 moviz_33 | moviz_34  |  moviz_35  |  moviz_36  |  moviz_37  |
1709       moviz_38 | moviz_39 | moviz_4 | moviz_40
1710                 |  moviz_41  |  moviz_42  |  moviz_43 | moviz_44 | moviz_45 |
1711       moviz_46 | moviz_47 | moviz_48 |
1712                 moviz_5 | moviz_6 | moviz_7 | moviz_8 | moviz_9 |  mute_shift
1713       | muted_01 | muted_fade |
1714                 mysticpurplesunset | nah | natural_vivid | nemesis | neon_770
1715       | neutral_teal_orange |
1716                 neutral_warm_fade | newspaper | night_01  |  night_blade_4  |
1717       night_king_141 | night_spy |
1718                 nightfromday  |  nostalgiahoney  | nostalgic | nw-1 | nw-10 |
1719       nw-2 | nw-3 | nw-4 | nw-5 | nw-6 |
1720                 nw-7 | nw-8 | nw-9 | old_west | once_upon_a_time | only_red |
1721       only_red_and_blue |
1722                 operation_yellow    |   orange_dark_4   |   orange_dark_7   |
1723       orange_dark_look | orange_tone |
1724                 orange_underexposed | oranges  |  paladin  |  paladin_1875  |
1725       pasadena_21 | passing_by | pink_fade |
1726                 pitaya_15  |  polaroid_664  | polaroid_665 | polaroid_665_+ |
1727       polaroid_665_++ | polaroid_665_- |
1728                 polaroid_665_-- | polaroid_665_negative |  polaroid_665_nega‐
1729       tive_+ | polaroid_665_negative_- |
1730                 polaroid_665_negative_hc  |  polaroid_667  |  polaroid_669  |
1731       polaroid_669_+ | polaroid_669_++ |
1732                 polaroid_669_+++  |  polaroid_669_-   |   polaroid_669_--   |
1733       polaroid_669_cold | polaroid_669_cold_+ |
1734                 polaroid_669_cold_-  |  polaroid_669_cold_-- | polaroid_672 |
1735       polaroid_690 | polaroid_690_+ |
1736                 polaroid_690_++  |   polaroid_690_-   |   polaroid_690_--   |
1737       polaroid_690_cold | polaroid_690_cold_+ |
1738                 polaroid_690_cold_++       |       polaroid_690_cold_-      |
1739       polaroid_690_cold_-- | polaroid_690_warm |
1740                 polaroid_690_warm_+      |       polaroid_690_warm_++       |
1741       polaroid_690_warm_- | polaroid_690_warm_-- |
1742                 polaroid_polachrome      |      polaroid_px-100uv+_cold     |
1743       polaroid_px-100uv+_cold_+ | polaroid_px-100uv+
1744                 _cold_++        |        polaroid_px-100uv+_cold_+++        |
1745       polaroid_px-100uv+_cold_- | polaroid_px-100uv+_cold_--
1746                 |   polaroid_px-100uv+_warm   |  polaroid_px-100uv+_warm_+  |
1747       polaroid_px-100uv+_warm_++ |
1748                 polaroid_px-100uv+_warm_+++  |  polaroid_px-100uv+_warm_-   |
1749       polaroid_px-100uv+_warm_-- |
1750                 polaroid_px-680  |  polaroid_px-680_+  | polaroid_px-680_++ |
1751       polaroid_px-680_- |
1752                 polaroid_px-680_--       |       polaroid_px-680_cold       |
1753       polaroid_px-680_cold_+ | polaroid_px-680_cold_++ |
1754                 polaroid_px-680_cold_++_alt    |   polaroid_px-680_cold_-   |
1755       polaroid_px-680_cold_-- |
1756                 polaroid_px-680_warm     |      polaroid_px-680_warm_+      |
1757       polaroid_px-680_warm_++ |
1758                 polaroid_px-680_warm_-     |     polaroid_px-680_warm_--    |
1759       polaroid_px-70 | polaroid_px-70_+ |
1760                 polaroid_px-70_++ | polaroid_px-70_+++ |  polaroid_px-70_-  |
1761       polaroid_px-70_-- |
1762                 polaroid_px-70_cold       |      polaroid_px-70_cold_+      |
1763       polaroid_px-70_cold_++ | polaroid_px-70_cold_- |
1764                 polaroid_px-70_cold_--      |      polaroid_px-70_warm      |
1765       polaroid_px-70_warm_+ | polaroid_px-70_warm_++ |
1766                 polaroid_px-70_warm_-      |     polaroid_px-70_warm_--     |
1767       polaroid_time_zero_expired |
1768                 polaroid_time_zero_expired_+ |  polaroid_time_zero_expired_++
1769       | polaroid_time_zero_expired_- |
1770                 polaroid_time_zero_expired_--                               |
1771       polaroid_time_zero_expired_--- |
1772                 polaroid_time_zero_expired_cold                             |
1773       polaroid_time_zero_expired_cold_- |
1774                 polaroid_time_zero_expired_cold_--                          |
1775       polaroid_time_zero_expired_cold_--- | portrait_1 |
1776                 portrait_10 | portrait_2 | portrait_3  |  portrait_4  |  por‐
1777       trait_5 | portrait_6 | portrait_7 |
1778                 portrait_8  | portrait_9 | progressen | protect_highlights_01
1779       | prussian_blue | pseudogrey |
1780                 purple  |  purple_2  |  red_afternoon_01   |   red_day_01   |
1781       red_dream_01 | redblueyellow | reds |
1782                 reds_oranges_yellows | reeve_38 | remy_24 | rest_33 | retro |
1783       retro_brown_01 | retro_magenta_01
1784                 |  retro_summer_3  |  retro_yellow_01   |   rollei_ir_400   |
1785       rollei_ortho_25 | rollei_retro_100_tonal |
1786                 rollei_retro_80s  | rotate_muted | rotate_vibrant | rotated |
1787       rotated_crush | saturated_blue |
1788                 saving_private_damon | science_fiction | serenity | seringe_4
1789       | serpent | seventies_magazine |
1790                 shadow_king_39 | shine | skin_tones | smart_contrast | smokey
1791       | smooth_clear | smooth_cromeish |
1792                  smooth_fade  |  smooth_green_orange   |   smooth_sailing   |
1793       smooth_teal_orange | soft_fade |
1794                 softwarming  |  solarized_color | solarized_color_2 | spring‐
1795       morning | sprocket_231 | spy_29 |
1796                 street | studio_skin_tone_shaper | subtle_blue | subtle_green
1797       | subtle_yellow | summer |
1798                 summer_alt  |  sunny  | sunny_alt | sunny_rich | sunny_warm |
1799       super_warm | super_warm_rich |
1800                 sutro_fx | sweet_bubblegum | sweet_gelatto | taiga |  tarraco
1801       | teal_fade | teal_moonlight |
1802                 tealmagentagold  | tealorange | tealorange_1 | tealorange_2 |
1803       tealorange_3 |
1804                 technicalfx_backlight_filter | teigen_28 |  tensiongreen_1  |
1805       tensiongreen_2 | tensiongreen_3 |
1806                 tensiongreen_4 | terra_4 | the_matrices | thriller_2 | toast‐
1807       edgarden | trent_18 | true_colors_8
1808                 | turkiest_42 | tweed_71 | ultra_water | undeniable | undeni‐
1809       able_2 | unknown | urban_cowboy |
1810                 uzbek_bukhara  | uzbek_marriage | uzbek_samarcande | velvetia
1811       | very_warm_greenish | vibrant |
1812                 vibrant_alien | vibrant_contrast | vibrant_cromeish | victory
1813       | vintage | vintage_163 |
1814                 vintage_alt   |  vintage_brighter  |  vintage_chrome  |  vin‐
1815       tage_warmth_1 | vireo_37 | warm |
1816                 warm_dark_contrasty | warm_fade |  warm_fade_1  |  warm_high‐
1817       light | warm_neutral | warm_sunset_red
1818                 |  warm_teal  |  warm_vintage  |  warm_yellow  |  well_see  |
1819       whiter_whites | winterlighthouse | wipe |
1820                 wooden_gold_20 | yellow_55b | yellow_film_01 | yellowstone  |
1821       you_can_do_it | zed_32 | zeke_39 |
1822                 zilverfx_bw_solarization  | zilverfx_infrared | zilverfx_vin‐
1823       tage_bw }
1824
1825               Default values: 'resolution=48' and 'cut_and_round=1'.
1826
1827           command (+):
1828               _add_debug_info={ 0 | 1 },{ filename | http[s]://URL | "string"
1829       }
1830
1831               Import  G'MIC  custom  commands  from  specified  file,  URL or
1832       string.
1833               (eq. to 'm').
1834               Imported commands are available directly  after  the  'command'
1835       invocation.
1836
1837               Default value: 'add_debug_info=1'.
1838
1839           cursor (+):
1840               _mode = { 0=hide | 1=show }
1841
1842               Show or hide mouse cursor for selected instant display windows.
1843               Command  selection  (if  any) stands for instant display window
1844       indices instead of image indices.
1845
1846               Default value: 'mode=1'.
1847
1848           display (+):
1849               _X[%]>=0,_Y[%]>=0,_Z[%]>=0,_exit_on_anykey={ 0 | 1 }
1850
1851               Display selected images  in  an  interactive  viewer  (use  the
1852       instant display window [0] if opened).
1853               (eq. to 'd').
1854               Arguments 'X','Y','Z' determine the initial selection view, for
1855       3D volumetric images.
1856
1857               Default value: 'X=Y=Z=0' and 'exit_on_anykey=0'.
1858
1859           display0:
1860
1861               Display selected images without value normalization.
1862               (eq. to 'd0').
1863
1864           display2d:
1865
1866               Display selected 2d images in an interactive window.
1867               (eq. to 'd2d').
1868               This command is used by default by command 'display' when  dis‐
1869       playing 2d images.
1870               If  selected  image  is  a volumetric image, each slice is dis‐
1871       played on a separate display
1872               window (up to 10 images can be  displayed  simultaneously  this
1873       way), with synchronized moves.
1874               When  interactive  window  is opened, the following actions are
1875       possible:
1876               - Left mouse button: Create an image selection  and  zoom  into
1877       it.
1878               - Middle mouse button, or CTRL+left mouse button: Move image.
1879               - Mouse wheel or PADD+/-: Zoom in/out.
1880               - Arrow keys: Move image left/right/up/down.
1881               -  CTRL + A: Enable/disable transparency (show/hide alpha chan‐
1882       nel).
1883               - CTRL + C: Decrease window size.
1884               - CTRL + D: Increase window size.
1885               - CTRL + F: Toggle fullscreen mode.
1886               - CTRL + N: Change normalization mode (can be 'none' | 'normal'
1887       | 'channel-by-channel').
1888               -  CTRL + O: Save a copy of the input image, as a numbered file
1889       'gmic_xxxxxx.gmz'.
1890               - CTRL + R: Reset both window size and view.
1891               - CTRL + S: Save a screenshot of the current view,  as  a  num‐
1892       bered file 'gmic_xxxxxx.png'.
1893               - CTRL + SPACE: Reset view.
1894               - CTRL + X: Show/hide axes.
1895               - CTRL + Z: Hold/release aspect ratio.
1896
1897           display3d (+):
1898               _[background_image],_exit_on_anykey={ 0 | 1 } |
1899               _exit_on_anykey={ 0 | 1 }
1900
1901               Display  selected  3D objects in an interactive viewer (use the
1902       instant display window [0] if opened).
1903               (eq. to 'd3d').
1904
1905               Default     values:     '[background_image]=(default)'      and
1906       'exit_on_anykey=0'.
1907
1908           display_array:
1909               _width>0,_height>0
1910
1911               Display images in interactive windows where pixel neighborhoods
1912       can be explored.
1913
1914               Default values: 'width=13' and 'height=width'.
1915
1916           display_fft:
1917
1918               Display fourier transform of  selected  images,  with  centered
1919       log-module and argument.
1920               (eq. to 'dfft').
1921
1922           display_graph:
1923               _width>=0,_height>=0,_plot_type,_ver‐
1924       tex_type,_xmin,_xmax,_ymin,_ymax,_xlabel,_ylabel
1925
1926               Render graph plot from selected image data.
1927               'plot_type' can be { 0=none | 1=lines | 2=splines | 3=bar }.
1928               'vertex_type' can be  {  0=none  |  1=points  |  2,3=crosses  |
1929       4,5=circles | 6,7=squares }.
1930               'xmin','xmax','ymin','ymax'  set  the  coordinates  of the dis‐
1931       played xy-axes.
1932               if specified 'width' or 'height' is '0', then image size is set
1933       to half the screen size.
1934
1935               Default  values:  'width=0',  'height=0',  'plot_type=1', 'ver‐
1936       tex_type=1', 'xmin=xmax=ymin=ymax=0
1937                 (auto)', 'xlabel="x-axis"' and 'ylabel="y-axis"'.
1938
1939           display_histogram:
1940               _width>=0,_height>=0,_clus‐
1941       ters>0,_min_value[%],_max_value[%],_show_axes={ 0 | 1
1942                 },_expression.
1943
1944               Render a channel-by-channel histogram.
1945               If  selected  images have several slices, the rendering is per‐
1946       formed for all input slices.
1947               'expression' is a mathematical expression used to transform the
1948       histogram data for
1949                 visualization purpose.
1950               (eq. to 'dh').
1951               if specified 'width' or 'height' is '0', then image size is set
1952       to half the screen size.
1953
1954               Default   values:   'width=0',   'height=0',    'clusters=256',
1955       'min_value=0%', 'max_value=100%',
1956                 'show_axes=1' and 'expression=i'.
1957
1958           display_parametric:
1959               _width>0,_height>0,_outline_opacity,_ver‐
1960       tex_radius>=0,_is_antialiased={ 0 | 1 },
1961                 _is_decorated={ 0 | 1 },_xlabel,_ylabel
1962
1963               Render 2D or 3D parametric curve or point clouds from  selected
1964       image data.
1965               Curve points are defined as pixels of a 2 or 3-channel image.
1966               If  the  point  image contains more than 3 channels, additional
1967       channels define the (R,G,B) color
1968                 for each vertex.
1969               If 'outline_opacity>1', the outline is colored according to the
1970       specified vertex colors and
1971               'outline_opacity-1' is used as the actual drawing opacity.
1972
1973               Default  values:  'width=512',  'height=width',  'outline_opac‐
1974       ity=3', 'vertex_radius=0',
1975                 'is_antialiased=1','is_decorated=1',  'xlabel="x-axis"'   and
1976       'ylabel="y-axis"'.
1977
1978           display_parallel:
1979
1980               Display  each  selected image in a separate interactive display
1981       window.
1982               (eq. to 'dp').
1983
1984           display_parallel0:
1985
1986               Display each selected image in a separate  interactive  display
1987       window, without value
1988                 normalization.
1989               (eq. to 'dp0').
1990
1991           display_polar:
1992               _width>32,_height>32,_out‐
1993       line_type,_fill_R,_fill_G,_fill_B,_theta_start,
1994                 _theta_end,_xlabel,_ylabel
1995
1996               Render polar curve from selected image data.
1997               'outline_type' can be { r<0=dots with radius -r | 0=no  outline
1998       | r>0=lines+dots with radius r }.
1999               'fill_color'  can  be  { -1=no fill | R,G,B=fill with specified
2000       color }.
2001
2002               Default values: 'width=500', 'height=width',  'outline_type=1',
2003       'fill_R=fill_G=fill_B=200',
2004                 'theta_start=0', 'theta_end=360', 'xlabel="x-axis"' and 'yla‐
2005       bel="y-axis"'.
2006
2007           display_quiver:
2008               _size_factor>0,_arrow_size>=0,_color_mode={   0=monochrome    |
2009       1=grayscale | 2=color }
2010
2011               Render selected images of 2D vectors as a field of 2D arrows.
2012               (eq. to 'dq').
2013
2014               Default    values:   'size_factor=16',   'arrow_size=1.5'   and
2015       'color_mode=1'.
2016
2017           display_rgba:
2018               _background_RGB_color
2019
2020               Render selected RGBA images  over  a  checkerboard  or  colored
2021       background.
2022               (eq. to 'drgba').
2023
2024               Default   values:   'background_RGB_color=undefined'  (checker‐
2025       board).
2026
2027           display_tensors:
2028               _size_factor>0,_ellipse_size>=0,_color_mode={  0=monochrome   |
2029       1=grayscale |
2030                 2=color },_outline>=0
2031
2032               Render selected images of tensors as a field of 2D ellipses.
2033               (eq. to 'dt').
2034
2035               Default     values:    'size_factor=16',    'ellipse_size=1.5',
2036       'color_mode=2' and 'outline=2'.
2037
2038           display_warp:
2039               _cell_size>0
2040
2041               Render selected 2D warping fields.
2042               (eq. to 'dw').
2043
2044               Default value: 'cell_size=15'.
2045
2046           document_gmic:
2047               _format={  ascii   |   bash   |   html   |   images   |   latex
2048       },_image_path,_write_wrapper={ 0 | 1 }
2049
2050               Create  documentation  of  .gmic  command  files (loaded as raw
2051       'uchar' images), in specified format.
2052
2053               Default    values:    'format=ascii',    'image_path=""'    and
2054       'write_wrapper=1'.
2055               Example(s) : input_text filename.gmic document_gmic html,img
2056
2057           echo (+):
2058               message
2059
2060               Output specified message on the error output.
2061               (eq. to 'e').
2062               Command selection (if any) stands for displayed call stack sub‐
2063       set instead of image indices.
2064
2065           echo_file:
2066               filename,message
2067
2068               Output specified message,  appending  it  to  specified  output
2069       file.
2070               (similar to 'echo' for specified output file stream).
2071
2072           echo_stdout:
2073               message
2074
2075               Output specified message, on the standard output (stdout).
2076               (similar  to  'echo'  for  output on standard output instead of
2077       standard error).
2078
2079           function1d:
2080               0<=smoothness<=1,x0>=0,y0,x1>=0,y1,...,xn>=0,yn
2081
2082               Insert continuous 1D function from specified list of  keypoints
2083       (xk,yk)
2084               in range [0,max(xk)] (xk are positive integers).
2085
2086               Default values: 'smoothness=1' and 'x0=y0=0'.
2087
2088           input (+):
2089               [type:]filename |
2090               [type:]http://URL |
2091               [selection]x_nb_copies>0 |
2092               {  width>0[%]  |  [image_w]  },{  _height>0[%]  | [image_h] },{
2093       _depth>0[%] |
2094                 [image_d]    },{    _spectrum>0[%]    |    [image_s]     },_{
2095       value1,_value2,... | 'formula' } |
2096               (value1{,|;|/|^}value2{,|;|/|^}...) |
2097               0
2098
2099               Insert  a  new image taken from a filename or from a copy of an
2100       existing image [index],
2101               or insert new image with specified dimensions and values.  Sin‐
2102       gle quotes may be omitted in
2103               'formula'. Specifying argument '0' inserts an 'empty' image.
2104               (eq. to 'i' | (no arg)).
2105
2106               Default  values:  'nb_copies=1',  'height=depth=spectrum=1' and
2107       'value1=0'.
2108
2109           input_cube:
2110               "filename",_convert_1d_cluts_to_3d={ 0 | 1 }.
2111
2112               Insert CLUT data from a .cube filename (Adobe  CLUT  file  for‐
2113       mat).
2114
2115               Default value: 'convert_1d_cluts_to_3d=1'.
2116
2117           input_flo:
2118               "filename"
2119
2120               Insert  optical  flow data from a .flo filename (vision.middle‐
2121       bury.edu file format).
2122
2123           input_glob:
2124               pattern
2125
2126               Insert new images from several filenames that match the  speci‐
2127       fied glob pattern.
2128               (eq. to 'ig').
2129
2130           input_gpl:
2131               filename
2132
2133               Input specified filename as a .gpl palette data file.
2134
2135           input_text:
2136               filename
2137
2138               Input specified text-data filename as a new image.
2139               (eq. to 'it').
2140
2141           network (+):
2142               mode={ 0=disabled | 1=enabled }
2143
2144               Enable or disable load-from-network mode.
2145               (Default mode is 'enabled').
2146
2147           output (+):
2148               [type:]filename,_format_options
2149
2150               Output selected images as one or several numbered file(s).
2151               (eq. to 'o').
2152
2153               Default value: 'format_options'=(undefined).
2154
2155           output_cube:
2156               "filename"
2157
2158               Output selected CLUTs as a .cube file (Adobe CLUT format).
2159
2160           output_flo:
2161               "filename"
2162
2163               Output  selected  optical  flow  as a .flo file (vision.middle‐
2164       bury.edu file format).
2165
2166           output_ggr:
2167               filename,_gradient_name
2168
2169               Output selected images as .ggr gradient files (GIMP).
2170               If no gradient name is specified, it is deduced from the  file‐
2171       name.
2172
2173           output_text:
2174               filename
2175
2176               Output selected images as text-data filenames.
2177               (eq. to 'ot').
2178
2179           outputn:
2180               filename,_index
2181
2182               Output  selected  images as automatically numbered filenames in
2183       repeat...done loops.
2184               (eq. to 'on').
2185
2186           outputp:
2187               prefix
2188
2189               Output selected images as prefixed versions of  their  original
2190       filenames.
2191               (eq. to 'op').
2192
2193               Default value: 'prefix=_'.
2194
2195           outputw:
2196
2197               Output selected images by overwriting their original location.
2198               (eq. to 'ow').
2199
2200           outputx:
2201               extension1,_extension2,_...,_extensionN,_output_at_same_loca‐
2202       tion={ 0 | 1 }
2203
2204               Output selected images with same base filenames but for N  dif‐
2205       ferent extensions.
2206               (eq. to 'ox').
2207
2208               Default value: 'output_at_same_location=0'.
2209
2210           pass (+):
2211               _shared_state={ -1=status only | 0=non-shared (copy) | 1=shared
2212       | 2=adaptive }
2213
2214               Insert images from parent context of  a  custom  command  or  a
2215       local environment.
2216               Command  selection (if any) stands for a selection of images in
2217       the parent context.
2218               By  default  (adaptive  shared  state),  selected  images   are
2219       inserted in a shared state if they do
2220                 not belong
2221               to  the  context  (selection)  of the current custom command or
2222       local environment as well.
2223               Typical use of command 'pass' concerns  the  design  of  custom
2224       commands that take images as
2225                 arguments.
2226               This  commands  return the list of corresponding indices in the
2227       status.
2228
2229               Default value: 'shared_state=2'.
2230
2231           plot (+):
2232               _plot_type,_ver‐
2233       tex_type,_xmin,_xmax,_ymin,_ymax,_exit_on_anykey={ 0 | 1 } |
2234               'formula',_resolution>=0,_plot_type,_ver‐
2235       tex_type,_xmin,xmax,_ymin,_ymax,
2236                 _exit_on_anykey={ 0 | 1 }
2237
2238               Display selected images or formula  in  an  interactive  viewer
2239       (use the instant display window [0]
2240                 if opened).
2241               'plot_type' can be { 0=none | 1=lines | 2=splines | 3=bar }.
2242               'vertex_type'  can  be  {  0=none  |  1=points  | 2,3=crosses |
2243       4,5=circles | 6,7=squares }.
2244               'xmin','xmax','ymin','ymax' set the  coordinates  of  the  dis‐
2245       played xy-axes.
2246
2247               Default       values:      'plot_type=1',      'vertex_type=1',
2248       'xmin=xmax=ymin=ymax=0 (auto)' and
2249                 'exit_on_anykey=0'.
2250
2251           print (+):
2252
2253               Output information on selected images, on  the  standard  error
2254       (stderr).
2255               (eq. to 'p').
2256
2257           screen (+):
2258               _x0[%],_y0[%],_x1[%],_y1[%]
2259
2260               Take screenshot, optionally grabbed with specified coordinates,
2261       and insert it
2262               at the end of the image list.
2263
2264           select (+):
2265               feature_type,_X[%]>=0,_Y[%]>=0,_Z[%]>=0,_exit_on_anykey={ 0 | 1
2266       },
2267                 _is_deep_selection={ 0 | 1 }
2268
2269               Interactively  select  a  feature from selected images (use the
2270       instant display window [0] if opened).
2271               'feature_type' can be { 0=point |  1=segment  |  2=rectangle  |
2272       3=ellipse }.
2273               Arguments 'X','Y','Z' determine the initial selection view, for
2274       3D volumetric images.
2275               The retrieved feature is returned as  a  3D  vector  (if  'fea‐
2276       ture_type==0') or as a 6d vector
2277               (if 'feature_type!=0') containing the feature coordinates.
2278
2279               Default  values:  'X=Y=Z=(undefined)',  'exit_on_anykey=0'  and
2280       'is_deep_selection=0'.
2281
2282           serialize (+):
2283               _datatype,_is_compressed={ 0 | 1 },_store_names={ 0 | 1 }
2284
2285               Serialize selected list of images into a single image,  option‐
2286       nally in a compressed form.
2287               'datatype' can be { auto | uchar | char | ushort | short | uint
2288       | int | uint64 | int64 | float |
2289                  double }.
2290               Specify 'datatype' if all selected images have a range of  val‐
2291       ues constrained to a particular datatype,
2292               in order to minimize the memory footprint.
2293               The resulting image has only integers values in [0,255] and can
2294       then be saved as a raw image of
2295               unsigned chars (doing so will output a valid .cimg[z]  or  .gmz
2296       file).
2297               If  'store_names'  is  set  to '1', serialization uses the .gmz
2298       format to store data in memory
2299               (otherwise the .cimg[z] format).
2300
2301               Default   values:   'datatype=auto',   'is_compressed=1'    and
2302       'store_names=1'.
2303
2304           shape_circle:
2305               _size>=0
2306
2307               Input a 2D circle binary shape with specified size.
2308
2309               Default value: 'size=512'.
2310
2311           shape_cupid:
2312               _size>=0
2313
2314               Input a 2D cupid binary shape with specified size.
2315
2316               Default value: 'size=512'.
2317
2318           shape_diamond:
2319               _size>=0
2320
2321               Input a 2D diamond binary shape with specified size.
2322
2323               Default value: 'size=512'.
2324
2325           shape_dragon:
2326               _size>=0,_recursion_level>=0,_angle
2327
2328               Input a 2D Dragon curve with specified size.
2329
2330               Default value: 'size=512', 'recursion_level=18' and 'angle=0'.
2331
2332           shape_fern:
2333               _size>=0,_density[%]>=0,_angle,0<=_opacity<=1,_type={  0=Asple‐
2334       nium
2335                 adiantum-nigrum | 1=Thelypteridaceae }
2336
2337               Input a 2D Barnsley fern with specified size.
2338
2339               Default value: 'size=512',  'density=50%',  'angle=30',  'opac‐
2340       ity=0.3' and 'type=0'.
2341
2342           shape_gear:
2343               _size>=0,_nb_teeth>0,0<=_height_teeth<=100,0<=_off‐
2344       set_teeth<=100,
2345                 0<=_inner_radius<=100
2346
2347               Input a 2D gear binary shape with specified size.
2348
2349               Default value:  'size=512',  'nb_teeth=12',  'height_teeth=20',
2350       'offset_teeth=0' and
2351                 'inner_radius=40'.
2352
2353           shape_heart:
2354               _size>=0
2355
2356               Input a 2D heart binary shape with specified size.
2357
2358               Default value: 'size=512'.
2359
2360           shape_polygon:
2361               _size>=0,_nb_vertices>=3,_angle
2362
2363               Input a 2D polygonal binary shape with specified geometry.
2364
2365               Default value: 'size=512', 'nb_vertices=5' and 'angle=0'.
2366
2367           shape_snowflake:
2368               size>=0,0<=_nb_recursions<=6
2369
2370               Input a 2D snowflake binary shape with specified size.
2371
2372               Default values: 'size=512' and 'nb_recursions=5'.
2373
2374           shape_star:
2375               _size>=0,_nb_branches>0,0<=_thickness<=1
2376
2377               Input a 2D star binary shape with specified size.
2378
2379               Default   values:   'size=512',   'nb_branches=5'  and  'thick‐
2380       ness=0.38'.
2381
2382           shared (+):
2383               x0[%],x1[%],y[%],z[%],c[%] |
2384               y0[%],y1[%],z[%],c[%] |
2385               z0[%],z1[%],c[%] |
2386               c0[%],c1[%] |
2387               c0[%] |
2388               (no arg)
2389
2390               Insert shared buffers  from  (opt.  points/rows/planes/channels
2391       of) selected images.
2392               Shared  buffers  cannot  be  returned by a command, nor a local
2393       environment.
2394               (eq. to 'sh').
2395
2396           sample:
2397               _name1={ ? | apples | balloons | barbara | boats  |  bottles  |
2398       butterfly |
2399                 cameraman  |  car  | cat | cliff | chick | colorful | david |
2400       dog | duck | eagle |
2401                 elephant | earth | flower | fruits | gmicky | gmicky_mahvin |
2402       gmicky_wilber |
2403                 greece  |  gummy | house | inside | landscape | leaf | lena |
2404       leno | lion |
2405                 mandrill | monalisa | monkey | parrots | pencils | peppers  |
2406       portrait0 |
2407                 portrait1  |  portrait2 | portrait3 | portrait4 | portrait5 |
2408       portrait6 |
2409                 portrait7 | portrait8 | portrait9 | roddy | rooster | rose  |
2410       square | swan |
2411                 teddy   |   tiger  |  tulips  |  wall  |  waterfall  |  zelda
2412       },_name2,...,_nameN,_width={
2413                 >=0 | 0 (auto) },_height = { >=0 | 0 (auto) } |
2414               (no arg)
2415
2416               Input a new sample RGB image (opt. with specified size).
2417               (eq. to 'sp').
2418               Argument 'name' can be replaced by an integer which serves as a
2419       sample index.
2420
2421           srand (+):
2422               value |
2423               (no arg)
2424
2425               Set random generator seed.
2426               If no argument is specified, a random value is used as the ran‐
2427       dom generator seed.
2428
2429           store (+):
2430               _is_compressed={ 0 | 1 },variable_name1,_variable_name2,...
2431
2432               Store selected images into one or several named variables.
2433               Selected images are transferred to the variables,  and  are  so
2434       removed from the image list.
2435               (except  if the prepended variant of the command '+store[selec‐
2436       tion]' is used).
2437               If a single variable name  is  specified,  all  images  of  the
2438       selection are assigned
2439               to  the  named variable. Otherwise, there must be as many vari‐
2440       able names as images
2441               in the selection, and each selected image is assigned  to  each
2442       specified named variable.
2443               Use  command  'input $variable' to bring the stored images back
2444       in the list.
2445
2446           testimage2d:
2447               _width>0,_height>0,_spectrum>0
2448
2449               Input a 2D synthetic image.
2450
2451               Default values: 'width=512', 'height=width' and 'spectrum=3'.
2452
2453           uncommand (+):
2454               command_name[,_command_name2,...] |
2455               *
2456
2457               Discard definition of specified custom commands.
2458               Set argument to '*' for discarding  all  existing  custom  com‐
2459       mands.
2460
2461           uniform_distribution:
2462               nb_levels>=1,spectrum>=1
2463
2464               Input   set  of  uniformly  distributed  spectrum-d  points  in
2465       [0,1]^spectrum.
2466
2467           unserialize (+):
2468
2469               Recreate  lists  of  images  from  serialized  image   buffers,
2470       obtained with command 'serialize'.
2471
2472           update:
2473
2474               Update  commands  from  the latest definition file on the G'MIC
2475       server.
2476               (eq. to 'up').
2477
2478           parse_gui:
2479               _filter_name,_outputmode
2480
2481               Parse selected filter definitions and generate info about  fil‐
2482       ters in selected output mode.
2483               'outputmode' can be { json | list | print | update | zart }.
2484               It  is possible to define a custom output mode, by implementing
2485       the following commands
2486               ('outputmode' must be replaced by the name of the  custom  user
2487       output mode):
2488               .  'parse_gui_outputmode'  : A command that outputs the parsing
2489       information with a custom format.
2490               . 'parse_gui_parseparams_outputmode' (optional): A simple  com‐
2491       mand that returns 0 or 1. It tells
2492                 the parser whether parameters of matching filter must be ana‐
2493       lyzed (slower) or not.
2494               . 'parse_gui_trigger_outputmode' (optional): A command that  is
2495       called by the parser just before
2496                 parsing the set of each matching filters.
2497               Here  is the list of variables set by the parser, accessible in
2498       command 'parse_gui_outputmode':
2499               '$_nbfilters': Number of matching filters.
2500               '$_nongui' (stored as an image): All merged lines in  the  file
2501       that do not correspond to '#@gui' lines.
2502               For each filter         . '$_fF_name': Filter name.
2503               . '$_fF_path': Full path.
2504               . '$_fF_locale': Filter locale (empty, if not specified).
2505               . '$_fF_command': Filter command.
2506               .  '$_fF_commandpreview': Filter preview command (empty, if not
2507       specified).
2508               . '$_fF_zoomfactor': Default zoom factor (empty, if not  speci‐
2509       fied).
2510               .  '$_fF_zoomaccurate': Is preview accurate when zoom changes ?
2511       (can be { 0=false | 1=true }).
2512               . '$_fF_inputmode': Default preferred input mode (empty, if not
2513       specified).
2514               .  '$_fF_hide':  Path  of  filter  hided by current filter (for
2515       localized filters, empty if not
2516                 specified).
2517               . '$_fF_nbparams': Number of parameters.
2518               For each parameter         . '$_fF_pP_name': Parameter name.
2519               . '$_fF_pP_type': Parameter type.
2520               . '$_fF_pP_responsivity': Parameter responsivity (can be { 0  |
2521       1 }).
2522               . '$_fF_pP_visibility': Parameter visibility.
2523               .  '$_fF_pP_propagation': Propagation of the parameter visibil‐
2524       ity.
2525               . '$_fF_pP_nbargs': Number of parameter arguments.
2526               For each argument         . '$_fF_pP_aA': Argument value
2527               Default parameters: 'filter_name=*' and 'output_format=print'.
2528
2529           verbose (+):
2530               level |
2531               { + | - }
2532
2533               Set or increment/decrement the verbosity level.  Default  level
2534       is 0.
2535               (eq. to 'v').
2536               When  'level'>0,  G'MIC log messages are displayed on the stan‐
2537       dard error (stderr).
2538
2539               Default value: 'level=1'.
2540
2541           wait (+):
2542               delay |
2543               (no arg)
2544
2545               Wait for a given delay (in ms), optionally since the last  call
2546       to 'wait'.
2547               or wait for a user event occurring on the selected instant dis‐
2548       play windows.
2549               'delay' can be { <0=delay+flush events | 0=event | >0=delay }.
2550               Command selection (if any) stands for  instant  display  window
2551       indices instead of image indices.
2552               If  no window indices are specified and if 'delay' is positive,
2553       the command results
2554               in a 'hard' sleep during specified delay.
2555
2556               Default value: 'delay=0'.
2557
2558           warn (+):
2559               _force_visible={ 0 | 1 },_message
2560
2561               Print  specified  warning  message,  on  the   standard   error
2562       (stderr).
2563               Command selection (if any) stands for displayed call stack sub‐
2564       set instead of image indices.
2565
2566           window (+):
2567               _width[%]>=-1,_height[%]>=-1,_normaliza‐
2568       tion,_fullscreen,_pos_x[%],_pos_y[%],_title
2569
2570               Display  selected  images  into  an instant display window with
2571       specified size, normalization type,
2572               fullscreen mode and title.
2573               (eq. to 'w').
2574               If 'width' or 'height' is set to -1, the  corresponding  dimen‐
2575       sion is adjusted to the window
2576               or image size.
2577               Specify 'pos_x' and 'pos_y' arguments only if the window has to
2578       be moved to the specified
2579               coordinates. Otherwise, they can be avoided.
2580               'width'=0 or 'height'=0 closes the instant display window.
2581               'normalization' can be { -1=keep same |  0=none  |  1=always  |
2582       2=1st-time | 3=auto }.
2583               'fullscreen' can be { -1=keep same | 0=no | 1=yes }.
2584               You  can  manage  up to 10 different instant display windows by
2585       using the numbered variants
2586               'w0' (default, eq. to 'w'),'w1',...,'w9' of the command 'w'.
2587               Invoke 'window' with no selection to make the  window  visible,
2588       if is has been closed by the user.
2589
2590               Default  values: 'width=height=normalization=fullscreen=-1' and
2591       'title=(undefined)'.
2592
2593        ** List Manipulation:
2594
2595           keep (+):
2596
2597               Keep only selected images.
2598               (eq. to 'k').
2599
2600           move (+):
2601               position[%]
2602
2603               Move selected images at specified position.
2604               (eq. to 'mv').
2605
2606           name (+):
2607               "name1","name2",...
2608
2609               Set names of selected images.
2610               - If the selection contains a single image, then it is  assumed
2611       the command has a single name
2612               argument (possibly containing multiple comas).
2613               -  If  the selection contains more than one image, each command
2614       argument defines a single image
2615               name for each image of the selection.
2616               (eq. to 'nm').
2617
2618           remove (+):
2619
2620               Remove selected images.
2621               (eq. to 'rm').
2622
2623           remove_duplicates:
2624
2625               Remove duplicates images in the selected images list.
2626
2627           remove_empty:
2628
2629               Remove empty images in the selected image list.
2630
2631           reverse (+):
2632
2633               Reverse positions of selected images.
2634               (eq. to 'rv').
2635
2636           sort_list:
2637               _ordering={ + | - },_criterion
2638
2639               Sort list of selected images according to the  specified  image
2640       criterion.
2641
2642               Default values: 'ordering=+', 'criterion=i'.
2643
2644           sort_str:
2645
2646               Sort  selected  images (viewed as a list of strings) in lexico‐
2647       graphic order.
2648
2649        ** Mathematical Operators:
2650
2651           abs (+):
2652
2653               Compute the pointwise absolute values of selected images.
2654
2655           acos (+):
2656
2657               Compute the pointwise arccosine of selected images.
2658
2659           acosh (+):
2660
2661               Compute the pointwise hyperbolic arccosine of selected images.
2662
2663           add (+):
2664               value[%] |
2665               [image] |
2666               'formula' |
2667               (no arg)
2668
2669               Add  specified  value,  image  or  mathematical  expression  to
2670       selected images,
2671               or compute the pointwise sum of selected images.
2672               (eq. to '+').
2673
2674           and (+):
2675               value[%] |
2676               [image] |
2677               'formula' |
2678               (no arg)
2679
2680               Compute  the  bitwise  AND  of  selected  images with specified
2681       value, image or mathematical
2682               expression, or compute the pointwise sequential bitwise AND  of
2683       selected images.
2684               (eq. to '&').
2685
2686           argmax:
2687
2688               Compute the argmax of selected images. Returns a single image
2689               with  each  pixel value being the index of the input image with
2690       maximal value.
2691
2692           argmaxabs:
2693
2694               Compute the argmaxabs of  selected  images.  Returns  a  single
2695       image
2696               with  each  pixel value being the index of the input image with
2697       maxabs value.
2698
2699           argmin:
2700
2701               Compute the argmin of selected images. Returns a single image
2702               with each pixel value being the index of the input  image  with
2703       minimal value.
2704
2705           argminabs:
2706
2707               Compute  the  argminabs  of  selected  images. Returns a single
2708       image
2709               with each pixel value being the index of the input  image  with
2710       minabs value.
2711
2712           asin (+):
2713
2714               Compute the pointwise arcsine of selected images.
2715
2716           asinh (+):
2717
2718               Compute the pointwise hyperbolic arcsine of selected images.
2719
2720           atan (+):
2721
2722               Compute the pointwise arctangent of selected images.
2723
2724           atan2 (+):
2725               [x_argument]
2726
2727               Compute the pointwise oriented arctangent of selected images.
2728               Each  selected  image is regarded as the y-argument of the arc‐
2729       tangent function, while the
2730               specified image gives the corresponding x-argument.
2731
2732           atanh (+):
2733
2734               Compute the pointwise hyperbolic arctangent of selected images.
2735
2736           bsl (+):
2737               value[%] |
2738               [image] |
2739               'formula' |
2740               (no arg)
2741
2742               Compute the bitwise left shift of selected images  with  speci‐
2743       fied value, image or
2744               mathematical  expression,  or  compute the pointwise sequential
2745       bitwise left shift of
2746               selected images.
2747               (eq. to '<<').
2748
2749           bsr (+):
2750               value[%] |
2751               [image] |
2752               'formula' |
2753               (no arg)
2754
2755               Compute the bitwise right shift of selected images with  speci‐
2756       fied value, image or"
2757               mathematical  expression,  or  compute the pointwise sequential
2758       bitwise right shift of
2759               selected images.
2760               (eq. to '>>').
2761
2762           cos (+):
2763
2764               Compute the pointwise cosine of selected images.
2765
2766           cosh (+):
2767
2768               Compute the pointwise hyperbolic cosine of selected images.
2769
2770           div (+):
2771               value[%] |
2772               [image] |
2773               'formula' |
2774               (no arg)
2775
2776               Divide selected images by specified value, image or  mathemati‐
2777       cal expression,
2778               or compute the pointwise quotient of selected images.
2779               (eq. to '/').
2780
2781           div_complex:
2782               [divider_real,divider_imag],_epsilon>=0
2783
2784               Perform    division    of    the    selected    complex   pairs
2785       (real1,imag1,...,realN,imagN) of images by
2786               specified complex pair of images (divider_real,divider_imag).
2787               In complex pairs, the real image must be always located  before
2788       the imaginary image in the image list.
2789
2790               Default value: 'epsilon=1e-8'.
2791
2792           eq (+):
2793               value[%] |
2794               [image] |
2795               'formula' |
2796               (no arg)
2797
2798               Compute  the boolean equality of selected images with specified
2799       value, image or
2800               mathematical expression, or compute  the  boolean  equality  of
2801       selected images.
2802               (eq. to '==').
2803
2804           exp (+):
2805
2806               Compute the pointwise exponential of selected images.
2807
2808           ge (+):
2809               value[%] |
2810               [image] |
2811               'formula' |
2812               (no arg)
2813
2814               Compute  the boolean 'greater or equal than' of selected images
2815       with specified value, image
2816               or mathematical expression, or compute the boolean 'greater  or
2817       equal than' of selected images.
2818               (eq. to '>=').
2819
2820           gt (+):
2821               value[%] |
2822               [image] |
2823               'formula' |
2824               (no arg)
2825
2826               Compute  the  boolean  'greater  than'  of selected images with
2827       specified value, image or
2828               mathematical expression, or compute the boolean 'greater  than'
2829       of selected images.
2830               (eq. to '>').
2831
2832           le (+):
2833               value[%] |
2834               [image] |
2835               'formula' |
2836               (no arg)
2837
2838               Compute  the  boolean  'less  or equal than' of selected images
2839       with specified value, image or
2840               mathematical expression, or compute the boolean 'less or  equal
2841       than' of selected images.
2842               (eq. to '<=').
2843
2844           lt (+):
2845               value[%] |
2846               [image] |
2847               'formula' |
2848               (no arg)
2849
2850               Compute  the boolean 'less than' of selected images with speci‐
2851       fied value, image or
2852               mathematical expression, or compute the boolean 'less than'  of
2853       selected images.
2854               (eq. to '<').
2855
2856           log (+):
2857
2858               Compute the pointwise base-e logarithm of selected images.
2859
2860           log10 (+):
2861
2862               Compute the pointwise base-10 logarithm of selected images.
2863
2864           log2 (+):
2865
2866               Compute the pointwise base-2 logarithm of selected images
2867
2868           max (+):
2869               value[%] |
2870               [image] |
2871               'formula' |
2872               (no arg)
2873
2874               Compute  the  maximum  between  selected  images  and specified
2875       value, image or
2876               mathematical  expression,  or  compute  the  pointwise   maxima
2877       between selected images.
2878
2879           maxabs (+):
2880               value[%] |
2881               [image] |
2882               'formula' |
2883               (no arg)
2884
2885               Compute the maxabs between selected images and specified value,
2886       image or
2887               mathematical  expression,  or  compute  the  pointwise   maxabs
2888       between selected images.
2889
2890           mdiv (+):
2891               value[%] |
2892               [image] |
2893               'formula' |
2894               (no arg)
2895
2896               Compute  the  matrix  division  of selected matrices/vectors by
2897       specified value, image or
2898               mathematical expression, or  compute  the  matrix  division  of
2899       selected images.
2900               (eq. to 'm/').
2901
2902           med:
2903
2904               Compute the median of selected images.
2905
2906           min (+):
2907               value[%] |
2908               [image] |
2909               'formula' |
2910               (no arg)
2911
2912               Compute  the  minimum  between  selected  images  and specified
2913       value, image or
2914               mathematical  expression,  or  compute  the  pointwise   minima
2915       between selected images.
2916
2917           minabs (+):
2918               value[%] |
2919               [image] |
2920               'formula' |
2921               (no arg)
2922
2923               Compute the minabs between selected images and specified value,
2924       image or
2925               mathematical  expression,  or  compute  the  pointwise   minabs
2926       between selected images.
2927
2928           mod (+):
2929               value[%] |
2930               [image] |
2931               'formula' |
2932               (no arg)
2933
2934               Compute  the  modulo  of  selected images with specified value,
2935       image or mathematical
2936               expression, or  compute  the  pointwise  sequential  modulo  of
2937       selected images.
2938               (eq. to '%').
2939
2940           mmul (+):
2941               value[%] |
2942               [image] |
2943               'formula' |
2944               (no arg)
2945
2946               Compute  the  matrix  right  multiplication  of selected matri‐
2947       ces/vectors by specified value, image or
2948               mathematical expression, or compute the matrix right  multipli‐
2949       cation of selected images.
2950               (eq. to 'm*').
2951
2952           mul (+):
2953               value[%] |
2954               [image] |
2955               'formula' |
2956               (no arg)
2957
2958               Multiply selected images by specified value, image or mathemat‐
2959       ical expression,
2960               or compute the pointwise product of selected images.
2961               (eq. to '*').
2962
2963           mul_channels:
2964               value1,_value2,...,_valueN
2965
2966               Multiply channels of selected images by specified  sequence  of
2967       values.
2968
2969           mul_complex:
2970               [multiplier_real,multiplier_imag]
2971
2972               Perform   multiplication   of   the   selected   complex  pairs
2973       (real1,imag1,...,realN,imagN) of images by
2974               specified  complex  pair  of   images   (multiplier_real,multi‐
2975       plier_imag).
2976               In  complex pairs, the real image must be always located before
2977       the imaginary image in the image list.
2978
2979           neq (+):
2980               value[%] |
2981               [image] |
2982               'formula' |
2983               (no arg)
2984
2985               Compute the boolean inequality of selected images  with  speci‐
2986       fied value, image or
2987               mathematical  expression,  or compute the boolean inequality of
2988       selected images.
2989               (eq. to '!=').
2990
2991           or (+):
2992               value[%] |
2993               [image] |
2994               'formula' |
2995               (no arg)
2996
2997               Compute the bitwise OR of selected images with specified value,
2998       image or mathematical
2999               expression,  or  compute the pointwise sequential bitwise OR of
3000       selected images.
3001               (eq. to '|').
3002
3003           pow (+):
3004               value[%] |
3005               [image] |
3006               'formula' |
3007               (no arg)
3008
3009               Raise selected images to the power of specified value, image or
3010       mathematical
3011               expression,  or  compute  the  pointwise  sequential  powers of
3012       selected images.
3013               (eq. to '^').
3014
3015           rol (+):
3016               value[%] |
3017               [image] |
3018               'formula' |
3019               (no arg)
3020
3021               Compute the bitwise left rotation of selected images with spec‐
3022       ified value, image or
3023               mathematical  expression,  or  compute the pointwise sequential
3024       bitwise left rotation of
3025               selected images.
3026
3027           ror (+):
3028               value[%] |
3029               [image] |
3030               'formula' |
3031               (no arg)
3032
3033               Compute the bitwise right  rotation  of  selected  images  with
3034       specified value, image or
3035               mathematical  expression,  or  compute the pointwise sequential
3036       bitwise right rotation of
3037               selected images.
3038
3039           sign (+):
3040
3041               Compute the pointwise sign of selected images.
3042
3043           sin (+):
3044
3045               Compute the pointwise sine of selected images.
3046
3047           sinc (+):
3048
3049               Compute the pointwise sinc function of selected images.
3050
3051           sinh (+):
3052
3053               Compute the pointwise hyperbolic sine of selected images.
3054
3055           sqr (+):
3056
3057               Compute the pointwise square function of selected images.
3058
3059           sqrt (+):
3060
3061               Compute the pointwise square root of selected images.
3062
3063           sub (+):
3064               value[%] |
3065               [image] |
3066               'formula' |
3067               (no arg)
3068
3069               Subtract specified value, image or mathematical  expression  to
3070       selected images,
3071               or compute the pointwise difference of selected images.
3072               (eq. to '-').
3073
3074           tan (+):
3075
3076               Compute the pointwise tangent of selected images.
3077
3078           tanh (+):
3079
3080               Compute the pointwise hyperbolic tangent of selected images.
3081
3082           xor (+):
3083               value[%] |
3084               [image] |
3085               'formula' |
3086               (no arg)
3087
3088               Compute  the  bitwise  XOR  of  selected  images with specified
3089       value, image or mathematical
3090               expression, or compute the pointwise sequential bitwise XOR  of
3091       selected images.
3092
3093        ** Values Manipulation:
3094
3095           apply_curve:
3096               0<=smoothness<=1,x0,y0,x1,y1,x2,y2,...,xN,yN
3097
3098               Apply curve transformation to image values.
3099
3100               Default values: 'smoothness=1', 'x0=0', 'y0=100'.
3101
3102           apply_gamma:
3103               gamma>=0
3104
3105               Apply gamma correction to selected images.
3106
3107           balance_gamma:
3108               _ref_color1,...
3109
3110               Compute  gamma-corrected  color balance of selected image, with
3111       respect to specified reference color.
3112
3113               Default value: 'ref_color1=128'.
3114
3115           cast:
3116               datatype_source,datatype_target
3117
3118               Cast datatype of image buffer from  specified  source  type  to
3119       specified target type.
3120               'datatype_source' and 'datatype_target' can be { uchar | char |
3121       ushort | short | uint | int |
3122                 uint64 | int64 | float | double }.
3123
3124           complex2polar:
3125
3126               Compute complex to polar transforms of selected images.
3127
3128           compress_clut:
3129               _max_error>0,_avg_error>0,_max_nbpoints>=8,_error_metric={
3130       0=L2-norm |
3131                 1=deltaE_1976  | 2=deltaE_2000 },_reconstruction_colorspace={
3132       0=srgb | 1=rgb |
3133                 2=lab },_try_rbf_first={ 0 | 1 }
3134
3135               Compress selected color LUTs as sequences of colored keypoints.
3136
3137               Default     values:     'max_error=1.25',     'avg_error=0.75',
3138       'max_nb_points=2048', 'error_metric=2',
3139                 'reconstruction_colorspace=0' and 'try_rbf_first=1'.
3140
3141           compress_rle:
3142               _is_binary_data={ 0 | 1 },_maximum_sequence_length>=0
3143
3144               Compress  selected images as 2xN data matrices, using RLE algo‐
3145       rithm.
3146               Set 'maximum_sequence_length=0' to disable maximum length  con‐
3147       straint.
3148
3149               Default      values:      'is_binary_data=0'     and     'maxi‐
3150       mum_sequence_length=0'.
3151
3152           cumulate (+):
3153               { x | y | z | c }...{ x | y | z | c } |
3154               (no arg)
3155
3156               Compute  the  cumulative  function  of  specified  image  data,
3157       optionally along the specified axes.
3158
3159           cut (+):
3160               { value0[%] | [image0] },{ value1[%] | [image1] } |
3161               [image]
3162
3163               Cut values of selected images in specified range.
3164               (eq. to 'c').
3165
3166           decompress_clut:
3167               _width>0,_height>0,_depth>0,_reconstruction_colorspace={ 0=srgb
3168       | 1=rgb | 2=lab }
3169
3170               Decompress selected colored keypoints into 3D  CLUTs,  using  a
3171       mixed RBF/PDE approach.
3172
3173               Default   values:   'width=height=depth=48'   and  'reconstruc‐
3174       tion_colorspace=0'.
3175
3176           decompress_clut_rbf:
3177               _width>0,_height>0,_depth>0,_reconstruction_colorspace={ 0=srgb
3178       | 1=rgb | 2=lab }
3179
3180               Decompress  selected colored keypoints into 3D CLUTs, using RBF
3181       thin plate spline interpolation.
3182
3183               Default value: 'width=height=depth=48' and 'reconstruction_col‐
3184       orspace=0'.
3185
3186           decompress_clut_pde:
3187               _width>0,_height>0,_depth>0,_reconstruction_colorspace={ 0=srgb
3188       | 1=rgb | 2=lab }
3189
3190               Decompress selected colored keypoints into 3D CLUTs, using mul‐
3191       tiscale diffusion PDE's.
3192
3193               Default   values:   'width=height=depth=48'   and  'reconstruc‐
3194       tion_colorspace=0'.
3195
3196           decompress_rle:
3197
3198               Decompress selected data vectors, using RLE algorithm.
3199
3200           discard (+):
3201               _value1,_value2,... |
3202               { x | y | z | c}...{ x | y | z | c},_value1,_value2,... |
3203               (no arg)
3204
3205               Discard specified values in selected images or  discard  neigh‐
3206       boring duplicate values,
3207               optionally  only  for the values along the first of a specified
3208       axis.
3209               If no values are specified, neighboring  duplicate  values  are
3210       discarded.
3211               If all pixels of a selected image are discarded, an empty image
3212       is returned.
3213
3214           eigen2tensor:
3215
3216               Recompose selected pairs of eigenvalues/eigenvectors as 2x2  or
3217       3x3 tensor fields.
3218
3219           endian (+):
3220               _datatype
3221
3222               Reverse  data endianness of selected images, eventually consid‐
3223       ering the pixel being of the
3224                 specified datatype.
3225               'datatype' can be { uchar | char | ushort | short | uint |  int
3226       | uint64 | int64 | float | double }.
3227
3228           equalize (+):
3229               _nb_levels>0[%],_value_min[%],_value_max[%]
3230
3231               Equalize histograms of selected images.
3232               If  value range is specified, the equalization is done only for
3233       pixels in the specified
3234               value range.
3235
3236               Default    values:    'nb_levels=256',    'value_min=0%'    and
3237       'value_max=100%'.
3238
3239           fill (+):
3240               value1,_value2,... |
3241               [image] |
3242               'formula'
3243
3244               Fill  selected images with values read from the specified value
3245       list, existing image
3246               or mathematical expression. Single quotes  may  be  omitted  in
3247       'formula'.
3248               (eq. to 'f').
3249
3250           index (+):
3251               {  [palette] | palette_name },0<=_dithering<=1,_map_palette={ 0
3252       | 1 }
3253
3254               Index selected vector-valued images by specified  vector-valued
3255       palette.
3256               'palette_name'  can  be  { default | hsv | lines | hot | cool |
3257       jet | flag | cube | rainbow |
3258                 algae | amp |balance | curl | deep | delta | dense |  diff  |
3259       haline | ice | matter | oxy | phase
3260                 |  rain | solar | speed | tarn |tempo | thermal | topo | tur‐
3261       bid | aurora | hocuspocus | srb2 | uzebox }
3262
3263               Default values: 'dithering=0' and 'map_palette=0'.
3264
3265           inrange:
3266               min[%],max[%],_include_boundaries={ 0=no | 1=yes }
3267
3268               Detect pixels whose values are in specified range [min,max], in
3269       selected images.
3270               (eq. to 'ir').
3271
3272               Default value: 'include_boundaries=1'.
3273
3274           map (+):
3275               [palette],_boundary_conditions |
3276               palette_name,_boundary_conditions
3277
3278               Map  specified vector-valued palette to selected indexed scalar
3279       images.
3280               'palette_name' can be { default | hsv | lines | hot  |  cool  |
3281       jet | flag | cube | rainbow |
3282                 algae  | amp | balance | curl | deep | delta | dense | diff |
3283       gray | haline | ice | matter | oxy
3284                 | phase | rain | solar | speed | tarn |  tempo  |  thermal  |
3285       topo | turbid | aurora | hocuspocus |
3286                 srb2 | uzebox }
3287               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
3288       2=periodic | 3=mirror }.
3289
3290               Default value: 'boundary_conditions=0'.
3291
3292           mix_channels:
3293               (a00,...,aMN) |
3294               [matrix]
3295
3296               Apply specified matrix to channels of selected images.
3297
3298           negate:
3299               base_value |
3300               (no arg)
3301
3302               Negate image values.
3303
3304               Default value: 'base_value=(undefined)'.
3305
3306           noise (+):
3307               std_deviation>=0[%],_noise_type
3308
3309               Add random noise to selected images.
3310               'noise_type' can be { 0=gaussian | 1=uniform | 2=salt&pepper  |
3311       3=poisson | 4=rice }.
3312
3313               Default value: 'noise_type=0'.
3314
3315           noise_perlin:
3316               _scale_x[%]>0,_scale_y[%]>0,_scale_z[%]>0,_seed_x,_seed_y,_seed_z
3317
3318               Render 2D or 3D Perlin noise on selected images, from specified
3319       coordinates.
3320               The Perlin noise is a specific type of smooth noise,
3321               described here : 'https://en.wikipedia.org/wiki/Perlin_noise'.
3322
3323               Default      values:      'scale_x=scale_y=scale_z=16'      and
3324       'seed_x=seed_y=seed_z=0'.
3325
3326           noise_poissondisk:
3327               _radius[%]>0,_max_sample_attempts>0
3328
3329               Add poisson disk sampling noise to selected images.
3330               Implements the algorithm from the article  "Fast  Poisson  Disk
3331       Sampling in Arbitrary Dimensions",
3332               by Robert Bridson (SIGGRAPH'2007).
3333
3334               Default values: 'radius=8' and 'max_sample_attempts=30'.
3335
3336           normp:
3337               p>=0
3338
3339               Compute  the  pointwise Lp-norm norm of vector-valued pixels in
3340       selected images.
3341
3342               Default value: 'p=2'.
3343
3344           norm:
3345
3346               Compute the pointwise euclidean norm of vector-valued pixels in
3347       selected images.
3348
3349           normalize (+):
3350               {  value0[%]  |  [image0]  },{  value1[%]  |  [image1]  },_con‐
3351       stant_case_ratio |
3352               [image]
3353
3354               Linearly normalize  values  of  selected  images  in  specified
3355       range.
3356               (eq. to 'n').
3357
3358           normalize_sum:
3359
3360               Normalize selected images with a unitary sum.
3361
3362           not:
3363
3364               Apply boolean not operation on selected images.
3365
3366           orientation:
3367
3368               Compute  the  pointwise  orientation of vector-valued pixels in
3369       selected images.
3370
3371           oneminus:
3372
3373               For each selected image, compute one minus image.
3374
3375           otsu:
3376               _nb_levels>0
3377
3378               Hard-threshold selected images using Otsu's method.
3379               The computed thresholds are returned as a list of values in the
3380       status.
3381
3382               Default value: 'nb_levels=256'.
3383
3384           polar2complex:
3385
3386               Compute polar to complex transforms of selected images.
3387
3388           quantize:
3389               nb_levels>=1,_keep_values={   0   |   1  },_quantization_type={
3390       -1=median-cut |
3391                 0=k-means | 1=uniform }
3392
3393               Quantize selected images.
3394
3395               Default value: 'keep_values=1' and 'quantization_type=0'.
3396
3397           quantize_area:
3398               _min_area>0
3399
3400               Quantize selected images such that each flat region has an area
3401       greater or equal to 'min_area'.
3402
3403               Default value: 'min_area=10'.
3404
3405           rand (+):
3406               { value0[%] | [image0] },_{ value1[%] | [image1] } |
3407               [image]
3408
3409               Fill  selected  images with random values uniformly distributed
3410       in the specified range.
3411
3412           replace:
3413               source,target
3414
3415               Replace pixel values in selected images.
3416
3417           replace_inf:
3418               _expression
3419
3420               Replace all infinite values in  selected  images  by  specified
3421       expression.
3422
3423           replace_nan:
3424               _expression
3425
3426               Replace  all NaN values in selected images by specified expres‐
3427       sion.
3428
3429           replace_seq:
3430               "search_seq","replace_seq"
3431
3432               Search and replace a sequence of values in selected images.
3433
3434           replace_str:
3435               "search_str","replace_str"
3436
3437               Search and replace a  string  in  selected  images  (viewed  as
3438       strings, i.e. sequences of character codes).
3439
3440           round (+):
3441               rounding_value>=0,_rounding_type |
3442               (no arg)
3443
3444               Round values of selected images.
3445               'rounding_type' can be { -1=backward | 0=nearest | 1=forward }.
3446
3447               Default value: 'rounding_type=0'.
3448
3449           roundify:
3450               gamma>=0
3451
3452               Apply roundify transformation on float-valued data, with speci‐
3453       fied gamma.
3454
3455               Default value: 'gamma=0'.
3456
3457           set (+):
3458               value,_x[%],_y[%],_z[%],_c[%]
3459
3460               Set pixel value in selected images, at specified coordinates.
3461               (eq. to '=').
3462               If specified coordinates  are  outside  the  image  bounds,  no
3463       action is performed.
3464
3465               Default values: 'x=y=z=c=0'.
3466
3467           threshold:
3468               value[%],_is_soft={ 0 | 1 } :
3469
3470               Threshold values of selected images.
3471               'soft' can be { 0=hard-thresholding | 1=soft-thresholding }.
3472
3473               Default value: 'is_soft=0'.
3474
3475           unrepeat:
3476
3477               Remove repetition of adjacent values in selected images.
3478
3479           vector2tensor:
3480
3481               Convert selected vector fields to corresponding tensor fields.
3482
3483        ** Colors Manipulation:
3484
3485           adjust_colors:
3486               -100<=_brightness<=100,-100<=_contrast<=100,-100<=_gamma<=100,
3487                 -100<=_hue_shift<=100,-100<=_satura‐
3488       tion<=100,_value_min,_value_max
3489
3490               Perform a global adjustment of colors on selected images.
3491               Range  of  correct  image  values  are  considered  to  be   in
3492       [value_min,value_max] (e.g. [0,255]).
3493               If  'value_min==value_max==0',  value  range  is estimated from
3494       min/max values of selected images.
3495               Processed   images   have   pixel   values    constrained    in
3496       [value_min,value_max].
3497
3498               Default   values:   'brightness=0',   'contrast=0',  'gamma=0',
3499       'hue_shift=0', 'saturation=0',
3500                 'value_min=value_max=0'.
3501
3502           apply_channels:
3503               "command",color_channels,_value_action={  0=none  |   1=cut   |
3504       2=normalize }
3505
3506               Apply  specified command on the chosen color channel(s) of each
3507       selected images.
3508               (eq. to 'ac').
3509               Argument 'color_channels' refers to a colorspace,  and  can  be
3510       basically one of
3511               {  all | rgba | [s]rgb | ryb | lrgb | ycbcr | lab | lch | hsv |
3512       hsi | hsl | cmy | cmyk | yiq }.
3513               You can also make the processing  focus  on  a  few  particular
3514       channels of this colorspace,
3515               by   setting  'color_channels'  as  'colorspace_channel'  (e.g.
3516       'hsv_h' for the hue).
3517               All channel values are considered to be provided in the [0,255]
3518       range.
3519
3520               Default value: 'value_action=0'.
3521
3522           autoindex:
3523               nb_colors>0,0<=_dithering<=1,_method={ 0=median-cut | 1=k-means
3524       }
3525
3526               Index selected vector-valued images by adapted colormaps.
3527
3528               Default values: 'dithering=0' and 'method=1'.
3529
3530           bayer2rgb:
3531               _GM_smoothness,_RB_smoothness1,_RB_smoothness2
3532
3533               Transform selected RGB-Bayer sampled images to color images.
3534
3535               Default values: 'GM_smoothness=RB_smoothness=1' and 'RB_smooth‐
3536       ness2=0.5'.
3537
3538           deltaE:
3539               [image],_metric={ 0=deltaE_1976 | 1=deltaE_2000 },"_to_Lab_com‐
3540       mand"
3541
3542               Compute the CIE DeltaE color difference between selected images
3543       and specified [image].
3544               Argument  'to_Lab_command'  is a command able to convert colors
3545       of [image] into a Lab
3546                 representation.
3547
3548               Default values: 'metric=1' and 'to_Lab_command="srgb2lab"'.
3549
3550           cmy2rgb:
3551
3552               Convert color representation of selected  images  from  CMY  to
3553       RGB.
3554
3555           cmyk2rgb:
3556
3557               Convert  color  representation  of selected images from CMYK to
3558       RGB.
3559
3560           colorblind:
3561               type={  0=protanopia  |  1=protanomaly   |   2=deuteranopia   |
3562       3=deuteranomaly |
3563                 4=tritanopia  |  5=tritanomaly  |  6=achromatopsia | 7=achro‐
3564       matomaly }
3565
3566               Simulate color blindness vision.
3567
3568           colormap:
3569               nb_levels>=0,_method={ 0=median-cut | 1=k-means },_sort_vectors
3570
3571               Estimate best-fitting colormap  with  'nb_colors'  entries,  to
3572       index selected images.
3573               Set 'nb_levels==0' to extract all existing colors of an image.
3574               'sort_vectors'  can  be  '{ 0=unsorted | 1=by increasing norm |
3575       2=by decreasing occurrence }'
3576
3577               Default value: 'method=1' and 'sort_vectors=1'.
3578
3579           compose_channels:
3580
3581               Compose all channels of each selected  image,  using  specified
3582       arithmetic operator (+,-,or,min,...).
3583
3584               Default value: '1=+'.
3585
3586           direction2rgb:
3587
3588               Compute RGB representation of selected 2D direction fields.
3589
3590           ditheredbw:
3591
3592               Create dithered B&W version of selected images.
3593
3594           fill_color:
3595               col1,...,colN
3596
3597               Fill selected images with specified color.
3598               (eq. to 'fc').
3599
3600           gradient2rgb:
3601               _is_orientation={ 0 | 1 }
3602
3603               Compute RGB representation of 2D gradient of selected images.
3604
3605               Default value: 'is_orientation=0'.
3606
3607           hcy2rgb:
3608
3609               Convert  color  representation  of  selected images from HCY to
3610       RGB.
3611
3612           hsi2rgb:
3613
3614               Convert color representation of selected  images  from  HSI  to
3615       RGB.
3616
3617           hsi82rgb:
3618
3619               Convert  color  representation  of selected images from HSI8 to
3620       RGB.
3621
3622           hsl2rgb:
3623
3624               Convert color representation of selected  images  from  HSL  to
3625       RGB.
3626
3627           hsl82rgb:
3628
3629               Convert  color  representation  of selected images from HSL8 to
3630       RGB.
3631
3632           hsv2rgb:
3633
3634               Convert color representation of selected  images  from  HSV  to
3635       RGB.
3636
3637           hsv82rgb:
3638
3639               Convert  color  representation  of selected images from HSV8 to
3640       RGB.
3641
3642           int2rgb:
3643
3644               Convert color representation of selected images from  INT24  to
3645       RGB.
3646
3647           lab2lch:
3648
3649               Convert  color  representation  of  selected images from Lab to
3650       Lch.
3651
3652           lab2rgb:
3653               illuminant={ 0=D50 | 1=D65 } |
3654               (no arg)
3655
3656               Convert color representation of selected  images  from  Lab  to
3657       RGB.
3658
3659               Default value: 'illuminant=1'.
3660
3661           lab2srgb:
3662               illuminant={ 0=D50 | 1=D65 } |
3663               (no arg)
3664
3665               Convert  color  representation  of  selected images from Lab to
3666       sRGB.
3667
3668               Default value: 'illuminant=1'.
3669
3670           lab82srgb:
3671               illuminant={ 0=D50 | 1=D65 } |
3672               (no arg)
3673
3674               Convert color representation of selected images  from  Lab8  to
3675       sRGB.
3676
3677               Default value: 'illuminant=1'.
3678
3679           lab2xyz:
3680               illuminant={ 0=D50 | 1=D65 } |
3681               (no arg)
3682
3683               Convert  color  representation  of  selected images from Lab to
3684       XYZ.
3685
3686               Default value: 'illuminant=1'.
3687
3688           lab82rgb:
3689               illuminant={ 0=D50 | 1=D65 } |
3690               (no arg)
3691
3692               Convert color representation of selected images  from  Lab8  to
3693       RGB.
3694
3695               Default value: 'illuminant=1'.
3696
3697           lch2lab:
3698
3699               Convert  color  representation  of  selected images from Lch to
3700       Lab.
3701
3702           lch2rgb:
3703               illuminant={ 0=D50 | 1=D65 } |
3704               (no arg)
3705
3706               Convert color representation of selected  images  from  Lch  to
3707       RGB.
3708
3709               Default value: 'illuminant=1'.
3710
3711           lch82rgb:
3712               illuminant={ 0=D50 | 1=D65 } |
3713               (no arg)
3714
3715               Convert  color  representation  of selected images from Lch8 to
3716       RGB.
3717
3718               Default value: 'illuminant=1'.
3719
3720           luminance:
3721
3722               Compute luminance of selected sRGB images.
3723
3724           lightness:
3725
3726               Compute lightness of selected sRGB images.
3727
3728           lut_contrast:
3729               _nb_colors>1,_min_rgb_value
3730
3731               Generate a RGB colormap where consecutive colors have high con‐
3732       trast.
3733               This  function performs a specific score maximization to gener‐
3734       ate the result, so
3735               it may take some time when 'nb_colors' is high.
3736
3737               Default values: 'nb_colors=256' and 'min_rgb_value=64'.
3738
3739           map_clut:
3740               [clut] | "clut_name"
3741
3742               Map specified RGB color LUT to selected images.
3743
3744           mix_rgb:
3745               a11,a12,a13,a21,a22,a23,a31,a32,a33
3746
3747               Apply 3x3 specified matrix to RGB colors of selected images.
3748
3749               Default    values:    'a11=1',    'a12=a13=a21=0',     'a22=1',
3750       'a23=a31=a32=0' and 'a33=1'.
3751
3752           palette:
3753               palette_name | palette_number
3754
3755               Input specified color palette at the end of the image list.
3756               'palette_name'  can  be  { default | hsv | lines | hot | cool |
3757       jet | flag | cube | rainbow |
3758                 algae | amp | balance | curl | deep | delta | dense | diff  |
3759       gray | haline | ice | matter | oxy
3760                 |  phase  |  rain  | solar | speed | tarn | tempo | thermal |
3761       topo | turbid | aurora | hocuspocus |
3762                 srb2 | uzebox }
3763
3764           pseudogray:
3765               _max_increment>=0,_JND_threshold>=0,_bits_depth>0
3766
3767               Generate pseudogray colormap with specified increment and  per‐
3768       ceptual threshold.
3769               If 'JND_threshold' is 0, no perceptual constraints are applied.
3770
3771               Default   values:  'max_increment=5',  'JND_threshold=2.3'  and
3772       'bits_depth=8'.
3773
3774           replace_color:
3775               tolerance[%]>=0,smoothness[%]>=0,src1,src2,...,dest1,dest2,...
3776
3777               Replace pixels from/to specified colors in selected images.
3778
3779           retinex:
3780               _value_offset>0,_colorspace={ hsi | hsv | lab | lrgb  |  rgb  |
3781       ycbcr },
3782                 0<=_min_cut<=100,0<=_max_cut<=100,_sigma_low>0,_sigma_mid>0,_sigma_high>0
3783
3784               Apply multi-scale  retinex  algorithm  on  selected  images  to
3785       improve color consistency.
3786               (as           described           in          the          page
3787       http://www.ipol.im/pub/art/2014/107/).
3788
3789               Default  values:  'offset=1',  'colorspace=hsv',   'min_cut=1',
3790       'max_cut=1', 'sigma_low=15',
3791                 'sigma_mid=80' and 'sigma_high=250'.
3792
3793           rgb2bayer:
3794               _start_pattern=0,_color_grid=0
3795
3796               Transform selected color images to RGB-Bayer sampled images.
3797
3798               Default values: 'start_pattern=0' and 'color_grid=0'.
3799
3800           rgb2cmy:
3801
3802               Convert  color  representation  of  selected images from RGB to
3803       CMY.
3804
3805           rgb2cmyk:
3806
3807               Convert color representation of selected  images  from  RGB  to
3808       CMYK.
3809
3810           rgb2hcy:
3811
3812               Convert  color  representation  of  selected images from RGB to
3813       HCY.
3814
3815           rgb2hsi:
3816
3817               Convert color representation of selected  images  from  RGB  to
3818       HSI.
3819
3820           rgb2hsi8:
3821
3822               Convert  color  representation  of  selected images from RGB to
3823       HSI8.
3824
3825           rgb2hsl:
3826
3827               Convert color representation of selected  images  from  RGB  to
3828       HSL.
3829
3830           rgb2hsl8:
3831
3832               Convert  color  representation  of  selected images from RGB to
3833       HSL8.
3834
3835           rgb2hsv:
3836
3837               Convert color representation of selected  images  from  RGB  to
3838       HSV.
3839
3840           rgb2hsv8:
3841
3842               Convert  color  representation  of  selected images from RGB to
3843       HSV8.
3844
3845           rgb2int:
3846
3847               Convert color representation of selected  images  from  RGB  to
3848       INT24 scalars.
3849
3850           rgb2lab:
3851               illuminant={ 0=D50 | 1=D65 } |
3852               (no arg)
3853
3854               Convert  color  representation  of  selected images from RGB to
3855       Lab.
3856
3857               Default value: 'illuminant=1'.
3858
3859           rgb2lab8:
3860               illuminant={ 0=D50 | 1=D65 } |
3861               (no arg)
3862
3863               Convert color representation of selected  images  from  RGB  to
3864       Lab8.
3865
3866               Default value: 'illuminant=1'.
3867
3868           rgb2lch:
3869               illuminant={ 0=D50 | 1=D65 } |
3870               (no arg)
3871
3872               Convert  color  representation  of  selected images from RGB to
3873       Lch.
3874
3875               Default value: 'illuminant=1'.
3876
3877           rgb2lch8:
3878               illuminant={ 0=D50 | 1=D65 } |
3879               (no arg)
3880
3881               Convert color representation of selected  images  from  RGB  to
3882       Lch8.
3883
3884               Default value: 'illuminant=1'.
3885
3886           rgb2luv:
3887
3888               Convert  color  representation  of  selected images from RGB to
3889       LUV.
3890
3891           rgb2ryb:
3892
3893               Convert color representation of selected  images  from  RGB  to
3894       RYB.
3895
3896           rgb2srgb:
3897
3898               Convert color representation of selected images from linear RGB
3899       to sRGB.
3900
3901           rgb2xyz:
3902               illuminant={ 0=D50 | 1=D65 } |
3903               (no arg)
3904
3905               Convert color representation of selected  images  from  RGB  to
3906       XYZ.
3907
3908               Default value: 'illuminant=1'.
3909
3910           rgb2xyz8:
3911               illuminant={ 0=D50 | 1=D65 } |
3912               (no arg)
3913
3914               Convert  color  representation  of  selected images from RGB to
3915       XYZ8.
3916
3917               Default value: 'illuminant=1'.
3918
3919           rgb2yiq:
3920
3921               Convert color representation of selected  images  from  RGB  to
3922       YIQ.
3923
3924           rgb2yiq8:
3925
3926               Convert  color  representation  of  selected images from RGB to
3927       YIQ8.
3928
3929           rgb2ycbcr:
3930
3931               Convert color representation of selected  images  from  RGB  to
3932       YCbCr.
3933
3934           rgb2yuv:
3935
3936               Convert  color  representation  of  selected images from RGB to
3937       YUV.
3938
3939           rgb2yuv8:
3940
3941               Convert color representation of selected  images  from  RGB  to
3942       YUV8.
3943
3944           remove_opacity:
3945
3946               Remove opacity channel of selected images.
3947
3948           ryb2rgb:
3949
3950               Convert  color  representation  of  selected images from RYB to
3951       RGB.
3952
3953           select_color:
3954               tolerance[%]>=0,col1,...,colN
3955
3956               Select pixels with specified color in selected images.
3957
3958           sepia:
3959
3960               Apply sepia tones effect on selected images.
3961
3962           solarize:
3963
3964               Solarize selected images.
3965
3966           split_colors:
3967               _tolerance>=0,_max_nb_outputs>0,_min_area>0
3968
3969               Split selected images as  several  image  containing  a  single
3970       color.
3971               One  selected  image  can  be split as at most 'max_nb_outputs'
3972       images.
3973               Output images are sorted by decreasing area of extracted  color
3974       regions and have an additional
3975                 alpha-channel.
3976
3977               Default   values:   'tolerance=0',   'max_nb_outputs=256'   and
3978       'min_area=8'.
3979
3980           split_opacity:
3981
3982               Split color and opacity parts of selected images.
3983
3984           srgb2lab:
3985               illuminant={ 0=D50 | 1=D65 } |
3986               (no arg)
3987
3988               Convert color representation of selected images  from  sRGB  to
3989       Lab.
3990
3991               Default value: 'illuminant=1'.
3992
3993           srgb2lab8:
3994               illuminant={ 0=D50 | 1=D65 } |
3995               (no arg)
3996
3997               Convert  color  representation  of selected images from sRGB to
3998       Lab8.
3999
4000               Default value: 'illuminant=1'.
4001
4002           srgb2rgb:
4003
4004               Convert color representation of selected images  from  sRGB  to
4005       linear RGB.
4006
4007           to_a:
4008
4009               Force selected images to have an alpha channel.
4010
4011           to_color:
4012
4013               Force selected images to be in color mode (RGB or RGBA).
4014
4015           to_colormode:
4016               mode={ 0=adaptive | 1=G | 2=GA | 3=RGB | 4=RGBA }
4017
4018               Force selected images to be in a given color mode.
4019
4020               Default value: 'mode=0'.
4021
4022           to_gray:
4023
4024               Force selected images to be in GRAY mode.
4025
4026           to_graya:
4027
4028               Force selected images to be in GRAYA mode.
4029
4030           to_pseudogray:
4031               _max_step>=0,_is_perceptual_constraint={ 0 | 1 },_bits_depth>0
4032
4033               Convert  selected scalar images ([0-255]-valued) to pseudo-gray
4034       color images.
4035
4036               Default values: 'max_step=5', 'is_perceptual_constraint=1'  and
4037       'bits_depth=8'.
4038               The  original pseudo-gray technique has been introduced by Rich
4039       Franzen [http://r0k.us/graphics/
4040                 pseudoGrey.html].
4041               Extension of this technique to arbitrary  increments  for  more
4042       tones, has been done by David
4043                 Tschumperle.
4044
4045           to_rgb:
4046
4047               Force selected images to be in RGB mode.
4048
4049           to_rgba:
4050
4051               Force selected images to be in RGBA mode.
4052
4053           transfer_histogram:
4054               [reference_image],_nb_levels>0,_color_channels
4055
4056               Transfer histogram of the specified reference image to selected
4057       images.
4058               Argument  'color  channels'  is  the  same  as   with   command
4059       'apply_channels'.
4060
4061               Default value: 'nb_levels=256' and 'color_channels=all'.
4062
4063           transfer_pca:
4064               [reference_image],_color_channels
4065
4066               Transfer  mean and covariance matrix of specified vector-valued
4067       reference image to selected images.
4068               Argument  'color  channels'  is  the  same  as   with   command
4069       'apply_channels'.
4070
4071               Default value: 'color_channels=all'.
4072
4073           transfer_rgb:
4074               [target],_gamma>=0,_regularization>=0,_luminosity_con‐
4075       straints>=0,
4076                 _rgb_resolution>=0,_is_constraints={ 0 | 1 }
4077
4078               Transfer colors from selected source images to selected  refer‐
4079       ence image (given as argument).
4080               'gamma'  determines  the importance of color occurrences in the
4081       matching process (0=none to 1=huge).
4082               'regularization' determines the number of guided filter  itera‐
4083       tions to remove quantization effects.
4084               'luminosity_constraints'  tells  if luminosity constraints must
4085       be applied on non-confident
4086                 matched colors.
4087               'is_constraints' tells if  additional  hard  color  constraints
4088       must be set (opens an interactive window).
4089
4090               Default   values:   'gamma=0.3','regularization=8',   'luminos‐
4091       ity_constraints=0.1',
4092                 'rgb_resolution=64' and 'is_constraints=0'.
4093
4094           xyz2lab:
4095               illuminant={ 0=D50 | 1=D65 } |
4096               (no arg)
4097
4098               Convert color representation of selected  images  from  XYZ  to
4099       Lab.
4100
4101               Default value: 'illuminant=1'.
4102
4103           xyz2rgb:
4104               illuminant={ 0=D50 | 1=D65 } |
4105               (no arg)
4106
4107               Convert  color  representation  of  selected images from XYZ to
4108       RGB.
4109
4110               Default value: 'illuminant=1'.
4111
4112           xyz82rgb:
4113               illuminant={ 0=D50 | 1=D65 } |
4114               (no arg)
4115
4116               Convert color representation of selected images  from  XYZ8  to
4117       RGB.
4118
4119               Default value: 'illuminant=1'.
4120
4121           ycbcr2rgb:
4122
4123               Convert  color  representation of selected images from YCbCr to
4124       RGB.
4125
4126           yiq2rgb:
4127
4128               Convert color representation of selected  images  from  YIQ  to
4129       RGB.
4130
4131           yiq82rgb:
4132
4133               Convert  color  representation  of selected images from YIQ8 to
4134       RGB.
4135
4136           yuv2rgb:
4137
4138               Convert color representation of selected  images  from  YUV  to
4139       RGB.
4140
4141           yuv82rgb:
4142
4143               Convert selected images from YUV8 to RGB color bases.
4144
4145        ** Geometry Manipulation:
4146
4147           append (+):
4148               [image],axis,_centering |
4149               axis,_centering
4150
4151               Append  specified  image  to  selected  images, or all selected
4152       images together, along specified axis.
4153               (eq. to 'a').
4154               'axis' can be { x | y | z | c }.
4155               Usual 'centering' values are { 0=left-justified |  0.5=centered
4156       | 1=right-justified }.
4157
4158               Default value: 'centering=0'.
4159
4160           append_tiles:
4161               _M>=0,_N>=0,0<=_centering_x<=1,0<=_centering_y<=1
4162
4163               Append MxN selected tiles as new images.
4164               If 'N' is set to 0, number of rows is estimated automatically.
4165               If  'M'  is  set to 0, number of columns is estimated automati‐
4166       cally.
4167               If 'M' and 'N' are both set to '0', auto-mode is used.
4168               If 'M' or 'N' is set to 0, only a single image is produced.
4169               'centering_x' and 'centering_y' tells about  the  centering  of
4170       tiles when they have different sizes.
4171
4172               Default values: 'M=0', 'N=0', 'centering_x=centering_y=0.5'.
4173
4174           apply_scales:
4175               "command",num‐
4176       ber_of_scales>0,_min_scale[%]>=0,_max_scale[%]>=0,_scale_gamma>0,
4177                 _interpolation
4178
4179               Apply specified command on different scales of selected images.
4180               'interpolation' can be {  0=none  |  1=nearest  |  2=average  |
4181       3=linear | 4=grid | 5=bicubic |
4182                 6=lanczos }.
4183
4184               Default  value: 'min_scale=25%', 'max_scale=100%' and 'interpo‐
4185       lation=3'.
4186
4187           autocrop (+):
4188               value1,value2,... |
4189               (no arg)
4190
4191               Autocrop selected images by specified vector-valued intensity.
4192               If no arguments are provided, cropping value is guessed.
4193
4194           autocrop_components:
4195               _threshold[%],_min_area[%]>=0,_is_high_connectivity={  0  |   1
4196       },_output_type={
4197                 0=crop | 1=segmentation | 2=coordinates }
4198
4199               Autocrop  and  extract connected components in selected images,
4200       according to a mask given as the
4201                 last channel of
4202               each of the selected image (e.g. alpha-channel).
4203
4204               Default values: 'threshold=0%', 'min_area=0.1%',  'is_high_con‐
4205       nectivity=0' and 'output_type=1'.
4206
4207           autocrop_seq:
4208               value1,value2,... | auto
4209
4210               Autocrop  selected  images  using the crop geometry of the last
4211       one by specified vector-valued
4212                 intensity,
4213               or by automatic guessing the cropping value.
4214
4215               Default value: auto mode.
4216
4217           channels (+):
4218               { [image0] | c0[%] },_{ [image1] | c1[%] }
4219
4220               Keep only specified channels of selected images.
4221               Dirichlet boundary is used when specified channels are  out  of
4222       range.
4223
4224           columns (+):
4225               { [image0] | x0[%] },_{ [image1] | x1[%] }
4226
4227               Keep only specified columns of selected images.
4228               Dirichlet  boundary  is  used when specified columns are out of
4229       range.
4230
4231           crop (+):
4232               x0[%],x1[%],_boundary_conditions |
4233               x0[%],y0[%],x1[%],y1[%],_boundary_conditions |
4234               x0[%],y0[%],z0[%],x1[%],y1[%],z1[%],_boundary_conditions |
4235               x0[%],y0[%],z0[%],c0[%],x1[%],y1[%],z1[%],c1[%],_boundary_con‐
4236       ditions
4237
4238               Crop selected images with specified region coordinates.
4239               (eq. to 'z').
4240               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4241       2=periodic | 3=mirror }.
4242
4243               Default value: 'boundary_conditions=0'.
4244
4245           diagonal:
4246
4247               Transform selected vectors as diagonal matrices.
4248
4249           elevate:
4250               _depth,_is_plain={ 0 | 1 },_is_colored={ 0 | 1 }
4251
4252               Elevate selected 2D images into 3D volumes.
4253
4254               Default values: 'depth=64', 'is_plain=1' and 'is_colored=1'.
4255
4256           expand_x:
4257               size_x>=0,_boundary_conditions={  0=dirichlet  |  1=neumann   |
4258       2=periodic |
4259                 3=mirror }
4260
4261               Expand selected images along the x-axis.
4262
4263               Default value: 'boundary_conditions=1'.
4264
4265           expand_xy:
4266               size>=0,_boundary_conditions={   0=dirichlet   |   1=neumann  |
4267       2=periodic | 3=mirror }
4268
4269               Expand selected images along the xy-axes.
4270
4271               Default value: 'boundary_conditions=1'.
4272
4273           expand_xyz:
4274               size>=0,_boundary_conditions={  0=dirichlet   |   1=neumann   |
4275       2=periodic | 3=mirror }
4276
4277               Expand selected images along the xyz-axes.
4278
4279               Default value: 'boundary_conditions=1'.
4280
4281           expand_y:
4282               size_y>=0,_boundary_conditions={   0=dirichlet  |  1=neumann  |
4283       2=periodic |
4284                 3=mirror }
4285
4286               Expand selected images along the y-axis.
4287
4288               Default value: 'boundary_conditions=1'.
4289
4290           expand_z:
4291               size_z>=0,_boundary_conditions={  0=dirichlet  |  1=neumann   |
4292       2=periodic |
4293                 3=mirror }
4294
4295               Expand selected images along the z-axis.
4296
4297               Default value: 'boundary_conditions=1'.
4298
4299           extract:
4300               "condition",_output_type={  0=xyzc-coordinates  | 1=xyz-coordi‐
4301       nates |
4302                 2=scalar-values | 3=vector-values }
4303
4304               Extract a list of coordinates or values  from  selected  image,
4305       where
4306               specified mathematical condition holds.
4307               For N coordinates matching, result is a 1xNx1x4 image.
4308
4309               Default values: 'output_type=0'.
4310               sp lena +extract_coords "norm(I)>128",3
4311
4312           extract_region:
4313               [label_image],_extract_xyz_coordinates={       0       |      1
4314       },_label_1,...,_label_M
4315
4316               Extract all pixels of selected images whose corresponding label
4317       in '[label_image]' is equal to
4318                 'label_m',
4319               and output them as M column images.
4320
4321               Default value: 'extract_xyz_coordinates=0'.
4322
4323           montage:
4324               "_layout_code",_montage_mode={  0<=centering<=1 | 2<=scale+2<=3
4325       },_output_mode={
4326                 0=single layer | 1=multiple layers },"_processing_command"
4327
4328               Create a single image montage from selected  images,  according
4329       to specified layout code :
4330               -  'X'  to assemble all images using an automatically estimated
4331       layout.
4332               - 'H' to assemble all images horizontally.
4333               - 'V' to assemble all images vertically.
4334               - 'A' to assemble all images as an horizontal array.
4335               - 'B' to assemble all images as a vertical array.
4336               - 'Ha:b' to assemble two blocks 'a' and 'b' horizontally.
4337               - 'Va:b' to assemble two blocks 'a' and 'b' vertically.
4338               - 'Ra' to rotate a block 'a' by 90 deg. ('RRa' for 180 deg. and
4339       'RRRa' for 270 deg.).
4340               -  'Ma'  to mirror a block 'a' along the X-axis ('MRRa' for the
4341       Y-axis).
4342               A block 'a' can be an image index (treated periodically)  or  a
4343       nested layout expression 'Hb:c',
4344                 'Vb:c','Rb' or
4345               'Mb' itself.
4346               For example, layout code 'H0:V1:2' creates an image where image
4347       [0] is on the left, and images
4348                 [1] and [2]
4349               vertically packed on the right.
4350
4351               Default   values:   'layout_code=X',   'montage_mode=2',   out‐
4352       put_mode='0' and 'processing_command=""'.
4353
4354           mirror (+):
4355               { x | y | z }...{ x | y | z }
4356
4357               Mirror selected images along specified axes.
4358
4359           permute (+):
4360               permutation_string
4361
4362               Permute selected image axes by specified permutation.
4363               'permutation' is a combination of the character set {x|y|z|c},
4364               e.g. 'xycz', 'cxyz', ...
4365
4366           resize (+):
4367               [image],_interpolation,_boundary_conditions,_ax,_ay,_az,_ac |
4368               {[image_w] | width>0[%]},_{[image_h] | height>0[%]},_{[image_d]
4369       | depth>0[%]},
4370                 _{[image_s] |  spectrum>0[%]},_interpolation,_boundary_condi‐
4371       tions,_ax,_ay,_az,_ac
4372
4373               Resize selected images with specified geometry.
4374               (eq. to 'r').
4375               'interpolation'  can  be  { -1=none (memory content) | 0=none |
4376       1=nearest | 2=average | 3=linear |
4377                 4=grid | 5=bicubic | 6=lanczos }.
4378               'boundary_conditions' has different meanings, according to  the
4379       chosen 'interpolation' mode :
4380               .  When  'interpolation=={  -1 | 1 | 2 | 4 }', 'boundary_condi‐
4381       tions' is meaningless.
4382               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
4383       0=dirichlet | 1=neumann | 2=periodic |
4384                  3=mirror }.
4385               .  When  'interpolation=={  3 | 5 | 6 }', 'boundary_conditions'
4386       can be { 0=none | 1=neumann }.
4387               'ax,ay,az,ac' set the centering along each axis when  'interpo‐
4388       lation=0 or 4'
4389               (set to '0' by default, must be defined in range [0,1]).
4390
4391               Default  values: 'interpolation=1', 'boundary_conditions=0' and
4392       'ax=ay=az=ac=0'.
4393
4394           resize_mn:
4395               width[%]>=0,_height[%]>=0,_depth[%]>=0,_B_value,_C_value
4396
4397               Resize selected images with Mitchell-Netravali filter (cubic).
4398               For      details       about       the       method,       see:
4399       https://de.wikipedia.org/wiki/Mitchell-Netravali-Filter
4400
4401               Default  values:  'height=100%',  'depth=100%',  'B=0.3333' and
4402       'C=0.3333'.
4403
4404           resize_pow2:
4405               _interpolation,_boundary_conditions,_ax,_ay,_az,_ac
4406
4407               Resize selected images so that each dimension is a power of 2.
4408               'interpolation' can be { -1=none (memory content)  |  0=none  |
4409       1=nearest | 2=average | 3=linear |
4410                 4=grid | 5=bicubic | 6=lanczos }.
4411               'boundary_conditions'  has different meanings, according to the
4412       chosen 'interpolation' mode :
4413               . When 'interpolation=={ -1 | 1 | 2 |  4  }',  'boundary_condi‐
4414       tions' is meaningless.
4415               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
4416       0=dirichlet | 1=neumann | 2=periodic |
4417                  3=mirror }.
4418               . When 'interpolation=={ 3 | 5 |  6  }',  'boundary_conditions'
4419       can be { 0=none | 1=neumann }.
4420               'ax,ay,az,ac'  set the centering along each axis when 'interpo‐
4421       lation=0'
4422               (set to '0' by default, must be defined in range [0,1]).
4423
4424               Default values: 'interpolation=0', 'boundary_conditions=0'  and
4425       'ax=ay=az=ac=0'.
4426
4427           resize_ratio2d:
4428               width>0,height>0,_mode={   0=inside   |  1=outside  |  2=padded
4429       },0=<_interpolation<=6
4430
4431               Resize selected images while preserving their aspect ratio.
4432               (eq. to 'rr2d').
4433
4434               Default values: 'mode=0' and 'interpolation=6'.
4435
4436           resize2dx:
4437               width[%]>0,_interpolation,_boundary_conditions,_ax,_ay,_az,_ac
4438
4439               Resize selected images along the x-axis, preserving 2D ratio.
4440               (eq. to 'r2dx').
4441               'interpolation' can be { -1=none (memory content)  |  0=none  |
4442       1=nearest | 2=average | 3=linear |
4443                 4=grid | 5=bicubic | 6=lanczos }.
4444               'boundary_conditions'  has different meanings, according to the
4445       chosen 'interpolation' mode :
4446               . When 'interpolation=={ -1 | 1 | 2 |  4  }',  'boundary_condi‐
4447       tions' is meaningless.
4448               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
4449       0=dirichlet | 1=neumann | 2=periodic |
4450                  3=mirror }.
4451               . When 'interpolation=={ 3 | 5 |  6  }',  'boundary_conditions'
4452       can be { 0=none | 1=neumann }.
4453               'ax,ay,az,ac'  set the centering along each axis when 'interpo‐
4454       lation=0'
4455               (set to '0' by default, must be defined in range [0,1]).
4456
4457               Default values: 'interpolation=3', 'boundary_conditions=0'  and
4458       'ax=ay=az=ac=0'.
4459
4460           resize2dy:
4461               height[%]>=0,_interpolation,_boundary_condi‐
4462       tions,_ax,_ay,_az,_ac
4463
4464               Resize selected images along the y-axis, preserving 2D ratio.
4465               (eq. to 'r2dy').
4466               'interpolation' can be { -1=none (memory content)  |  0=none  |
4467       1=nearest | 2=average | 3=linear |
4468                 4=grid | 5=bicubic | 6=lanczos }.
4469               'boundary_conditions'  has different meanings, according to the
4470       chosen 'interpolation' mode :
4471               . When 'interpolation=={ -1 | 1 | 2 |  4  }',  'boundary_condi‐
4472       tions' is meaningless.
4473               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
4474       0=dirichlet | 1=neumann | 2=periodic |
4475                  3=mirror }.
4476               . When 'interpolation=={ 3 | 5 |  6  }',  'boundary_conditions'
4477       can be { 0=none | 1=neumann }.
4478               'ax,ay,az,ac'  set the centering along each axis when 'interpo‐
4479       lation=0'
4480               (set to '0' by default, must be defined in range [0,1]).
4481
4482               Default values: 'interpolation=3', 'boundary_conditions=0'  and
4483       'ax=ay=az=ac=0'.
4484
4485           resize3dx:
4486               width[%]>0,_interpolation,_boundary_conditions,_ax,_ay,_az,_ac
4487
4488               Resize selected images along the x-axis, preserving 3D ratio.
4489               (eq. to 'r3dx').
4490               'interpolation'  can  be  { -1=none (memory content) | 0=none |
4491       1=nearest | 2=average | 3=linear |
4492                 4=grid | 5=bicubic | 6=lanczos }.
4493               'boundary_conditions' has different meanings, according to  the
4494       chosen 'interpolation' mode :
4495               .  When  'interpolation=={  -1 | 1 | 2 | 4 }', 'boundary_condi‐
4496       tions' is meaningless.
4497               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
4498       0=dirichlet | 1=neumann | 2=periodic |
4499                  3=mirror }.
4500               .  When  'interpolation=={  3 | 5 | 6 }', 'boundary_conditions'
4501       can be { 0=none | 1=neumann }.
4502               'ax,ay,az,ac' set the centering along each axis when  'interpo‐
4503       lation=0'
4504               (set to '0' by default, must be defined in range [0,1]).
4505
4506               Default  values: 'interpolation=3', 'boundary_conditions=0' and
4507       'ax=ay=az=ac=0'.
4508
4509           resize3dy:
4510               height[%]>0,_interpolation,_boundary_conditions,_ax,_ay,_az,_ac
4511
4512               Resize selected images along the y-axis, preserving 3D ratio.
4513               (eq. to 'r3dy').
4514               'interpolation' can be { -1=none (memory content)  |  0=none  |
4515       1=nearest | 2=average | 3=linear |
4516                 4=grid | 5=bicubic | 6=lanczos }.
4517               'boundary_conditions'  has different meanings, according to the
4518       chosen 'interpolation' mode :
4519               . When 'interpolation=={ -1 | 1 | 2 |  4  }',  'boundary_condi‐
4520       tions' is meaningless.
4521               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
4522       0=dirichlet | 1=neumann | 2=periodic |
4523                  3=mirror }.
4524               . When 'interpolation=={ 3 | 5 |  6  }',  'boundary_conditions'
4525       can be { 0=none | 1=neumann }.
4526               'ax,ay,az,ac'  set the centering along each axis when 'interpo‐
4527       lation=0'
4528               (set to '0' by default, must be defined in range [0,1]).
4529
4530               Default values: 'interpolation=3', 'boundary_conditions=0'  and
4531       'ax=ay=az=ac=0'.
4532
4533           resize3dz:
4534               depth[%]>0,_interpolation,_boundary_conditions,_ax,_ay,_az,_ac
4535
4536               Resize selected images along the z-axis, preserving 3D ratio.
4537               (eq. to 'r3dz').
4538               'interpolation'  can  be  { -1=none (memory content) | 0=none |
4539       1=nearest | 2=average | 3=linear |
4540                 4=grid | 5=bicubic | 6=lanczos }.
4541               'boundary_conditions' has different meanings, according to  the
4542       chosen 'interpolation' mode :
4543               .  When  'interpolation=={  -1 | 1 | 2 | 4 }', 'boundary_condi‐
4544       tions' is meaningless.
4545               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
4546       0=dirichlet | 1=neumann | 2=periodic |
4547                  3=mirror }.
4548               .  When  'interpolation=={  3 | 5 | 6 }', 'boundary_conditions'
4549       can be { 0=none | 1=neumann }.
4550               'ax,ay,az,ac' set the centering along each axis when  'interpo‐
4551       lation=0'
4552               (set to '0' by default, must be defined in range [0,1]).
4553
4554               Default  values: 'interpolation=3', 'boundary_conditions=0' and
4555       'ax=ay=az=ac=0'.
4556
4557           rotate (+):
4558               angle,_interpolation,_boundary_conditions,_center_x[%],_cen‐
4559       ter_y[%] |
4560               u,v,w,angle,interpolation,boundary_conditions,_cen‐
4561       ter_x[%],_center_y[%],
4562                 _center_z[%]
4563
4564               Rotate selected images with  specified  angle  (in  deg.),  and
4565       optionally 3D axis (u,v,w).
4566               'interpolation' can be { 0=none | 1=linear | 2=bicubic }.
4567               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4568       2=periodic | 3=mirror }.
4569               When a rotation center (cx,cy,_cz) is specified,  the  size  of
4570       the image is preserved.
4571
4572               Default  values: 'interpolation=1', 'boundary_conditions=0' and
4573       'center_x=center_y=(undefined)'.
4574
4575           rotate_tileable:
4576               angle,_max_size_factor>=0
4577
4578               Rotate  selected  images  by  specified  angle  and  make  them
4579       tileable.
4580               If resulting size of an image is too big, the image is replaced
4581       by a 1x1 image.
4582
4583               Default values: 'max_size_factor=8'.
4584
4585           rows (+):
4586               { [image0] | y0[%] },_{ [image1] | y1[%] }
4587
4588               Keep only specified rows of selected images.
4589               Dirichlet boundary conditions are used when specified rows  are
4590       out of range.
4591
4592           scale2x:
4593
4594               Resize selected images using the Scale2x algorithm.
4595
4596           scale3x:
4597
4598               Resize selected images using the Scale3x algorithm.
4599
4600           scale_dcci2x:
4601               _edge_threshold>=0,_exponent>0,_extend_1px={ 0=false | 1=true }
4602
4603               Double  image size using directional cubic convolution interpo‐
4604       lation,
4605               as    described     in     https://en.wikipedia.org/wiki/Direc
4606       tional_Cubic_Convolution_Interpolation.
4607
4608               Default   values:   'edge_threshold=1.15',   'exponent=5'   and
4609       'extend_1px=0'.
4610
4611           seamcarve:
4612               _width[%]>=0,_height[%]>=0,_is_priority_channel={   0    |    1
4613       },_is_antialiasing={ 0 |
4614                  1 },_maximum_seams[%]>=0
4615
4616               Resize  selected  images  with specified 2D geometry, using the
4617       seam-carving algorithm.
4618
4619               Default   values:    'height=100%',    'is_priority_channel=0',
4620       'is_antialiasing=1' and
4621                 'maximum_seams=25%'.
4622
4623           shift (+):
4624               vx[%],_vy[%],_vz[%],_vc[%],_boundary_conditions,_interpola‐
4625       tion={
4626                 0=nearest_neighbor | 1=linear }
4627
4628               Shift selected images by specified displacement vector.
4629               Displacement vector can be non-integer  in  which  case  linear
4630       interpolation should be chosen.
4631               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4632       2=periodic | 3=mirror }.
4633
4634               Default value: 'boundary_conditions=0' and 'interpolation=0'.
4635
4636           shrink_x:
4637               size_x>=0
4638
4639               Shrink selected images along the x-axis.
4640
4641           shrink_xy:
4642               size>=0
4643
4644               Shrink selected images along the xy-axes.
4645
4646           shrink_xyz:
4647               size>=0
4648
4649               Shrink selected images along the xyz-axes.
4650
4651           shrink_y:
4652               size_y>=0
4653
4654               Shrink selected images along the y-axis.
4655
4656           shrink_z:
4657               size_z>=0
4658
4659               Shrink selected images along the z-axis.
4660
4661           slices (+):
4662               { [image0] | z0[%] },_{ [image1] | z1[%] }
4663
4664               Keep only specified slices of selected images.
4665               Dirichlet boundary conditions are used  when  specified  slices
4666       are out of range.
4667
4668           sort (+):
4669               _ordering={ + | - },_axis={ x | y | z | c }
4670
4671               Sort pixel values of selected images.
4672               If  'axis'  is  specified, the sorting is done according to the
4673       data of the first column/row/slice/channel
4674               of selected images.
4675
4676               Default values: 'ordering=+' and 'axis=(undefined)'.
4677
4678           split (+):
4679               { x | y | z | c }...{ x | y | z | c },_split_mode |
4680               keep_splitting_values={ + | - },_{ x | y | z | c }...{ x | y  |
4681       z | c },value1,
4682                 _value2,... |
4683               (no arg)
4684
4685               Split  selected  images along specified axes, or regarding to a
4686       sequence of scalar values
4687               (optionally along specified axes too).
4688               (eq. to 's').
4689               'split_mode' can be { 0=split according to  constant  values  |
4690       >0=split in N parts | <0=split in
4691                 parts of size -N }.
4692
4693               Default value: 'split_mode=-1'.
4694
4695           split_tiles:
4696               M!=0,_N!=0,_is_homogeneous={ 0 | 1 }
4697
4698               Split selected images as a MxN array of tiles.
4699               If M or N is negative, it stands for the tile size instead.
4700
4701               Default values: 'N=M' and 'is_homogeneous=0'.
4702
4703           undistort:
4704               -1<=_amplitude<=1,_aspect_ratio,_zoom,_center_x[%],_cen‐
4705       ter_y[%],
4706                 _boundary_conditions
4707
4708               Correct barrel/pincushion distortions occurring with wide-angle
4709       lens.
4710               References:
4711               [1]  Zhang  Z. (1999). Flexible camera calibration by viewing a
4712       plane from unknown orientation.
4713               [2] Andrew W. Fitzgibbon (2001). Simultaneous linear estimation
4714       of multiple view geometry and
4715                 lens distortion.
4716               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4717       2=periodic | 3=mirror }.
4718
4719               Default values: 'amplitude=0.25',  'aspect_ratio=0',  'zoom=0',
4720       'center_x=center_y=50%' and
4721                 'boundary_conditions=0'.
4722
4723           unroll (+):
4724               _axis={ x | y | z | c }
4725
4726               Unroll selected images along specified axis.
4727               (eq. to 'y').
4728
4729               Default value: 'axis=y'.
4730
4731           upscale_smart:
4732               width[%],_height[%],_depth,_smoothness>=0,_anisot‐
4733       ropy=[0,1],sharpening>=0
4734
4735               Upscale selected images with an edge-preserving algorithm.
4736
4737               Default values:  'height=100%',  'depth=100%',  'smoothness=2',
4738       'anisotropy=0.4' and
4739                 'sharpening=10'.
4740
4741           warp (+):
4742               [warping_field],_mode,_interpolation,_boundary_condi‐
4743       tions,_nb_frames>0
4744
4745               Warp selected images with specified displacement field.
4746               'mode' can be {  0=backward-absolute  |  1=backward-relative  |
4747       2=forward-absolute |
4748                 3=forward-relative }.
4749               'interpolation'  can  be  {  0=nearest-neighbor  |  1=linear  |
4750       2=cubic }.
4751               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4752       2=periodic | 3=mirror }.
4753
4754               Default  values:  'mode=0', 'interpolation=1', 'boundary_condi‐
4755       tions=1' and 'nb_frames=1'.
4756
4757           warp_patch:
4758               [warp‐
4759       ing_field],patch_width>=1,_patch_height>=1,_patch_depth>=1,_std_fac‐
4760       tor>0,
4761                 _boundary_conditions.
4762
4763               Patch-warp selected images, with specified 2D or  3D  displace‐
4764       ment field (in backward-absolute mode).
4765               Argument  'std_factor' sets the std of the gaussian weights for
4766       the patch overlap,
4767               equal to 'std = std_factor*patch_size'.
4768               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4769       2=periodic | 3=mirror }.
4770
4771               Default values: 'std_factor=0.3' and 'boundary_conditions=3'.
4772
4773        ** Filtering:
4774
4775           bandpass:
4776               _min_freq[%],_max_freq[%]
4777
4778               Apply bandpass filter to selected images.
4779
4780               Default values: 'min_freq=0' and 'max_freq=20%'.
4781
4782           bilateral (+):
4783               [guide],std_deviation_s[%]>=0,std_deviation_r[%]>=0,_sam‐
4784       pling_s>=0,
4785                 _sampling_r>=0 |
4786               std_deviation_s[%]>=0,std_deviation_r[%]>=0,_sam‐
4787       pling_s>=0,_sampling_r>=0
4788
4789               Blur  selected  images  by anisotropic (eventually joint/cross)
4790       bilateral filtering.
4791               If a guide image is provided, it is used for drive the  smooth‐
4792       ing filter.
4793               A  guide  image  must  be  of the same xyz-size as the selected
4794       images.
4795               Set 'sampling' arguments to '0' for automatic adjustment.
4796
4797           blur (+):
4798               std_deviation>=0[%],_boundary_conditions,_kernel |
4799               axes,std_deviation>=0[%],_boundary_conditions,_kernel
4800
4801               Blur selected images by a  quasi-gaussian  or  gaussian  filter
4802       (recursive implementation).
4803               (eq. to 'b').
4804               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
4805               'kernel' can be { 0=quasi-gaussian (faster) | 1=gaussian }.
4806               When  specified, argument 'axes' is a sequence of { x | y | z |
4807       c }.
4808               Specifying one axis multiple times apply also the blur multiple
4809       times.
4810
4811               Default values: 'boundary_conditions=1' and 'kernel=0'.
4812
4813           blur_angular:
4814               amplitude[%],_center_x[%],_center_y[%]
4815
4816               Apply angular blur on selected images.
4817
4818               Default values: 'center_x=center_y=50%'.
4819
4820           blur_bloom:
4821               _amplitude>=0,_ratio>=0,_nb_iter>=0,_blend_operator={ + | max |
4822       min },_kernel={
4823                 0=quasi-gaussian (faster) | 1=gaussian | 2=box | 3=triangle |
4824       4=quadratic },
4825                 _normalize_scales={ 0 | 1 },_axes
4826
4827               Apply  a  bloom filter that blend multiple blur filters of dif‐
4828       ferent radii,
4829               resulting in a larger but sharper glare than a simple blur.
4830               When specified, argument 'axes' is a sequence of { x | y | z  |
4831       c }.
4832               Specifying one axis multiple times apply also the blur multiple
4833       times.
4834               Reference: Masaki Kawase,  "Practical  Implementation  of  High
4835       Dynamic Range Rendering", GDC 2004.
4836
4837               Default    values:   'amplitude=1',   'ratio=2',   'nb_iter=5',
4838       'blend_operator=+', 'kernel=0',
4839                 'normalize_scales=0' and 'axes=(all)'
4840
4841           blur_linear:
4842               amplitude1[%],_amplitude2[%],_angle,_boundary_conditions={
4843       0=dirichlet |
4844                 1=neumann }
4845
4846               Apply  linear blur on selected images, with specified angle and
4847       amplitudes.
4848
4849               Default values: 'amplitude2=0', 'angle=0' and  'boundary_condi‐
4850       tions=1'.
4851
4852           blur_radial:
4853               amplitude[%],_center_x[%],_center_y[%]
4854
4855               Apply radial blur on selected images.
4856
4857               Default values: 'center_x=center_y=50%'.
4858
4859           blur_selective:
4860               sigma>=0,_edges>0,_nb_scales>0
4861
4862               Blur selected images using selective gaussian scales.
4863
4864               Default values: 'sigma=5', 'edges=0.5' and 'nb_scales=5'.
4865
4866           blur_x:
4867               amplitude[%]>=0,_boundary_conditions={  0=dirichlet | 1=neumann
4868       }
4869
4870               Blur selected images along the x-axis.
4871
4872               Default value: 'boundary_conditions=1'.
4873
4874           blur_xy:
4875               amplitude_x[%],amplitude_y[%],_boundary_conditions={  0=dirich‐
4876       let | 1=neumann }
4877
4878               Blur selected images along the X and Y axes.
4879
4880               Default value: 'boundary_conditions=1'.
4881
4882           blur_xyz:
4883               amplitude_x[%],amplitude_y[%],amplitude_z,_boundary_condi‐
4884       tions={ 0=dirichlet |
4885                 1=neumann }
4886
4887               Blur selected images along the X, Y and Z axes.
4888
4889               Default value: 'boundary_conditions=1'.
4890
4891           blur_y:
4892               amplitude[%]>=0,_boundary_conditions={ 0=dirichlet |  1=neumann
4893       }
4894
4895               Blur selected images along the y-axis.
4896
4897               Default value: 'boundary_conditions=1'.
4898
4899           blur_z:
4900               amplitude[%]>=0,_boundary_conditions={  0=dirichlet | 1=neumann
4901       }
4902
4903               Blur selected images along the z-axis.
4904
4905               Default value: 'boundary_conditions=1'.
4906
4907           boxfilter (+):
4908               size>=0[%],_order,_boundary_conditions,_nb_iter>=0 |
4909               axes,size>=0[%],_order,_boundary_conditions,_nb_iter>=0
4910
4911               Blur selected images by a box filter of  specified  size  (fast
4912       recursive implementation).
4913               'order' can be { 0=smooth | 1=1st-derivative | 2=2nd-derivative
4914       }.
4915               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
4916               When specified, argument 'axes' is a sequence of { x | y | z  |
4917       c }.
4918               Specifying one axis multiple times apply also the blur multiple
4919       times.
4920
4921               Default   values:   'order=0',   'boundary_conditions=1'    and
4922       'nb_iter=1'.
4923
4924           bump2normal:
4925
4926               Convert selected bumpmaps to normalmaps.
4927
4928           compose_freq:
4929
4930               Compose selected low and high frequency parts into new images.
4931
4932           convolve (+):
4933               [mask],_boundary_conditions,_is_normalized={  0  |  1  },_chan‐
4934       nel_mode,_xcenter,
4935                 _ycenter,_zcen‐
4936       ter,_xstart,_ystart,_zstart,_xend,_yend,_zend,_xstride,_ystride,
4937                 _zstride,_xdilation,_ydilation,_zdilation
4938
4939               Convolve selected images by specified mask.
4940               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4941       2=periodic | 3=mirror }.
4942               'channel_mode' can be { 0=sum input channels | 1=one-for-one  |
4943       2=expand }.
4944
4945               Default   values:  'boundary_conditions=1',  'is_normalized=0',
4946       'channel_mode=1',
4947                 'xcenter=ycenter=zcenter=-1'                   (-1=centered),
4948       'xstart=ystart=zstart=0', 'xend=yend=zend=-1'
4949                 (-1=max coordinates), 'xstride=ystride=zstride=1' and 'xdila‐
4950       tion=ydilation=zdilation=1'.
4951
4952           convolve_fft:
4953               [mask]
4954
4955               Convolve selected images with specified mask,  in  the  fourier
4956       domain.
4957
4958           correlate (+):
4959               [mask],_boundary_conditions,_is_normalized={  0  |  1  },_chan‐
4960       nel_mode,_xcenter,
4961                 _ycenter,_zcen‐
4962       ter,_xstart,_ystart,_zstart,_xend,_yend,_zend,_xstride,_ystride,
4963                 _zstride,_xdilation,_ydilation,_zdilation
4964
4965               Correlate selected images by specified mask.
4966               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4967       2=periodic | 3=mirror }.
4968               'channel_mode' can be { 0=sum input channels | 1=one-for-one  |
4969       2=expand }.
4970
4971               Default   values:  'boundary_conditions=1',  'is_normalized=0',
4972       'channel_mode=1',
4973                 'xcenter=ycenter=zcenter=-1'                   (-1=centered),
4974       'xstart=ystart=zstart=0', 'xend=yend=zend=-1'
4975                 (-1=max coordinates), 'xstride=ystride=zstride=1' and 'xdila‐
4976       tion=ydilation=zdilation=1'.
4977
4978           cross_correlation:
4979               [mask]
4980
4981               Compute cross-correlation of  selected  images  with  specified
4982       mask.
4983
4984           curvature:
4985
4986               Compute isophote curvatures on selected images.
4987
4988           dct:
4989               _{ x | y | z }...{ x | y | z } |
4990               (no arg)
4991
4992               Compute the discrete cosine transform of selected images,
4993               optionally along the specified axes only.
4994
4995               Default values: (no arg)
4996
4997           deblur:
4998               amplitude[%]>=0,_nb_iter>=0,_dt>=0,_regul>=0,_regul_type={
4999       0=Tikhonov |
5000                 1=meancurv. | 2=TV }
5001
5002               Deblur image using a regularized Jansson-Van Cittert algorithm.
5003
5004               Default  values:   'nb_iter=10',   'dt=20',   'regul=0.7'   and
5005       'regul_type=1'.
5006
5007           deblur_goldmeinel:
5008               sigma>=0,_nb_iter>=0,_acceleration>=0,_kernel_type={   0=quasi-
5009       gaussian (faster) |
5010                  1=gaussian }.
5011
5012               Deblur selected images using Gold-Meinel algorithm
5013
5014               Default  values:  'nb_iter=8',   'acceleration=1'   and   'ker‐
5015       nel_type=1'.
5016
5017           deblur_richardsonlucy:
5018               sigma>=0,  nb_iter>=0, _kernel_type={ 0=quasi-gaussian (faster)
5019       | 1=gaussian }.
5020
5021               Deblur selected images using Richardson-Lucy algorithm.
5022
5023               Default values: 'nb_iter=50' and 'kernel_type=1'.
5024
5025           deconvolve_fft:
5026               [kernel],_regularization>=0
5027
5028               Deconvolve selected images by specified  mask  in  the  fourier
5029       space.
5030
5031               Default value: 'regularization>=0'.
5032
5033           deinterlace:
5034               _method={ 0 | 1 }
5035
5036               Deinterlace  selected  images  ('method' can be { 0=standard or
5037       1=motion-compensated }).
5038
5039               Default value: 'method=0'.
5040
5041           denoise (+):
5042               [guide],std_deviation_s[%]>=0,_std_devia‐
5043       tion_r[%]>=0,_patch_size>0,
5044                 _lookup_size>0,_smoothness,_fast_approx={ 0 | 1 } |
5045               std_deviation_s[%]>=0,_std_devia‐
5046       tion_r[%]>=0,_patch_size>0,_lookup_size>0,
5047                 _smoothness,_fast_approx={ 0 | 1 }
5048
5049               Denoise selected images by non-local patch averaging.
5050
5051               Default    values:    'std_deviation_p=10',     'patch_size=5',
5052       'lookup_size=6' and 'smoothness=1'.
5053
5054           denoise_haar:
5055               _threshold>=0,_nb_scales>=0,_cycle_spinning>0
5056
5057               Denoise  selected  images  using haar-wavelet thresholding with
5058       cycle spinning.
5059               Set 'nb_scales==0' to automatically determine the optimal  num‐
5060       ber of scales.
5061
5062               Default  values: 'threshold=1.4', 'nb_scale=0' and 'cycle_spin‐
5063       ning=10'.
5064
5065           denoise_patchpca:
5066               _strength>=0,_patch_size>0,_lookup_size>0,_spatial_sampling>0
5067
5068               Denoise selected images using the patch-pca algorithm.
5069
5070               Default values: 'patch_size=7', 'lookup_size=11', 'details=1.8'
5071       and 'spatial_sampling=5'.
5072
5073           deriche (+):
5074               std_deviation>=0[%],order={ 0 | 1 | 2 },axis={ x | y | z | c },
5075                 _boundary_conditions
5076
5077               Apply Deriche recursive filter on selected images, along speci‐
5078       fied axis and with
5079               specified standard deviation, order and boundary conditions.
5080               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
5081
5082               Default value: 'boundary_conditions=1'.
5083
5084           dilate (+):
5085               size>=0 |
5086               size_x>=0,size_y>=0,size_z>=0 |
5087               [kernel],_boundary_conditions,_is_real={    0=binary-mode     |
5088       1=real-mode }
5089
5090               Dilate selected images by a rectangular or the specified struc‐
5091       turing element.
5092               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
5093
5094               Default   values:   'size_z=1',   'boundary_conditions=1'   and
5095       'is_real=0'.
5096
5097           dilate_circ:
5098               _size>=0,_boundary_conditions,_is_normalized={ 0 | 1 }
5099
5100               Apply circular dilation of selected images by specified size.
5101
5102               Default values: 'boundary_conditions=1' and 'is_normalized=0'.
5103
5104           dilate_oct:
5105               _size>=0,_boundary_conditions,_is_normalized={ 0 | 1 }
5106
5107               Apply octagonal dilation of selected images by specified size.
5108
5109               Default values: 'boundary_conditions=1' and 'is_normalized=0'.
5110
5111           dilate_threshold:
5112               size_x>=1,size_y>=1,size_z>=1,_threshold>=0,_boundary_condi‐
5113       tions
5114
5115               Dilate selected images in the (X,Y,Z,I) space.
5116               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
5117
5118               Default values:  'size_y=size_x',  'size_z=1',  'threshold=255'
5119       and 'boundary_conditions=1'.
5120
5121           divergence:
5122
5123               Compute divergence of selected vector fields.
5124
5125           dog:
5126               _sigma1>=0[%],_sigma2>=0[%]
5127
5128               Compute difference of gaussian on selected images.
5129
5130               Default values: 'sigma1=2%' and 'sigma2=3%'.
5131
5132           diffusiontensors:
5133               _sharpness>=0,0<=_anisotropy<=1,_alpha[%],_sigma[%],is_sqrt={ 0
5134       | 1 }
5135
5136               Compute the diffusion tensors of selected images for  edge-pre‐
5137       serving smoothing algorithms.
5138
5139               Default values: 'sharpness=0.7', 'anisotropy=0.3', 'alpha=0.6',
5140       'sigma=1.1' and 'is_sqrt=0'.
5141
5142           edges:
5143               _threshold[%]>=0
5144
5145               Estimate contours of selected images.
5146
5147               Default value: 'edges=15%'
5148
5149           erode (+):
5150               size>=0 |
5151               size_x>=0,size_y>=0,_size_z>=0 |
5152               [kernel],_boundary_conditions,_is_real={    0=binary-mode     |
5153       1=real-mode }
5154
5155               Erode  selected images by a rectangular or the specified struc‐
5156       turing element.
5157               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
5158
5159               Default   values:   'size_z=1',   'boundary_conditions=1'   and
5160       'is_real=0'.
5161
5162           erode_circ:
5163               _size>=0,_boundary_conditions,_is_normalized={ 0 | 1 }
5164
5165               Apply circular erosion of selected images by specified size.
5166
5167               Default values: 'boundary_conditions=1' and 'is_normalized=0'.
5168
5169           erode_oct:
5170               _size>=0,_boundary_conditions,_is_normalized={ 0 | 1 }
5171
5172               Apply octagonal erosion of selected images by specified size.
5173
5174               Default values: 'boundary_conditions=1' and 'is_normalized=0'.
5175
5176           erode_threshold:
5177               size_x>=1,size_y>=1,size_z>=1,_threshold>=0,_boundary_condi‐
5178       tions
5179
5180               Erode selected images in the (X,Y,Z,I) space.
5181               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
5182
5183               Default values:  'size_y=size_x',  'size_z=1',  'threshold=255'
5184       and 'boundary_conditions=1'.
5185
5186           fft (+):
5187               _{ x | y | z }...{ x | y | z }
5188
5189               Compute the direct fourier transform (real and imaginary parts)
5190       of selected images,
5191               optionally along the specified axes only.
5192
5193           gradient (+):
5194               { x | y | z }...{ x | y | z },_scheme |
5195               (no arg)
5196
5197               Compute the gradient components (first derivatives) of selected
5198       images.
5199               (eq. to 'g').
5200               'scheme'  can  be  {  -1=backward  |  0=centered  | 1=forward |
5201       2=sobel | 3=rotation-invariant
5202                 (default) | 4=deriche | 5=vanvliet }.
5203               (no arg) compute all significant components.
5204
5205               Default value: 'scheme=0'.
5206
5207           gradient_norm:
5208
5209               Compute gradient norm of selected images.
5210
5211           gradient_orientation:
5212               _dimension={1,2,3}
5213
5214               Compute N-d gradient orientation of selected images.
5215
5216               Default value: 'dimension=3'.
5217
5218           guided (+):
5219               [guide],radius[%]>=0,regularization[%]>=0 |
5220               radius[%]>=0,regularization[%]>=0
5221
5222               Blur selected images by guided image filtering.
5223               If a guide image is provided, it is used to drive the smoothing
5224       process.
5225               A  guide  image  must  be  of the same xyz-size as the selected
5226       images.
5227               This command implements the filtering algorithm described in:
5228               He, Kaiming; Sun, Jian; Tang, Xiaoou, "Guided Image Filtering",
5229               IEEE Transactions on Pattern Analysis and Machine Intelligence,
5230       vol.35, no.6, pp.1397,1409, June 2013
5231
5232           haar:
5233               scale>0
5234
5235               Compute   the  direct  haar  multiscale  wavelet  transform  of
5236       selected images.
5237
5238           heat_flow:
5239               _nb_iter>=0,_dt,_keep_sequence={ 0 | 1 }
5240
5241               Apply iterations of the heat flow on selected images.
5242
5243               Default values: 'nb_iter=10', 'dt=30' and 'keep_sequence=0'.
5244
5245           hessian (+):
5246               { xx | xy | xz | yy | yz | zz }...{ xx | xy | xz | yy | yz | zz
5247       } |
5248               (no arg)
5249
5250               Compute the hessian components (second derivatives) of selected
5251       images.
5252               (no arg) compute all significant components.
5253
5254           idct:
5255               _{ x | y | z }...{ x | y | z } |
5256               (no arg)
5257
5258               Compute the  inverse  discrete  cosine  transform  of  selected
5259       images,
5260               optionally along the specified axes only.
5261
5262               Default values: (no arg)
5263
5264           iee:
5265
5266               Compute    gradient-orthogonal-directed   2nd   derivative   of
5267       image(s).
5268
5269           ifft (+):
5270               _{ x | y | z }...{ x | y | z }
5271
5272               Compute the  inverse  fourier  transform  (real  and  imaginary
5273       parts) of selected images.
5274               optionally along the specified axes only.
5275
5276           ihaar:
5277               scale>0
5278
5279               Compute  the  inverse  haar  multiscale  wavelet  transform  of
5280       selected images.
5281
5282           ilaplacian:
5283               { nb_iterations>0 | 0 },_time_step>0,_[initial_estimate]
5284
5285               Invert selected Laplacian images.
5286               If given 'nb_iterations' is '0', inversion is done  in  Fourier
5287       space (single iteration),
5288               otherwise, by applying 'nb_iterations' of a Laplacian-inversion
5289       PDE flow (with specified
5290                 'time_step').
5291               Note that the resulting inversions are just estimation of  pos‐
5292       sible/approximated solutions.
5293
5294               Default  values:  'nb_iterations=0','time_step=10'  and  '[ini‐
5295       tial_estimated]=(undefined)'.
5296
5297           inn:
5298
5299               Compute gradient-directed 2nd derivative of image(s).
5300
5301           inpaint (+):
5302               [mask] |
5303               [mask],0,_fast_method |
5304               [mask],_patch_size>=1,_lookup_size>=1,_lookup_fac‐
5305       tor>=0,_lookup_increment!=0,
5306                 _blend_size>=0,0<=_blend_thresh‐
5307       old<=1,_blend_decay>=0,_blend_scales>=1,
5308                 _is_blend_outer={ 0 | 1 }
5309
5310               Inpaint selected images by specified mask.
5311               If no patch size (or 0) is specified, inpainting is done  using
5312       a fast average or median
5313                 algorithm.
5314               Otherwise,  it  used  a patch-based reconstruction method, that
5315       can be very time consuming.
5316               'fast_method' can be { 0=low-connectivity average | 1=high-con‐
5317       nectivity average |
5318                 2=low-connectivity median | 3=high-connectivity median }.
5319
5320               Default      values:      'patch_size=0',      'fast_method=1',
5321       'lookup_size=22', 'lookup_factor=0.5',
5322                 'lookup_increment=1',  'blend_size=0',   'blend_threshold=0',
5323       'blend_decay=0.05',
5324                 'blend_scales=10' and 'is_blend_outer=1'.
5325
5326           inpaint_pde:
5327               [mask],_nb_scales[%]>=0,_diffusion_type={     0=isotropic     |
5328       1=delaunay-guided |
5329                 2=edge-guided | 3=mask-guided },_diffusion_iter>=0
5330
5331               Inpaint selected images by specified mask  using  a  multiscale
5332       transport-diffusion algorithm.
5333               If  'diffusion  type==3',  non-zero  values of the mask (e.g. a
5334       distance function) are used
5335               to guide the diffusion process.
5336
5337               Default values: 'nb_scales=75%', 'diffusion_type=1' and 'diffu‐
5338       sion_iter=20'.
5339
5340           inpaint_flow:
5341               [mask],_nb_global_iter>=0,_nb_local_iter>=0,_dt>0,_alpha>=0,_sigma>=0
5342
5343               Apply iteration of the inpainting flow on selected images.
5344
5345               Default   values:   'nb_global_iter=10',   'nb_local_iter=100',
5346       'dt=5', 'alpha=1' and 'sigma=3'.
5347
5348           inpaint_holes:
5349               maximal_area[%]>=0,_tolerance>=0,_is_high_connectivity={  0 | 1
5350       }
5351
5352               Inpaint all connected regions having an area less  than  speci‐
5353       fied value.
5354
5355               Default    values:    'maximal_area=4',    'tolerance=0'    and
5356       'is_high_connectivity=0'.
5357
5358           inpaint_morpho:
5359               [mask]
5360
5361               Inpaint selected images by specified mask  using  morphological
5362       operators.
5363
5364           inpaint_matchpatch:
5365               [mask],_nb_scales={   0=auto  |  >0  },_patch_size>0,_nb_itera‐
5366       tions_per_scale>0,
5367                 _blend_size>=0,_allow_outer_blending={      0       |       1
5368       },_is_already_initialized={ 0 | 1 }
5369
5370               Inpaint  selected  images  by  specified  binary  mask, using a
5371       multi-scale matchpatch algorithm.
5372
5373               Default  values:  'nb_scales=0',   'patch_size=9',   'nb_itera‐
5374       tions_per_scale=10', 'blend_size=5',
5375                 'allow_outer_blending=1' and 'is_already_initialized=0'.
5376
5377           kuwahara:
5378               size>0
5379
5380               Apply Kuwahara filter of specified size on selected images.
5381
5382           laplacian:
5383
5384               Compute Laplacian of selected images.
5385
5386           lic:
5387               _amplitude>0,_channels>0
5388
5389               Render LIC representation of selected vector fields.
5390
5391               Default values: 'amplitude=30' and 'channels=1'.
5392
5393           map_tones:
5394               _threshold>=0,_gamma>=0,_smoothness>=0,nb_iter>=0
5395
5396               Apply  tone mapping operator on selected images, based on Pois‐
5397       son equation.
5398
5399               Default values: 'threshold=0.1', 'gamma=0.8',  'smoothness=0.5'
5400       and 'nb_iter=30'.
5401
5402           map_tones_fast:
5403               _radius[%]>=0,_power>=0
5404
5405               Apply fast tone mapping operator on selected images.
5406
5407               Default values: 'radius=3%' and 'power=0.3'.
5408
5409           meancurvature_flow:
5410               _nb_iter>=0,_dt,_keep_sequence={ 0 | 1 }
5411
5412               Apply iterations of the mean curvature flow on selected images.
5413
5414               Default values: 'nb_iter=10', 'dt=30' and 'keep_sequence=0'.
5415
5416           median (+):
5417               size>=0,_threshold>0
5418
5419               Apply  (opt. thresholded) median filter on selected images with
5420       structuring element size x size.
5421
5422           nlmeans:
5423               [guide],_patch_radius>0,_spatial_bandwidth>0,_tonal_band‐
5424       width>0,
5425                 _patch_measure_command |
5426               _patch_radius>0,_spatial_bandwidth>0,_tonal_band‐
5427       width>0,_patch_measure_command
5428
5429               Apply non local means denoising  of  Buades  et  al,  2005.  on
5430       selected images.
5431               The patch is a gaussian function of 'std _patch_radius'.
5432               The  spatial  kernel  is  a  rectangle of radius 'spatial_band‐
5433       width'.
5434               The tonal kernel is exponential (exp(-d^2/_tonal_bandwidth^2))
5435               with d the euclidiean distance between image patches.
5436
5437               Default   values:   'patch_radius=4',    'spatial_bandwidth=4',
5438       'tonal_bandwidth=10' and
5439                 'patch_measure_command=-norm'.
5440
5441           nlmeans_core:
5442               _reference_image,_scaling_map,_patch_radius>0,_spatial_band‐
5443       width>0
5444
5445               Apply non local means denoising using a image for weight and  a
5446       map for scaling
5447
5448           normalize_local:
5449               _ampli‐
5450       tude>=0,_radius>0,_n_smooth>=0[%],_a_smooth>=0[%],_is_cut={ 0 | 1 },
5451                 _min=0,_max=255
5452
5453               Normalize selected images locally.
5454
5455               Default  values:  'amplitude=3',  'radius=16',   'n_smooth=4%',
5456       'a_smooth=2%', 'is_cut=1', 'min=0'
5457                 and 'max=255'.
5458
5459           normalized_cross_correlation:
5460               [mask]
5461
5462               Compute  normalized  cross-correlation  of selected images with
5463       specified mask.
5464
5465           peronamalik_flow:
5466               K_factor>0,_nb_iter>=0,_dt,_keep_sequence={ 0 | 1 }
5467
5468               Apply iterations of the Perona-Malik flow on selected images.
5469
5470               Default  values:   'K_factor=20',   'nb_iter=5',   'dt=5'   and
5471       'keep_sequence=0'.
5472
5473           phase_correlation:
5474               [destination]
5475
5476               Estimate  translation vector between selected source images and
5477       specified destination.
5478
5479           pde_flow:
5480               _nb_iter>=0,_dt,_velocity_command,_keep_sequence={ 0 | 1 }
5481
5482               Apply iterations of a generic PDE flow on selected images.
5483
5484               Default values: 'nb_iter=10', 'dt=30', 'velocity_command=lapla‐
5485       cian' and 'keep_sequence=0'.
5486
5487           periodize_poisson:
5488
5489               Periodize  selected  images  using  a Poisson solver in Fourier
5490       space.
5491
5492           red_eye:
5493               0<=_threshold<=100,_smoothness>=0,0<=attenuation<=1
5494
5495               Attenuate red-eye effect in selected images.
5496
5497               Default values: 'threshold=75', 'smoothness=3.5' and  'attenua‐
5498       tion=0.1'.
5499
5500           remove_hotpixels:
5501               _mask_size>0, _threshold[%]>0
5502
5503               Remove hot pixels in selected images.
5504
5505               Default values: 'mask_size=3' and 'threshold=10%'.
5506
5507           remove_pixels:
5508               number_of_pixels[%]>=0
5509
5510               Remove specified number of pixels (i.e. set them to 0) from the
5511       set of non-zero pixels in
5512                 selected images.
5513
5514           rolling_guidance:
5515               std_deviation_s[%]>=0,std_deviation_r[%]>=0,_precision>=0
5516
5517               Apply the rolling guidance filter on selected image.
5518               Rolling guidance filter is a  fast  image  abstraction  filter,
5519       described in:
5520               "Rolling Guidance Filter", Qi Zhang Xiaoyong, Shen Li, Xu Jiaya
5521       Jia, ECCV'2014.
5522
5523               Default values: 'std_deviation_s=4',  'std_deviation_r=10'  and
5524       'precision=0.5'.
5525
5526           sharpen (+):
5527               amplitude>=0 |
5528               amplitude>=0,edge>=0,_alpha,_sigma
5529
5530               Sharpen  selected  images by inverse diffusion or shock filters
5531       methods.
5532               'edge' must be specified to enable shock-filter method.
5533
5534               Default values: 'alpha=0' and 'sigma=0'.
5535
5536           smooth (+):
5537               amplitude[%]>=0,_sharpness>=0,0<=_anisot‐
5538       ropy<=1,_alpha[%],_sigma[%],_dl>0,_da>0,
5539                 _precision>0,_interpolation,_fast_approx={ 0 | 1 } |
5540               nb_iterations>=0,_sharpness>=0,_anisot‐
5541       ropy,_alpha,_sigma,_dt>0,0 |
5542               [tensor_field],_amplitude>=0,_dl>0,_da>0,_precision>0,_interpo‐
5543       lation,
5544                 _fast_approx={ 0 | 1 } |
5545               [tensor_field],_nb_iters>=0,_dt>0,0
5546
5547               Smooth  selected  images anisotropically using diffusion PDE's,
5548       with specified field of
5549               diffusion tensors.
5550               'interpolation' can be { 0=nearest | 1=linear  |  2=runge-kutta
5551       }.
5552
5553               Default values: 'sharpness=0.7', 'anisotropy=0.3', 'alpha=0.6',
5554       'sigma=1.1', 'dl=0.8', 'da=30',
5555                 'precision=2', 'interpolation=0' and 'fast_approx=1'.
5556
5557           split_freq:
5558               smoothness>0[%]
5559
5560               Split selected images into low and high frequency parts.
5561
5562           solve_poisson:
5563               "laplacian_command",_nb_itera‐
5564       tions>=0,_time_step>0,_nb_scales>=0
5565
5566               Solve Poisson equation so that applying 'laplacian[n]' is close
5567       to the result of
5568                 'laplacian_command[n]'.
5569               Solving is performed using a multi-scale gradient descent algo‐
5570       rithm.
5571               If  'nb_scales=0', the number of scales is automatically deter‐
5572       mined.
5573
5574               Default values: 'nb_iterations=60', 'dt=5' and 'nb_scales=0'.
5575
5576           split_details:
5577               _nb_scales>0,_base_scale[%]>=0,_detail_scale[%]>=0
5578
5579               Split selected images into 'nb_scales' detail scales.
5580               If 'base_scale'=='detail_scale'==0, the image decomposition  is
5581       done with 'a trous' wavelets.
5582               Otherwise,  it  uses  laplacian  pyramids  with linear standard
5583       deviations.
5584
5585               Default    values:    'nb_scales=4',     'base_scale=0'     and
5586       'detail_scale=0'.
5587
5588           structuretensors (+):
5589               _scheme={ 0=centered | 1=forward/backward }
5590
5591               Compute the structure tensor field of selected images.
5592
5593               Default value: 'scheme=1'.
5594
5595           solidify:
5596               _smoothness[%]>=0,_diffusion_type={  0=isotropic  | 1=delaunay-
5597       oriented |
5598                 2=edge-oriented },_diffusion_iter>=0
5599
5600               Solidify selected transparent images.
5601
5602               Default values: 'smoothness=75%', 'diffusion_type=1' and  'dif‐
5603       fusion_iter=20'.
5604
5605           syntexturize:
5606               _width[%]>0,_height[%]>0
5607
5608               Resynthetize  'width'x'height'  versions of selected micro-tex‐
5609       tures by phase randomization.
5610               The texture synthesis algorithm is a straightforward  implemen‐
5611       tation of the method described in :
5612               http://www.ipol.im/pub/art/2011/ggm_rpn/
5613
5614               Default values: 'width=height=100%'.
5615
5616           syntexturize_matchpatch:
5617               _width[%]>0,_height[%]>0,_nb_scales>=0,_patch_size>0,_blend‐
5618       ing_size>=0,
5619                 _precision>=0
5620
5621               Resynthetize 'width'x'height' versions of  selected  micro-tex‐
5622       tures using a patch-matching
5623                 algorithm.
5624               If  'nbscales==0',  the number of scales used is estimated from
5625       the image size.
5626
5627               Default     values:     'width=height=100%',     'nb_scales=0',
5628       'patch_size=7', 'blending_size=5' and
5629                 'precision=1'.
5630
5631           tv_flow:
5632               _nb_iter>=0,_dt,_keep_sequence={ 0 | 1 }
5633
5634               Apply  iterations  of  the  total  variation  flow  on selected
5635       images.
5636
5637               Default values: 'nb_iter=10', 'dt=30' and 'keep_sequence=0'.
5638
5639           unsharp:
5640               radius[%]>=0,_amount>=0,_threshold[%]>=0
5641
5642               Apply unsharp mask on selected images.
5643
5644               Default values: 'amount=2' and 'threshold=0'.
5645
5646           unsharp_octave:
5647               _nb_scales>0,_radius[%]>=0,_amount>=0,threshold[%]>=0
5648
5649               Apply octave sharpening on selected images.
5650
5651               Default  values:  'nb_scales=4',  'radius=1',  'amount=2'   and
5652       'threshold=0'.
5653
5654           vanvliet (+):
5655               std_deviation>=0[%],order={  0 | 1 | 2 | 3 },axis={ x | y | z |
5656       c },
5657                 _boundary_conditions
5658
5659               Apply Vanvliet recursive filter on selected images, along spec‐
5660       ified axis and with
5661               specified standard deviation, order and boundary conditions.
5662               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
5663
5664               Default value: 'boundary_conditions=1'.
5665
5666           voronoi:
5667
5668               Compute  the  discrete  Voronoi  diagram  of non-zero pixels in
5669       selected images.
5670
5671           watermark_fourier:
5672               text,_size>0
5673
5674               Add a textual watermark in the  frequency  domain  of  selected
5675       images.
5676
5677               Default value: 'size=33'.
5678
5679           watershed (+):
5680               [priority_image],_is_high_connectivity={ 0 | 1 }
5681
5682               Compute the watershed transform of selected images.
5683
5684               Default value: 'is_high_connectivity=1'.
5685
5686        ** Features Extraction:
5687
5688           area:
5689               tolerance>=0,is_high_connectivity={ 0 | 1 }
5690
5691               Compute area of connected components in selected images.
5692
5693               Default values: 'is_high_connectivity=0'.
5694
5695           area_fg:
5696               tolerance>=0,is_high_connectivity={ 0 | 1 }
5697
5698               Compute  area  of  connected  components for non-zero values in
5699       selected images.
5700               Similar to 'area' except that 0-valued pixels are  not  consid‐
5701       ered.
5702
5703               Default values: 'is_high_connectivity=0'.
5704
5705           at_line:
5706               x0[%],y0[%],z0[%],x1[%],y1[%],z1[%]
5707
5708               Retrieve  pixels of the selected images belonging to the speci‐
5709       fied line (x0,y0,z0)-(x1,y1,z1).
5710
5711           at_quadrangle:
5712               x0[%],y0[%],x1[%],y1[%],x2[%],y2[%],x3[%],y3[%],_interpolation,
5713                 _boundary_conditions |
5714               x0[%],y0[%],z0[%],x1[%],y1[%],z1[%],x2[%],y2[%],z2[%],x3[%],y3[%],z3[%],
5715                 _interpolation,_boundary_conditions
5716
5717               Retrieve  pixels of the selected images belonging to the speci‐
5718       fied 2D or 3D quadrangle.
5719               'interpolation'  can  be  {  0=nearest-neighbor  |  1=linear  |
5720       2=cubic }.
5721               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
5722       2=periodic | 3=mirror }.
5723
5724           barycenter:
5725
5726               Compute the barycenter vector of pixel values.
5727
5728           delaunay:
5729
5730               Generate discrete 2D Delaunay triangulation of non-zero  pixels
5731       in selected images.
5732               Input images must be scalar.
5733               Each pixel of the output image is a triplet (a,b,c) meaning the
5734       pixel belongs to
5735               the Delaunay triangle 'ABC' where 'a','b','c' are the labels of
5736       the pixels 'A','B','C'.
5737
5738           detect_skin:
5739               0<=tolerance<=1,_skin_x,_skin_y,_skin_radius>=0
5740
5741               Detect skin in selected color images and output an appartenance
5742       probability map.
5743               Detection is performed using CbCr  chromaticity  data  of  skin
5744       pixels.
5745               If arguments 'skin_x', 'skin_y' and 'skin_radius' are provided,
5746       skin pixels are learnt
5747               from  the  sample  pixels  inside   the   circle   located   at
5748       ('skin_x','skin_y') with radius
5749                 'skin_radius'.
5750
5751               Default value: 'tolerance=0.5' and 'skin_x=skiny=radius=-1'.
5752
5753           displacement (+):
5754               [source_image],_smoothness,_precision>=0,_nb_scales>=0,_itera‐
5755       tion_max>=0,
5756                 is_backward={ 0 | 1 },_[guide]
5757
5758               Estimate  displacement  field  between  specified  source   and
5759       selected target images.
5760               If  'smoothness>=0',  regularization  type is set to isotropic,
5761       else to anisotropic.
5762               If 'nbscales==0', the number of scales used is  estimated  from
5763       the image size.
5764
5765               Default values: 'smoothness=0.1', 'precision=5', 'nb_scales=0',
5766       'iteration_max=10000',
5767                 'is_backward=1' and '[guide]=(unused)'.
5768
5769           distance (+):
5770               isovalue[%],_metric |
5771               isovalue[%],[metric],_method
5772
5773               Compute the unsigned distance function to  specified  isovalue,
5774       opt. according to a custom metric.
5775               'metric'  can  be  {  0=chebyshev | 1=manhattan | 2=euclidean |
5776       3=squared-euclidean }.
5777               'method' can be { 0=fast-marching | 1=low-connectivity dijkstra
5778       | 2=high-connectivity dijkstra |
5779                  3=1+return path | 4=2+return path }.
5780
5781               Default value: 'metric=2' and 'method=0'.
5782
5783           fftpolar:
5784
5785               Compute  fourier transform of selected images, as centered mag‐
5786       nitude/phase images.
5787
5788           histogram (+):
5789               _nb_levels>0[%],_value0[%],_value1[%]
5790
5791               Compute the histogram of selected images.
5792               If value range is set, the histogram is estimated only for pix‐
5793       els in the specified
5794               value range. Argument 'value1' must be specified if 'value0' is
5795       set.
5796
5797               Default values: 'nb_levels=256', 'value0=0%' and 'value1=100%'.
5798
5799           histogram_nd:
5800               nb_levels>0[%],_value0[%],_value1[%]
5801
5802               Compute the 1D,2D or 3D histogram  of  selected  multi-channels
5803       images (having 1,2 or 3 channels).
5804               If value range is set, the histogram is estimated only for pix‐
5805       els in the specified
5806               value range.
5807
5808               Default values: 'value0=0%' and 'value1=100%'.
5809
5810           histogram_cumul:
5811               _nb_levels>0,_is_normalized={ 0 | 1 },_val0[%],_val1[%]
5812
5813               Compute cumulative histogram of selected images.
5814
5815               Default values: 'nb_levels=256',  'is_normalized=0',  'val0=0%'
5816       and 'val1=100%'.
5817
5818           histogram_pointwise:
5819               nb_levels>0[%],_value0[%],_value1[%]
5820
5821               Compute  the  histogram of each vector-valued point of selected
5822       images.
5823               If value range is set, the histogram is estimated only for val‐
5824       ues in the specified
5825               value range.
5826
5827               Default values: 'value0=0%' and 'value1=100%'.
5828
5829           hough:
5830               _width>0,_height>0,gradient_norm_voting={ 0 | 1 }
5831
5832               Compute hough transform (theta,rho) of selected images.
5833
5834               Default   values:   'width=512',   'height=width'  and  'gradi‐
5835       ent_norm_voting=1'.
5836
5837           ifftpolar:
5838
5839               Compute inverse fourier transform of selected images, from cen‐
5840       tered magnitude/phase images.
5841
5842           isophotes:
5843               _nb_levels>0
5844
5845               Render  isophotes  of  selected  images  on a transparent back‐
5846       ground.
5847
5848               Default value: 'nb_levels=64'
5849
5850           label (+):
5851               _tolerance>=0,is_high_connectivity={ 0 | 1 }
5852
5853               Label connected components in selected images.
5854
5855               Default values: 'tolerance=0' and 'is_high_connectivity=0'.
5856
5857           label_fg:
5858               tolerance>=0,is_high_connectivity={ 0 | 1 }
5859
5860               Label connected components for non-zero values (foreground)  in
5861       selected images.
5862               Similar to 'label' except that 0-valued pixels are not labeled.
5863
5864               Default value: 'is_high_connectivity=0'.
5865
5866           max_patch:
5867               _patch_size>=1
5868
5869               Return  locations of maximal values in local patch-based neigh‐
5870       borhood of given size for selected images.
5871
5872               Default value: 'patch_size=16'.
5873
5874           min_patch:
5875               _patch_size>=1
5876
5877               Return locations of minimal values in local patch-based  neigh‐
5878       borhood of given size for selected images.
5879
5880               Default value: 'patch_size=16'.
5881
5882           minimal_path:
5883               x0[%]>=0,y0[%]>=0,z0[%]>=0,x1[%]>=0,y1[%]>=0,z1[%]>=0,_is_high_con‐
5884       nectivity={ 0 | 1 }
5885
5886               Compute minimal path between two points on  selected  potential
5887       maps.
5888
5889               Default value: 'is_high_connectivity=0'.
5890
5891           mse (+):
5892
5893               Compute   MSE  (Mean-Squared  Error)  matrix  between  selected
5894       images.
5895
5896           patches:
5897               patch_width>0,patch_height>0,patch_depth>0,x0,y0,z0,_x1,_y1,_z1,...,_xN,_yN,_zN
5898
5899               Extract N+1 patches from selected images, centered at specified
5900       locations.
5901
5902           matchpatch (+):
5903               [patch_image],patch_width>=1,_patch_height>=1,_patch_depth>=1,_nb_iter‐
5904       ations>=0,
5905                 _nb_randoms>=0,_patch_penalization,_output_score={   0   |  1
5906       },_[guide]
5907
5908               Estimate correspondence map between selected images and  speci‐
5909       fied patch image, using
5910               a patch-matching algorithm.
5911               Each  pixel  of the returned correspondence map gives the loca‐
5912       tion (p,q) of the closest patch in
5913               the specified patch image. If 'output_score=1', the third chan‐
5914       nel also gives the corresponding
5915               matching score for each patch as well.
5916               If  'patch_penalization'  is  >=0,  SSD is penalized with patch
5917       occurences.
5918               If 'patch_penalization' is <0, SSD is inf-penalized  when  dis‐
5919       tance between patches are less than
5920                 '-patch_penalization'.
5921
5922               Default  values:  'patch_height=patch_width',  'patch_depth=1',
5923       'nb_iterations=5', 'nb_randoms=5',
5924                 'patch_penalization=0',  'output_score=0'  and  'guide=(unde‐
5925       fined)'.
5926
5927           plot2value:
5928
5929               Retrieve values from selected 2D graph plots.
5930
5931           pointcloud:
5932               _type  =  { -X=-X-opacity | 0=binary | 1=cumulative | 2=label |
5933       3=retrieve
5934                 coordinates },_width,_height>0,_depth>0
5935
5936               Render a set of point coordinates, as a point cloud in a  1D/2D
5937       or 3D binary image
5938               (or  do  the  reverse,  i.e.  retrieve  coordinates of non-zero
5939       points from a rendered point cloud).
5940               Input point coordinates can be a NxMx1x1,  Nx1x1xM  or  1xNx1xM
5941       image, where 'N' is the number of points,
5942               and M the point coordinates.
5943               If  'M'>3,  the  3-to-M  components  sets the (M-3)-dimensional
5944       color at each point.
5945               Parameters 'width','height' and 'depth' are related to the size
5946       of the final image :
5947               -  If  set to 0, the size is automatically set along the speci‐
5948       fied axis.
5949               - If set to N>0, the size along the specified axis is N.
5950               - If set to N<0, the size along the specified axis is  at  most
5951       N.
5952               Points with coordinates that are negative or higher than speci‐
5953       fied ('width','height','depth')
5954               are not plotted.
5955
5956               Default            values:             'type=0'             and
5957       'max_width=max_height=max_depth=0'.
5958
5959           psnr:
5960               _max_value
5961
5962               Compute   PSNR  (Peak  Signal-to-Noise  Ratio)  matrix  between
5963       selected images.
5964
5965               Default value: 'max_value=255'.
5966
5967           segment_watershed:
5968               _threshold>=0
5969
5970               Apply watershed segmentation on selected images.
5971
5972               Default values: 'threshold=2'.
5973
5974           shape2bump:
5975               _resolution>=0,0<=_weight_avg_max_avg<=1,_dilation,_smooth‐
5976       ness>=0
5977
5978               Estimate bumpmap from binary shape in selected images.
5979
5980               Default  value: 'resolution=256', 'weight_avg_max=0.75', 'dila‐
5981       tion=0' and 'smoothness=100'.
5982
5983           skeleton:
5984               _boundary_conditions={ 0=dirichlet | 1=neumann }
5985
5986               Compute skeleton of binary shapes using distance transform  and
5987       constrained thinning.
5988
5989               Default value: 'boundary_conditions=1'.
5990
5991           slic:
5992               size>0,_regularity>=0,_nb_iterations>0
5993
5994               Segment  selected  2D  images  with superpixels, using the SLIC
5995       algorithm (Simple Linear Iterative
5996                 Clustering).
5997               Scalar images of increasingly labeled pixels are returned.
5998               Reference paper: Achanta, R., Shaji, A., Smith, K., Lucchi, A.,
5999       Fua, P., & Susstrunk, S. (2010).
6000                  SLIC Superpixels (No. EPFL-REPORT-149300).
6001
6002               Default   values:  'size=16',  'regularity=10'  and  'nb_itera‐
6003       tions=10'.
6004
6005           ssd_patch:
6006               [patch],_use_fourier={ 0 | 1 },_boundary_conditions={ 0=dirich‐
6007       let | 1=neumann }
6008
6009               Compute  fields  of  SSD  between selected images and specified
6010       patch.
6011               Argument   'boundary_conditions'    is    valid    only    when
6012       'use_fourier=0'.
6013
6014               Default value: 'use_fourier=0' and 'boundary_conditions=0'.
6015
6016           thinning:
6017               _boundary_conditions={ 0=dirichlet | 1=neumann }
6018
6019               Compute skeleton of binary shapes using morphological thinning
6020               (beware, this is a quite slow iterative process)
6021
6022               Default value: 'boundary_conditions=1'.
6023
6024           tones:
6025               N>0
6026
6027               Get N tones masks from selected images.
6028
6029           topographic_map:
6030               _nb_levels>0,_smoothness
6031
6032               Render selected images as topographic maps.
6033
6034               Default values: 'nb_levels=16' and 'smoothness=2'.
6035
6036           tsp:
6037               _precision>=0
6038
6039               Try  to solve the 'travelling salesman' problem, using a combi‐
6040       nation of greedy search and 2-opt
6041                 algorithms.
6042               Selected images must have dimensions  Nx1x1xC  to  represent  N
6043       cities each with C-dimensional
6044                 coordinates.
6045               This  command  re-order  the  selected data along the x-axis so
6046       that the point sequence becomes a
6047                 shortest path.
6048
6049               Default values: 'precision=256'.
6050
6051           variance_patch:
6052               _patch_size>=1
6053
6054               Compute variance of each images patch  centered  at  (x,y),  in
6055       selected images.
6056
6057               Default value: 'patch_size=16'
6058
6059        ** Image Drawing:
6060
6061           arrow:
6062               x0[%],y0[%],x1[%],y1[%],_thickness[%]>=0,_head_length[%]>=0,
6063                 _head_thickness[%]>=0,_opacity,_pattern,_color1,...
6064
6065               Draw specified arrow on selected images.
6066               'pattern' is an hexadecimal number starting with '0x' which can
6067       be omitted
6068               even if a color is specified. If a pattern  is  specified,  the
6069       arrow is
6070               drawn outlined instead of filled.
6071
6072               Default values: 'thickness=1%', 'head_length=10%', 'head_thick‐
6073       ness=3%', 'opacity=1',
6074                 'pattern=(undefined)' and 'color1=0'.
6075
6076           axes:
6077               x0,x1,y0,y1,_font_height>=0,_opacity,_pattern,_color1,...
6078
6079               Draw xy-axes on selected images.
6080               'pattern' is an hexadecimal number starting with '0x' which can
6081       be omitted
6082               even if a color is specified.
6083               To draw only one x-axis at row Y, set both 'y0' and 'y1' to Y.
6084               To  draw only one y-axis at column X, set both 'x0' and 'x1' to
6085       X.
6086
6087               Default values: 'font_height=14', 'opacity=1',  'pattern=(unde‐
6088       fined)' and 'color1=0'.
6089
6090           ball:
6091               _size>0,              _R,_G,_B,0<=_specular_light<=8,0<=_specu‐
6092       lar_size<=8,_shadow>=0
6093
6094               Input a 2D RGBA colored ball sprite.
6095
6096               Default  values:  'size=64',  'R=255',  'G=R',  'B=R',  'specu‐
6097       lar_light=0.8', 'specular_size=1' and
6098                 'shading=1.5'.
6099
6100           chessboard:
6101               size1>0,_size2>0,_offset1,_offset2,_angle,_opac‐
6102       ity,_color1,...,_color2,...
6103
6104               Draw chessboard on selected images.
6105
6106               Default values: 'size2=size1', 'offset1=offset2=0',  'angle=0',
6107       'opacity=1', 'color1=0' and
6108                 'color2=255'.
6109
6110           cie1931:
6111
6112               Draw CIE-1931 chromaticity diagram on selected images.
6113
6114           circle:
6115               x[%],y[%],R[%],_opacity,_pattern,_color1,...
6116
6117               Draw specified colored circle on selected images.
6118               A radius of '100%' stands for 'sqrt(width^2+height^2)'.
6119               'pattern' is an hexadecimal number starting with '0x' which can
6120       be omitted
6121               even if a color is specified. If a pattern  is  specified,  the
6122       circle is
6123               drawn outlined instead of filled.
6124
6125               Default    values:   'opacity=1',   'pattern=(undefined)'   and
6126       'color1=0'.
6127
6128           close_binary:
6129               0<=_endpoint_rate<=100,_endpoint_connectivity>=0,_spline_dist‐
6130       max>=0,
6131                 _segment_distmax>=0,0<=_spline_anglemax<=180,_spline_round‐
6132       ness>=0,_area_min>=0,
6133                 _allow_self_intersection={ 0 | 1 }
6134
6135               Automatically close open  shapes  in  binary  images  (defining
6136       white strokes on black background).
6137
6138               Default  values: 'endpoint_rate=75', 'endpoint_connectivity=2',
6139       'spline_distmax=80',
6140                 'segment_distmax=20',  'spline_anglemax=90',   'spline_round‐
6141       ness=1','area_min=100',
6142                 'allow_self_intersection=1'.
6143
6144           ellipse (+):
6145               x[%],y[%],R[%],r[%],_angle,_opacity,_pattern,_color1,...
6146
6147               Draw specified colored ellipse on selected images.
6148               A radius of '100%' stands for 'sqrt(width^2+height^2)'.
6149               'pattern' is an hexadecimal number starting with '0x' which can
6150       be omitted
6151               even if a color is specified. If a pattern  is  specified,  the
6152       ellipse is
6153               drawn outlined instead of filled.
6154
6155               Default    values:   'opacity=1',   'pattern=(undefined)'   and
6156       'color1=0'.
6157
6158           flood (+):
6159               x[%],_y[%],_z[%],_tolerance>=0,_is_high_connectivity={  0  |  1
6160       },_opacity,_color1,...
6161
6162               Flood-fill selected images using specified value and tolerance.
6163
6164               Default  values:  'y=z=0',  'tolerance=0',  'is_high_connectiv‐
6165       ity=0', 'opacity=1' and 'color1=0'.
6166
6167           gaussian:
6168               _sigma1[%],_sigma2[%],_angle
6169
6170               Draw a centered gaussian on  selected  images,  with  specified
6171       standard deviations and orientation.
6172
6173               Default values: 'sigma1=3', 'sigma2=sigma1' and 'angle=0'.
6174
6175           graph (+):
6176               [function_image],_plot_type,_vertex_type,_ymin,_ymax,_opac‐
6177       ity,_pattern,_color1,... |
6178               'formula',_resolution>=0,_plot_type,_ver‐
6179       tex_type,_xmin,xmax,_ymin,_ymax,
6180                 _opacity,_pattern,_color1,...
6181
6182               Draw specified function graph on selected images.
6183               'plot_type' can be { 0=none | 1=lines | 2=splines | 3=bar }.
6184               'vertex_type'  can  be  {  0=none  |  1=points  | 2,3=crosses |
6185       4,5=circles | 6,7=squares }.
6186               'pattern' is an hexadecimal number starting with '0x' which can
6187       be omitted
6188               even if a color is specified.
6189
6190               Default  values:  'plot_type=1',  'vertex_type=1', 'ymin=ymax=0
6191       (auto)', 'opacity=1',
6192                 'pattern=(undefined)'
6193               and 'color1=0'.
6194
6195           grid:
6196               size_x[%]>=0,size_y[%]>=0,_offset_x[%],_offset_y[%],_opac‐
6197       ity,_pattern,_color1,...
6198
6199               Draw xy-grid on selected images.
6200               'pattern' is an hexadecimal number starting with '0x' which can
6201       be omitted
6202               even if a color is specified.
6203
6204               Default  values:  'offset_x=offset_y=0',   'opacity=1',   'pat‐
6205       tern=(undefined)' and 'color1=0'.
6206
6207           image (+):
6208               [sprite],_x[%|~],_y[%|~],_z[%|~],_c[%|~],_opacity,_[opac‐
6209       ity_mask],
6210                 _max_opacity_mask
6211
6212               Draw specified sprite image on selected images.
6213               (eq. to 'j').
6214               If one of the x,y,z or c argument ends with a '~', its value is
6215       expected to be
6216               a centering ratio (in [0,1]) rather than a position.
6217               Usual  centering  ratio are { 0=left-justified | 0.5=centered |
6218       1=right-justified }.
6219
6220               Default values: 'x=y=z=c=0', 'opacity=1',  'opacity_mask=(unde‐
6221       fined)' and 'max_opacity_mask=1'.
6222
6223           line (+):
6224               x0[%],y0[%],x1[%],y1[%],_opacity,_pattern,_color1,...
6225
6226               Draw specified colored line on selected images.
6227               'pattern' is an hexadecimal number starting with '0x' which can
6228       be omitted
6229               even if a color is specified.
6230
6231               Default   values:   'opacity=1',   'pattern=(undefined)'    and
6232       'color1=0'.
6233
6234           linethick:
6235               x0[%],y0[%],x1[%],y1[%],_thickness,_opacity,_color1
6236
6237               Draw specified colored thick line on selected images.
6238
6239               Default values: 'thickness=2', 'opacity=1' and 'color1=0'.
6240
6241           mandelbrot (+):
6242               z0r,z0i,z1r,z1i,_iteration_max>=0,_is_julia={     0     |     1
6243       },_c0r,_c0i,_opacity
6244
6245               Draw mandelbrot/julia fractal on selected images.
6246
6247               Default values: 'iteration_max=100', 'is_julia=0',  'c0r=c0i=0'
6248       and 'opacity=1'.
6249
6250           marble:
6251               _image_weight,_pattern_weight,_angle,_amplitude,_sharp‐
6252       ness>=0,_anisotropy>=0,
6253                 _alpha,_sigma,_cut_low>=0,_cut_high>=0
6254
6255               Render marble like pattern on selected images.
6256
6257               Default   values:   'image_weight=0.2',   'pattern_weight=0.1',
6258       'angle=45', 'amplitude=0',
6259                 'sharpness=0.4' and 'anisotropy=0.8',
6260               'alpha=0.6', 'sigma=1.1' and 'cut_low=cut_high=0'.
6261
6262           maze:
6263               _width>0,_height>0,_cell_size>0
6264
6265               Input maze with specified size.
6266
6267           maze_mask:
6268               _cellsize>0
6269
6270               Input maze according to size and shape of selected mask images.
6271               Mask may contain disconnected shapes.
6272
6273           newton_fractal:
6274               z0r,z0i,z1r,z1i,_angle,0<=_descent_method<=2,_iteration_max>=0,
6275                 _convergence_precision>0,_expr_p(z),_expr_dp(z),_expr_d2p(z)
6276
6277               Draw  newton fractal on selected images, for complex numbers in
6278       range (z0r,z0i) - (z1r,z1i).
6279               Resulting images have 3 channels whose meaning  is  [  last_zr,
6280       last_zi,
6281                 nb_iter_used_for_convergence ].
6282               'descent_method'  can  be { 0=secant | 1=newton | 2=householder
6283       }.
6284
6285               Default   values:   'angle=0',   'descent_method=1',    'itera‐
6286       tion_max=200', 'convergence_precision=0.
6287                 01',      'expr_p(z)=z^^3-1',     'expr_dp(z)=3*z^^2'     and
6288       'expr_d2z(z)=6*z'.
6289
6290           object3d (+):
6291               [object3d],_x[%],_y[%],_z,_opacity,_rendering_mode,_is_dou‐
6292       ble_sided={ 0 | 1 },
6293                 _is_zbuffer={               0               |               1
6294       },_focale,_light_x,_light_y,_light_z,_specular_lightness,
6295                 _specular_shininess
6296
6297               Draw specified 3D object on selected images.
6298               (eq. to 'j3d').
6299               'rendering_mode' can be {  0=dots  |  1=wireframe  |  2=flat  |
6300       3=flat-shaded | 4=gouraud-shaded |
6301                 5=phong-shaded }.
6302
6303               Default  values: 'x=y=z=0', 'opacity=1' and 'is_zbuffer=1'. All
6304       other arguments take their
6305                 default values
6306               from the 3D environment variables.
6307
6308           pack_sprites:
6309               _nb_scales>=0,0<=_min_scale<=100,_allow_rotation={ 0=0  deg.  |
6310       1=180 deg. | 2=90
6311                 deg. | 3=any },_spacing,_precision>=0,max_iterations>=0
6312
6313               Try  to  randomly  pack  as  many  sprites as possible onto the
6314       'empty' areas of an image.
6315               Sprites can be eventually rotated and scaled during the packing
6316       process.
6317               First selected image is the canvas that will be filled with the
6318       sprites.
6319               Its last channel must be a binary mask whose zero values repre‐
6320       sent potential locations for
6321                 drawing the sprites.
6322               All  other selected images represent the sprites considered for
6323       packing.
6324               Their last channel must be a binary mask  that  represents  the
6325       sprite shape (i.e. a 8-connected
6326                 component).
6327               The  order  of  sprite  packing  follows the order of specified
6328       sprites in the image list.
6329               Sprite packing is done on random locations and iteratively with
6330       decreasing scales.
6331               'nb_scales' sets the number of decreasing scales considered for
6332       all specified sprites to be packed.
6333               'min_scale' (in %) sets the minimal size considered for packing
6334       (specified as a percentage of the
6335               original sprite size).
6336               'spacing' can be positive or negative.
6337               'precision'  tells  about  the  desired number of failed trials
6338       before ending the filling process.
6339
6340               Default  values:  'nb_scales=5',  'min_scale=25',  'allow_rota‐
6341       tion=3', 'spacing=1', 'precision=7'
6342                 and 'max_iterations=256'.
6343
6344           piechart:
6345               label_height>=0,label_R,label_G,label_B,"label1",value1,R1,G1,B1,...,"labelN",
6346                 valueN,RN,GN,BN
6347
6348               Draw pie chart on selected (RGB) images.
6349
6350           plasma (+):
6351               _alpha,_beta,_scale>=0
6352
6353               Draw a random colored plasma fractal on selected images.
6354               This command implements the  so-called  'Diamond-Square'  algo‐
6355       rithm.
6356
6357               Default values: 'alpha=1', 'beta=1' and 'scale=8'.
6358
6359           point (+):
6360               x[%],y[%],_z[%],_opacity,_color1,...
6361
6362               Set specified colored pixel on selected images.
6363
6364               Default values: 'z=0', 'opacity=1' and 'color1=0'.
6365
6366           polka_dots:
6367               diameter>=0,_density,_offset1,_offset2,_angle,_aliasing,_shad‐
6368       ing,_opacity,
6369                 _color,...
6370
6371               Draw dots pattern on selected images.
6372
6373               Default values: 'density=20', 'offset1=offset2=50',  'angle=0',
6374       'aliasing=10', 'shading=1',
6375                 'opacity=1' and 'color=255'.
6376
6377           polygon (+):
6378               N>=1,x1[%],y1[%],...,xN[%],yN[%],_opacity,_pattern,_color1,...
6379
6380               Draw specified colored N-vertices polygon on selected images.
6381               'pattern' is an hexadecimal number starting with '0x' which can
6382       be omitted
6383               even if a color is specified. If a pattern  is  specified,  the
6384       polygon is
6385               drawn outlined instead of filled.
6386
6387               Default    values:   'opacity=1',   'pattern=(undefined)'   and
6388       'color1=0'.
6389
6390           quiver:
6391               [function_image],_sampling[%]>0,_factor>=0,_is_arrow={  0  |  1
6392       },_opacity,_color1,...
6393
6394               Draw specified 2D vector/orientation field on selected images.
6395
6396               Default values: 'sampling=5%', 'factor=1', 'is_arrow=1', 'opac‐
6397       ity=1', 'pattern=(undefined)'
6398               and 'color1=0'.
6399
6400           rectangle:
6401               x0[%],y0[%],x1[%],y1[%],_opacity,_pattern,_color1,...
6402
6403               Draw specified colored rectangle on selected images.
6404               'pattern' is an hexadecimal number starting with '0x' which can
6405       be omitted
6406               even  if  a  color is specified. If a pattern is specified, the
6407       rectangle is
6408               drawn outlined instead of filled.
6409
6410               Default   values:   'opacity=1',   'pattern=(undefined)'    and
6411       'color1=0'.
6412
6413           rorschach:
6414               'smoothness[%]>=0','mirroring={ 0=none | 1=x | 2=y | 3=xy }
6415
6416               Render rorschach-like inkblots on selected images.
6417
6418               Default values: 'smoothness=5%' and 'mirroring=1'.
6419
6420           sierpinski:
6421               recursion_level>=0
6422
6423               Draw Sierpinski triangle on selected images.
6424
6425               Default value: 'recursion_level=7'.
6426
6427           spiralbw:
6428               width>0,_height>0,_is_2dcoords={ 0 | 1 }
6429
6430               Input a 2D rectangular spiral image with specified size.
6431
6432               Default values: 'height=width' and 'is_2dcoords=0'.
6433
6434           spline:
6435               x0[%],y0[%],u0[%],v0[%],x1[%],y1[%],u1[%],v1[%],_opac‐
6436       ity,_color1,...
6437
6438               Draw specified colored spline curve on selected  images  (cubic
6439       hermite spline).
6440
6441               Default values: 'opacity=1' and 'color1=0'.
6442
6443           tetraedron_shade:
6444               x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3,R0,G0,B0,...,R1,G1,B1,...,R2,G2,B2,...,R3,G3,B3,...
6445
6446               Draw tetraedron with interpolated colors on selected  (volumet‐
6447       ric) images.
6448
6449           text (+):
6450               text,_x[%|~],_y[%|~],_font_height[%]>=0,_opacity,_color1,...
6451
6452               Draw specified colored text string on selected images.
6453               (eq. to 't').
6454               If  one  of  the  x or y argument ends with a '~', its value is
6455       expected to be
6456               a centering ratio (in [0,1]) rather than a position.
6457               Usual centering ratio are { 0=left-justified |  0.5=centered  |
6458       1=right-justified }.
6459               Sizes '13' and '128' are special and correspond to binary fonts
6460       (no-antialiasing).
6461               Any other font size is rendered with anti-aliasing.
6462               Specifying an empty target image resizes it to  new  dimensions
6463       such that the image contains
6464               the entire text string.
6465
6466               Default  values: 'x=y=0.01~', 'font_height=16', 'opacity=1' and
6467       'color1=0'.
6468
6469           text_outline:
6470               text,_x[%|~],_y[%|~],_font_height[%]>0,_outline>=0,_opac‐
6471       ity,_color1,...
6472
6473               Draw  specified  colored  and  outlined text string on selected
6474       images.
6475               If one of the x or y argument ends with a  '~',  its  value  is
6476       expected to be
6477               a centering ratio (in [0,1]) rather than a position.
6478               Usual  centering  ratio are { 0=left-justified | 0.5=centered |
6479       1=right-justified }.
6480
6481               Default values: 'x=y=0.01~',  'font_height=7.5%',  'outline=2',
6482       'opacity=1',
6483                 'color1=color2=color3=255' and 'color4=255'.
6484
6485           triangle_shade:
6486               x0,y0,x1,y1,x2,y2,R0,G0,B0,...,R1,G1,B1,...,R2,G2,B2,...
6487
6488               Draw triangle with interpolated colors on selected images.
6489
6490           truchet:
6491               _scale>0,_radius>=0,_pattern_type={ 0=straight | 1=curved }
6492
6493               Fill selected images with random truchet patterns.
6494
6495               Default values: 'scale=32', 'radius=5' and 'pattern_type=1'.
6496
6497           turbulence:
6498               _radius>0,_octaves={1,2,3...,12},_alpha>0,_differ‐
6499       ence={-10,10},_mode={0,1,2,3}
6500
6501               Render fractal noise or turbulence on selected images.
6502
6503               Default values: 'radius=32', 'octaves=6',  'alpha=3',  'differ‐
6504       ence=0' and 'mode=0'.
6505
6506           yinyang:
6507
6508               Draw a yin-yang symbol on selected images.
6509
6510        ** Matrix Computation:
6511
6512           dijkstra (+):
6513               starting_node>=0,ending_node>=0
6514
6515               Compute  minimal  distances  and paths from specified adjacency
6516       matrices by the Dijkstra algorithm.
6517
6518           eigen (+):
6519
6520               Compute the eigenvalues and eigenvectors of selected  symmetric
6521       matrices or matrix fields.
6522               If  one selected image has 3 or 6 channels, it is regarded as a
6523       field of 2x2 or 3x3 symmetric matrices,
6524               whose eigen elements are computed at each point of the field.
6525
6526           invert (+):
6527
6528               Compute the inverse of the selected matrices.
6529
6530           solve (+):
6531               [image]
6532
6533               Solve linear system AX = B for selected B-matrices  and  speci‐
6534       fied A-matrix.
6535               If  the  system  is under- or over-determined, the least square
6536       solution is returned.
6537
6538           svd (+):
6539
6540               Compute SVD decomposition of selected matrices.
6541
6542           transpose:
6543
6544               Transpose selected matrices.
6545
6546           trisolve (+):
6547               [image]
6548
6549               Solve tridiagonal system AX =  B  for  selected  B-vectors  and
6550       specified tridiagonal A-matrix.
6551               Tridiagonal  matrix  must be stored as a 3 column vector, where
6552       2nd column contains the
6553               diagonal coefficients, while 1st and 3rd  columns  contain  the
6554       left and right coefficients.
6555
6556        ** 3D Rendering:
6557
6558           add3d (+):
6559               tx,_ty,_tz |
6560               [object3d] |
6561               (no arg)
6562
6563               Shift  selected  3D objects with specified displacement vector,
6564       or merge them with specified
6565               3D object, or merge all selected 3D objects together.
6566               (eq. to '+3d').
6567
6568               Default values: 'ty=tz=0'.
6569
6570           animate3d:
6571               _width>0,_height>0,_angle_dx,_angle_dy,_angle_dz,_zoom_fac‐
6572       tor>=0,_filename
6573
6574               Animate selected 3D objects in a window.
6575               If argument 'filename' is provided, each frame of the animation
6576       is saved as a numbered filename.
6577
6578               Default  values:   'width=640',   'height=480',   'angle_dx=0',
6579       'angle_dy=1', 'angle_dz=0',
6580                 'zoom_factor=1' and 'filename=(undefined)'.
6581
6582           apply_camera3d:
6583               pos_x,pos_y,pos_z,target_x,target_y,target_z,up_x,up_y,up_z
6584
6585               Apply 3D camera matrix to selected 3D objects.
6586
6587               Default   values:   'target_x=0',  'target_y=0',  'target_z=0',
6588       'up_x=0', 'up_y=-1' and 'up_z=0'.
6589
6590           apply_matrix3d:
6591               a11,a12,a13,...,a31,a32,a33
6592
6593               Apply specified 3D rotation matrix to selected 3D objects.
6594
6595           array3d:
6596               size_x>=1,_size_y>=1,_size_z>=1,_offset_x[%],_offset_y[%],_off‐
6597       set_y[%]
6598
6599               Duplicate a 3D object along the X,Y and Z axes.
6600
6601               Default   values:  'size_y=1',  'size_z=1'  and  'offset_x=off‐
6602       set_y=offset_z=100%'.
6603
6604           arrow3d:
6605               x0,y0,z0,x1,y1,z1,_radius[%]>=0,_head_length[%]>=0,_head_radius[%]>=0
6606
6607               Input 3D arrow with specified starting and ending 3D points.
6608
6609               Default     values:    'radius=5%',    'head_length=25%'    and
6610       'head_radius=15%'.
6611
6612           axes3d:
6613               _size_x,_size_y,_size_z,_font_size>0,_label_x,_label_y,_label_z,_is_ori‐
6614       gin={
6615                 0=no | 1=yes }
6616
6617               Input 3D axes with specified sizes along the x,y and z orienta‐
6618       tions.
6619
6620               Default   values:   'size_x=size_y=size_z=1',   'font_size=23',
6621       'label_x=X', 'label_y=Y', 'label_z=Z'
6622                 and 'is_origin=1'
6623
6624           box3d:
6625               _size_x,_size_y,_size_z
6626
6627               Input 3D box at (0,0,0), with specified geometry.
6628
6629               Default values: 'size_x=1' and 'size_z=size_y=size_x'.
6630
6631           center3d:
6632
6633               Center selected 3D objects at (0,0,0).
6634               (eq. to 'c3d').
6635
6636           circle3d:
6637               _x0,_y0,_z0,_radius>=0
6638
6639               Input 3D circle at specified coordinates.
6640
6641               Default values: 'x0=y0=z0=0' and 'radius=1'.
6642
6643           circles3d:
6644               _radius>=0,_is_wireframe={ 0 | 1 }
6645
6646               Convert  specified 3D objects to sets of 3D circles with speci‐
6647       fied radius.
6648
6649               Default values: 'radius=1' and 'is_wireframe=1'.
6650
6651           color3d (+):
6652               R,_G,_B,_opacity
6653
6654               Set color and opacity of selected 3D objects.
6655               (eq. to 'col3d').
6656
6657               Default value: 'B=G=R' and 'opacity=(undefined)'.
6658
6659           colorcube3d:
6660
6661               Input 3D color cube.
6662
6663           cone3d:
6664               _radius,_height,_nb_subdivisions>0
6665
6666               Input 3D cone at (0,0,0), with specified geometry.
6667
6668               Default value: 'radius=1','height=1' and 'nb_subdivisions=24'.
6669
6670           cubes3d:
6671               _size>=0
6672
6673               Convert specified 3D objects to sets of 3D cubes with specified
6674       size.
6675
6676               Default value: 'size=1'.
6677
6678           cup3d:
6679               _resolution>0
6680
6681               Input 3D cup object.
6682
6683           cylinder3d:
6684               _radius,_height,_nb_subdivisions>0
6685
6686               Input 3D cylinder at (0,0,0), with specified geometry.
6687
6688               Default value: 'radius=1','height=1' and 'nb_subdivisions=24'.
6689
6690           delaunay3d:
6691
6692               Generate 3D delaunay triangulations from selected images.
6693               One  assumes  that  the selected input images are binary images
6694       containing the set of points to mesh.
6695               The output 3D object is a mesh composed of non-oriented  trian‐
6696       gles.
6697
6698           distribution3d:
6699
6700               Get 3D color distribution of selected images.
6701
6702           div3d (+):
6703               factor |
6704               factor_x,factor_y,_factor_z
6705
6706               Scale  selected  3D  objects  isotropically or anisotropically,
6707       with the inverse of specified
6708               factors.
6709               (eq. to '/3d').
6710
6711               Default value: 'factor_z=0'.
6712
6713           double3d (+):
6714               _is_double_sided={ 0 | 1 }
6715
6716               Enable/disable double-sided mode for 3D rendering.
6717               (eq. to 'db3d').
6718
6719               Default value: 'is_double_sided=1'.
6720
6721           elevation3d (+):
6722               z-factor |
6723               [elevation_map] |
6724               'formula' |
6725               (no arg)
6726
6727               Build 3D elevation of selected images, with a specified  eleva‐
6728       tion map.
6729               When  invoked with (no arg) or 'z-factor', the elevation map is
6730       computed as the pointwise L2
6731                 norm of the
6732               pixel values. Otherwise, the elevation map is  taken  from  the
6733       specified image or formula.
6734
6735           empty3d:
6736
6737               Input empty 3D object.
6738
6739           extrude3d:
6740               _depth>0,_resolution>0,_smoothness[%]>=0
6741
6742               Generate extruded 3D object from selected binary XY-profiles.
6743
6744               Default  values:  'depth=16',  'resolution=1024'  and  'smooth‐
6745       ness=0.5%'.
6746
6747           focale3d (+):
6748               focale
6749
6750               Set 3D focale.
6751               (eq. to 'f3d').
6752               Set 'focale' to 0 to enable  parallel  projection  (instead  of
6753       perspective).
6754               Set negative 'focale' will disable 3D sprite zooming.
6755
6756               Default value: 'focale=700'.
6757
6758           gaussians3d:
6759               _size>0,_opacity
6760
6761               Convert  selected  3D  objects  into  set of 3D gaussian-shaped
6762       sprites.
6763
6764           gmic3d:
6765
6766               Input a 3D G'MIC logo.
6767
6768           gyroid3d:
6769               _resolution>0,_zoom
6770
6771               Input 3D gyroid at (0,0,0), with specified resolution.
6772
6773               Default values: 'resolution=32' and 'zoom=5'.
6774
6775           histogram3d:
6776
6777               Get 3D color histogram of selected images.
6778
6779           image6cube3d:
6780
6781               Generate 3D mapped cubes from 6-sets of selected images.
6782
6783           imageblocks3d:
6784               _maximum_elevation,_smoothness[%]>=0
6785
6786               Generate 3D blocks from selected images.
6787               Transparency of selected images is taken into account.
6788
6789               Default values: 'maximum_elevation=10' and 'smoothness=0'.
6790
6791           imagecube3d:
6792
6793               Generate 3D mapped cubes from selected images.
6794
6795           imageplane3d:
6796
6797               Generate 3D mapped planes from selected images.
6798
6799           imagepyramid3d:
6800
6801               Generate 3D mapped pyramids from selected images.
6802
6803           imagerubik3d:
6804               _xy_tiles>=1,0<=xy_shift<=100,0<=z_shift<=100
6805
6806               Generate 3D mapped rubik's cubes from selected images.
6807
6808               Default values: 'xy_tiles=3', 'xy_shift=5' and 'z_shift=5'.
6809
6810           imagesphere3d:
6811               _resolution1>=3,_resolution2>=3
6812
6813               Generate 3D mapped sphere from selected images.
6814
6815               Default values: 'resolution1=32' and 'resolutions2=16'.
6816
6817           isoline3d (+):
6818               isovalue[%] |
6819               'formula',value,_x0,_y0,_x1,_y1,_size_x>0[%],_size_y>0[%]
6820
6821               Extract 3D isolines with specified value from  selected  images
6822       or from specified formula.
6823
6824               Default values: 'x0=y0=-3', 'x1=y1=3' and 'size_x=size_y=256'.
6825
6826           isosurface3d (+):
6827               isovalue[%] |
6828               'for‐
6829       mula',value,_x0,_y0,_z0,_x1,_y1,_z1,_size_x>0[%],_size_y>0[%],_size_z>0[%]
6830
6831               Extract  3D  isosurfaces  with  specified  value  from selected
6832       images or from specified formula.
6833
6834               Default     values:     'x0=y0=z0=-3',     'x1=y1=z1=3'     and
6835       'size_x=size_y=size_z=32'.
6836
6837           label3d:
6838               "text",font_height>=0,_opacity,_color1,...
6839
6840               Generate 3D text label.
6841
6842               Default     values:     'font_height=13',    'opacity=1'    and
6843       'color=255,255,255'.
6844
6845           label_points3d:
6846               _label_size>0,_opacity
6847
6848               Add a numbered label to all vertices of selected 3D objects.
6849
6850               Default values: 'label_size=13' and 'opacity=0.8'.
6851
6852           lathe3d:
6853               _resolution>0,_smoothness[%]>=0,_max_angle>=0
6854
6855               Generate 3D object from selected binary XY-profiles.
6856
6857               Default   values:   'resolution=128',   'smoothness=0.5%'   and
6858       'max_angle=361'.
6859
6860           light3d (+):
6861               position_x,position_y,position_z |
6862               [texture] |
6863               (no arg)
6864
6865               Set  the  light coordinates or the light texture for 3D render‐
6866       ing.
6867               (eq. to 'l3d').
6868               (no arg) resets the 3D light to default.
6869
6870           line3d:
6871               x0,y0,z0,x1,y1,z1
6872
6873               Input 3D line at specified coordinates.
6874
6875           lissajous3d:
6876               resolution>1,a,A,b,B,c,C
6877
6878               Input             3D              lissajous              curves
6879       (x(t)=sin(a*t+A*2*pi),y(t)=sin(b*t+B*2*pi),z(t)=sin(c*t+C*2*pi)).
6880
6881               Default  values: 'resolution=1024', 'a=2', 'A=0', 'b=1', 'B=0',
6882       'c=0' and 'C=0'.
6883
6884           mode3d (+):
6885               _mode
6886
6887               Set static 3D rendering mode.
6888               (eq. to 'm3d').
6889               'mode' can be { -1=bounding-box | 0=dots | 1=wireframe | 2=flat
6890       | 3=flat-shaded |
6891                 4=gouraud-shaded | 5=phong-shaded }.");
6892               Bounding-box  mode ('mode==-1') is active only for the interac‐
6893       tive 3D viewer.
6894
6895               Default value: 'mode=4'.
6896
6897           moded3d (+):
6898               _mode
6899
6900               Set dynamic 3D rendering mode for interactive 3D viewer.
6901               (eq. to 'md3d').
6902               'mode' can be { -1=bounding-box | 0=dots | 1=wireframe | 2=flat
6903       | 3=flat-shaded |
6904                 4=gouraud-shaded | 5=phong-shaded }.
6905
6906               Default value: 'mode=-1'.
6907
6908           mul3d (+):
6909               factor |
6910               factor_x,factor_y,_factor_z
6911
6912               Scale  selected  3D  objects  isotropically or anisotropically,
6913       with specified factors.
6914               (eq. to '*3d').
6915
6916               Default value: 'factor_z=0'.
6917
6918           normalize3d:
6919
6920               Normalize selected 3D objects to unit size.
6921               (eq. to 'n3d').
6922
6923           opacity3d (+):
6924               _opacity
6925
6926               Set opacity of selected 3D objects.
6927               (eq. to 'o3d').
6928
6929               Default value: 'opacity=1'.
6930
6931           parametric3d:
6932               _x(a,b),_y(a,b),_z(a,b),_amin,_amax,_bmin,_bmax,_res_a>0,_res_b>0,_res_x>0,
6933                 _res_y>0,_res_z>0,_smoothness>=0,_isovalue>=0
6934
6935               Input    3D    object   from   specified   parametric   surface
6936       (x(a,b),y(a,b),z(a,b)).
6937
6938               Default values:  'x=(2+cos(b))*sin(a)',  'y=(2+cos(b))*cos(a)',
6939       'c=sin(b)', 'amin=-pi',
6940                 'amax='pi', 'bmin=-pi' and 'bmax='pi',
6941               'res_a=512',    'res_b=res_a',    'res_x=64',    'res_y=res_x',
6942       'res_z=res_y', 'smoothness=2%' and
6943                 'isovalue=10%'.
6944
6945           pca_patch3d:
6946               _patch_size>0,_M>0,_N>0,_normalize_input={  0  |  1  },_normal‐
6947       ize_output={ 0 | 1 },
6948                 _lambda_xy
6949
6950               Get 3D patch-pca representation of selected images.
6951               The  3D  patch-pca  is  estimated  from  M patches on the input
6952       image, and displayed as a cloud of N
6953                 3D points.
6954
6955               Default values: 'patch_size=7',  'M=1000',  'N=3000',  'normal‐
6956       ize_input=1', 'normalize_output=0',
6957                 and 'lambda_xy=0'.
6958
6959           plane3d:
6960               _size_x,_size_y,_nb_subdivisions_x>0,_nb_subdisivions_y>0
6961
6962               Input 3D plane at (0,0,0), with specified geometry.
6963
6964               Default  values:  'size_x=1',  'size_y=size_x' and 'nb_subdivi‐
6965       sions_x=nb_subdivisions_y=24'.
6966
6967           point3d:
6968               x0,y0,z0
6969
6970               Input 3D point at specified coordinates.
6971
6972           pointcloud3d:
6973
6974               Convert selected  planar  or  volumetric  images  to  3D  point
6975       clouds.
6976
6977           pose3d:
6978               p1,...,p12
6979
6980               Apply 3D pose matrix to selected 3D objects.
6981
6982           primitives3d:
6983               mode
6984
6985               Convert primitives of selected 3D objects.
6986               (eq. to 'p3d').
6987               'mode' can be { 0=points | 1=outlines | 2=non-textured }.
6988
6989           projections3d:
6990               _x[%],_y[%],_z[%],_is_bounding_box={ 0 | 1 }
6991
6992               Generate  3D xy,xz,yz projection planes from specified volumet‐
6993       ric images.
6994
6995           pyramid3d:
6996               width,height
6997
6998               Input 3D pyramid at (0,0,0), with specified geometry.
6999
7000           quadrangle3d:
7001               x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3
7002
7003               Input 3D quadrangle at specified coordinates.
7004
7005           random3d:
7006               nb_points>=0
7007
7008               Input random 3D point cloud in [0,1]^3.
7009
7010           reverse3d (+):
7011
7012               Reverse primitive orientations of selected 3D objects.
7013               (eq. to 'rv3d').
7014
7015           rotate3d (+):
7016               u,v,w,angle
7017
7018               Rotate selected 3D objects around specified axis with specified
7019       angle (in deg.).
7020               (eq. to 'r3d').
7021
7022           rotation3d:
7023               u,v,w,angle
7024
7025               Input  3x3  rotation  matrix  with specified axis and angle (in
7026       deg).
7027
7028           sierpinski3d:
7029               _recursion_level>=0,_width,_height
7030
7031               Input 3d Sierpinski pyramid.
7032
7033           size3d:
7034
7035               Return bounding box size of the last selected 3D object.
7036
7037           skeleton3d:
7038               _metric,_frame_type={ 0=squares  |  1=diamonds  |  2=circles  |
7039       3=auto },
7040                 _skeleton_opacity,_frame_opacity,_is_frame_wireframe={  0 | 1
7041       }
7042
7043               Build 3D  skeletal  structure  object  from  2d  binary  shapes
7044       located in selected images.
7045               'metric' can be { 0=chebyshev | 1=manhattan | 2=euclidean }.
7046
7047               Default  values:  'metric=2',  'bones_type=3',  'skeleton_opac‐
7048       ity=1' and 'frame_opacity=0.1'.
7049
7050           snapshot3d:
7051               _size>0,_zoom>=0,_backgroundR,_backgroundG,_backgroundB,_back‐
7052       groundA |
7053               [background_image],zoom>=0
7054
7055               Take 2d snapshots of selected 3D objects.
7056               Set 'zoom' to 0 to disable object auto-scaling.
7057
7058               Default    values:    'size=512',    'zoom=1'    and    '[back‐
7059       ground_image]=(default)'.
7060
7061           specl3d (+):
7062               value>=0
7063
7064               Set lightness of 3D specular light.
7065               (eq. to 'sl3d').
7066
7067               Default value: 'value=0.15'.
7068
7069           specs3d (+):
7070               value>=0
7071
7072               Set shininess of 3D specular light.
7073               (eq. to 'ss3d').
7074
7075               Default value: 'value=0.8'.
7076
7077           sphere3d (+):
7078               radius,_nb_recursions>=0
7079
7080               Input 3D sphere at (0,0,0), with specified geometry.
7081
7082               Default value: 'nb_recursions=3'.
7083
7084           spherical3d:
7085               _nb_azimuth>=3,_nb_zenith>=3,_radius_function(phi,theta)
7086
7087               Input 3D spherical object at (0,0,0), with specified geometry.
7088
7089               Default  values:  'nb_zenith=nb_azimut=64'  and   'radius_func‐
7090       tion="abs(1+0.5*cos(3*phi)*sin(4*
7091                 theta))"'.
7092
7093           spline3d:
7094               x0[%],y0[%],z0[%],u0[%],v0[%],w0[%],x1[%],y1[%],z1[%],u1[%],v1[%],w1[%],
7095                 _nb_vertices>=2
7096
7097               Input 3D spline with specified geometry.
7098
7099               Default values: 'nb_vertices=128'.
7100
7101           split3d (+):
7102               _keep_shared_data={ 0 | 1 }
7103
7104               Split selected 3D objects into 6 feature vectors :
7105               { header, sizes, vertices, primitives, colors, opacities }.
7106               (eq. to 's3d').
7107               To recreate the 3D object, append these 6 images along  the  y-
7108       axis.
7109
7110               Default value: 'keep_shared_data=1'.
7111
7112           sprite3d:
7113
7114               Convert selected images as 3D sprites.
7115               Selected images with alpha channels are managed.
7116
7117           sprites3d:
7118               [sprite],_sprite_has_alpha_channel={ 0 | 1 }
7119
7120               Convert selected 3D objects as a sprite cloud.
7121               Set 'sprite_has_alpha_channel' to 1 to make the last channel of
7122       the selected sprite be a
7123                 transparency mask.
7124
7125               Default value: 'mask_has_alpha_channel=0'.
7126
7127           star3d:
7128               _nb_branches>0,0<=_thickness<=1
7129
7130               Input 3D star at (0,0,0), with specified geometry.
7131
7132               Default values: 'nb_branches=5' and 'thickness=0.38'.
7133
7134           streamline3d (+):
7135               x[%],y[%],z[%],_L>=0,_dl>0,_interpolation,_is_backward={ 0 |  1
7136       },_is_oriented={ 0 | 1 } |
7137               'formula',x,y,z,_L>=0,_dl>0,_interpolation,_is_backward={ 0 | 1
7138       },
7139                 _is_oriented={ 0 | 1 }
7140
7141               Extract 3D streamlines from  selected  vector  fields  or  from
7142       specified formula.
7143               'interpolation'  can  be  {  0=nearest  integer | 1=1st-order |
7144       2=2nd-order | 3=4th-order }.
7145
7146               Default values:  'dl=0.1',  'interpolation=2',  'is_backward=0'
7147       and 'is_oriented=0'.
7148
7149           sub3d (+):
7150               tx,_ty,_tz
7151
7152               Shift  selected  3D objects with the opposite of specified dis‐
7153       placement vector.
7154               (eq. to '3d').
7155
7156               Default values: 'ty=tz=0'.
7157
7158           superformula3d:
7159               resolution>1,m>=1,n1,n2,n3
7160
7161               Input 2D superformula curve as a 3D object.
7162
7163               Default values: 'resolution=1024', 'm=8',  'n1=1',  'n2=5'  and
7164       'n3=8'.
7165
7166           tensors3d:
7167               _radius_factor>=0,_shape={      0=box      |      >=N=ellipsoid
7168       },_radius_min>=0
7169
7170               Generate 3D tensor fields from selected images.
7171               when 'shape'>0, it gives the ellipsoid shape precision.
7172
7173               Default    values:     'radius_factor=1',     'shape=2'     and
7174       'radius_min=0.05'.
7175
7176           text_pointcloud3d:
7177               _"text1",_"text2",_smoothness
7178
7179               Input 3D text pointcloud from the two specified strings.
7180
7181               Default  values:  'text1="text1"', 'text2="text2"' and 'smooth‐
7182       ness=1'.
7183
7184           text3d:
7185               text,_font_height>0,_depth>0,_smoothness
7186
7187               Input a 3D text object from specified text.
7188
7189               Default  values:  'font_height=53',  'depth=10'  and   'smooth‐
7190       ness=1.5'.
7191
7192           texturize3d:
7193               [ind_texture],_[ind_coords]
7194
7195               Texturize  selected 3D objects with specified texture and coor‐
7196       dinates.
7197               (eq. to 't3d').
7198               When '[ind_coords]' is omitted, default XY  texture  projection
7199       is performed.
7200
7201               Default value: 'ind_coords=(undefined)'.
7202
7203           torus3d:
7204               _radius1,_radius2,_nb_subdivisions1>2,_nb_subdivisions2>2
7205
7206               Input 3D torus at (0,0,0), with specified geometry.
7207
7208               Default   values:   'radius1=1',   'radius2=0.3',  'nb_subdivi‐
7209       sions1=24' and 'nb_subdivisions2=12'.
7210
7211           triangle3d:
7212               x0,y0,z0,x1,y1,z1,x2,y2,z2
7213
7214               Input 3D triangle at specified coordinates.
7215
7216           volume3d:
7217
7218               Transform selected 3D volumetric images as 3D  parallelepipedic
7219       objects.
7220
7221           weird3d:
7222               _resolution>0
7223
7224               Input 3D weird object at (0,0,0), with specified resolution.
7225
7226               Default value: 'resolution=32'.
7227
7228        ** Control Flow:
7229
7230           apply_parallel:
7231               "command"
7232
7233               Apply specified command on each of the selected images, by par‐
7234       allelizing it for all image of the list.
7235               (eq. to 'ap').
7236
7237           apply_parallel_channels:
7238               "command"
7239
7240               Apply specified command on each of the selected images, by par‐
7241       allelizing it for all channel
7242               of the images independently.
7243               (eq. to 'apc').
7244
7245           apply_parallel_overlap:
7246               "command",overlap[%],nb_threads={ 0=auto | 1 | 2 | 4 | 8 | 16 }
7247
7248               Apply specified command on each of the selected images, by par‐
7249       allelizing it on 'nb_threads'
7250               overlapped sub-images.
7251               (eq. to 'apo').
7252               'nb_threads' must be a power of 2.
7253
7254               Default values: 'overlap=0','nb_threads=0'.
7255
7256           apply_tiles:
7257               "command",_tile_width[%]>0,_tile_height[%]>0,_tile_depth[%]>0,
7258                 _overlap_width[%]>=0,_overlap_height[%]>=0,_over‐
7259       lap_depth[%]>=0,
7260                 _boundary_conditions={ 0=dirichlet | 1=neumann | 2=periodic |
7261       3=mirror }
7262
7263               Apply specified command on  each  tile  (neighborhood)  of  the
7264       selected images, eventually with
7265                 overlapping tiles.
7266               (eq. to 'at').
7267
7268               Default values: 'tile_width=tile_height=tile_depth=10%',
7269                 'overlap_width=overlap_height=overlap_depth=0'   and  'bound‐
7270       ary_conditions=1'.
7271
7272           apply_timeout:
7273               "command",_timeout={ 0=no timeout | >0=with  specified  timeout
7274       (in seconds) }
7275
7276               Apply a command with a timeout.
7277               Set variable '$_is_timeout' to '1' if timeout occured, '0' oth‐
7278       erwise.
7279
7280           check (+):
7281               condition
7282
7283               Evaluate specified condition and display an  error  message  if
7284       evaluated to false.
7285               If  'expression'  is not a math expression, it is regarded as a
7286       filename and checked if it exists.
7287
7288           check3d (+):
7289               _is_full_check={ 0 | 1 }
7290
7291               Check validity of selected 3D vector objects,  and  display  an
7292       error message
7293               if one of the selected images is not a valid 3D vector object.
7294               Full 3D object check is slower but more precise.
7295
7296               Default value: 'is_full_check=1'.
7297
7298           check_display:
7299
7300               Check if a display is available, and throw an error otherwise.
7301
7302           continue (+):
7303
7304               Go   to   end   of  current  'repeat...done',  'do...while'  or
7305       'local...endlocal' block.
7306
7307           break (+):
7308
7309               Break current 'repeat...done', 'do...while' or  'local...endlo‐
7310       cal' block.
7311
7312           do (+):
7313
7314               Start a 'do...while' block.
7315
7316           done (+):
7317
7318               End   a   'repeat/for...done'   block,  and  go  to  associated
7319       'repeat/for' position, if iterations remain.
7320
7321           elif (+):
7322               condition
7323
7324               Start a 'elif...[else]...fi' block if  previous  'if'  was  not
7325       verified
7326               and  test if specified condition is true, or if specified file‐
7327       name exists.
7328               'boolean' can be a  float  number  standing  for  {  0=false  |
7329       other=true }.
7330
7331           else (+):
7332
7333               Execute  following  commands  if previous 'if' or 'elif' condi‐
7334       tions failed.
7335
7336           endif (+):
7337
7338               End a 'if...[elif]...[else]...endif' block.
7339               (eq. to 'fi').
7340
7341           endlocal (+):
7342
7343               End a 'local...endlocal' block.
7344               (eq. to 'endl').
7345
7346           error (+):
7347               message
7348
7349               Print specified error message on the  standard  error  (stderr)
7350       and exit interpreter, except
7351               if error is caught by a 'onfail' command.
7352               Command selection (if any) stands for displayed call stack sub‐
7353       set instead of image indices.
7354
7355           eval (+):
7356               expression
7357
7358               Evaluate specified math expression.
7359               - If no command selection is specified, the expression is eval‐
7360       uated once and its result is set
7361                 to status.
7362               -  If  command selection is specified, the evaluation is looped
7363       over selected images. Status is
7364                 not modified.
7365               (in this latter case,  'eval'  is  similar  to  'fill'  without
7366       assigning the image values).
7367
7368           exec (+):
7369               _is_verbose={ 0 | 1 },"command"
7370
7371               Execute external command using a system call.
7372               The  status value is then set to the error code returned by the
7373       system call.
7374               If 'is_verbose=1', the executed command is allowed to output on
7375       stdout/stderr.
7376               (eq. to 'x').
7377
7378               Default value: 'is_verbose=1'.
7379
7380           for (+):
7381               condition
7382
7383               Start a 'for...done' block.
7384
7385           if (+):
7386               condition
7387
7388               Start a 'if...[elif]...[else]...fi' block and test if specified
7389       condition is true,
7390               or if specified filename exists.
7391               'boolean' can be a  float  number  standing  for  {  0=false  |
7392       other=true }.
7393
7394           local (+):
7395
7396               Start  a  'local...[onfail]...endlocal'  block,  with  selected
7397       images.
7398               (eq. to 'l').
7399
7400           mutex (+):
7401               index,_action={ 0=unlock | 1=lock }
7402
7403               Lock or unlock specified mutex for multi-threaded programming.
7404               A locked mutex can be unlocked only by  the  same  thread.  All
7405       mutexes are unlocked by default.
7406               'index' designates the mutex index, in [0,255].
7407
7408               Default value: 'action=1'.
7409
7410           noarg (+):
7411
7412               Used  in  a  custom command, 'noarg' tells the command that its
7413       argument list have not been used
7414               finally, and so they must be evaluated next in the G'MIC  pipe‐
7415       line, just as if the custom
7416               command takes no arguments at all.
7417               Use  this command to write a custom command which can decide if
7418       it takes arguments or not.
7419
7420           onfail (+):
7421
7422               Execute following commands when an error is encountered in  the
7423       body of the 'local...endlocal' block.
7424               The status value is set with the corresponding error message.
7425
7426           parallel (+):
7427               _wait_threads,"command1","command2",...
7428
7429               Execute  specified  commands  in  parallel, each in a different
7430       thread.
7431               Parallel threads share the list of images.
7432               'wait_threads' can be  {  0=when  current  environment  ends  |
7433       1=immediately }.
7434
7435               Default value: 'wait_threads=1'.
7436
7437           progress (+):
7438               0<=value<=100 |
7439               -1
7440
7441               Set the progress index of the current processing pipeline.
7442               This  command is useful only when G'MIC is used by an embedding
7443       application.
7444
7445           quit (+):
7446
7447               Quit G'MIC interpreter.
7448               (eq. to 'q').
7449
7450           repeat (+):
7451               nb_iterations,_variable_name
7452
7453               Start iterations of a 'repeat...done' block.
7454
7455           return (+):
7456
7457               Return from current custom command.
7458
7459           rprogress:
7460               0<=value<=100          |          -1          |           "com‐
7461       mand",0<=value_min<=100,0<=value_max<=100
7462
7463               Set the progress index of the current processing pipeline (rel‐
7464       atively to
7465               previously defined progress bounds), or call the specified com‐
7466       mand with
7467               specified progress bounds.
7468
7469           run:
7470               "G'MIC pipeline"
7471
7472               Run specified G'MIC pipeline.
7473               This is only useful when used from a shell, e.g. to avoid shell
7474       substitutions to happen in argument.
7475
7476           skip (+):
7477               item
7478
7479               Do nothing but skip specified item.
7480
7481           status (+):
7482               status_string
7483
7484               Set the current status. Used to define a returning value from a
7485       function.
7486               (eq. to 'u').
7487
7488           while (+):
7489               condition
7490
7491               End a 'do...while' block and go back to associated 'do'
7492               if specified condition is true or if specified filename exists.
7493               'boolean'  can  be  a  float  number  standing  for { 0=false |
7494       other=true }.
7495
7496        ** Arrays, Tiles and Frames:
7497
7498           array:
7499               M>0,_N>0,_expand_type={ 0=min | 1=max | 2=all }
7500
7501               Create MxN array from selected images.
7502
7503               Default values: 'N=M' and 'expand_type=0'.
7504
7505           array_fade:
7506               M>0,_N>0,0<=_fade_start<=100,0<=_fade_end<=100,_expand_type={0=min
7507       | 1=max | 2=all}
7508
7509               Create MxN array from selected images.
7510
7511               Default   values:  'N=M',  'fade_start=60',  'fade_end=90'  and
7512       'expand_type=1'.
7513
7514           array_mirror:
7515               N>=0,_dir={ 0=x | 1=y | 2=xy | 3=tri-xy },_expand_type={ 0 |  1
7516       }
7517
7518               Create 2^Nx2^N array from selected images.
7519
7520               Default values: 'dir=2' and 'expand_type=0'.
7521
7522           array_random:
7523               Ms>0,_Ns>0,_Md>0,_Nd>0
7524
7525               Create MdxNd array of tiles from selected MsxNs source arrays.
7526
7527               Default values: 'Ns=Ms', 'Md=Ms' and 'Nd=Ns'.
7528
7529           frame_blur:
7530               _sharpness>0,_size>=0,_smoothness,_shading,_blur
7531
7532               Draw RGBA-colored round frame in selected images.
7533
7534               Default   values:  'sharpness=10',  'size=30',  'smoothness=0',
7535       'shading=1' and 'blur=3%'.
7536
7537           frame_cube:
7538               _depth>=0,_centering_x,_centering_y,_left_side={0=normal      |
7539       1=mirror-x |
7540                 2=mirror-y | 3=mirror-xy},_right_side,_lower_side,_upper_side
7541
7542               Insert 3D frames in selected images.
7543
7544               Default   values:  'depth=1',  'centering_x=centering_y=0'  and
7545       'left_side=right_side,
7546                 lower_side=upper_side=0'.
7547
7548           frame_fuzzy:
7549               size_x[%]>=0,_size_y[%]>=0,_fuzzyness>=0,_smooth‐
7550       ness[%]>=0,_R,_G,_B,_A
7551
7552               Draw RGBA-colored fuzzy frame in selected images.
7553
7554               Default  values: 'size_y=size_x', 'fuzzyness=5', 'smoothness=1'
7555       and 'R=G=B=A=255'.
7556
7557           frame_painting:
7558               _size[%]>=0,0<=_contrast<=1,_profile_smoothness[%]>=0,_R,_G,_B,
7559                 _vignette_size[%]>=0,_vignette_contrast>=0,_defects_con‐
7560       trast>=0,
7561                 0<=_defects_density<=100,_defects_size>=0,_defects_smooth‐
7562       ness[%]>=0,
7563                 _serial_number
7564
7565               Add a painting frame to selected images.
7566
7567               Default values:  'size=10%',  'contrast=0.4',  'profile_smooth‐
7568       ness=6%', 'R=225', 'G=200', 'B=120',
7569                 'vignette_size=2%',   'vignette_contrast=400',  'defects_con‐
7570       trast=50', 'defects_density=10',
7571                 'defects_size=1', 'defects_smoothness=0.5%' and  'serial_num‐
7572       ber=123456789'.
7573
7574           frame_pattern:
7575               M>=3,_constrain_size={ 0 | 1 } |
7576               M>=3,_[frame_image],_constrain_size={ 0 | 1 }
7577
7578               Insert selected pattern frame in selected images.
7579
7580               Default values: 'pattern=0' and 'constrain_size=0'.
7581
7582           frame_round:
7583               _sharpness>0,_size>=0,_smoothness,_shading,_R,_G,_B,_A
7584
7585               Draw RGBA-colored round frame in selected images.
7586
7587               Default   values:  'sharpness=10',  'size=10',  'smoothness=0',
7588       'shading=0' and 'R=G=B=A=255'.
7589
7590           frame_seamless:
7591               frame_size>=0,_patch_size>0,_blend_size>=0,_frame_direction={
7592       0=inner (preserve
7593                 image size) | 1=outer }
7594
7595               Insert  frame  in selected images, so that tiling the resulting
7596       image makes less visible seams.
7597
7598               Default    values:    'patch_size=7',    'blend_size=5'     and
7599       'frame_direction=1'.
7600
7601           frame_x:
7602               size_x[%],_col1,...,_colN
7603
7604               Insert colored frame along the x-axis in selected images.
7605
7606               Default values: 'col1=col2=col3=255' and 'col4=255'.
7607
7608           frame_xy:
7609               size_x[%],_size_y[%],_col1,...,_colN
7610
7611               Insert colored frame along the x-axis in selected images.
7612
7613               Default   values:   'size_y=size_x',  'col1=col2=col3=255'  and
7614       'col4=255'.
7615               (eq. to 'frame').
7616
7617           frame_xyz:
7618               size_x[%],_size_y[%],_size_z[%]_col1,...,_colN
7619
7620               Insert colored frame along the x-axis in selected images.
7621
7622               Default  values:  'size_y=size_x=size_z',  'col1=col2=col3=255'
7623       and 'col4=255'.
7624
7625           frame_y:
7626               size_y[%],_col1,...,_colN
7627
7628               Insert colored frame along the y-axis in selected images.
7629
7630               Default values: 'col1=col2=col3=255' and 'col4=255'.
7631
7632           img2ascii:
7633               _charset,_analysis_scale>0,_analysis_smoothness[%]>=0,_synthe‐
7634       sis_scale>0,
7635                 _output_ascii_filename
7636
7637               Render selected images as binary ascii art.
7638               This command returns the corresponding the list of  widths  and
7639       heights (expressed as a number of
7640                 characters)
7641               for each selected image.
7642
7643               Default values: 'charset=[ascii charset]', 'analysis_scale=16',
7644       'analysis_smoothness=20%',
7645                 'synthesis_scale=16'    and    '_output_ascii_filename=[unde‐
7646       fined]'.
7647
7648           imagegrid:
7649               M>0,_N>0
7650
7651               Create MxN image grid from selected images.
7652
7653               Default value: 'N=M'.
7654
7655           imagegrid_hexagonal:
7656               _resolution>0,0<=_outline<=1
7657
7658               Create hexagonal grids from selected images.
7659
7660               Default     values:    'resolution=32',    'outline=0.1'    and
7661       'is_antialiased=1'.
7662
7663           imagegrid_triangular:
7664               pattern_width>=1,_pattern_height>=1,_pattern_type,0<=_out‐
7665       line_opacity<=1,
7666                 _outline_color1,...
7667
7668               Create triangular grids from selected images.
7669               'pattern type' can be { 0=horizontal | 1=vertical | 2=crossed |
7670       3=cube | 4=decreasing |
7671                 5=increasing }.
7672
7673               Default   values:   'pattern_width=24',    'pattern_height=pat‐
7674       tern_width', 'pattern_type=0',
7675                 'outline_opacity=0.1' and 'outline_color1=0'.
7676
7677           linearize_tiles:
7678               M>0,_N>0
7679
7680               Linearize MxN tiles on selected images.
7681
7682               Default value: 'N=M'.
7683
7684           map_sprites:
7685               _nb_sprites>=1,_allow_rotation={  0=none  |  1=90  deg. | 2=180
7686       deg. }
7687
7688               Map set of sprites (defined as the 'nb_sprites'  latest  images
7689       of the selection) to other
7690                 selected images,
7691               according to the luminosity of their pixel values.
7692
7693           pack:
7694               is_ratio_constraint={ 0 | 1 },_sort_criterion
7695
7696               Pack selected images into a single image.
7697               The  returned status contains the list of new (x,y) offsets for
7698       each input image.
7699               Parameter 'is_ratio_constraint' tells if  the  resulting  image
7700       must tend to a square image.
7701
7702               Default   values:   'is_ratio_constraint=0'   and  'sort_crite‐
7703       rion=max(w,h)'.
7704
7705           puzzle:
7706               _width>0,_height>0,_M>=1,_N>=1,_curvature,_centering,_connec‐
7707       tors_variability,
7708                 _resolution>=1
7709
7710               Input puzzle binary mask with specified size and geometry.
7711
7712               Default  values:  'width=height=512', 'M=N=5', 'curvature=0.5',
7713       'centering=0.5',
7714                 'connectors_variability=0.5' and 'resolution=64'.
7715
7716           quadratize_tiles:
7717               M>0,_N>0
7718
7719               Quadratize MxN tiles on selected images.
7720
7721               Default value: 'N=M'.
7722
7723           rotate_tiles:
7724               angle,_M>0,N>0
7725
7726               Apply MxN tiled-rotation effect on selected images.
7727
7728               Default values: 'M=8' and 'N=M'.
7729
7730           shift_tiles:
7731               M>0,_N>0,_amplitude
7732
7733               Apply MxN tiled-shift effect on selected images.
7734
7735               Default values: 'N=M' and 'amplitude=20'.
7736
7737           taquin:
7738               M>0,_N>0,_remove_tile={ 0=none | 1=first |  2=last  |  3=random
7739       },_relief,
7740                 _border_thickness[%],_border_outline[%],_outline_color
7741
7742               Create MxN taquin puzzle from selected images.
7743
7744               Default  value: 'N=M', 'relief=50', 'border_thickness=5', 'bor‐
7745       der_outline=0' and 'remove_tile=0'.
7746
7747           tunnel:
7748               _level>=0,_factor>0,_centering_x,_centering_y,_opacity,_angle
7749
7750               Apply tunnel effect on selected images.
7751
7752               Default values: 'level=9',  'factor=80%',  'centering_x=center‐
7753       ing_y=0.5', 'opacity=1' and 'angle=0'
7754
7755        ** Artistic:
7756
7757           boxfitting:
7758               _min_box_size>=1,_max_box_size>=0,_initial_den‐
7759       sity>=0,_nb_attempts>=1
7760
7761               Apply box fitting effect on selected images, as  displayed  the
7762       web page:
7763               [http://www.complexification.net/gallery/machines/boxFit
7764       tingImg/]
7765
7766               Default  values:  'min_box_size=1',   'max_box_size=0',   'ini‐
7767       tial_density=0.1' and 'nb_attempts=3'.
7768
7769           brushify:
7770               [brush],_brush_nb_sizes>=1,0<=_brush_min_size_factor<=1,
7771                 _brush_nb_orienta‐
7772       tions>=1,_brush_light_type,0<=_brush_light_strength<=1,
7773                 _brush_opacity,_painting_density[%]>=0,0<=_painting_con‐
7774       tours_coherence<=1,
7775                 0<=_painting_orientation_coherence<=1,_painting_coher‐
7776       ence_alpha[%]>=0,
7777                 _painting_coherence_sigma[%]>=0,_painting_primary_angle,
7778                 0<=_painting_angle_dispersion<=1
7779
7780               Apply specified brush to create painterly versions of specified
7781       images.
7782               'brush_light_type'  can  be  {  0=none  |  1=flat  | 2=darken |
7783       3=lighten | 4=full }.
7784
7785               Default   values:   'brush_nb_sizes=3',    'brush_min_size_fac‐
7786       tor=0.66', 'brush_nb_orientations=12',
7787                 'brush_light_type=0',            'brush_light_strength=0.25',
7788       'brush_opacity=0.8', 'painting_density=20%',
7789                 'painting_contours_coherence=0.9',         'painting_orienta‐
7790       tion_coherence=0.9',
7791                 'painting_coherence_alpha=1',   'painting_coherence_sigma=1',
7792       'painting_primary_angle=0',
7793                 'painting_angle_dispersion=0.2'
7794
7795           cartoon:
7796               _smoothness,_sharpening,_threshold>=0,_thick‐
7797       ness>=0,_color>=0,quantization>0
7798
7799               Apply cartoon effect on selected images.
7800
7801               Default   values:  'smoothness=3',  'sharpening=150',  'thresh‐
7802       old=20', 'thickness=0.25', 'color=1.5'
7803                 and 'quantization=8'.
7804
7805           color_ellipses:
7806               _count>0,_radius>=0,_opacity>=0
7807
7808               Add random color ellipses to selected images.
7809
7810               Default values: 'count=400', 'radius=5' and 'opacity=0.1'.
7811
7812           cubism:
7813               _density>=0,0<=_thickness<=50,_max_angle,_opacity,_smooth‐
7814       ness>=0
7815
7816               Apply cubism effect on selected images.
7817
7818               Default  values:  'density=50', 'thickness=10', 'max_angle=75',
7819       'opacity=0.7' and 'smoothness=0'.
7820
7821           draw_whirl:
7822               _amplitude>=0
7823
7824               Apply whirl drawing effect on selected images.
7825
7826               Default value: 'amplitude=100'.
7827
7828           drawing:
7829               _amplitude>=0
7830
7831               Apply drawing effect on selected images.
7832
7833               Default value: 'amplitude=200'.
7834
7835           drop_shadow:
7836               _offset_x[%],_offset_y[%],_smoothness[%]>=0,0<=_curva‐
7837       ture<=1,_expand_size={ 0 | 1 }
7838
7839               Drop shadow behind selected images.
7840
7841               Default  values:  'offset_x=20',  'offset_y=offset_x', 'smooth‐
7842       ness=5', 'curvature=0' and
7843                 'expand_size=1'.
7844
7845           ellipsionism:
7846               _R>0[%],_r>0[%],_smoothness>=0[%],_opacity,_outline>0,_den‐
7847       sity>0
7848
7849               Apply ellipsionism filter to selected images.
7850
7851               Default  values: 'R=10', 'r=3', 'smoothness=1%', 'opacity=0.7',
7852       'outline=8' and 'density=0.6'.
7853
7854           fire_edges:
7855               _edges>=0,0<=_attenuation<=1,_smoothness>=0,_thresh‐
7856       old>=0,_nb_frames>0,
7857                 _starting_frame>=0,frame_skip>=0
7858
7859               Generate fire effect from edges of selected images.
7860
7861               Default   values:   'edges=0.7',  'attenuation=0.25',  'smooth‐
7862       ness=0.5', 'threshold=25',
7863                 'nb_frames=1', 'starting_frame=20' and 'frame_skip=0'.
7864
7865           fractalize:
7866               0<=detail_level<=1
7867
7868               Randomly fractalize selected images.
7869
7870               Default value: 'detail_level=0.8'
7871
7872           glow:
7873               _amplitude>=0
7874
7875               Add soft glow on selected images.
7876
7877               Default value: 'amplitude=1%'.
7878
7879           halftone:
7880               nb_levels>=2,_size_dark>=2,_size_bright>=2,_shape={ 0=square  |
7881       1=diamond |
7882                 2=circle   |  3=inv-square  |  4=inv-diamond  |  5=inv-circle
7883       },_smoothness[%]>=0
7884
7885               Apply halftone dithering to selected images.
7886
7887               Default values: 'nb_levels=5', 'size_dark=8',  'size_bright=8',
7888       'shape=5' and 'smoothnesss=0'.
7889
7890           hardsketchbw:
7891               _amplitude>=0,_density>=0,_opacity,0<=_edge_thresh‐
7892       old<=100,_is_fast={ 0 | 1 }
7893
7894               Apply hard B&W sketch effect on selected images.
7895
7896               Default values: 'amplitude=1000', 'sampling=3',  'opacity=0.1',
7897       'edge_threshold=20' and
7898                 'is_fast=0'.
7899
7900           hearts:
7901               _density>=0
7902
7903               Apply heart effect on selected images.
7904
7905               Default value: 'density=10'.
7906
7907           houghsketchbw:
7908               _density>=0,_radius>0,0<=_threshold<=100,0<=_opacity<=1,_vote‐
7909       size[%]>0
7910
7911               Apply hough B&W sketch effect on selected images.
7912
7913               Default values: 'density=8', 'radius=5', 'threshold=80', 'opac‐
7914       ity=0.1' and 'votesize=100%'.
7915
7916           lightrays:
7917               100<=_density<=0,_center_x[%],_cen‐
7918       ter_y[%],_ray_length>=0,_ray_attenuation>=0
7919
7920               Generate ray lights from the edges of selected images.
7921               Defaults  values   :   'density=50%',   'center_x=50%',   'cen‐
7922       ter_y=50%', 'ray_length=0.9' and
7923                 'ray_attenuation=0.5'.
7924
7925           light_relief:
7926               _ambient_light,_specular_lightness,_specular_size,_dark‐
7927       ness,_light_smoothness,
7928                 _xl,_yl,_zl,_zscale,_opacity_is_heightmap={ 0 | 1 }
7929
7930               Apply relief light to selected images.
7931               Default  values(s)  :   'ambient_light=0.3',   'specular_light‐
7932       ness=0.5', 'specular_size=0.2',
7933                 'darkness=0', 'xl=0.2', 'yl=zl=0.5',
7934               'zscale=1', 'opacity=1' and 'opacity_is_heightmap=0'.
7935
7936           linify:
7937               0<=_density<=100,_spreading>=0,_resolution[%]>0,_line_opac‐
7938       ity>=0,
7939                 _line_precision>0,_mode={ 0=subtractive | 1=additive }
7940
7941               Apply linify effect on selected images.
7942               The algorithm is inspired from the one described on the webpage
7943       'http://linify.me/about'.
7944
7945               Default  values: 'density=50', 'spreading=2', 'resolution=40%',
7946       'line_opacity=10',
7947                 'line_precision=24' and 'mode=0'.
7948
7949           mosaic:
7950               0<=_density<=100
7951
7952               Create random mosaic from selected images.
7953
7954               Default values: 'density=30'.
7955
7956           old_photo:
7957
7958               Apply old photo effect on selected images.
7959
7960           pencilbw:
7961               _size>=0,_amplitude>=0
7962
7963               Apply B&W pencil effect on selected images.
7964
7965               Default values: 'size=0.3' and 'amplitude=60'.
7966
7967           pixelsort:
7968               _ordering={ + | - },_axis={ x | y |  z  |  xy  |  yx  },_[sort‐
7969       ing_criterion],_[mask]
7970
7971               Apply  a  'pixel  sorting'  algorithm  on  selected  images, as
7972       described in the page :
7973               http://satyarth.me/articles/pixel-sorting/
7974
7975               Default  values:  'ordering=+',  'axis=x'  and  'sorting_crite‐
7976       rion=mask=(undefined)'.
7977
7978           polaroid:
7979               _size1>=0,_size2>=0
7980
7981               Create polaroid effect in selected images.
7982
7983               Default values: 'size1=10' and 'size2=20'.
7984
7985           polygonize:
7986               _warp_amplitude>=0,_smoothness[%]>=0,_min_area[%]>=0,_resolu‐
7987       tion_x[%]>0,
7988                 _resolution_y[%]>0
7989
7990               Apply polygon effect on selected images.
7991
7992               Default    values:    'warp_amplitude=300',    'smoothness=2%',
7993       'min_area=0.1%',
7994                 'resolution_x=resolution_y=10%'.
7995
7996           poster_edges:
7997               0<=_edge_threshold<=100,0<=_edge_shade<=100,_edge_thickness>=0,
7998                 _edge_antialiasing>=0,0<=_posterization_level<=15,_posteriza‐
7999       tion_antialiasing>=0
8000
8001               Apply poster edges effect on selected images.
8002
8003               Default    values:     'edge_threshold=40',     'edge_shade=5',
8004       'edge_thickness=0.5',
8005                 'edge_antialiasing=10', 'posterization_level=12' and 'poster‐
8006       ization_antialiasing=0'.
8007
8008           poster_hope:
8009               _smoothness>=0
8010
8011               Apply Hope stencil poster effect on selected images.
8012
8013               Default value: 'smoothness=3'.
8014
8015           rodilius:
8016               0<=_amplitude<=100,_0<=thickness<=100,_sharpness>=0,_nb_orien‐
8017       tations>0,_offset,
8018                 _color_mode={ 0=darker | 1=brighter }
8019
8020               Apply rodilius (fractalius-like) filter on selected images.
8021
8022               Default   values:   'amplitude=10',   'thickness=10',   'sharp‐
8023       ness=400', 'nb_orientations=7',
8024                 'offset=0' and 'color_mode=1'.
8025
8026           sketchbw:
8027               _nb_angles>0,_start_angle,_angle_range>=0,_length>=0,_thresh‐
8028       old>=0,_opacity,
8029                 _bgfactor>=0,_density>0,_sharpness>=0,_anisotropy>=0,_smooth‐
8030       ness>=0,
8031                 _coherence>=0,_is_boost={ 0 | 1 },_is_curved={ 0 | 1 }
8032
8033               Apply sketch effect to selected images.
8034
8035               Default      values:      'nb_angles=2',      'start_angle=45',
8036       'angle_range=180', 'length=30', 'threshold=3',
8037                 'opacity=0.03', 'bgfactor=0', 'density=0.6', 'sharpness=0.1',
8038       'anisotropy=0.6', 'smoothness=0.
8039                 25', 'coherence=1', 'is_boost=0' and 'is_curved=1'.
8040
8041           sponge:
8042               _size>0
8043
8044               Apply sponge effect on selected images.
8045
8046               Default value: 'size=13'.
8047
8048           stained_glass:
8049               _edges[%]>=0, shading>=0, is_thin_separators={ 0 | 1 }
8050
8051               Generate stained glass from selected images.
8052
8053               Default values: 'edges=40%', 'shading=0.2' and 'is_precise=0'.
8054
8055           stars:
8056               _density[%]>=0,_depth>=0,_size>0,_nb_branches>=1,0<=_thick‐
8057       ness<=1,
8058                 _smoothness[%]>=0,_R,_G,_B,_opacity
8059
8060               Add random stars to selected images.
8061
8062               Default    values:    'density=10%',    'depth=1',   'size=32',
8063       'nb_branches=5', 'thickness=0.38',
8064                 'smoothness=0.5', 'R=G=B=200' and 'opacity=1'.
8065
8066           stencil:
8067               _radius[%]>=0,_smoothness>=0,_iterations>=0
8068
8069               Apply stencil filter on selected images.
8070
8071               Default values: 'radius=3', 'smoothness=1' and 'iterations=8'.
8072
8073           stencilbw:
8074               _edges>=0,_smoothness>=0
8075
8076               Apply B&W stencil effect on selected images.
8077
8078               Default values: 'edges=15' and 'smoothness=10'.
8079
8080           stylize:
8081               [style_image],_fidelity_finest,_fidelity_coarsest,
8082                 _fidelity_smoothness_finest>=0,_fidelity_smoothnes_coars‐
8083       est>=0,
8084                 0<=_fidelity_chroma<=1,_init_type,_init_resolu‐
8085       tion>=0,init_max_gradient>=0,
8086                 _patchsize_analysis>0,_patchsize_synthesis>0,_patchsize_syn‐
8087       thesis_final>0,
8088                 _nb_matches_finest>=0,_nb_matches_coarsest>=0,_penalize_repe‐
8089       titions>=0,
8090                 _matching_precision>=0,_scale_fac‐
8091       tor>1,_skip_finest_scales>=0,
8092                 "image_matching_command"
8093
8094               Transfer  colors  and  textures  from  specified style image to
8095       selected images, using a multi-scale
8096                 patch-mathing algorithm.
8097               If instant display window[0] is opened, the steps of the  image
8098       synthesis are displayed on it.
8099               'init_type'  can  be { 0=best-match | 1=identity | 2=randomized
8100       }.
8101
8102           tetris:
8103               _scale>0
8104
8105               Apply tetris effect on selected images.
8106
8107               Default value: 'scale=10'.
8108
8109           warhol:
8110               _M>0,_N>0,_smoothness>=0,_color>=0
8111
8112               Create MxN Andy Warhol-like artwork from selected images.
8113
8114               Default values: 'M=3', 'N=M', 'smoothness=2' and 'color=20'.
8115
8116           weave:
8117               _density>=0,0<=_thickness<=100,0<=_shadow<=100,_shad‐
8118       ing>=0,_fibers_amplitude>=0,
8119                 _fibers_smoothness>=0,_angle,-1<=_x_curvature<=1,-1<=_y_cur‐
8120       vature<=1
8121
8122               Apply weave effect to the selected images.
8123               'angle' can be { 0=0 deg. | 1=22.5 deg. | 2=45  deg.  |  3=67.5
8124       deg. }.
8125
8126               Default   values:   'density=6',  'thickness=65',  'shadow=40',
8127       'shading=0.5', 'fibers_amplitude=0', _
8128
8129           whirls:
8130               _texture>=0,_smoothness>=0,_darkness>=0,_lightness>=0
8131
8132               Add random whirl texture to selected images.
8133
8134               Default values: 'texture=3', 'smoothness=6', 'darkness=0.5' and
8135       'lightness=1.8'.
8136
8137        ** Warpings:
8138
8139           deform:
8140               _amplitude>=0,_interpolation
8141
8142               Apply random smooth deformation on selected images.
8143               'interpolation' can be { 0=none | 1=linear | 2=bicubic }.
8144
8145               Default value: 'amplitude=10'.
8146
8147           euclidean2polar:
8148               _center_x[%],_center_y[%],_stretch_factor>0,_boundary_condi‐
8149       tions={ 0=dirichlet |
8150                  1=neumann | 2=periodic | 3=mirror }
8151
8152               Apply euclidean to polar transform on selected images.
8153
8154               Default values: 'center_x=center_y=50%', 'stretch_factor=1' and
8155       'boundary_conditions=1'.
8156
8157           equirectangular2nadirzenith:
8158
8159               Transform  selected equirectangular images to nadir/zenith rec‐
8160       tilinear projections.
8161
8162           fisheye:
8163               _center_x,_center_y,0<=_radius<=100,_amplitude>=0
8164
8165               Apply fish-eye deformation on selected images.
8166
8167               Default values: 'x=y=50', 'radius=50' and 'amplitude=1.2'.
8168
8169           flower:
8170               _amplitude,_frequency,_offset_r[%],_angle,_center_x[%],_cen‐
8171       ter_y[%],
8172                 _boundary_conditions={ 0=dirichlet | 1=neumann | 2=periodic |
8173       3=mirror}
8174
8175               Apply flower deformation on selected images.
8176
8177               Default values:  'amplitude=30',  'frequency=6',  'offset_r=0',
8178       'angle=0', 'center_x=center_y=50%'
8179                 and 'boundary_conditions=3'.
8180
8181           kaleidoscope:
8182               _center_x[%],_center_y[%],_radius,_angle,_boundary_conditions={
8183       0=dirichlet |
8184                 1=neumann | 2=periodic | 3=mirror }
8185
8186               Create kaleidoscope effect from selected images.
8187
8188               Default    values:    'center_x=center_y=50%',    'radius=100',
8189       'angle=30' and 'boundary_conditions=3'.
8190
8191           map_sphere:
8192               _width>0,_height>0,_radius,_dilation>0,_fading>=0,_fad‐
8193       ing_power>=0
8194
8195               Map selected images on a sphere.
8196
8197               Default  values:   'width=height=512',   'radius=100',   'dila‐
8198       tion=0.5', 'fading=0' and
8199                 'fading_power=0.5'.
8200
8201           nadirzenith2equirectangular:
8202
8203               Transform  selected  nadir/zenith  rectilinear  projections  to
8204       equirectangular images.
8205
8206           polar2euclidean:
8207               _center_x[%],_center_y[%],_stretch_factor>0,_boundary_condi‐
8208       tions={ 0=dirichlet |
8209                  1=neumann | 2=periodic | 3=mirror }
8210
8211               Apply euclidean to polar transform on selected images.
8212
8213               Default values: 'center_x=center_y=50%', 'stretch_factor=1' and
8214       'boundary_conditions=1'.
8215
8216           raindrops:
8217               _amplitude,_density>=0,_wavelength>=0,_merging_steps>=0
8218
8219               Apply raindrops deformation on selected images.
8220
8221               Default  values:  'amplitude=80','density=0.1',  'wavelength=1'
8222       and 'merging_steps=0'.
8223
8224           ripple:
8225               _amplitude,_bandwidth,_shape={  0=bloc  | 1=triangle | 2=sine |
8226       3=sine+ |
8227                 4=random },_angle,_offset
8228
8229               Apply ripple deformation on selected images.
8230
8231               Default  values:  'amplitude=10',  'bandwidth=10',   'shape=2',
8232       'angle=0' and 'offset=0'.
8233
8234           rotoidoscope:
8235               _center_x[%],_center_y[%],_tiles>0,_smoothness[%]>=0,_bound‐
8236       ary_conditions={
8237                 0=dirichlet | 1=neumann | 2=periodic | 3=mirror }
8238
8239               Create rotational kaleidoscope effect from selected images.
8240
8241               Default values: 'center_x=center_y=50%',  'tiles=10',  'smooth‐
8242       ness=1' and 'boundary_conditions=3'.
8243
8244           spherize:
8245               _radius[%]>=0,_strength,_smoothness[%]>=0,_center_x[%],_cen‐
8246       ter_y[%],_ratio_x/
8247                 y>0,_angle,_interpolation
8248
8249               Apply spherize effect on selected images.
8250
8251               Default  values:  'radius=50%',  'strength=1',  'smoothness=0',
8252       'center_x=center_y=50%', 'ratio_x/
8253                 y=1', 'angle=0' and 'interpolation=1'.
8254
8255           symmetrize:
8256               _x[%],_y[%],_angle,_boundary_conditions={  0=dirichlet | 1=neu‐
8257       mann | 2=periodic |
8258                  3=mirror },_is_antisymmetry={ 0 | 1 },_swap_sides={ 0 | 1 }
8259
8260               Symmetrize selected images regarding specified axis.
8261
8262               Default values: 'x=y=50%', 'angle=90', 'boundary_conditions=3',
8263       'is_antisymmetry=0' and
8264                 'swap_sides=0'.
8265
8266           transform_polar:
8267               "expr_radius",_"expr_angle",_center_x[%],_center_y[%],_bound‐
8268       ary_conditions={
8269                 0=dirichlet | 1=neumann }
8270
8271               Apply  user-defined  transform  on  polar   representation   of
8272       selected images.
8273
8274               Default   values:   'expr_radius=R-r',  'expr_rangle=a',  'cen‐
8275       ter_x=center_y=50%' and
8276                 'boundary_conditions=1'.
8277
8278           twirl:
8279               _amplitude,_center_x[%],_center_y[%],_boundary_conditions={
8280       0=dirichlet |
8281                 1=neumann | 2=periodic | 3=mirror }
8282
8283               Apply twirl deformation on selected images.
8284
8285               Default   values:  'amplitude=1',  'center_x=center_y=50%'  and
8286       'boundary_conditions=3'.
8287
8288           warp_perspective:
8289               _x-angle,_y-angle,_zoom>0,_x-center,_y-center,_boundary_condi‐
8290       tions={
8291                 0=dirichlet | 1=neumann | 2=periodic | 3=mirror }
8292
8293               Warp selected images with perspective deformation.
8294
8295               Default  values:  'x-angle=1.5', 'y-angle=0', 'zoom=1', 'x-cen‐
8296       ter=y-center=50' and
8297                 'boundary_conditions=2'.
8298
8299           water:
8300               _amplitude,_smoothness>=0,_angle
8301
8302               Apply water deformation on selected images.
8303
8304               Default   values:    'amplitude=30',    'smoothness=1.5'    and
8305       'angle=45'.
8306
8307           wave:
8308               _amplitude>=0,_frequency>=0,_center_x,_center_y
8309
8310               Apply wave deformation on selected images.
8311
8312               Default   values:   'amplitude=4',  'frequency=0.4'  and  'cen‐
8313       ter_x=center_y=50'.
8314
8315           wind:
8316               _amplitude>=0,_angle,0<=_attenuation<=1,_threshold
8317
8318               Apply wind effect on selected images.
8319
8320               Default values:  'amplitude=20',  'angle=0',  'attenuation=0.7'
8321       and 'threshold=20'.
8322
8323           zoom:
8324               _factor,_cx,_cy,_cz,_boundary_conditions={ 0=dirichlet | 1=neu‐
8325       mann | 2=periodic
8326                 | 3=mirror }
8327
8328               Apply zoom factor to selected images.
8329
8330               Default values: 'factor=1', 'cx=cy=cz=0.5' and 'boundary_condi‐
8331       tions=0'.
8332
8333        ** Degradations:
8334
8335           cracks:
8336               0<=_density<=100,_is_relief={ 0 | 1 },_opacity,_color1,...
8337
8338               Draw random cracks on selected images with specified color.
8339
8340               Default  values:  'density=25',  'is_relief=0', 'opacity=1' and
8341       'color1=0'.
8342
8343           light_patch:
8344               _density>0,_darkness>=0,_lightness>=0
8345
8346               Add light patches to selected images.
8347
8348               Default  values:  'density=10',  'darkness=0.9'   and   'light‐
8349       ness=1.7'.
8350
8351           noise_hurl:
8352               _amplitude>=0
8353
8354               Add hurl noise to selected images.
8355
8356               Default value: 'amplitude=10'.
8357
8358           pixelize:
8359               _scale_x>0,_scale_y>0,_scale_z>0
8360
8361               Pixelize selected images with specified scales.
8362
8363               Default values: 'scale_x=20' and 'scale_y=scale_z=scale_x'.
8364
8365           scanlines:
8366               _amplitude,_bandwidth,_shape={  0=bloc  | 1=triangle | 2=sine |
8367       3=sine+ |
8368                 4=random },_angle,_offset
8369
8370               Apply ripple deformation on selected images.
8371
8372               Default  values:  'amplitude=60',   'bandwidth=2',   'shape=0',
8373       'angle=0' and 'offset=0'.
8374
8375           shade_stripes:
8376               _frequency>=0,_direction={  0=horizontal  | 1=vertical },_dark‐
8377       ness>=0,
8378                 _lightness>=0
8379
8380               Add shade stripes to selected images.
8381
8382               Default values:  'frequency=5',  'direction=1',  'darkness=0.8'
8383       and 'lightness=2'.
8384
8385           shadow_patch:
8386               _opacity>=0
8387
8388               Add shadow patches to selected images.
8389
8390               Default value: 'opacity=0.7'.
8391
8392           spread:
8393               _dx>=0,_dy>=0,_dz>=0
8394
8395               Spread  pixel  values of selected images randomly along x,y and
8396       z.
8397
8398               Default values: 'dx=3', 'dy=dx' and 'dz=0'.
8399
8400           stripes_y:
8401               _frequency>=0
8402
8403               Add vertical stripes to selected images.
8404
8405               Default value: 'frequency=10'.
8406
8407           texturize_canvas:
8408               _amplitude>=0,_fibrousness>=0,_emboss_level>=0
8409
8410               Add paint canvas texture to selected images.
8411
8412               Default    values:    'amplitude=20',    'fibrousness=3'    and
8413       'emboss_level=0.6'.
8414
8415           texturize_paper:
8416
8417               Add paper texture to selected images.
8418
8419           vignette:
8420               _strength>=0,0<=_radius_min<=100,0<=_radius_max<=100
8421
8422               Add vignette effect to selected images.
8423
8424               Default    values:    'strength=100',    'radius_min=70'    and
8425       'radius_max=90'.
8426
8427           watermark_visible:
8428               _text,0<_opacity<1,_size>0,_angle,_mode={  0=remove   |   1=add
8429       },_smoothness>=0
8430
8431               Add  or  remove  a  visible watermark on selected images (value
8432       range must be [0,255]).
8433
8434               Default values:  'text=(c)  G'MIC',  'opacity=0.3',  'size=53',
8435       'angle=25', 'mode=1' and
8436                 'smoothness=0'.
8437
8438        ** Blending and Fading:
8439
8440           blend:
8441               [layer],blending_mode,_opacity[%],_selection_is={ 0=base-layers
8442       | 1=top-layers } |
8443               blending_mode,_opacity[%]
8444
8445               Blend selected G,GA,RGB or RGBA images by  specified  layer  or
8446       blend all selected images together,
8447               using specified blending mode.
8448               'blending_mode'  can  be { add | alpha | and | average | blue |
8449       burn | darken | difference |
8450               divide | dodge | edges | exclusion | freeze  |  grainextract  |
8451       grainmerge | green | hardlight |
8452               hardmix  |  hue | interpolation | lighten | lightness | linear‐
8453       burn | linearlight | luminance |
8454               multiply | negation | or | overlay | pinlight | red | reflect |
8455       saturation | seamless |
8456                 seamless_mixed |
8457               screen  |  shapeareamax  |  shapeareamax0 | shapeareamin | sha‐
8458       peareamin0 | shapeaverage |
8459                 shapeaverage0 |
8460               shapemedian | shapemedian0 | shapemin | shapemin0 | shapemax  |
8461       shapemax0 | softburn | softdodge |
8462               softlight | stamp | subtract | value | vividlight | xor }.
8463               'opacity'  should be in '[0,1]', or '[0,100]' if expressed with
8464       a '%'.
8465
8466               Default values: 'blending_mode=alpha', 'opacity=1' and  'selec‐
8467       tion_is=0'.
8468
8469           blend_edges:
8470               smoothness[%]>=0
8471
8472               Blend selected images togethers using 'edges' mode.
8473
8474           blend_fade:
8475               [fading_shape]
8476
8477               Blend selected images together using specified fading shape.
8478
8479           blend_median:
8480
8481               Blend selected images together using 'median' mode.
8482
8483           blend_seamless:
8484               _is_mixed_mode={   0   |   1  },_inner_fading[%]>=0,_outer_fad‐
8485       ing[%]>=0
8486
8487               Blend selected images using a seamless blending mode  (Poisson-
8488       based).
8489
8490               Default  values: 'is_mixed=0', 'inner_fading=0' and 'outer_fad‐
8491       ing=100%'.
8492
8493           fade_diamond:
8494               0<=_start<=100,0<=_end<=100
8495
8496               Create diamond fading from selected images.
8497
8498               Default values: 'start=80' and 'end=90'.
8499
8500           fade_linear:
8501               _angle,0<=_start<=100,0<=_end<=100
8502
8503               Create linear fading from selected images.
8504
8505               Default values: 'angle=45', 'start=30' and 'end=70'.
8506
8507           fade_radial:
8508               0<=_start<=100,0<=_end<=100
8509
8510               Create radial fading from selected images.
8511
8512               Default values: 'start=30' and 'end=70'.
8513
8514           fade_x:
8515               0<=_start<=100,0<=_end<=100
8516
8517               Create horizontal fading from selected images.
8518
8519               Default values: 'start=30' and 'end=70'.
8520
8521           fade_y:
8522               0<=_start<=100,0<=_end<=100
8523
8524               Create vertical fading from selected images.
8525
8526               Default values: 'start=30' and 'end=70'.
8527
8528           fade_z:
8529               0<=_start<=100,0<=_end<=100
8530
8531               Create transversal fading from selected images.
8532
8533               Default values: 'start=30' and 'end=70'.
8534
8535           sub_alpha:
8536               [base_image],_opacity_gain>=1
8537
8538               Compute the minimal alpha-channel difference (opposite of alpha
8539       blending) between the selected images
8540               and the specified base image.
8541               The alpha difference A-B is defined as the image having minimal
8542       opacity, such that
8543                 alpha_blend(B,A-B) = A.
8544
8545               Default value: 'opacity_gain=1'.
8546
8547        ** Image Sequences and Videos:
8548
8549           animate:
8550               fil‐
8551       ter_name,"param1_start,...,paramN_start","param1_end,...,paramN_end",
8552                 nb_frames>=0,_output_frames={ 0 | 1 },_output_filename |
8553               delay>0,_back and forth={ 0 | 1 }
8554
8555               Animate filter from starting parameters to ending parameters or
8556       animate selected images
8557               in a display window.
8558
8559               Default value: 'delay=30'.
8560
8561           apply_camera:
8562               _"command",_camera_index>=0,_skip_frames>=0,_output_filename
8563
8564               Apply specified command on live camera stream, and  display  it
8565       on display window [0].
8566
8567               Default  values:  'command=""',  'camera_index=0' (default cam‐
8568       era), 'skip_frames=0' and
8569                 'output_filename=""'.
8570
8571           apply_files:
8572               "filename_pattern",_"command",_first_frame>=0,_last_frame={ >=0
8573       | -1=last },
8574                 _frame_step>=1,_output_filename
8575
8576               Apply  a  G'MIC  command  on  specified input image files, in a
8577       streamed way.
8578               If a display window is opened, rendered frames are displayed in
8579       it during processing.
8580               The  output  filename  may  have  extension  '.avi' (saved as a
8581       video), or any other usual image file
8582               extension (saved as a sequence of images).
8583
8584               Default   values:    'command=(undefined)',    'first_frame=0',
8585       'last_frame=-1', 'frame_step=1' and
8586                 'output_filename=(undefined)'.
8587
8588           apply_video:
8589               video_filename,_"command",_first_frame>=0,_last_frame={  >=0  |
8590       -1=last },
8591                 _frame_step>=1,_output_filename
8592
8593               Apply a G'MIC command on all  frames  of  the  specified  input
8594       video file, in a streamed way.
8595               If a display window is opened, rendered frames are displayed in
8596       it during processing.
8597               The output filename may  have  extension  '.avi'  (saved  as  a
8598       video), or any other usual image
8599               file extension (saved as a sequence of images).
8600
8601               Default      values:      'first_frame=0',     'last_frame=-1',
8602       'frame_step=1' and
8603                 'output_filename=(undefined)'.
8604
8605           average_files:
8606               "filename_pattern",_first_frame>=0,_last_frame={ >=0 |  -1=last
8607       },_frame_step>=1,
8608                 _output_filename
8609
8610               Average specified input image files, in a streamed way.
8611               If a display window is opened, rendered frames are displayed in
8612       it during processing.
8613               The output filename may  have  extension  '.avi'  (saved  as  a
8614       video), or any other usual image
8615               file extension (saved as a sequence of images).
8616
8617               Default      values:      'first_frame=0',     'last_frame=-1',
8618       'frame_step=1' and
8619                 'output_filename=(undefined)'.
8620
8621           average_video:
8622               video_filename,_first_frame>=0,_last_frame={  >=0   |   -1=last
8623       },_frame_step>=1,
8624                 _output_filename
8625
8626               Average  frames  of  specified  input video file, in a streamed
8627       way.
8628               If a display window is opened, rendered frames are displayed in
8629       it during processing.
8630               The  output  filename  may  have  extension  '.avi' (saved as a
8631       video), or any other usual image
8632               file extension (saved as a sequence of images).
8633
8634               Default     values:      'first_frame=0',      'last_frame=-1',
8635       'frame_step=1' and
8636                 'output_filename=(undefined)'.
8637
8638           fade_files:
8639               "filename_pat‐
8640       tern",_nb_inner_frames>0,_first_frame>=0,_last_frame={ >=0 |
8641                 -1=last },_frame_step>=1,_output_filename
8642
8643               Generate a temporal fading from specified input image files, in
8644       a streamed way.
8645               If a display window is opened, rendered frames are displayed in
8646       it during processing.
8647               The output filename  may  have  extension  'avi'  (saved  as  a
8648       video), or any other usual image
8649               file extension (saved as a sequence of images).
8650
8651               Default    values:    'nb_inner_frames=10',    'first_frame=0',
8652       'last_frame=-1', 'frame_step=1' and
8653                 'output_filename=(undefined)'.
8654
8655           fade_video:
8656               video_filename,_nb_inner_frames>0,_first_frame>=0,_last_frame={
8657       >=0 | -1=last },
8658                 _frame_step>=1,_output_filename
8659
8660               Create  a  temporal  fading sequence from specified input video
8661       file, in a streamed way.
8662               If a display window is opened, rendered frames are displayed in
8663       it during processing.
8664
8665               Default    values:    'nb_inner_frames=10',    'first_frame=0',
8666       'last_frame=-1', 'frame_step=1' and
8667                 'output_filename=(undefined)'.
8668
8669           files2video:
8670               "filename_pattern",_output_filename,_fps>0,_codec
8671
8672               Convert several files into a single video file.
8673
8674               Default  values:  'output_filename=output.avi',  'fps=25'   and
8675       'codec=mp4v'.
8676
8677           median_files:
8678               "filename_pattern",_first_frame>=0,_last_frame={  >=0 | -1=last
8679       },_frame_step>=1,
8680                 _frame_rows[%]>=1,_is_fast_approximation={ 0 | 1 }
8681
8682               Compute the median frame of specified input image files,  in  a
8683       streamed way.
8684               If  a  display window is opened, rendered frame is displayed in
8685       it during processing.
8686
8687               Default     values:      'first_frame=0',      'last_frame=-1',
8688       'frame_step=1', 'frame_rows=20%' and
8689                 'is_fast_approximation=0'.
8690
8691           median_video:
8692               video_filename,_first_frame>=0,_last_frame={   >=0   |  -1=last
8693       },_frame_step>=1,
8694                 _frame_rows[%]>=1,_is_fast_approximation={ 0 | 1 }
8695
8696               Compute the median of all frames of an input video file,  in  a
8697       streamed way.
8698               If  a  display window is opened, rendered frame is displayed in
8699       it during processing.
8700
8701               Default     values:      'first_frame=0',      'last_frame=-1',
8702       'frame_step=1', 'frame_rows=100%' and
8703                 'is_fast_approximation=1'.
8704
8705           morph:
8706               nb_inner_frames>=1,_smoothness>=0,_precision>=0
8707
8708               Create morphing sequence between selected images.
8709
8710               Default values: 'smoothness=0.1' and 'precision=4'.
8711
8712           morph_files:
8713               "filename_pattern",_nb_inner_frames>0,_smoothness>=0,_preci‐
8714       sion>=0,
8715                 _first_frame>=0,_last_frame={       >=0       |       -1=last
8716       },_frame_step>=1,_output_filename
8717
8718               Generate  a temporal morphing from specified input image files,
8719       in a streamed way.
8720               If a display window is opened, rendered frames are displayed in
8721       it during processing.
8722               The  output  filename  may  have  extension  '.avi' (saved as a
8723       video), or any other usual image
8724               file extension (saved as a sequence of images).
8725
8726               Default values: 'nb_inner_frames=10', 'smoothness=0.1', 'preci‐
8727       sion=4', 'first_frame=0',
8728                 'last_frame=-1',  'frame_step=1'  and 'output_filename=(unde‐
8729       fined)'.
8730
8731           morph_video:
8732               video_filename,_nb_inner_frames>0,_smoothness>=0,_preci‐
8733       sion>=0,_first_frame>=0,
8734                 _last_frame={ >=0 | -1=last },_frame_step>=1,_output_filename
8735
8736               Generate  a  temporal morphing from specified input video file,
8737       in a streamed way.
8738               If a display window is opened, rendered frames are displayed in
8739       it during processing.
8740               The  output  filename  may  have  extension  '.avi' (saved as a
8741       video), or any other usual image
8742               file extension (saved as a sequence of images).
8743
8744               Default values: 'nb_inner_frames=10', 'smoothness=0.1', 'preci‐
8745       sion=4', 'first_frame=0',
8746                 'last_frame=-1',  'frame_step=1'  and 'output_filename=(unde‐
8747       fined)'.
8748
8749           register_nonrigid:
8750               [destination],_smoothness>=0,_precision>0,_nb_scale>=0
8751
8752               Register selected  source  images  with  specified  destination
8753       image, using non-rigid warp.
8754
8755               Default    values:    'smoothness=0.2',    'precision=6'    and
8756       'nb_scale=0(auto)'.
8757
8758           register_rigid:
8759               [destination],_smoothness>=0,_boundary_conditions={ 0=dirichlet
8760       | 1=neumann |
8761                 2=periodic | 3=mirror }
8762
8763               Register  selected  source  images  with  specified destination
8764       image, using rigid warp (shift).
8765
8766               Default values: 'smoothness=0.1%' and 'boundary_conditions=0'.
8767
8768           transition:
8769               [transition_shape],nb_added_frames>=0,100>=shading>=0,_sin‐
8770       gle_frame_only={
8771                 -1=disabled | >=0 }
8772
8773               Generate a transition sequence between selected images.
8774
8775               Default values: 'shading=0' and 'single_frame_only=-1'.
8776
8777           transition3d:
8778               _nb_frames>=2,_nb_xtiles>0,_nb_ytiles>0,_axis_x,_axis_y,_axis_z,_is_antialias={
8779       0 | 1 }
8780
8781               Create 3D  transition  sequence  between  selected  consecutive
8782       images.
8783               'axis_x',  'axis_y'  and  'axis_z'  can  be set as mathematical
8784       expressions, depending on 'x' and 'y'.
8785
8786               Default   values:   'nb_frames=10',    'nb_xtiles=nb_ytiles=3',
8787       'axis_x=1', 'axis_y=1', 'axis_z=0' and
8788                 'is_antialias=1'.
8789
8790           video2files:
8791               input_filename,_output_filename,_first_frame>=0,_last_frame={
8792       >=0 | -1=last },
8793                 _frame_step>=1
8794
8795               Split specified input video file into image files, one for each
8796       frame.
8797               First  and  last  frames  as well as step between frames can be
8798       specified.
8799
8800               Default values:  'output_filename=frame.png',  'first_frame=0',
8801       'last_frame=-1' and
8802                 'frame_step=1'.
8803
8804        ** Neural Networks:
8805
8806           nn_new_input:
8807               module_name,width,_height,_spectrum
8808
8809               Add an input module with specified size to the neural network.
8810               nn_new_output : module_name,previous_module_name
8811               Add an output module to the neural network.
8812
8813           nn_new_fullyconnected:
8814               module_name,previous_module_name,nb_neurons,activation_function
8815
8816               Add a fully-connected module to the neural network.
8817
8818           nn_propagate_batch:
8819               module_name,[inputs_zstacked]
8820
8821               Batch propagate specified inputs through the neural network.
8822               Insert image of corresponding network outputs at the end of the
8823       list.
8824
8825           nn_propagate:
8826               module_name
8827
8828               Propagate input through the neural network.
8829
8830           nn_backpropagate_batch:
8831               module_name,[inputs_zstacked],[expected_outputs_zstacked],
8832                 _insert_network_outputs={ 0 | 1 },_loss_function
8833
8834               Batch propagate and backpropagate inputs and errors  in  neural
8835       network.
8836               Optionnally  insert  image  of corresponding network outputs at
8837       the end of the list.
8838               Return averaged loss.
8839
8840           nn_backpropagate:
8841               module_name,[expected_output],_loss_function
8842
8843               Propagate input, then back-propagate output error, through  the
8844       neural network.
8845               This command set the network output.
8846               Return average loss.
8847
8848           nn_update:
8849               module_name,epsilon
8850
8851               Update  neural  network  weights, after back-propagation of the
8852       error.
8853
8854           nn_output:
8855               module_name,filename
8856
8857               Output specified network as a file.
8858
8859           nn_serialize:
8860               module_name,_is_compressed={ 0 | 1 }
8861
8862               Serialize network into a single image, optionnally  in  a  com‐
8863       pressed form.
8864
8865           nn_unserialize:
8866
8867               Unserialize specified selection to retrieve a neural network.
8868
8869           nn_input:
8870               "filename"
8871
8872               Input neural network from file.
8873
8874        ** Convenience Functions:
8875
8876           alert:
8877               _title,_message,_label_button1,_label_button2,...
8878
8879               Display an alert box and wait for user's choice.
8880               If  a  single  image is in the selection, it is used as an icon
8881       for the alert box.
8882
8883               Default values: 'title=[G'MIC Alert]' and 'message=This  is  an
8884       alert box.'.
8885
8886           arg:
8887               n>=1,_arg1,...,_argN
8888
8889               Return the n-th argument of the specified argument list.
8890
8891           arg2var:
8892               variable_name,argument_1,...,argument_N
8893
8894               For each i in [1...N], set 'variable_name$i=argument_i'.
8895               The  variable name should be global to make this command useful
8896       (i.e. starts by an underscore).
8897
8898           autocrop_coords:
8899               value1,value2,... | auto
8900
8901               Return coordinates (x0,y0,z0,x1,y1,z1)  of  the  autocrop  that
8902       could be performed on the latest
8903               of the selected images.
8904
8905               Default value: 'auto'
8906
8907           average_colors:
8908
8909               Return  the  average vector-value of the latest of the selected
8910       images.
8911
8912           base642img:
8913               "base64_string"
8914
8915               Decode given base64-encoded string as a newly inserted image at
8916       the end of the list.
8917               The  argument  string  must  have  been generated using command
8918       'img2base64'.
8919
8920           base642uchar:
8921               "base64_string"
8922
8923               Decode given base64-encoded string as a newly inserted 1-column
8924       image at the end of the list.
8925               The  argument  string  must  have  been generated using command
8926       'uchar2base64'.
8927
8928           basename:
8929               file_path,_variable_name_for_folder
8930
8931               Return the basename of a file path, and opt. its  folder  loca‐
8932       tion.
8933               When  specified  'variable_name_for_folder'  must  starts by an
8934       underscore
8935               (global variable accessible from calling function).
8936
8937           bin:
8938               binary_int1,...
8939
8940               Print specified binary  integers  into  their  octal,  decimal,
8941       hexadecimal and string
8942                 representations.
8943
8944           bin2dec:
8945               binary_int1,...
8946
8947               Convert  specified binary integers into their decimal represen‐
8948       tations.
8949
8950           covariance_colors:
8951               _avg_outvarname
8952
8953               Return the covariance matrix of the vector-valued colors in the
8954       latest of the selected images
8955               (for arbitrary number of channels).
8956               Parameter  'avg_outvarname'  is  used  as  a variable name that
8957       takes the value of the average
8958                 vector-value.
8959
8960           dec:
8961               decimal_int1,...
8962
8963               Print specified decimal  integers  into  their  binary,  octal,
8964       hexadecimal and string
8965                 representations.
8966
8967           dec2str:
8968               decimal_int1,...
8969
8970               Convert  specifial decimal integers into its string representa‐
8971       tion.
8972
8973           dec2bin:
8974               decimal_int1,...
8975
8976               Convert specified decimal integers into their binary  represen‐
8977       tations.
8978
8979           dec2hex:
8980               decimal_int1,...
8981
8982               Convert  specified decimal integers into their hexadecimal rep‐
8983       resentations.
8984
8985           dec2oct:
8986               decimal_int1,...
8987
8988               Convert specified decimal integers into their octal representa‐
8989       tions.
8990
8991           fact:
8992               value
8993
8994               Return the factorial of the specified value.
8995
8996           fibonacci:
8997               N>=0
8998
8999               Return the Nth number of the Fibonacci sequence.
9000
9001           file_mv:
9002               filename_src,filename_dest
9003
9004               Rename  or  move  a file from a location $1 to another location
9005       $2.
9006
9007           file_rand:
9008
9009               Return a random filename for storing temporary data.
9010
9011           file_rm:
9012               filename
9013
9014               Delete a file.
9015
9016           filename:
9017               filename,_number1,_number2,...,_numberN
9018
9019               Return a filename numbered with specified indices.
9020
9021           files (+):
9022               _mode,path
9023
9024               Return the list of files and/or subfolders from specified path.
9025               'path' can be eventually a matching pattern.
9026               'mode' can be { 0=files only | 1=folders only | 2=files + fold‐
9027       ers }.
9028               Add  '3'  to  'mode'  to return full paths instead of filenames
9029       only.
9030
9031               Default value: 'mode=5'.
9032
9033           fitratio_wh:
9034               min_width,min_height,ratio_wh
9035
9036               Return  a  2D  size  'width,height'  which   is   bigger   than
9037       'min_width,min_height' and has the
9038                 specified w/h ratio.
9039
9040           fitscreen:
9041               width,height,_depth,_minimal_size[%],_maximal_size[%] |
9042               [image],_minimal_size[%],_maximal_size[%]
9043
9044               Return the 'ideal' size WxH for a window intended to display an
9045       image of specified size on screen.
9046
9047               Default  values:  'depth=1',  'minimal_size=128'   and   'maxi‐
9048       mal_size=85%'.
9049
9050           fontchart:
9051
9052               Insert G'MIC font chart at the end of the image list.
9053
9054           fps:
9055
9056               Return  the  number of time this function is called per second,
9057       or -1 if this info is not yet
9058                 available.
9059               Useful to display the framerate when displaying animations.
9060
9061           gcd:
9062               a,b
9063
9064               Return the GCD (greatest common divisor) between a and b.
9065
9066           hex:
9067               hexadecimal_int1,...
9068
9069               Print specified hexadecimal integers into their binary,  octal,
9070       decimal and string
9071                 representations.
9072
9073           hex2dec:
9074               hexadecimal_int1,...
9075
9076               Convert  specified hexadecimal integers into their decimal rep‐
9077       resentations.
9078
9079           hex2img:
9080               "hexadecimal_string"
9081
9082               Insert new image 1xN at the end of the list with values  speci‐
9083       fied by the given
9084                 hexadecimal-encoded string.
9085
9086           hex2str:
9087               hexadecimal_string
9088
9089               Convert specified hexadecimal string into a string.
9090
9091           img2base64:
9092               _encoding={ 0=base64 | 1=base64url },_store_names={ 0 | 1 }
9093
9094               Encode selected images as a base64-encoded string.
9095               The images can be then decoded using command 'base642img'.
9096
9097               Default values: 'encoding=0'.
9098
9099           img2hex:
9100
9101               Return  representation  of last image as an hexadecimal-encoded
9102       string.
9103               Input image must have values that are integers in [0,255].
9104
9105           img2str:
9106
9107               Return the content of the latest of the selected  images  as  a
9108       special G'MIC input string.
9109
9110           img2text:
9111               _line_separator
9112
9113               Return text contained in a multi-line image.
9114
9115               Default value: 'line_separator= '.
9116
9117           img82hex:
9118
9119               Convert  selected  8bits-valued  vectors into their hexadecimal
9120       representations (ascii-encoded).
9121
9122           hex2img8:
9123
9124               Convert selected  hexadecimal  representations  (ascii-encoded)
9125       into 8bits-valued vectors.
9126
9127           is_3d:
9128
9129               Return 1 if all of the selected images are 3D objects, 0 other‐
9130       wise.
9131
9132           is_change:
9133               _value={ 0=false | 1=true }
9134
9135               Set or unset the 'is_change' flag associated to the image list.
9136               This flag tells the interpreter whether or not the  image  list
9137       should be displayed when the
9138                 pipeline ends.
9139
9140               Default value: 'value=1'.
9141
9142           is_half:
9143
9144               Return 1 if the type of image pixels is limited to half-float.
9145
9146           is_ext:
9147               filename,_extension
9148
9149               Return 1 if specified filename has a given extensioin.
9150
9151           is_image_arg:
9152               string
9153
9154               Return 1 if specified string looks like '[ind]'.
9155
9156           is_pattern:
9157               string
9158
9159               Return  1  if  specified  string  looks  like a drawing pattern
9160       '0x......'.
9161
9162           is_percent:
9163               string
9164
9165               Return 1 if specified string ends with a '%', 0 otherwise.
9166
9167           is_variable_name:
9168               "str"
9169
9170
9171           Returns 1 if specified argument can be  considered  as  a  variable
9172       name, 0 otherwise.:
9173
9174
9175           is_videofilename:
9176
9177               Return  1  if  extension  of specified filename is typical from
9178       video files.
9179
9180           is_windows:
9181
9182               Return 1 if current computer OS is Windows, 0 otherwise.
9183
9184           math_lib:
9185
9186               Return string that defines a set of several useful  macros  for
9187       the embedded math evaluator.
9188
9189           mad:
9190
9191               Return  the  MAD  (Maximum  Absolute  Deviation)  of  the  last
9192       selected image.
9193               The MAD is defined as MAD = med_i|x_i-med_j(x_j)|
9194
9195           max_w:
9196
9197               Return the maximal width between selected images.
9198
9199           max_h:
9200
9201               Return the maximal height between selected images.
9202
9203           max_d:
9204
9205               Return the maximal depth between selected images.
9206
9207           max_s:
9208
9209               Return the maximal spectrum between selected images.
9210
9211           max_wh:
9212
9213               Return the maximal wxh size of selected images.
9214
9215           max_whd:
9216
9217               Return the maximal wxhxd size of selected images.
9218
9219           max_whds:
9220
9221               Return the maximal wxhxdxs size of selected images.
9222
9223           median_color:
9224
9225               Return the median color value of the last selected image.
9226
9227           min_w:
9228
9229               Return the minimal width between selected images.
9230
9231           min_h:
9232
9233               Return the minimal height between selected images.
9234
9235           min_d:
9236
9237               Return the minimal depth between selected images.
9238
9239           min_s:
9240
9241               Return the minimal s size of selected images.
9242
9243           min_wh:
9244
9245               Return the minimal wxh size of selected images.
9246
9247           min_whd:
9248
9249               Return the minimal wxhxd size of selected images.
9250
9251           min_whds:
9252
9253               Return the minimal wxhxdxs size of selected images.
9254
9255           named (+):
9256               _mode,"name1","name2",...
9257
9258               Return the set of indices corresponding to images of the selec‐
9259       tion with specified names.
9260               After  this  command  returns,  the  status  contains a list of
9261       indices (unsigned integers),
9262               separated by commas (or an empty string if no images with those
9263       names have been found).
9264               (eq. to 'nmd').
9265               'mode'  can  be  {  0=all  indices (default) | 1=lowest index |
9266       2=highest index | 3 = all indices
9267                 (case insensitive) | 4 = lowest index (case insensitive) |  5
9268       = highest index (case insensitive)}
9269
9270           normalize_filename:
9271               filename
9272
9273               Return  a "normalized" version of the specified filename, with‐
9274       out spaces and capital letters.
9275
9276           oct:
9277               octal_int1,...
9278
9279               Print specified octal  integers  into  their  binary,  decimal,
9280       hexadecimal and string
9281                 representations.
9282
9283           oct2dec:
9284               octal_int1,...
9285
9286               Convert specified octal integers into their decimal representa‐
9287       tions.
9288
9289           padint:
9290               number,_size>0
9291
9292               Return a integer with  'size'  digits  (eventually  left-padded
9293       with '0').
9294
9295           path_cache:
9296
9297               Return  a  path  to  store G'MIC data files for one user (whose
9298       value is OS-dependent).
9299
9300           path_gimp:
9301
9302               Return a path to store GIMP configuration files  for  one  user
9303       (whose value is OS-dependent).
9304
9305           path_tmp:
9306
9307               Return  a  path  to  store  temporary files (whose value is OS-
9308       dependent).
9309
9310           remove_copymark:
9311               "image_name"
9312
9313               Remove copy mark from names of selected images.
9314
9315           reset:
9316
9317               Reset global parameters of the interpreter environment.
9318
9319           RGB:
9320
9321               Return a random int-valued RGB color.
9322
9323           RGBA:
9324
9325               Return a random int-valued RGBA color.
9326
9327           std_noise:
9328
9329               Return the estimated  noise  standard  deviation  of  the  last
9330       selected image.
9331
9332           str:
9333               string
9334
9335               Print  specified  string  into  its  binary, octal, decimal and
9336       hexadecimal representations.
9337
9338           str2hex:
9339               string
9340
9341               Convert specified string into a sequence of hexadecimal values.
9342
9343           strcapitalize:
9344               string
9345
9346               Capitalize specified string.
9347
9348           strcontains:
9349               string1,string2
9350
9351               Return 1 if the first string contains the second one.
9352
9353           strlen:
9354               string1
9355
9356               Return the length of specified string argument.
9357
9358           strreplace:
9359               string,search,replace
9360
9361               Search and replace substrings in an input string.
9362
9363           strlowercase:
9364               string
9365
9366               Return a lower-case version of the specified string.
9367
9368           struppercase:
9369               string
9370
9371               Return an upper-case version of the specified string.
9372
9373           strvar:
9374               string
9375
9376               Return a simplified version of the specified string,  that  can
9377       be used as a variable name.
9378
9379           strver:
9380               _version
9381
9382               Return  the  specified version number of the G'MIC interpreter,
9383       as a string.
9384
9385               Default value: 'version=$_version'.
9386
9387           tic:
9388
9389               Initialize tic-toc timer.
9390               Use it in conjunction with 'toc'.
9391
9392           toc:
9393
9394               Display elapsed time of the tic-toc timer since the  last  call
9395       to 'tic'.
9396               This command returns the elapsed time in the status value.
9397               Use it in conjunction with 'tic'.
9398
9399           to_clutname:
9400               "string"
9401
9402               Return  simplified  name  that can be used as a CLUT name, from
9403       specified input string.
9404
9405           uchar2base64:
9406               _encoding={ 0=base64 | 1=base64url }
9407
9408               Encode the values of the latest of the  selected  images  as  a
9409       base64-encoded string.
9410               The string can be decoded using command 'base642uchar'.
9411               Selected images must have values that are integers in [0,255].
9412
9413               Default values: 'encoding=0'.
9414
9415        ** Other Interactive Commands:
9416
9417           demo:
9418               _run_in_parallel={ 0=no | 1=yes | 2=auto }
9419
9420               Show a menu to select and view all G'MIC interactive demos.
9421
9422           x_2048:
9423
9424               Launch the 2048 game.
9425
9426           x_blobs:
9427
9428               Launch the blobs editor.
9429
9430           x_bouncing:
9431
9432               Launch the bouncing balls demo.
9433
9434           x_color_curves:
9435               _colorspace={  rgb | cmy | cmyk | hsi | hsl | hsv | lab | lch |
9436       ycbcr | last }
9437
9438               Apply color curves on selected RGB[A] images, using an interac‐
9439       tive window.
9440               Set  'colorspace'  to 'last' to apply last defined color curves
9441       without opening interactive windows.
9442
9443               Default value: 'colorspace=rgb'.
9444
9445           x_colorize:
9446               _is_lineart={ 0 | 1 },_max_resolution={ 0 | >=128 },_multichan‐
9447       nels_output={ 0 |
9448                 1 },_[palette1],_[palette2],_[grabber1]
9449
9450               Colorized selected B&W images, using an interactive window.
9451               When  >0,  argument  'max_resolution' defines the maximal image
9452       resolution used in the interactive window.
9453
9454               Default values: 'is_lineart=1', 'max_resolution=1024' and 'mul‐
9455       tichannels_output=0'.
9456
9457           x_connect4:
9458
9459               Launch the Connect Four game.
9460
9461           x_crop:
9462
9463               Crop selected images interactively.
9464               (eq. to 'xz').
9465
9466           x_cut:
9467
9468               Cut selected images interactively.
9469
9470           x_fire:
9471
9472               Launch the fire effect demo.
9473
9474           x_fireworks:
9475
9476               Launch the fireworks demo.
9477
9478           x_fisheye:
9479
9480               Launch the fish-eye effect demo.
9481
9482           x_fourier:
9483
9484               Launch the fourier filtering demo.
9485
9486           x_grab_color:
9487               _variable_name
9488
9489               Open a color grabber widget from the first selected image.
9490               Argument  'variable_name'  specifies the variable that contains
9491       the selected color values at any time.
9492               Assigning '-1' to it forces the interactive window to close.
9493
9494               Default values: 'variable_name=xgc_variable'.
9495
9496           x_hanoi:
9497
9498               Launch the Tower of Hanoi game.
9499
9500           x_histogram:
9501
9502               Launch the histogram demo.
9503
9504           x_hough:
9505
9506               Launch the hough transform demo.
9507
9508           x_jawbreaker:
9509               0<_width<20,0<_height<20,0<_balls<=8
9510
9511               Launch the Jawbreaker game.
9512
9513           x_landscape:
9514
9515               Launch the virtual landscape demo.
9516
9517           x_life:
9518
9519               Launch the game of life.
9520
9521           x_light:
9522
9523               Launch the light effect demo.
9524
9525           x_mandelbrot:
9526               _julia={ 0 | 1 },_c0r,_c0i
9527
9528               Launch Mandelbrot/Julia explorer.
9529
9530           x_mask_color:
9531               _colorspace={ all | rgb | lrgb | ycbcr | lab | lch | hsv |  hsi
9532       | hsl | cmy |
9533                 cmyk | yiq },_spatial_tolerance>=0,_color_tolerance>=0
9534
9535               Interactively select a color, and add an alpha channel contain‐
9536       ing the corresponding color mask.
9537               Argument 'colorspace' refers to the color metric used  to  com‐
9538       pute color similarities, and can be basically
9539               one of { rgb | lrgb | ycbcr | lab | lch | hsv | hsi | hsl | cmy
9540       | cmyk | yiq }.
9541               You can also select one one particular  channel  of  this  col‐
9542       orspace, by setting 'colorspace' as
9543               'colorspace_channel' (e.g. 'hsv_h' for the hue).
9544
9545               Default  values:  'colorspace=all',  'spatial_tolerance=5'  and
9546       'color_tolerance=5'.
9547
9548           x_metaballs3d:
9549
9550               Launch the 3D metaballs demo.
9551
9552           x_minesweeper:
9553               8<=_width=<20,8<=_height<=20
9554
9555               Launch the Minesweeper game.
9556
9557           x_minimal_path:
9558
9559               Launch the minimal path demo.
9560
9561           x_morph:
9562               _nb_frames>=2,_preview_fidelity={  0=coarsest  |   1=coarse   |
9563       2=normal | 3=fine |
9564                 4=finest }
9565
9566               Launch the interactive image morpher.
9567
9568               Default values: 'nb_frames=16' and 'preview_fidelity=3'.
9569
9570           x_pacman:
9571
9572               Launch pacman game.
9573
9574           x_paint:
9575
9576               Launch the interactive painter.
9577
9578           x_plasma:
9579
9580               Launch the plasma effect demo.
9581
9582           x_quantize_rgb:
9583               _nbcolors>=2
9584
9585               Launch the RGB color quantization demo.
9586
9587           x_reflection3d:
9588
9589               Launch the 3D reflection demo.
9590
9591           x_rubber3d:
9592
9593               Launch the 3D rubber object demo.
9594
9595           x_segment:
9596               _max_resolution={ 0 | >=128 }
9597
9598               Segment  foreground  from  background  in  selected  opaque RGB
9599       images, interactively.
9600               Return RGBA images with binary alpha-channels.
9601
9602               Default value: 'max_resolution=1024'.
9603
9604           x_select_color:
9605               _variable_name
9606
9607               Display a RGB or RGBA color selector.
9608               Argument 'variable_name' specifies the variable  that  contains
9609       the selected color values (as R,G,B,[A])
9610               at any time.
9611               Its  value specifies the initial selected color. Assigning '-1'
9612       to it forces the interactive
9613                 window to close.
9614
9615               Default value: 'variable_name=xsc_variable'.
9616
9617           x_select_function1d:
9618               _variable_name,_background_curve_R,_background_curve_G,_back‐
9619       ground_curve_B
9620
9621               Open  an interactive window, where the user can defined its own
9622       1D function.
9623               If an image is selected,  it  is  used  to  display  additional
9624       information :
9625               -  The  first row defines the values of a background curve dis‐
9626       played on the window (e.g. an
9627                 histogram).
9628               - The 2nd, 3rd and 4th rows define the R,G,B  color  components
9629       displayed beside the X and Y axes.
9630               Argument  'variable_name'  specifies the variable that contains
9631       the selected function keypoints
9632                 at any time.
9633               Assigning '-1' to it forces the interactive window to close.
9634
9635               Default    values:     'variable_name=xsf_variable',     'back‐
9636       ground_curve_R=220',
9637                 'background_curve_G=background_curve_B=background_curve_T'.
9638
9639           x_select_palette:
9640               _variable_name,_number_of_columns={ 0=auto | >0 }
9641
9642               Open a RGB or RGBA color selector widget from a palette.
9643               The palette is given as a selected image.
9644               Argument  'variable_name'  specifies the variable that contains
9645       the selected color values (as R,G,B,[A])
9646               at any time.
9647               Assigning '-1' to it forces the interactive window to close.
9648
9649               Default   values:   'variable_name=xsp_variable'   and    'num‐
9650       ber_of_columns=2'.
9651
9652           x_shadebobs:
9653
9654               Launch the shade bobs demo.
9655
9656           x_spline:
9657
9658               Launch spline curve editor.
9659
9660           x_starfield3d:
9661
9662               Launch the 3D starfield demo.
9663
9664           x_tetris:
9665
9666               Launch tetris game.
9667
9668           x_threshold:
9669
9670               Threshold selected images interactively.
9671
9672           x_tictactoe:
9673
9674               Launch tic-tac-toe game.
9675
9676           x_warp:
9677               _nb_keypoints_xgrid>=2,_nb_keypoints_ygrid>=2,_nb_key‐
9678       points_contours>=0,
9679                 _preview_fidelity={ 0=coarsest | 1=coarse | 2=normal | 3=fine
9680       | 4=finest },
9681                 _[background_image],0<=_background_opacity<=1
9682
9683               Launch the interactive image warper.
9684
9685               Default    values:   'nb_keypoints_xgrid=nb_keypoints_ygrid=2',
9686       'nb_keypoints_contours=0' and
9687                 'preview_fidelity=1'.
9688
9689           x_waves:
9690
9691               Launch the image waves demo.
9692
9693           x_whirl:
9694               _opacity>=0
9695
9696               Launch the fractal whirls demo.
9697
9698               Default values: 'opacity=0.2'.
9699
9700        ** Funny One-Liners:
9701
9702           oneliner_sierpinski_carpet:
9703
9704               Draw a sierpinski carpet.
9705
9706           oneliner_sierpinski_triangle:
9707
9708               Draw a sierpinski triangle.
9709
9710           oneliner_lightspeed:
9711
9712               A colorful lightspeed travel effect.
9713
9714
9715        **** Command shortcuts:
9716
9717
9718           !=  (+): eq. to 'neq'.
9719           %  (+): eq. to 'mod'.
9720           &  (+): eq. to 'and'.
9721           *  (+): eq. to 'mul'.
9722           *3d  (+): eq. to 'mul3d'.
9723           +  (+): eq. to 'add'.
9724           +3d  (+): eq. to 'add3d'.
9725           -  (+): eq. to 'sub'.
9726           -3d  (+): eq. to 'sub3d'.
9727           /  (+): eq. to 'div'.
9728           /3d  (+): eq. to 'div3d'.
9729           <  (+): eq. to 'lt'.
9730           <<  (+): eq. to 'bsl'.
9731           <=  (+): eq. to 'le'.
9732           =  (+): eq. to 'set'.
9733           ==  (+): eq. to 'eq'.
9734           >  (+): eq. to 'gt'.
9735           >=  (+): eq. to 'ge'.
9736           >>  (+): eq. to 'bsr'.
9737           ^  (+): eq. to 'pow'.
9738           a  (+): eq. to 'append'.
9739           ac : eq. to 'apply_channels'.
9740           ap : eq. to 'apply_parallel'.
9741           apc : eq. to 'apply_parallel_channels'.
9742           apo : eq. to 'apply_parallel_overlap'.
9743           at : eq. to 'apply_tiles'.
9744           b  (+): eq. to 'blur'.
9745           c  (+): eq. to 'cut'.
9746           c3d : eq. to 'center3d'.
9747           col3d  (+): eq. to 'color3d'.
9748           d  (+): eq. to 'display'.
9749           d0 : eq. to 'display0'.
9750           d2d : eq. to 'display2d'.
9751           d3d  (+): eq. to 'display3d'.
9752           da : eq. to 'display_array'.
9753           db3d  (+): eq. to 'double3d'.
9754           dfft : eq. to 'display_fft'.
9755           dg : eq. to 'display_graph'.
9756           dh : eq. to 'display_histogram'.
9757           dp : eq. to 'display_parallel'.
9758           dp0 : eq. to 'display_parallel0'.
9759           dq : eq. to 'display_quiver'.
9760           drgba : eq. to 'display_rgba'.
9761           dt : eq. to 'display_tensors'.
9762           dw : eq. to 'display_warp'.
9763           e  (+): eq. to 'echo'.
9764           endl  (+): eq. to 'endlocal'.
9765           f  (+): eq. to 'fill'.
9766           f3d  (+): eq. to 'focale3d'.
9767           fc : eq. to 'fill_color'.
9768           fi  (+): eq. to 'endif'.
9769           frame : eq. to 'frame_xy'.
9770           g  (+): eq. to 'gradient'.
9771           h : eq. to 'help'.
9772           i  (+): eq. to 'input'.
9773           ig : eq. to 'input_glob'.
9774           ir : eq. to 'inrange'.
9775           it : eq. to 'input_text'.
9776           j  (+): eq. to 'image'.
9777           j3d  (+): eq. to 'object3d'.
9778           k  (+): eq. to 'keep'.
9779           l  (+): eq. to 'local'.
9780           l3d  (+): eq. to 'light3d'.
9781           m  (+): eq. to 'command'.
9782           m*  (+): eq. to 'mmul'.
9783           m/  (+): eq. to 'mdiv'.
9784           m3d  (+): eq. to 'mode3d'.
9785           md3d  (+): eq. to 'moded3d'.
9786           mv  (+): eq. to 'move'.
9787           n  (+): eq. to 'normalize'.
9788           n3d : eq. to 'normalize3d'.
9789           nm  (+): eq. to 'name'.
9790           nmd  (+): eq. to 'named'.
9791           o  (+): eq. to 'output'.
9792           o3d  (+): eq. to 'opacity3d'.
9793           on : eq. to 'outputn'.
9794           op : eq. to 'outputp'.
9795           ot : eq. to 'output_text'.
9796           ow : eq. to 'outputw'.
9797           ox : eq. to 'outputx'.
9798           p  (+): eq. to 'print'.
9799           p3d : eq. to 'primitives3d'.
9800           q  (+): eq. to 'quit'.
9801           r  (+): eq. to 'resize'.
9802           r2dx : eq. to 'resize2dx'.
9803           r2dy : eq. to 'resize2dy'.
9804           r3d  (+): eq. to 'rotate3d'.
9805           r3dx : eq. to 'resize3dx'.
9806           r3dy : eq. to 'resize3dy'.
9807           r3dz : eq. to 'resize3dz'.
9808           rm  (+): eq. to 'remove'.
9809           rr2d : eq. to 'resize_ratio2d'.
9810           rv  (+): eq. to 'reverse'.
9811           rv3d  (+): eq. to 'reverse3d'.
9812           s  (+): eq. to 'split'.
9813           s3d  (+): eq. to 'split3d'.
9814           sh  (+): eq. to 'shared'.
9815           sl3d  (+): eq. to 'specl3d'.
9816           sp : eq. to 'sample'.
9817           ss3d  (+): eq. to 'specs3d'.
9818           t  (+): eq. to 'text'.
9819           t3d : eq. to 'texturize3d'.
9820           to : eq. to 'text_outline'.
9821           u  (+): eq. to 'status'.
9822           up : eq. to 'update'.
9823           v  (+): eq. to 'verbose'.
9824           w  (+): eq. to 'window'.
9825           x  (+): eq. to 'exec'.
9826           xz : eq. to 'x_crop'.
9827           y  (+): eq. to 'unroll'.
9828           z  (+): eq. to 'crop'.
9829           |  (+): eq. to 'or'.
9830
9831          [ Total number of commands: 1035 ]
9832
9833        13. Examples of Use
9834
9835        'gmic' is a generic image processing tool which can be used in a  wide
9836       variety of situations.
9837        The few examples below illustrate possible uses of this tool:
9838
9839         - View a list of images:
9840            gmic file1.bmp file2.jpeg
9841
9842         - Convert an image file:
9843            gmic input.bmp output output.jpg
9844
9845         - Create a volumetric image from a movie sequence:
9846            gmic input.mpg append z output output.hdr
9847
9848         - Compute image gradient norm:
9849            gmic input.bmp gradient_norm
9850
9851         - Denoise a color image:
9852            gmic image.jpg denoise 30,10 output denoised.jpg
9853
9854         - Compose two images using overlay layer blending:
9855            gmic image1.jpg image2.jpg blend overlay output blended.jpg
9856
9857         - Evaluate a mathematical expression:
9858            gmic echo "cos(pi/4)^2+sin(pi/4)^2={cos(pi/4)^2+sin(pi/4)^2}"
9859
9860         - Plot a 2D function:
9861            gmic                        1000,1,1,2                        fill
9862       "X=3*(x-500)/500;X^2*sin(3*X^2)+if(c==0,u(0,-1),cos(X*10))" plot
9863
9864         - Plot a 3D elevated function in random colors:
9865            gmic 128,128,1,3,"u(0,255)" plasma 10,3 blur 4 sharpen 10000 \
9866             elevation3d[-1]
9867       "'X=(x-64)/6;Y=(y-64)/6;100*exp(-(X^2+Y^2)/30)*abs(cos(X)*sin(Y))'"
9868
9869         - Plot the isosurface of a 3D volume:
9870            gmic    mode3d    5    moded3d    5    double3d   0   isosurface3d
9871       "'x^2+y^2+abs(z)^abs(4*cos(x*y*z*3))'",3
9872
9873         - Render a G'MIC 3D logo:
9874            gmic 0 text G\'MIC,0,0,53,1,1,1,1 expand_xy 10,0 blur 1  normalize
9875       0,100 +plasma 0.4 add \
9876             blur 1 elevation3d -0.1 moded3d 4
9877
9878         - Generate a 3D ring of torii:
9879            gmic       repeat       20      torus3d      15,2      color3d[-1]
9880       "{u(60,255)},{u(60,255)},{u(60,255)}" \
9881             *3d[-1] 0.5,1 if "{$>%2}" rotate3d[-1] 0,1,0,90 fi  add3d[-1]  70
9882       add3d \
9883             rotate3d 0,0,1,18 done moded3d 3 mode3d 5 double3d 0
9884
9885         - Create a vase from a 3D isosurface:
9886            gmic  moded3d 4 isosurface3d "'x^2+2*abs(y/2)*sin(2*y)^2+z^2-3',0"
9887       sphere3d 1.5 \
9888             sub3d[-1] 0,5 plane3d 15,15  rotate3d[-1]  1,0,0,90  center3d[-1]
9889       add3d[-1] 0,3.2 \
9890             color3d[-1]   180,150,255   color3d[-2]   128,255,0   color3d[-3]
9891       255,128,0 add3d
9892
9893         - Display filtered webcam stream:
9894            gmic apply_camera \"+mirror x +mirror y add div 4\"
9895
9896         - Launch a set of G'MIC interactive demos:
9897            gmic demo
9898
9899        ** G'MIC  comes  with  ABSOLUTELY  NO  WARRANTY;  for  details  visit:
9900       https://gmic.eu **
9901
9902
9903
9904                                                                      G'MIC(1)
Impressum