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.
11               (https://gmic.eu)
12
13               Version 2.5.7
14               Copyright (c) 2008-2019, David Tschumperle / GREYC Lab / CNRS.
15               (https://www.greyc.fr)
16
17        1. Usage
18           -----
19
20           gmic [command1 [arg1_1,arg1_2,..]] .. [commandN [argN_1,argN_2,..]]
21
22           'gmic'  is  the  open-source  interpreter  of the G'MIC language, a
23       script-based programming
24           language dedicated to the design of possibly complex image process‐
25       ing pipelines and operators.
26           It  can  be used to convert, manipulate, filter and visualize image
27       datasets made of one
28           or several 1D/2D or 3D multi-spectral images.
29
30           This reference documentation describes all the technical rules gov‐
31       erning the G'MIC language.
32           As  a  starting  point, you may want to visit our detailed tutorial
33       pages, at:
34            https://gmic.eu/tutorial/
35
36        2. Overall context
37           ---------------
38
39         - At any time, G'MIC manages one list  of  numbered  (and  optionally
40       named) pixel-based images,
41            entirely stored in computer memory (uncompressed).
42
43         -  The first image of the list has index '0' and is denoted by '[0]'.
44       The second image of the
45            list is denoted by '[1]', the third by '[2]' and so on.
46
47         - Negative indices are treated in a periodic way:  '[-1]'  refers  to
48       the last image of the list,
49            '[-2]'  to  the  penultimate  one,  etc.  Thus,  if the list has 4
50       images, '[1]' and '[-3]' both
51            designate the second image of the list.
52
53         - A named image may be also indicated by '[name]', if 'name' uses the
54       character set [a-zA-Z0-9_]
55            and  does not start with a number. Image names can be set or reas‐
56       signed at any moment during
57            the processing pipeline (see command 'name' for this purpose).
58
59         - G'MIC defines a set of various commands and substitution mechanisms
60       to allow the design of
61            complex pipelines and operators managing this list of images, in a
62       very flexible way:
63            You can insert or remove  images  in  the  list,  rearrange  image
64       order, process images
65            (individually  or grouped), merge image data together, display and
66       output image files, etc.
67
68         - Such a pipeline can be then added as a  new  custom  G'MIC  command
69       (stored in a user
70            command  file),  so it can be re-used afterwards in a larger pipe‐
71       line if necessary.
72
73        3. Image definition and terminology
74           --------------------------------
75
76         - In G'MIC, each image is modeled as a 1D, 2D,  3D  or  4D  array  of
77       scalar values, uniformly
78            discretized on a rectangular/parallelepipedic domain.
79
80         - The four dimensions of this array are respectively denoted by:
81
82           . 'width', the number of image columns (size along the 'x'-axis).
83           . 'height', the number of image rows (size along the 'y'-axis).
84           . 'depth', the number of image slices (size along the 'z'-axis).
85               (the  depth  is  equal  to  1  for  usual color or grayscale 2D
86       images).
87           .  'spectrum',  the  number  of  image  channels  (size  along  the
88       'c'-axis).
89               (the  spectrum  is  respectively equal to 3 and 4 for usual RGB
90       and RGBA color images).
91
92         - There are no hard limitations on the size of the image  along  each
93       dimension. For instance,
94            the  number  of  image slices or channels can be of arbitrary size
95       within the limits of
96            the available memory.
97
98         - The width, height and depth of an image are considered  as  spatial
99       dimensions, while the
100            spectrum  has  a multi-spectral meaning. Thus, a 4D image in G'MIC
101       should be most often
102            regarded as a 3D dataset of multi-spectral  voxels.  Most  of  the
103       G'MIC commands will stick with
104            this idea (e.g. command 'blur' blurs images only along the spatial
105       'xyz'-axes).
106
107         - G'MIC stores all the image data as buffers of  'float'  values  (32
108       bits, value range
109            [-3.4E38,+3.4E38]).  It  performs  all its image processing opera‐
110       tions with floating point
111            numbers. Each image pixel takes  then  32bits/channel  (except  if
112       double-precision buffers have
113            been enabled during the compilation of the software, in which case
114       64bits/channel can be the
115            default).
116
117         - Considering 'float'-valued pixels ensure to keep the numerical pre‐
118       cision when executing
119            image processing pipelines. For image input/output operations, you
120       may want to prescribe the
121            image datatype to be different than 'float' (like 'bool',  'char',
122       'int', etc...).
123            This  is possible by specifying it as a file option when using I/O
124       commands.
125            (see section 'Input/output properties' to learn  more  about  file
126       options).
127
128        4. Items of a processing pipeline
129           ------------------------------
130
131         -  In  G'MIC, an image processing pipeline is described as a sequence
132       of items separated by the
133            space character ' '. Such items are interpreted and executed  from
134       the left to the right.
135            For instance, the expression:
136
137              filename.jpg   blur  3,0  sharpen  10  resize  200%,200%  output
138       file_out.jpg
139
140            defines a valid pipeline composed of nine G'MIC items.
141
142         - Each G'MIC item is a string that is either a  command,  a  list  of
143       command arguments,
144            a filename, or a special input string.
145
146         -  Escape  characters '\' and double quotes '"' can be used to define
147       items containing spaces or
148            other special characters. For instance, the two  strings  'single\
149       item' and '"single item"'
150            both define the same single item, with a space in it.
151
152        5. Input data items
153           ----------------
154
155         -  If  a specified G'MIC item appears to be an existing filename, the
156       corresponding image data
157            are loaded and inserted at the end of the  image  list  (which  is
158       equivalent to the use of
159            'input filename').
160
161         - Special filenames '-' and '-.ext' stand for the standard input/out‐
162       put streams, optionally
163            forced to be in a specific 'ext'  file  format  (e.g.  '-.jpg'  or
164       '-.png').
165
166         -  The  following special input strings may be used as G'MIC items to
167       create and insert new
168            images with prescribed values, at the end of the image list:
169
170           . '[selection]' or '[selection]xN': Insert 1 or N copies of already
171       existing images.
172              'selection' may represent one or several images
173              (see  section 'Command items and selections' to learn more about
174       selections).
175
176           .  'width[%],_height[%],_depth[%],_spectrum[%],_values':  Insert  a
177       new image with specified
178              size  and values (adding '%' to a dimension means 'percentage of
179       the size along the same
180              axis, taken from the last image '[-1]''). Any  specified  dimen‐
181       sion can be also written as
182              '[image]',  and is then set to the size (along the same axis) of
183       the existing specified image
184              [image]. 'values' can be either a sequence of numbers  separated
185       by commas ',', or a
186              mathematical    expression,    as    e.g.    in    input    item
187       '256,256,1,3,[x,y,128]' which
188              creates a 256x256 RGB color image with a spatial shading on  the
189       red and green channels.
190              (see  section  'Mathematical  expressions'  to  learn more about
191       mathematical expressions).
192
193           . '(v1,v2,..)': Insert a new image from specified  prescribed  val‐
194       ues. Value separator inside
195              parentheses  can be ',' (column separator), ';' (row separator),
196       '/' (slice separator) or
197              '^'    (channel    separator).    For    instance,    expression
198       '(1,2,3;4,5,6;7,8,9)' creates a 3x3 matrix
199              (scalar image), with values running from 1 to 9.
200
201           .  '0': Insert a new 'empty' image, containing no pixel data. Empty
202       images are used only in rare
203              occasions.
204
205         - Input item 'name=value' declares a new variable 'name', or assign a
206       new value
207            to an existing variable. Variable names must use the character set
208       [a-zA-Z0-9_] and cannot
209            start with a number.
210
211         - A variable definition is always local to the current command except
212       when it starts by the
213            underscore character '_'. In that case, it becomes also accessible
214       by any command invoked
215            outside the current command scope (global variable).
216
217         - If a variable name starts with two  underscores  '__',  the  global
218       variable is also shared among
219            different  threads and can be read/set by commands running in par‐
220       allel (see command 'parallel'
221            for this purpose). Otherwise, it remains local to the thread  that
222       defined it.
223
224         -  Numerical  variables  can be updated with the use of these special
225       operators:
226            '+=' (addition), '-=' (subtraction), '*='  (multiplication),  '/='
227       (division), '%=' (modulo),
228            '&='  (bitwise  and),  '|='  (bitwise or), '^=' (power), '<<=' and
229       '>>=' (bitwise left and right
230            shifts). For instance, 'foo=1 foo+=3'.
231
232         - Input item 'name.=string' concatenates specified  'string'  to  the
233       end of variable 'name'.
234
235         - Multiple variable assignments and updates are allowed, with expres‐
236       sions:
237            'name1,name2,...,nameN=value'                                   or
238       'name1,name2,...,nameN=value1,value2,...,valueN'
239            where  assignment  operator  '='  can  be  replaced  by one of the
240       allowed operators
241            (e.g. '+=').
242
243        6. Command items and selections
244           ----------------------------
245
246         - A G'MIC item that is not a filename nor a special input string des‐
247       ignates a command,
248            most  of  the  time.  Generally, commands perform image processing
249       operations on one or several
250            available images of the list.
251
252         - Reccurent commands have two equivalent names (regular  and  short).
253       For instance, command names
254            'resize' and 'r' refer to the same image resizing action.
255
256         -  A  G'MIC command may have mandatory or optional arguments. Command
257       arguments must be specified
258            in the next item on the command line. Commas ',' are used to sepa‐
259       rate multiple arguments of a
260            single command, when required.
261
262         - The execution of a G'MIC command may be restricted only to a subset
263       of the image list, by
264            appending '[selection]' to the command  name.  Examples  of  valid
265       syntaxes for 'selection' are:
266
267           .  'command[-2]':  Apply command only on the penultimate image [-2]
268       of the list.
269           . 'command[0,1,3]': Apply command only on images [0],[1] and [3].
270           . 'command[3-6]': Apply command only on images  [3]  to  [6]  (i.e,
271       [3],[4],[5] and [6]).
272           . 'command[50%-100%]': Apply command only on the second half of the
273       image list.
274           . 'command[0,-4--1]': Apply command only on the first image and the
275       last four images.
276           . 'command[0-9:3]': Apply command only on images [0] to [9], with a
277       step of 3
278                                 (i.e. on images [0], [3], [6] and [9]).
279           . 'command[0-9:25%]': Apply command only on images [0] to [9], with
280       a step of 25%
281                                 (i.e. on images [0], [3], [6] and [9]).
282           .  'command[0--1:2]': Apply command only on images of the list with
283       even indices.
284           . 'command[0,2-4,50%--1]': Apply command on images  [0],[2],[3],[4]
285       and on the second half of
286                                        the image list.
287           .  'command[^0,1]':  Apply  command  on all images except the first
288       two.
289           . 'command[name1,name2]': Apply command on named images 'name1' and
290       'name2'.
291
292         -  indices  in  selections are always sorted in increasing order, and
293       duplicate indices are
294            discarded. For instance, selections '[3-1,1-3]' and  '[1,1,1,3,2]'
295       are both equivalent to
296            '[1-3]'.  If you want to repeat a single command multiple times on
297       an image, use a
298            'repeat..done' loop instead. Inverting the order of images  for  a
299       command is achieved by
300            explicitly  inverting  the  order  of the images in the list, with
301       command 'reverse[selection]'.
302
303         - Command selections '[-1]','[-2]' and '[-3]' are so often used  that
304       they have their own
305            shortcuts, respectively '.', '..' and '...'. For instance, command
306       'blur..' is equivalent to
307            'blur[-2]'. These shortcuts  work  also  when  specifying  command
308       arguments.
309
310         -  G'MIC  commands  invoked  without '[selection]' are applied on all
311       images of the list, i.e. the
312            default selection is '[0--1]' (except for  command  'input'  whose
313       default selection is '[-1]').
314
315         -  Prepending a single hyphen '-' to a G'MIC command is allowed. This
316       may be useful to recognize
317            command items more  easily  in  a  one-liner  pipeline  (typically
318       invoked from a shell).
319
320         -  A  G'MIC command prepended with a plus sign '+' or a double hyphen
321       '--' does not act 'in-place'
322            but inserts its result as one or several new images at the end  of
323       the image list.
324
325         -  There  are  two different types of commands that can be run by the
326       G'MIC interpreter:
327
328           . Builtin commands,  are  the  hard-coded  functionalities  in  the
329       interpreter core. They are thus
330              compiled as binary code and run fast, most of the time. Omitting
331       an argument when invoking a
332              builtin command is not permitted, except if all following  argu‐
333       ments are also omitted.
334              For instance, invoking 'plasma 10,,5' is invalid but 'plasma 10'
335       is correct.
336           . Custom commands, are defined as G'MIC  pipelines  of  builtin  or
337       other custom commands.
338              They  are  interpreted  by the G'MIC interpreter, and thus run a
339       bit slower than builtin commands.
340              Omitting arguments when invoking a custom command is  permitted.
341       For instance, expressions
342              'flower ,,,100,,2' or 'flower ,' are correct.
343
344         - Most of the existing commands in G'MIC are actually defined as cus‐
345       tom commands.
346
347         - A user can easily add its own custom commands to the  G'MIC  inter‐
348       preter (see section
349            'Adding  custom  commands' for more details). New builtin commands
350       cannot be added
351            (unless you modify the G'MIC interpreter source code and recompile
352       it).
353
354        7. Input/output properties
355           -----------------------
356
357         -  G'MIC  is able to read/write most of the classical image file for‐
358       mats, including:
359
360           . 2D grayscale/color files: .png, .jpeg, .gif,  .pnm,  .tif,  .bmp,
361       ...
362           . 3D volumetric files: .dcm, .hdr, .nii, .pan, .inr, .pnk, ...
363           . video files: .mpeg, .avi, .mov, .ogg, .flv, ...
364           .  Generic  ascii  or binary data files: .gmz, .cimg, .cimgz, .dlm,
365       .asc, .pfm, .raw, .txt, .h.
366           . 3D object files: .off.
367
368         - When dealing with color images, G'MIC generally reads,  writes  and
369       displays data using the usual
370            sRGB color space.
371
372         -  G'MIC  is able to manage 3D objects that may be read from files or
373       generated by G'MIC commands.
374            A 3D object is stored as a one-column scalar image containing  the
375       object data, in the
376            following order: { magic_number; sizes; vertices; primitives; col‐
377       ors; opacities }.
378            These 3D representations can be then processed as regular images.
379            (see command 'split3d' for accessing each of these 3D object  data
380       separately).
381
382         -  Be  aware  that usual file formats may be sometimes not adapted to
383       store all the available image
384            data, since G'MIC uses float-valued image buffers.  For  instance,
385       saving an image that was
386            initially  loaded  as  a 16bits/channel image, as a .jpg file will
387       result in a loss of
388            information. Use the G'MIC-specific file extension .gmz to  ensure
389       that all data
390            precision is preserved when saving images.
391
392         - Sometimes, file options may/must be set for file formats:
393
394           .  Video files: Only sub-frames of an image sequence may be loaded,
395       using the input expression
396              'filename.ext,[first_frame[,last_frame[,step]]]'.            Set
397       'last_frame==-1' to tell it must be
398              the  last frame of the video. Set 'step' to 0 to force an opened
399       video file to be
400              opened/closed. Output framerate and codec can  be  also  set  by
401       using the output expression
402              'filename.avi,_fps,_codec,_keep_open={  0  |  1 }'. 'codec' is a
403       4-char string
404              (see http://www.fourcc.org/codecs.php) or '0'  for  the  default
405       codec. 'keep_open' tells if
406              the output video file must be kept open for appending new frames
407       afterwards.
408
409           . .cimg[z] files: Only crops and sub-images of .cimg files  can  be
410       loaded, using the input
411             expressions 'filename.cimg,N0,N1', 'filename.cimg,N0,N1,x0,x1',
412             'filename.cimg,N0,N1,x0,y0,x1,y1',                         'file‐
413       name.cimg,N0,N1,x0,y0,z0,x1,y1,z1' or
414             'filename.cimg,N0,N1,x0,y0,z0,c0,x1,y1,z1,c1'.
415             Specifying '-1' for one coordinates stands for the maximum possi‐
416       ble value. Output expression
417             'filename.cimg[z][,datatype]'  can  be  used  to force the output
418       pixel type. 'datatype' can be
419             { auto | uchar | char | ushort | short | uint | int  |  uint64  |
420       int64 | float | double }.
421
422           .  .raw  binary files: Image dimensions and input pixel type may be
423       specified when loading .raw
424              files with input expression
425              'filename.raw[,datatype][,width][,height[,depth[,dim[,off‐
426       set]]]]]'. If no dimensions are
427              specified, the resulting image is a one-column vector with maxi‐
428       mum possible height. Pixel
429              type can also be specified with  the  output  expression  'file‐
430       name.raw[,datatype]'.
431              'datatype' can be the same as for .cimg[z] files.
432
433           .  .yuv files: Image dimensions must be specified when loading, and
434       only sub-frames of an image sequence
435              may be loaded, using the input expression
436              'filename.yuv,width,height[,chroma_subsam‐
437       pling[,first_frame[,last_frame[,step]]]'.
438              'chroma_subsampling' can be { 420 | 422 | 444 }.
439              When  saving, chroma subsampling mode can be specified with out‐
440       put expression
441              'filename.yuv[,chroma_subsampling]'.
442
443           . .tiff files: Only sub-images of multi-pages  tiff  files  can  be
444       loaded, using the input
445              expression 'filename.tif,_first_frame,_last_frame,_step'.
446              Output       expression       'filename.tiff,_datatype,_compres‐
447       sion,_force_multipage,_use_bigtiff' can
448              be used to specify the output pixel type, as well  as  the  com‐
449       pression method.
450              'datatype'  can be the same as for .cimg[z] files. 'compression'
451       can be
452              { none (default) | lzw | jpeg }. 'force_multipage can be {  0=no
453       (default) | 1=yes }.
454              'use_bigtiff can be { 0=no | 1=yes (default) }.
455
456           .  .gif  files:  Animated  gif  files can be saved, using the input
457       expression
458              'filename.gif,fps>0,nb_loops'. Specify 'nb_loops=0'  to  get  an
459       infinite number of animation
460              loops (this is the default behavior).
461
462           .  .jpeg  files:  The output quality may be specified (in %), using
463       the output expression
464              'filename.jpg,30' (here, to get a 30% quality output). '100'  is
465       the default.
466
467           .  .mnc  files:  The output header can set from another file, using
468       the output expression
469              'filename.mnc,header_template.mnc'.
470
471           . .pan, .cpp, .hpp, .c and .h files: The  output  datatype  can  be
472       selected with output expression
473              'filename[,datatype]'.   'datatype'  can  be  the  same  as  for
474       .cimg[z] files.
475
476           . .gmic files: These filenames are assumed to be G'MIC custom  com‐
477       mands files. Loading such a
478              file  will add the commands it defines to the interpreter. Debug
479       information can be
480              enabled/disabled    by    the    input     expression     'file‐
481       name.gmic[,add_debug_info={ 0 | 1 }]'.
482
483           .  Inserting 'ext:' on the beginning of a filename (e.g. 'jpg:file‐
484       name') forces G'MIC to
485              read/write the file as it would have been done  if  it  had  the
486       specified extension '.ext'.
487
488         - Some input/output formats and options may not be supported, depend‐
489       ing on the configuration
490            flags that have been set during the build of the G'MIC software.
491
492        8. Substitution rules
493           ------------------
494
495         - G'MIC items containing '$' or '{}'  are  substituted  before  being
496       interpreted. Use these
497            substituting  expressions  to  access various data from the inter‐
498       preter environment.
499
500         - '$name' and '${name}' are both substituted  by  the  value  of  the
501       specified named variable
502            (set  previously  by  the item 'name=value'). If this variable has
503       not been already set, the
504            expression is substituted by the highest  positive  index  of  the
505       named image '[name]'. If no
506            image has this name, the expression is substituted by the value of
507       the OS environment variable
508            with same name (it may be thus an empty string).
509            The following reserved  variables  are  predefined  by  the  G'MIC
510       interpreter:
511
512              . '$!': The current number of images in the list.
513              .  '$>'  and '$<': The increasing/decreasing index of the latest
514       (currently running)
515                 'repeat...done' loop. '$>' goes from '0' (first  loop  itera‐
516       tion) to
517                 'nb_iterations - 1' (last iteration). '$>' does the opposite.
518              .  '$/':  The  current  call stack. Stack items are separated by
519       slashes '/'.
520              . '$|': The current value (expressed in seconds) of a  millisec‐
521       ond precision timer.
522              . '$^': The current verbosity level.
523              .  '$_cpus':  The  number of computation cores available on your
524       machine.
525              . '$_pid': The current process identifier, as an integer.
526              . '$_prerelease': For pre-releases only, the date  of  the  pre-
527       release as 'yymmdd'.
528                 For stable releases, this variable is not defined.
529              .  '$_version': A 3-digits number telling about the current ver‐
530       sion of the G'MIC interpreter
531                 (e.g. '257').
532              . '$_vt100': Set to 1 (default value) if colored text output  is
533       allowed on the console.
534              .  '$_path_rc':  The  path  to  the  G'MIC  folder used to store
535       resources and configuration files
536                (its value is OS-dependent).
537              . '$_path_user': The path  to  the  G'MIC  user  file  .gmic  or
538       user.gmic (its value is
539                 OS-dependent).
540
541         -  '$$name'  and  '$${name}' are both substituted by the G'MIC script
542       code of the specified named
543            custom command, or by an empty string if no  custom  command  with
544       specified name exists.
545
546         -  '${"-pipeline"}' is substituted by the status value after the exe‐
547       cution of the specified
548            G'MIC pipeline  (see  command  'status').  Expression  '${}'  thus
549       stands for the
550            current status value.
551
552         -  '{``string}'  (starting  with  two backquotes) is substituted by a
553       double-quoted version of the
554            specified string.
555
556         - '{/string}' is substituted by the escaped version of the  specified
557       string.
558
559         - '{'string'}' (between single quotes) is substituted by the sequence
560       of ascii codes that compose
561            the specified string, separated by commas ','. For instance,  item
562       '{'foo'}' is substituted
563            by '102,111,111'.
564
565         - '{image,feature}' is substituted by a specific feature of the image
566       [image]. 'image' can be
567            either an image number or an image name. It can be also eluded, in
568       which case, the last image
569            '[-1]' of the list is considered for the requested feature.
570            Specified 'feature' can be one of:
571
572              . 'b': The image basename (i.e. filename without the folder path
573       nor extension).
574              . 'f': The image folder name.
575              . 'n': The image name or filename (if the image  has  been  read
576       from a file).
577              .  't':  The text string from the image values regarded as ascii
578       codes.
579              . 'x': The image extension (i.e the characters  after  the  last
580       '.' in the image name).
581              .  '^  :  The  sequence of all image values, separated by commas
582       ','.
583              . '@subset': The sequence of image values corresponding  to  the
584       specified subset, and
585                 separated by commas ','.
586              . Any other 'feature' is considered as a mathematical expression
587       associated to the image
588                 [image] and is substituted by the result  of  its  evaluation
589       (float value). For instance,
590                 expression  '{0,w+h}'  is substituted by the sum of the width
591       and height of the first image
592                 (see section 'Mathematical expressions' for more details). If
593       a mathematical expression
594                 starts  with  an underscore '_', the resulting value is trun‐
595       cated to a readable format.
596                 For instance, item '{_pi}' is substituted by '3.14159' (while
597       '{pi}' is substituted by
598                 '3.141592653589793').
599              .  A  'feature'  delimited by backquotes is replaced by a string
600       whose ascii codes correspond
601                 to the list of values resulting from the  evaluation  of  the
602       specified mathematical
603                 expression. For instance, item '{`[102,111,111]`}' is substi‐
604       tuted by 'foo' and item
605                 '{`vector8(65)`}' by 'AAAAAAAA'.
606
607         - '{*}' is substituted by the visibility state of the instant display
608       window [0] (can be
609            { 0=closed | 1=visible }).
610
611         -  '{*,feature1,...,featureN}' or '{*index,feature1,...,featureN}' is
612       substituted by a specific
613             set of features of the instant display window #0 (or  #index,  if
614       specified).
615             Requested 'features' can be:
616
617              .  'w': display width (i.e. width of the display area managed by
618       the window).
619              . 'h': display height (i.e. height of the display  area  managed
620       by the window).
621              . 'wh': display width x display height.
622              . 'd': window width (i.e. width of the window widget).
623              . 'e': window height (i.e. height of the window widget).
624              . 'de': window width x window height.
625              . 'u': screen width (actually independent on the window size).
626              . 'v': screen height (actually independent on the window size).
627              . 'uv': screen width x screen height.
628              . 'n': current normalization type of the instant display.
629              . 't': window title of the instant display.
630              . 'x': X-coordinate of the mouse position (or -1, if outside the
631       display area).
632              . 'y': Y-coordinate of the mouse position (or -1, if outside the
633       display area).
634              . 'b': state of the mouse buttons { 1=left-but. | 2=right-but. |
635       4=middle-but. }.
636              . 'o': state of the mouse wheel.
637              . 'k': decimal code of the pressed key if any, 0 otherwise.
638              . 'c': boolean (0 or 1) telling if the instant display has  been
639       closed recently.
640              .  'r':  boolean telling if the instant display has been resized
641       recently.
642              . 'm': boolean telling if the instant  display  has  been  moved
643       recently.
644              . Any other 'feature' stands for a keycode name (in capital let‐
645       ters), and is substituted by
646                 a boolean describing the current  key  state  {  0=pressed  |
647       1=released }.
648              .  You  can  also prepend a hyphen '-' to a 'feature' (that sup‐
649       ports it) to flush the
650                 corresponding  event  immediately  after  reading  its  state
651       (works for keys, mouse and
652                 window events).
653
654         -  Item  substitution  is  never  performed  in  items between double
655       quotes. One must break the quotes
656           to enable substitution if needed, as in '"3+8 kg  =  "{3+8}"  kg"'.
657       Using double quotes is then
658           a  convenient  way to disable the substitutions mechanism in items,
659       when necessary.
660
661         - One can also disable the substitution mechanism  on  items  outside
662       double quotes, by escaping the
663            '{','}' or '$' characters, as in '\{3+4\}\ doesn't\ evaluate'.
664
665        9. Mathematical expressions
666           ------------------------
667
668         -  G'MIC  has an embedded mathematical parser. It is used to evaluate
669       (possibly complex) expressions
670            inside braces '{}', or formulas in commands that may take  one  as
671       an argument (e.g. 'fill').
672
673         -  When  the context allows it, a formula is evaluated for each pixel
674       of the selected images
675            (e.g. 'fill').
676
677         - A math expression may return a scalar or vector-valued result (with
678       a fixed number of
679            components).
680
681         - The mathematical parser understands the following set of functions,
682       operators and variables:
683
684           _ Usual operators: || (logical or), && (logical  and),  |  (bitwise
685       or), & (bitwise and),
686              !=, ==, <=, >=, <, >, << (left bitwise shift), >> (right bitwise
687       shift), -, +, *, /,
688              % (modulo), ^ (power), ! (logical not), ~ (bitwise not),
689              ++, --, +=, -=, *=, /=, %=, &=, |=, ^=, >>=, <<= (in-place oper‐
690       ators).
691
692           _  Usual  math  functions: abs(), acos(), acosh(), arg(), argkth(),
693       argmax(), argmin(), asin(),
694              asinh(),  atan(),  atan2(),  atanh(),  avg(),  bool(),   cbrt(),
695       ceil(), cos(), cosh(), cut(), exp(), fact(),
696              fibo(),  floor(),  gauss(),  int(),  isval(),  isnan(), isinf(),
697       isint(), isbool(), isfile(), isdir(), isin(),
698              kth(), log(), log2(),  log10(),  max(),  med(),  min(),  narg(),
699       prod(), rol() (left bit rotation),
700              ror()  (right  bit  rotation),  round(),  sign(), sin(), sinc(),
701       sinh(), sqrt(), std(),
702              srand(_seed), sum(), tan(), tanh(), var(), xor().
703
704              . 'atan2(y,x)' is the version of 'atan()' with two arguments 'y'
705       and 'x' (as in C/C++).
706              .  'permut(k,n,with_order)'  computes the number of permutations
707       of k objects from a set of
708                 n objects.
709              .            'gauss(x,_sigma,_is_normalized)'            returns
710       'exp(-x^2/(2*s^2))/(is_normalized?sqrt(2*pi*sigma^2):1)'.
711              .   'cut(value,min,max)'   returns  value  if  it  is  in  range
712       [min,max], or min or max otherwise.
713              . 'narg(a_1,...,a_N)' returns the number of specified  arguments
714       (here, N).
715              . 'arg(i,a_1,..,a_N)' returns the ith argument a_i.
716              .  'isval()',  'isnan()',  'isinf()', 'isint()', 'isbool()' test
717       the type of the given
718                 number or expression, and return 0 (false) or 1 (true).
719              . 'isfile('path')' (resp. 'isdir('path')') returns 0 (false)  or
720       1 (true) whether its string argument is a
721                 path to an existing file (resp. to a directory) or not.
722              .  'isin(v,a_1,...,a_n)'  returns  0 (false) or 1 (true) whether
723       the first value 'v' appears
724                 in the set of other values 'a_i'.
725              . 'argmin()', 'argmax()', 'avg()',  'kth()',  'max()',  'med()',
726       'min()', 'std()', 'sum()'
727                 and  'var()'  can  be  called  with  an  arbitrary  number of
728       scalar/vector arguments.
729              .  'round(value,rounding_value,direction)'  returns  a   rounded
730       value. 'direction' can be
731                 { -1=to-lowest | 0=to-nearest | 1=to-highest }.
732
733           _ Variable names below are pre-defined. They can be overridden.
734
735              . 'l': length of the associated list of images.
736              . 'w': width of the associated image, if any (0 otherwise).
737              . 'h': height of the associated image, if any (0 otherwise).
738              . 'd': depth of the associated image, if any (0 otherwise).
739              . 's': spectrum of the associated image, if any (0 otherwise).
740              .  'r':  shared  state of the associated image, if any (0 other‐
741       wise).
742              . 'wh': shortcut for width x height.
743              . 'whd': shortcut for width x height x depth.
744              . 'whds': shortcut for width x height x depth x  spectrum  (i.e.
745       number of image values).
746              .  'im','iM','ia','iv','is','ip','ic': Respectively the minimum,
747       maximum, average,
748                 variance, sum, product and median  value  of  the  associated
749       image, if any (0 otherwise).
750              .  'xm','ym','zm','cm':  The  pixel  coordinates  of the minimum
751       value in the associated
752                 image, if any (0 otherwise).
753              . 'xM','yM','zM','cM': The  pixel  coordinates  of  the  maximum
754       value in the associated
755                 image, if any (0 otherwise).
756              .  All  these variables are considered as constant values by the
757       math parser (for optimization
758                 purposes) which is indeed the case most of the time.  Anyway,
759       this might not be the case,
760                 if function 'resize(#ind,..)' is used in the math expression.
761                 If  so,  it  is  safer to invoke functions 'l()', 'w(_#ind)',
762       'h(_#ind)', ... 's(_#ind)'
763                 and 'ic(_#ind)' instead of the corresponding named variables.
764              . 'i': current processed pixel  value  (i.e.  value  located  at
765       (x,y,z,c)) in the associated
766                 image, if any (0 otherwise).
767              . 'iN': Nth channel value of current processed pixel (i.e. value
768       located at (x,y,z,N)) in
769                 the associated image, if any (0 otherwise). 'N'  must  be  an
770       integer in range [0,9].
771              .  'R','G','B'  and  'A'  are equivalent to 'i0', 'i1', 'i2' and
772       'i3' respectively.
773              . 'I': current vector-valued processed pixel in  the  associated
774       image, if any (0 otherwise).
775                 The  number  of  vector  components is equal to the number of
776       image channels
777                 (e.g. I = [ R,G,B ] for a RGB image).
778              . You may add '#ind' to  any  of  the  variable  name  above  to
779       retrieve the information for any
780                 numbered image [ind] of the list (when this makes sense). For
781       instance 'ia#0' denotes the
782                 average value of the first image of the list).
783              . 'x': current processed column of the associated image, if  any
784       (0 otherwise).
785              .  'y': current processed row of the associated image, if any (0
786       otherwise).
787              . 'z': current processed slice of the associated image,  if  any
788       (0 otherwise).
789              . 'c': current processed channel of the associated image, if any
790       (0 otherwise).
791              . 't': thread id when an expression is evaluated  with  multiple
792       threads (0 means
793                 'master thread').
794              . 'e': value of e, i.e. 2.71828...
795              . 'pi': value of pi, i.e. 3.1415926...
796              . 'u': a random value between [0,1], following a uniform distri‐
797       bution.
798              . 'g': a random value,  following  a  gaussian  distribution  of
799       variance 1
800                 (roughly in [-6,6]).
801              .  'interpolation': value of the default interpolation mode used
802       when reading pixel values
803                  with the pixel access operators (i.e. when the interpolation
804       argument is not explicitly
805                  specified, see below for more details on pixel access opera‐
806       tors). Its initial default
807                  value is 0.
808              . 'boundary': value of the default boundary conditions used when
809       reading pixel values with
810                  the pixel access operators (i.e. when the boundary condition
811       argument is not explicitly
812                  specified, see below for more details on pixel access opera‐
813       tors). Its initial default
814                  value is 0.
815
816           _  Vector  calculus: Most operators are also able to work with vec‐
817       tor-valued elements.
818
819              . '[ a0,a1,...,aN-1  ]'  defines  a  N-dimensional  vector  with
820       scalar coefficients ak.
821              .  'vectorN(a0,a1,,...,aN-1)'  does  the same, with the ak being
822       repeated periodically if only a
823                 few are specified.
824              . 'vector(#N,a0,a1,,...,aN-1)' does the same, and  can  be  used
825       for any constant expression N.
826              .  In previous expressions, the ak can be vectors themselves, to
827       be concatenated into a
828                 single vector.
829              . The scalar element ak of a vector X is retrieved by 'X[k]'.
830              . The sub-vector [ X[p],X[p+s]...X[p+s*(q-1)] ] (of size q) of a
831       vector X
832                 is retrieved by 'X[p,q,s]'.
833              .  Equality/inequality  comparisons  between two vectors is done
834       with operators '==' and '!='.
835              . Some vector-specific functions can be used on vector values:
836                'cross(X,Y)'  (cross  product),  'dot(X,Y)'   (dot   product),
837       'size(X)' (vector dimension),
838                'sort(X,_is_increasing,_chunk_size)'     (sorting     values),
839       'reverse(A)' (reverse order of
840                components), 'shift(A,_length,_boundary_conditions)' and
841                'same(A,B,_nb_vals,_is_case_sensitive)'    (vector    equality
842       test).
843              . Function 'normP(u1,...,un)' computes the LP-norm of the speci‐
844       fied vector
845                 (P being an unsigned integer constant  or  'inf').  If  P  is
846       omitted, the L2 norm is used.
847              .  Function 'resize(A,size,_interpolation,_boundary_conditions)'
848       returns a resized version of
849                 a vector 'A' with specified interpolation  mode.  'interpola‐
850       tion' can be { -1=none
851                 (memory  content) | 0=none | 1=nearest | 2=average | 3=linear
852       | 4=grid | 5=bicubic |
853                 6=lanczos }, and 'boundary_conditions'  can be {  0=dirichlet
854       | 1=neumann | 2=periodic | 3=mirror }.
855              .  Function  'find(A,B,_is_forward,_starting_index)' returns the
856       index where sub-vector B
857                 appears in vector A, (or -1 if B is not found in A). Argument
858       A can be also replaced by
859                 an image index #ind.
860              .  A  2-dimensional  vector  may be seen as a complex number and
861       used in those particular
862                 functions/operators:
863                 '**' (complex multiplication), '//' (complex division),  '^^'
864       (complex exponentiation),
865                 '**='  (complex  self-multiplication),  '//='  (complex self-
866       division), '^^=' (complex
867                 self-exponentiation), 'cabs()'  (complex  modulus),  'carg()'
868       (complex argument), 'cconj()'
869                 (complex   conjugate),  'cexp()'  (complex  exponential)  and
870       'clog()' (complex logarithm).
871              . A MN-dimensional vector may be seen as a M x N matrix and used
872       in those particular
873                 functions/operators:
874                 '*'  (matrix-vector  multiplication), 'det(A)' (determinant),
875       'diag(V)' (diagonal matrix
876                 from a vector), 'eig(A)' (eigenvalues/eigenvectors), 'eye(n)'
877       (n x n identity matrix),
878                 'inv(A)'   (matrix  inverse),  'mul(A,B,_nb_colsB)'  (matrix-
879       matrix multiplication),
880                 'pseudoinv(A,_nb_colsA)',  'rot(u,v,w,angle)'  (3D   rotation
881       matrix), 'rot(angle)' (2D
882                 rotation matrix), 'solve(A,B,_nb_colsB)' (least-square solver
883       of linear system A.X = B),
884                 'svd(A,_nb_colsA)' (singular value decomposition), 'trace(A)'
885       (matrix trace) and
886                 'transp(A,nb_colsA)'  (matrix transpose). Argument 'nb_colsB'
887       may be omitted if it is
888                 equal to 1.
889              . Specifying a vector-valued math expression as an argument of a
890       command that operates on
891                 image  values (e.g. 'fill') modifies the whole spectrum range
892       of the processed image(s),
893                 for each spatial coordinates (x,y,z). The  command  does  not
894       loop over the C-axis in this
895                 case.
896
897           _ String manipulation: Character strings are defined and managed as
898       vectors objects.
899              Dedicated functions and initializers to manage strings are
900
901              . [ 'string' ] and 'string' define a vector whose values are the
902       ascii codes of the
903                 specified   character  string  (e.g.  'foo'  is  equal  to  [
904       102,111,111 ]).
905              . _'character' returns the (scalar) ascii code of the  specified
906       character (e.g. _'A' is
907                 equal to 65).
908              .  A  special  case  happens  for  empty strings: Values of both
909       expressions [ '' ] and '' are 0.
910              . Functions 'lowercase()' and 'uppercase()' return  string  with
911       all string characters
912                 lowercased or uppercased.
913              .  Function 'stov(str,_starting_index,_is_strict)' parses speci‐
914       fied string 'str' and returns the value
915                 contained in it.
916              . Function 'vtos(expr,_nb_digits,_siz)' returns a vector of size
917       'siz' which contains
918                 the  ascii  representation  of values described by expression
919       'expr'.
920                 'nb_digits' can be { -1=auto-reduced | 0=all | >0=max  number
921       of digits }.
922              .  Function  'echo(str1,str2,...,strN)' prints the concatenation
923       of given string arguments
924                 on the console.
925              . Function 'cats(str1,str2,...,strN,siz)' returns the concatena‐
926       tion of given string arguments
927                 as a new vector of size 'siz'.
928
929           _ Special operators can be used:
930
931              .  ';':  expression  separator. The returned value is always the
932       last encountered expression.
933                 For instance expression '1;2;pi' is evaluated as 'pi'.
934              . '=': variable assignment. Variables in mathematical parser can
935       only refer to numerical
936                 values  (vectors  or scalars). Variable names are case-sensi‐
937       tive. Use this operator in
938                 conjunction with ';' to define more complex evaluable expres‐
939       sions, such as
940                 't=cos(x);3*t^2+2*t+1'.
941                 These  variables  remain local to the mathematical parser and
942       cannot be accessed outside
943                  the evaluated expression.
944              . Variables defined in math parser may have a constant property,
945       by specifying keyword 'const'
946                 before  the  variable  name  (e.g.  'const foo = pi/4;'). The
947       value set to such a variable must
948                 be indeed a constant scalar. Constant variables  allows  cer‐
949       tain types of optimizations in
950                 the math JIT compiler.
951
952           _ The following specific functions are also defined:
953
954              .  'u(max)'  or  'u(min,max)':  return  a  random  value between
955       [0,max] or [min,max], following
956                 a uniform distribution.
957              .     'i(_a,_b,_c,_d,_interpolation_type,_boundary_conditions)':
958       return the value of the pixel
959                 located at position (a,b,c,d) in the associated image, if any
960       (0 otherwise).
961                 'interpolation_type' can be { 0=nearest neighbor | other=lin‐
962       ear }.
963                 'boundary_conditions'  can  be  {  0=dirichlet  | 1=neumann |
964       2=periodic | 3=mirror }.
965                 Omitted coordinates are  replaced  by  their  default  values
966       which are respectively
967                 x, y, z, c, interpolation and boundary.
968                 For instance command 'fill 0.5*(i(x+1)-i(x-1))' will estimate
969       the X-derivative of an
970                 image with a classical finite difference scheme.
971              .  'j(_dx,_dy,_dz,_dc,_interpolation_type,_boundary_conditions)'
972       does the same for the pixel
973                 located at position (x+dx,y+dy,z+dz,c+dc) (pixel access rela‐
974       tive to the current
975                 coordinates).
976              . 'i[offset,_boundary_conditions]'  returns  the  value  of  the
977       pixel located at specified
978                 'offset'  in  the  associated image buffer (or 0 if offset is
979       out-of-bounds).
980              . 'j[offset,_boundary_conditions]' does the same for  an  offset
981       relative to the current pixel
982                 coordinates (x,y,z,c).
983              . 'i(#ind,_x,_y,_z,_c,_interpolation,_boundary_conditions)',
984                 'j(#ind,_dx,_dy,_dz,_dc,_interpolation,_boundary_condi‐
985       tions)',
986                 'i[#ind,offset,_boundary_conditions]'  and  'i[offset,_bound‐
987       ary_conditions]' are similar expressions used to
988                 access pixel values for any numbered image [ind] of the list.
989              .             'I/J[offset,_boundary_conditions]'             and
990       'I/J(#ind,_x,_y,_z,_interpolation,_boundary_conditions)' do
991                 the same as 'i/j[offset,_boundary_conditions]' and
992                 'i/j(#ind,_x,_y,_z,_c,_interpolation,_boundary_conditions)'
993       but return a vector instead of a scalar
994                 (e.g.  a  vector  [ R,G,B ] for a pixel at (a,b,c) in a color
995       image).
996              . 'sort(#ind,_is_increasing,_axis)'  sorts  the  values  in  the
997       specified image [ind].
998              . 'crop(_#ind,_x,_y,_z,_c,_dx,_dy,_dz,_dc,_boundary_conditions)'
999       returns a vector whose values come
1000                 from the cropped region of image [ind] (or from default image
1001       selected if 'ind' is not
1002                 specified).  Cropped  region  starts from point (x,y,z,c) and
1003       has a size of
1004                 dx x dy x dz x dc. Arguments for coordinates and sizes can be
1005       omitted if they are not
1006                 ambiguous  (e.g. 'crop(#ind,x,y,dx,dy)' is a valid invocation
1007       of this function).
1008              .      'draw(_#ind,S,x,y,z,c,dx,_dy,_dz,_dc,_opacity,_M,_max_M)'
1009       draws a sprite S in image [ind]
1010                 (or  in  default image selected if 'ind' is not specified) at
1011       coordinates (x,y,z,c).
1012                 The size of the sprite dx x dy x dz x dc must  be  specified.
1013       You can also specify a
1014                 corresponding opacity mask M if its size matches S.
1015              .  'polygon(_#ind,nb_vertices,coords,_opacity,_color)'  draws  a
1016       filled polygon in image [ind]
1017                 (or in default image selected if 'ind' is not  specified)  at
1018       specified coordinates.
1019                 It draws a single line if 'nb_vertices' is set to 2.
1020              .  'polygon(_#ind,-nb_vertices,coords,_opacity,_pattern,_color)'
1021       draws a outlined polygon in image [ind]
1022                 (or in default image selected if 'ind' is not  specified)  at
1023       specified coordinates and with specified
1024                 line  pattern. It draws a single line if 'nb_vertices' is set
1025       to 2.
1026              . 'ellipse(_#ind,xc,yc,radius1,_radius2,_angle,_opacity,_color)'
1027       draws a filled ellipse in image [ind]
1028                 (or in default image selected if 'ind' is not specified) with
1029       specified coordinates.
1030              .  'ellipse(_#ind,xc,yc,-radius1,-_radius2,_angle,_opacity,_pat‐
1031       tern,_color)' draws an outlined ellipse in
1032                 image  [ind]  (or  in  default image selected if 'ind' is not
1033       specified).
1034              .               'resize(#ind,w,_h,_d,_s,_interp,_boundary_condi‐
1035       tions,_cx,_cy,_cz,_cc)' resizes an image of the
1036                 associated  list  with  specified dimension and interpolation
1037       method. When using this,
1038                 function, you should consider retrieving  the  (non-constant)
1039       image dimensions using the
1040                 dynamic   functions   'w(_#ind)',   'h(_#ind)',   'd(_#ind)',
1041       's(_#ind)', 'wh(_#ind)',
1042                 'whd(_#ind)' and 'whds(_#ind)' instead of  the  corresponding
1043       constant variables.
1044              .    'if(condition,expr_then,_expr_else)':   return   value   of
1045       'expr_then' or 'expr_else',
1046                 depending on the value of 'condition' (0=false,  other=true).
1047       'expr_else' can be omitted
1048                 in  which  case 0 is returned if the condition does not hold.
1049       Using the ternary operator
1050                 'condition?expr_then[:expr_else]' gives an equivalent expres‐
1051       sion.
1052                 For  instance,  G'MIC  commands  'fill if(x%10==0,255,i)' and
1053       'fill x%10?i:255' both draw
1054                 blank vertical lines on every 10th column of an image.
1055              . 'do(expression,_condition)' repeats the evaluation of 'expres‐
1056       sion' until 'condition'
1057                 vanishes (or until 'expression' vanishes if no 'condition' is
1058       specified). For instance,
1059                 the                                               expression:
1060       'if(N<2,N,n=N-1;F0=0;F1=1;do(F2=F0+F1;F0=F1;F1=F2,n=n-1))' returns
1061                 the  Nth  value  of  the  Fibonacci sequence, for N>=0 (e.g.,
1062       46368 for N=24).
1063                 'do(expression,condition)'  always  evaluates  the  specified
1064       expression at least once,
1065                 then  check for the loop condition. When done, it returns the
1066       last value of 'expression'.
1067              .  'for(init,condition,_procedure,body)'  first  evaluates   the
1068       expression 'init', then
1069                 iteratively  evaluates  'body'  (followed  by  'procedure' if
1070       specified) while 'condition'
1071                 is verified (i.e. not zero). It may happen that no  iteration
1072       is done, in which case the
1073                 function returns nan. Otherwise, it returns the last value of
1074       'body'.
1075                 For           instance,            the            expression:
1076       'if(N<2,N,for(n=N;F0=0;F1=1,n=n-1,F2=F0+F1;F0=F1;F1=F2))'
1077                 returns  the  Nth  value  of the Fibonacci sequence, for N>=0
1078       (e.g., 46368 for N=24).
1079              .  'while(condition,expression)'  is   exactly   the   same   as
1080       'for(init,condition,expression)'
1081                 without the specification of an initializing expression.
1082              .  'break()'  and 'continue()' respectively breaks and continues
1083       the current running bloc
1084                 (loop, init or main environment).
1085              . 'fsize('filename')' returns the size of the  specified  'file‐
1086       name' (or '-1' if file does not exist).
1087              .  'date(attr,'path')'  returns the date attribute for the given
1088       'path' (file or directory),
1089                 with 'attr' being { 0=year | 1=month | 2=day | 3=day of  week
1090       | 4=hour | 5=minute |
1091                 6=second }, or a vector of those values.
1092              .  'date(_attr)  returns the specified attribute for the current
1093       (locale) date.
1094              . 'print(expr1,expr2,...) or 'print(#ind) prints  the  value  of
1095       the specified expressions
1096                 (or  image information) on the console, and returns the value
1097       of the last expression
1098                 (or nan in case of an image).  Function  'prints(expr)'  also
1099       prints the string composed
1100                 of  the ascii characters defined by the vector-valued expres‐
1101       sion (e.g. 'prints('Hello')').
1102              . 'debug(expression) prints detailed debug information about the
1103       sequence of operations done
1104                 by  the  math  parser to evaluate the expression (and returns
1105       its value).
1106              . 'display(_X,_w,_h,_d,_s) or 'display(#ind)  display  the  con‐
1107       tents of the vector 'X'
1108                 (or  specified  image)  and wait for user events. if no argu‐
1109       ments are provided, a memory
1110                 snapshot of the math parser environment is displayed instead.
1111              . 'begin(expression) and 'end(expression) evaluates  the  speci‐
1112       fied expressions only once,
1113                 respectively  at the beginning and end of the evaluation pro‐
1114       cedure, and this,
1115                 even when multiple evaluations are required  (e.g.  in  'fill
1116       ">begin(foo = 0); ++foo"').
1117              .   'copy(dest,src,_nb_elts,_inc_d,_inc_s,_opacity)   copies  an
1118       entire memory block of 'nb_elts'
1119                 elements starting from a source value 'src'  to  a  specified
1120       destination 'dest', with
1121                 increments  defined  by  'inc_d' and 'inc_s' respectively for
1122       the destination and source
1123                 pointers.
1124              . 'stats(_#ind) returns the statistics  vector  of  the  running
1125       image '[ind]', i.e the vector
1126                 [ im,iM,ia,iv,xm,ym,zm,cm,xM,yM,zM,cM,is,ip ] (14 values).
1127              .  'unref(a,b,...)  destroys  references  to  the named variable
1128       given as arguments.
1129              . 'breakpoint() inserts a possible computation  breakpoint  (not
1130       supported by the cli interface).
1131              .  '_(expr) just ignores its arguments (mainly useful for debug‐
1132       ging).
1133              . 'ext('pipeline') executes the specified G'MIC pipeline  as  if
1134       it was called outside
1135                 the currently evaluated expression.
1136
1137           - User-defined macros:
1138
1139              .  Custom  macro  functions can be defined in a math expression,
1140       using the assignment operator
1141                 '=', e.g. 'foo(x,y)  =  cos(x  +  y);  result  =  foo(1,2)  +
1142       foo(2,3)'.
1143              .  Trying  to override a built-in function (e.g. 'abs()') has no
1144       effect.
1145              . Overloading macros with different number of arguments is  pos‐
1146       sible. Re-defining a
1147                 previously  defined  macro  with the same number of arguments
1148       discards its previous
1149                 definition.
1150              . Macro functions are indeed processed as macros by  the  mathe‐
1151       matical evaluator. You should
1152                 avoid  invoking  them  with  arguments  that  are  themselves
1153       results of assignments or
1154                 self-operations. For instance, 'foo(x)  =  x  +  x;  z  =  0;
1155       foo(++z)' returns '4' rather
1156                 than expected value '2'.
1157              .  When substituted, macro arguments are placed inside parenthe‐
1158       ses, except if a number sign
1159                 '#' is located just before or after the  argument  name.  For
1160       instance, expression
1161                 'foo(x,y)  =  x*y; foo(1+2,3)' returns '9' (being substituted
1162       as '(1+2)*(3)'), while
1163                 expression 'foo(x,y) = x#*y#; foo(1+2,3)' returns '7'  (being
1164       substituted as '1+2*3').
1165              .  Number signs appearing between macro arguments function actu‐
1166       ally count for 'empty'
1167                 separators. They may be used to  force  the  substitution  of
1168       macro arguments in unusual
1169                 places, e.g. as in 'str(N) = ['I like N#'];'.
1170
1171           - Multi-threaded and in-place evaluation:
1172
1173              .  If your image data are large enough and you have several CPUs
1174       available, it is likely that
1175                 the math expression passed to a 'fill' or 'input' command  is
1176       evaluated in parallel,
1177                 using multiple computation threads.
1178              .  Starting an expression with ':' or '*' forces the evaluations
1179       required for an image to be
1180                 run in parallel, even if the amount of  data  to  process  is
1181       small (beware, it may be slower
1182                 to  evaluate  in this case!). Specify ':' (instead of '*') to
1183       avoid possible image copy
1184                 done before evaluating the expression (this saves memory, but
1185       do this only if you are
1186                 sure this step is not required!)
1187              .  If the specified expression starts with '>' or '<', the pixel
1188       access operators
1189                 'i(), i[], j()' and 'j[]' return values of  the  image  being
1190       currently modified,
1191                 in forward ('>') or backward ('<') order. The multi-threading
1192       evaluation of the
1193                 expression is also disabled in this case.
1194              . Function 'critical(operands)'  forces  the  execution  of  the
1195       given operands in a single thread at a
1196                 time.
1197
1198           _              Expressions             'i(_#ind,x,_y,_z,_c)=value',
1199       'j(_#ind,x,_y,_z,_c)=value', 'i[_#ind,offset]=value'
1200              and 'j[_#ind,offset]=value' set a pixel  value  at  a  different
1201       location than the running one
1202              in  the  image  [ind]  (or  in  the associated image if argument
1203       '#ind' is omitted), either with
1204              global coordinates/offsets (with 'i(...)' and 'i[...]'), or rel‐
1205       atively to the current
1206              position  (x,y,z,c)  (with 'j(...)' and 'j[...]'). These expres‐
1207       sions always return 'value'.
1208
1209         - The last image of the list is always associated to the  evaluations
1210       of '{expressions}',
1211            e.g. G'MIC sequence '256,128 fill {w}' will create a 256x128 image
1212       filled with value 256.
1213
1214        10. Image and data viewers
1215            ----------------------
1216
1217         - G'MIC has some very handy embedded visualization  modules,  for  1D
1218       signals (command 'plot'),
1219            1D/2D/3D  images (command 'display') and 3D objects (command 'dis‐
1220       play3d'). It manages
1221            interactive views of the selected image data.
1222
1223         - The following keyboard shortcuts are available in  the  interactive
1224       viewers:
1225
1226           . (mousewheel): Zoom in/out.
1227           . CTRL+D: Increase window size.
1228           . CTRL+C: Decrease window size.
1229           . CTRL+R: Reset window size.
1230           . CTRL+W: Close window.
1231           . CTRL+F: Toggle fullscreen mode.
1232           .   CTRL+S:   Save   current   window  snapshot  as  numbered  file
1233       'gmic_xxxx.bmp'.
1234           . CTRL+O: Save current instance of the  viewed  data,  as  numbered
1235       file 'gmic_xxxx.cimgz'.
1236
1237         - Shortcuts specific to the 1D/2D/3D image viewer (command 'display')
1238       are:
1239
1240           . CTRL+A: Switch cursor mode.
1241           . CTRL+P: Play z-stack of frames as  a  movie  (for  volumetric  3D
1242       images).
1243           . CTRL+V: Show/hide 3D view (for volumetric 3D images).
1244           . CTRL+(mousewheel): Go up/down.
1245           . SHIFT+(mousewheel): Go left/right.
1246           .  Numeric  PAD:  Zoom  in/out  (+/-) and move through zoomed image
1247       (digits).
1248           . BACKSPACE: Reset zoom scale.
1249
1250         - Shortcuts specific to the 3D object  viewer  (command  'display3d')
1251       are:
1252
1253           . (mouse)+(left mouse button): Rotate 3D object.
1254           . (mouse)+(right mouse button): Zoom 3D object.
1255           . (mouse)+(middle mouse button): Shift 3D object.
1256           . CTRL+F1 ... CTRL+F6: Toggle between different 3D rendering modes.
1257           . CTRL+Z: Enable/disable z-buffered rendering.
1258           . CTRL+A: Show/hide 3D axes.
1259           . CTRL+G: Save 3D object, as numbered file 'gmic_xxxx.off'.
1260           . CTRL+T: Switch between single/double-sided 3D modes.
1261
1262        11. Adding custom commands
1263            ----------------------
1264
1265         -  New  custom  commands can be added by the user, through the use of
1266       G'MIC custom commands files.
1267
1268         - A command file is a simple ascii text file, where each line  starts
1269       either by
1270            'command_name: command_definition' or 'command_definition (contin‐
1271       uation)'.
1272
1273         - At  startup,  G'MIC  automatically  includes  user's  command  file
1274       $HOME/.gmic (on Unix) or
1275            %APPDATA%/user.gmic  (on  Windows).  The CLI tool 'gmic' automati‐
1276       cally runs the command
1277            'cli_start' if defined.
1278
1279         - Custom command names must use character set [a-zA-Z0-9_] and cannot
1280       start with a number.
1281
1282         - Any ' # comment' expression found in a custom commands file is dis‐
1283       carded by the G'MIC parser,
1284            wherever it is located in a line.
1285
1286         - In a custom command, the following $-expressions are recognized and
1287       substituted:
1288
1289           .  '$*'  is  substituted by a copy of the specified string of argu‐
1290       ments.
1291           . '$"*"' is substituted by a copy of the specified string of  argu‐
1292       ments, each being
1293              double-quoted.
1294           .  '$#'  is  substituted  by  the  maximum index of known arguments
1295       (either specified by the user
1296              or set to a default value in the custom command).
1297           . '$[]' is substituted by the list of selected image  indices  that
1298       have been specified during the
1299              command invocation.
1300           . '$?' is substituted by a printable version of '$[]' to be used in
1301       command descriptions.
1302           . '$i' and '${i}' are both substituted by the i^th specified  argu‐
1303       ment. Negative indices such as
1304              '${-j}'  are allowed and refer to the j^th latest argument. '$0'
1305       is substituted by the
1306              custom command name.
1307           . '${i=default}' is substituted by the value of $i (if defined)  or
1308       by its new value set to
1309               'default' otherwise ('default' may be a $-expression as well).
1310           .  '${subset}'  is substituted by the argument values (separated by
1311       commas ',') of a specified
1312              argument subset. For instance expression '${2--2}' is substitued
1313       by all specified command
1314              arguments  except the first and the last one. Expression '${^0}'
1315       is then substituted by all
1316              arguments of the invoked command (eq. to '$*' if  all  specified
1317       arguments have indeed a
1318              value).
1319           .  '$=var'  is  substituted  by  the  set of instructions that will
1320       assign each argument $i to the
1321              named variable 'var$i' (for i in [0...$#]). This is particularly
1322       useful when a custom
1323              command  want to manage variable numbers of arguments. Variables
1324       names must use character set
1325              [a-zA-Z0-9_] and cannot start with a number.
1326
1327         - These particular $-expressions for custom commands are always  sub‐
1328       stituted, even in
1329            double-quoted  items or when the dollar sign '$' is escaped with a
1330       backslash '\'. To avoid
1331            substitution, place an empty double quoted string just  after  the
1332       '$' (as in '$""1').
1333
1334         - Specifying arguments may be skipped when invoking a custom command,
1335       by replacing them by commas
1336            ',' as in expression 'flower ,,3'. Omitted arguments  are  set  to
1337       their default values, which
1338            must  be  thus explicitly defined in the code of the corresponding
1339       custom command (using
1340            default argument expressions as '${1=default}').
1341
1342         - If one numbered argument required by  a  custom  command  misses  a
1343       value, an error is thrown by the
1344            G'MIC interpreter.
1345
1346        12. List of commands
1347            ----------------
1348
1349          All available G'MIC commands are listed below, classified by themes.
1350       When several choices of
1351          command arguments are possible, they appear  separated  by  '|'.  An
1352       argument specified inside '[]'
1353          or  starting by '_' is optional except when standing for an existing
1354       image [image], where 'image'
1355          can be either an index number or an image name. In  this  case,  the
1356       '[]' characters are mandatory
1357          when  writing  the  item.  A command marked with '(+)' is one of the
1358       builtin commands. Note also that
1359          all images that serve as illustrations in this reference  documenta‐
1360       tion are normalized in [0,255]
1361          before  being displayed. You may need to do this explicitly (command
1362       'normalize 0,255') if you
1363          want to save and view images with the same aspect than those  illus‐
1364       trated in the example codes.
1365
1366        [1m** Global Options:[0;0;0m
1367
1368           [1mdebug (+):[0;0;0m
1369
1370               Activate debug mode.
1371               When  activated, the G'MIC interpreter becomes very verbose and
1372       outputs additional log
1373               messages about its internal state on the standard output  (std‐
1374       out).
1375               This option is useful for developers or to report possible bugs
1376       of the interpreter.
1377
1378           [1mhelp:[0;0;0m
1379               command |
1380               (no arg)
1381
1382               Display help (optionally for specified command only) and exit.
1383               (eq. to 'h').
1384
1385           [1mversion:[0;0;0m
1386
1387               Display current version number on stdout.
1388
1389        [1m** Input / Output:[0;0;0m
1390
1391           [1mcamera (+):[0;0;0m
1392               _camera_index>=0,_nb_frames>0,_skip_frames>=0,_cap‐
1393       ture_width>=0,
1394                 _capture_height>=0
1395
1396               Insert one or several frames from specified camera.
1397               When  'nb_frames==0',  the camera stream is released instead of
1398       capturing new images.
1399               Default    values:    'camera_index=0'    (default     camera),
1400       'nb_frames=1',    'skip_frames=0'   and             'capture_width=cap‐
1401       ture_height=0' (default size).
1402
1403           [1mclut:[0;0;0m
1404               "clut_name",_resolution>0
1405
1406               Insert one of the 552 pre-defined CLUTs at the end of the image
1407       list.
1408               'clut_name'  can  be  {  2-strip-process  |  60s  | 60s_faded |
1409       60s_faded_alt | agfa_apx_100 |           agfa_apx_25 | agfa_precisa_100
1410       |    agfa_ultra_color_100    |    agfa_vista_200    |   alien_green   |
1411       analogfx_anno_1870_color | analogfx_old_style_i | analogfx_old_style_ii
1412       |              analogfx_old_style_iii    |    analogfx_sepia_color    |
1413       analogfx_soft_sepia_i  |  analogfx_soft_sepia_ii  |            anime  |
1414       apocalypse_this_very_moment  | aqua | aqua_and_orange_dark | arabica_12
1415       |  ava_614   |             azrael_93   |   bboyz_2   |   berlin_sky   |
1416       black_and_white  | bleach_bypass | bleachbypass_1 |           bleachby‐
1417       pass_2 | bleachbypass_3 | bleachbypass_4 | blue_mono | blues | bob_ford
1418       |  bourbon_64  |            bw_1  | bw_10 | bw_2 | bw_3 | bw_4 | bw_5 |
1419       bw_6 | bw_7 | bw_8 | bw_9 | byers_11 | candlelight  |            chemi‐
1420       cal_168  | chrome_01 | cinematic-1 | cinematic-10 | cinematic-2 | cine‐
1421       matic-3 | cinematic-4           | cinematic-5  |  cinematic-6  |  cine‐
1422       matic-7   |   cinematic-8   |   cinematic-9  |  classic_teal_and_orange
1423       | clayton_33 | clouseau_54 | cobi_3 | color_rich | colornegative | con‐
1424       trail_35 | crispwarm |           crispwinter | cubicle_99 | django_25 |
1425       domingo_145   |   dropblues   |   earth_tone_boost   |   edgyember    |
1426       expired_fade  |  expired_polaroid  |  extreme  | fade | fade_to_green |
1427       faded | faded_47 | faded_alt           | faded_analog | faded_extreme |
1428       faded_vivid    |   fallcolors   |   faux_infrared   |   fgcinebasic   |
1429       fgcinebright  |  fgcinecold  |  fgcinedrama  |   fgcinetealorange_1   |
1430       fgcinetealorange_2    |              fgcinevibrant   |   fgcinewarm   |
1431       film_print_01   |   film_print_02   |   foggynight   |   folger_50    |
1432       french_comedy  | fuji_160c | fuji_160c_+ | fuji_160c_++ | fuji_160c_- |
1433       fuji_3510_constlclip |           fuji_3510_constlmap |  fuji_3510_cusp‐
1434       clip     |     fuji_3513_constlclip     |     fuji_3513_constlmap     |
1435       fuji_3513_cuspclip  |  fuji_400h  |  fuji_400h_+   |   fuji_400h_++   |
1436       fuji_400h_-  |  fuji_800z  |            fuji_800z_+  |  fuji_800z_++  |
1437       fuji_800z_-    |    fuji_astia_100_generic    |    fuji_astia_100f    |
1438       fuji_fp-100c  |  fuji_fp-100c_+  | fuji_fp-100c_++ | fuji_fp-100c_+++ |
1439       fuji_fp-100c_++_alt  |            fuji_fp-100c_-  |  fuji_fp-100c_--  |
1440       fuji_fp-100c_alt    |   fuji_fp-100c_cool   |   fuji_fp-100c_cool_+   |
1441       fuji_fp-100c_cool_++ |  fuji_fp-100c_cool_-  |  fuji_fp-100c_cool_--  |
1442       fuji_fp-100c_negative     |               fuji_fp-100c_negative_+     |
1443       fuji_fp-100c_negative_++      |       fuji_fp-100c_negative_+++       |
1444       fuji_fp-100c_negative_++_alt      |      fuji_fp-100c_negative_-      |
1445       fuji_fp-100c_negative_-- |           fuji_fp-3000b | fuji_fp-3000b_+  |
1446       fuji_fp-3000b_++    |    fuji_fp-3000b_+++    |    fuji_fp-3000b_-    |
1447       fuji_fp-3000b_--  |   fuji_fp-3000b_hc   |   fuji_fp-3000b_negative   |
1448       fuji_fp-3000b_negative_+    |             fuji_fp-3000b_negative_++   |
1449       fuji_fp-3000b_negative_+++      |      fuji_fp-3000b_negative_-       |
1450       fuji_fp-3000b_negative_-- | fuji_fp-3000b_negative_early | fuji_fp_100c
1451       | fuji_neopan_1600 |           fuji_neopan_1600_+ | fuji_neopan_1600_++
1452       |        fuji_neopan_1600_-       |       fuji_neopan_acros_100       |
1453       fuji_provia_100_generic  |  fuji_provia_100f   |   fuji_provia_400f   |
1454       fuji_provia_400x   |            fuji_sensia_100  |  fuji_superia_100  |
1455       fuji_superia_100_+ | fuji_superia_100_++ |           fuji_superia_100_-
1456       |  fuji_superia_1600  |  fuji_superia_1600_+  |  fuji_superia_1600_++ |
1457       fuji_superia_1600_-  |  fuji_superia_200  |   fuji_superia_200_xpro   |
1458       fuji_superia_400 |           fuji_superia_400_+ | fuji_superia_400_++ |
1459       fuji_superia_400_- | fuji_superia_800 |           fuji_superia_800_+  |
1460       fuji_superia_800_++   |  fuji_superia_800_-  |  fuji_superia_hg_1600  |
1461       fuji_superia_reala_100        |        fuji_superia_x-tra_800         |
1462       fuji_velvia_100_generic           |           fuji_velvia_50          |
1463       fuji_xtrans_iii_acros        |        fuji_xtrans_iii_acros+g         |
1464       fuji_xtrans_iii_acros+r    |              fuji_xtrans_iii_acros+ye    |
1465       fuji_xtrans_iii_astia      |      fuji_xtrans_iii_classic_chrome      |
1466       fuji_xtrans_iii_mono  | fuji_xtrans_iii_mono+g | fuji_xtrans_iii_mono+r
1467       |  fuji_xtrans_iii_mono+           ye  |  fuji_xtrans_iii_pro_neg_hi  |
1468       fuji_xtrans_iii_pro_neg_std       |       fuji_xtrans_iii_provia      |
1469       fuji_xtrans_iii_sepia | fuji_xtrans_iii_velvia | fusion_88  |  futuris‐
1470       ticbleak_1 |           futuristicbleak_2 | futuristicbleak_3 | futuris‐
1471       ticbleak_4  |  golden  |  golden_bright   |             golden_fade   |
1472       golden_mono    |   golden_vibrant   |   goldfx_bright_spring_breeze   |
1473       goldfx_bright_summer_heat  |   goldfx_hot_summer_heat   |   goldfx_per‐
1474       fect_sunset_01min |           goldfx_perfect_sunset_05min | goldfx_per‐
1475       fect_sunset_10min | goldfx_spring_breeze |           goldfx_summer_heat
1476       |  green_blues  |  green_mono | green_yellow | hackmanite | herderite |
1477       heulandite | hiddenite | hilutite | hong_kong | horrorblue | howlite  |
1478       hyla_68  | hypersthene |           ilford_delta_100 | ilford_delta_3200
1479       |       ilford_delta_3200_+       |       ilford_delta_3200_++        |
1480       ilford_delta_3200_-   |   ilford_delta_400   |  ilford_fp_4_plus_125  |
1481       ilford_hp_5 | ilford_hp_5_+ |           ilford_hp_5_++ |  ilford_hp_5_-
1482       |   ilford_hp_5_plus_400  |  ilford_hps_800  |  ilford_pan_f_plus_50  |
1483       ilford_xp_2   |   kodak_2383_constlclip   |   kodak_2383_constlmap    |
1484       kodak_2383_cuspclip |           kodak_2393_constlclip | kodak_2393_con‐
1485       stlmap     |     kodak_2393_cuspclip      |      kodak_bw_400_cn      |
1486       kodak_e-100_gx_ektachrome_100      |      kodak_ektachrome_100_vs     |
1487       kodak_ektachrome_100_vs_generic    |              kodak_ektar_100     |
1488       kodak_elite_100_xpro  | kodak_elite_chrome_200 | kodak_elite_chrome_400
1489       |              kodak_elite_color_200    |    kodak_elite_color_400    |
1490       kodak_elite_extracolor_100     |     kodak_hie_hs_infra               |
1491       kodak_kodachrome_200  |  kodak_kodachrome_25  |  kodak_kodachrome_64  |
1492       kodak_kodachrome_64_generic  |  kodak_portra_160 | kodak_portra_160_+ |
1493       kodak_portra_160_++   |             kodak_portra_160_-   |   kodak_por‐
1494       tra_160_nc   |   kodak_portra_160_nc_+   |   kodak_portra_160_nc_++   |
1495       kodak_portra_160_nc_- | kodak_portra_160_vc |  kodak_portra_160_vc_+  |
1496       kodak_portra_160_vc_++  |            kodak_portra_160_vc_- | kodak_por‐
1497       tra_400    |     kodak_portra_400_+     |     kodak_portra_400_++     |
1498       kodak_portra_400_-  |  kodak_portra_400_nc  |  kodak_portra_400_nc_+  |
1499       kodak_portra_400_nc_++ |           kodak_portra_400_nc_-  |  kodak_por‐
1500       tra_400_uc   |   kodak_portra_400_uc_+   |   kodak_portra_400_uc_++   |
1501       kodak_portra_400_uc_- | kodak_portra_400_vc |  kodak_portra_400_vc_+  |
1502       kodak_portra_400_vc_++  |            kodak_portra_400_vc_- | kodak_por‐
1503       tra_800    |     kodak_portra_800_+     |     kodak_portra_800_++     |
1504       kodak_portra_800_-  |  kodak_portra_800_hc | kodak_t-max_100 | kodak_t-
1505       max_3200    |    kodak_t-max_400              |    kodak_tmax_3200    |
1506       kodak_tmax_3200_+    |   kodak_tmax_3200_++   |   kodak_tmax_3200_-   |
1507       kodak_tmax_3200_alt | kodak_tri-x_400 | kodak_tri-x_400_+ |  kodak_tri-
1508       x_400_++  |            kodak_tri-x_400_-  |  kodak_tri-x_400_alt | kor‐
1509       ben_214 | landscape_1 | landscape_10 |  landscape_2            |  land‐
1510       scape_3 | landscape_4 | landscape_5 | landscape_6 | landscape_7 | land‐
1511       scape_8 |           landscape_9 | latesunset | lc_1 | lc_10  |  lc_2  |
1512       lc_3  | lc_4 | lc_5 | lc_6 | lc_7 | lc_8 | lc_9           | lenox_340 |
1513       life_giving_tree |  light_blown  |  lomo  |  lomography_redscale_100  |
1514       lomography_x-pro_slide_200   |   lucky_64  |  mckinnon_75  |  milo_5  |
1515       mono_tinted | moody_1  |  moody_10            |  moody_2  |  moody_3  |
1516       moody_4 | moody_5 | moody_6 | moody_7 | moody_8 | moody_9 | moonlight |
1517       moonrise | mute_shift | muted_fade | natural_vivid | neon_770 |  night‐
1518       fromday  |  nostalgic  |  nw-1           | nw-10 | nw-2 | nw-3 | nw-4 |
1519       nw-5  |  nw-6  |  nw-7  |  nw-8  |  nw-9  |  orange_tone  |  oranges  |
1520       paladin_1875  |  pasadena_21  |  pink_fade | pitaya_15 | polaroid_664 |
1521       polaroid_665   |             polaroid_665_+   |    polaroid_665_++    |
1522       polaroid_665_-    |    polaroid_665_--    |   polaroid_665_negative   |
1523       polaroid_665_negative_+ | polaroid_665_negative_- |  polaroid_665_nega‐
1524       tive_hc  |  polaroid_667  |            polaroid_669  | polaroid_669_+ |
1525       polaroid_669_++    |    polaroid_669_+++     |     polaroid_669_-     |
1526       polaroid_669_--    |    polaroid_669_cold   |   polaroid_669_cold_+   |
1527       polaroid_669_cold_- |           polaroid_669_cold_-- |  polaroid_672  |
1528       polaroid_690      |      polaroid_690_+     |     polaroid_690_++     |
1529       polaroid_690_-    |    polaroid_690_--    |     polaroid_690_cold     |
1530       polaroid_690_cold_+      |     polaroid_690_cold_+              +     |
1531       polaroid_690_cold_-  |  polaroid_690_cold_--  |   polaroid_690_warm   |
1532       polaroid_690_warm_+       |                 polaroid_690_warm_++      |
1533       polaroid_690_warm_-  |  polaroid_690_warm_--  |  polaroid_polachrome  |
1534       polaroid_px-100uv+_cold       |       polaroid_px-100uv+_cold_+       |
1535       polaroid_px-100uv+_cold_++  |            polaroid_px-100uv+_cold_+++  |
1536       polaroid_px-100uv+_cold_-      |      polaroid_px-100uv+_cold_--      |
1537       polaroid_px-100uv+_warm       |       polaroid_px-100uv+_warm_+       |
1538       polaroid_px-100uv+_warm_++  |            polaroid_px-100uv+_warm_+++  |
1539       polaroid_px-100uv+_warm_-      |      polaroid_px-100uv+_warm_--      |
1540       polaroid_px-680    |    polaroid_px-680_+    |   polaroid_px-680_++   |
1541       polaroid_px-680_- |           polaroid_px-680_-- | polaroid_px-680_cold
1542       |      polaroid_px-680_cold_+      |      polaroid_px-680_cold_++     |
1543       polaroid_px-680_cold_++_alt      |       polaroid_px-680_cold_-       |
1544       polaroid_px-680_cold_--      |               polaroid_px-680_warm     |
1545       polaroid_px-680_warm_+        |        polaroid_px-680_warm_++        |
1546       polaroid_px-680_warm_-  |  polaroid_px-680_warm_--  |  polaroid_px-70 |
1547       polaroid_px-70_+ |           polaroid_px-70_++ |  polaroid_px-70_+++  |
1548       polaroid_px-70_-  | polaroid_px-70_-- |           polaroid_px-70_cold |
1549       polaroid_px-70_cold_+ | polaroid_px-70_cold_++ |  polaroid_px-70_cold_-
1550       |               polaroid_px-70_cold_--    |    polaroid_px-70_warm    |
1551       polaroid_px-70_warm_+        |         polaroid_px-70_warm_++         |
1552       polaroid_px-70_warm_-         |         polaroid_px-70_warm_--        |
1553       polaroid_time_zero_expired |            polaroid_time_zero_expired_+  |
1554       polaroid_time_zero_expired_++    |    polaroid_time_zero_expired_-    |
1555       polaroid_time_zero_expired_--   |   polaroid_time_zero_expired_---    |
1556       polaroid_time_zero_expired_cold  |  polaroid_time_zero_expired_cold_- |
1557       polaroid_time_zero_expired_cold_--                                    |
1558       polaroid_time_zero_expired_cold_---   |   portrait_1  |            por‐
1559       trait_10 | portrait_2 | portrait_3 | portrait_4  |  portrait_5  |  por‐
1560       trait_6  |  portrait_7  |            portrait_8 | portrait_9 | purple |
1561       purple_2   |   redblueyellow   |   reds   |   reds_oranges_yellows    |
1562       reeve_38  |  remy_24  |  retro  |  rollei_ir_400  |  rollei_ortho_25  |
1563       rollei_retro_100_tonal |           rollei_retro_80s  |  rotate_muted  |
1564       rotate_vibrant   |  rotated  |  rotated_crush  |            saving_pri‐
1565       vate_damon | smokey | smooth_cromeish | smooth_fade | soft_fade | soft‐
1566       warming  |           solarized_color | solarized_color_2 | sprocket_231
1567       | studio_skin_tone_shaper | summer |            summer_alt  |  sunny  |
1568       sunny_alt  |  sunny_rich  | sunny_warm | super_warm | super_warm_rich |
1569       sutro_fx | tealmagentagold | tealorange | tealorange_1 | tealorange_2 |
1570       tealorange_3  |            technicalfx_backlight_filter  |  teigen_28 |
1571       tensiongreen_1 | tensiongreen_2 | tensiongreen_3  |            tension‐
1572       green_4  | the_matrices | trent_18 | tweed_71 | vibrant | vibrant_alien
1573       |           vibrant_contrast | vibrant_cromeish | vintage | vintage_alt
1574       |  vintage_brighter  |  vintage_chrome            |  vireo_37  | warm |
1575       warm_highlight | warm_yellow | zed_32 | zeke_39 | zilverfx_bw_solariza‐
1576       tion |           zilverfx_infrared | zilverfx_vintage_bw }
1577
1578           [1mcommand (+):[0;0;0m
1579               _add_debug_info={ 0 | 1 },{ filename | http[s]://URL | "string"
1580       }
1581
1582               Import G'MIC  custom  commands  from  specified  file,  URL  or
1583       string.
1584               (eq. to 'm').
1585               Imported  commands  are  available directly after the 'command'
1586       invocation.
1587               Default value: 'add_debug_info=1'.
1588
1589           [1mcursor (+):[0;0;0m
1590               _mode = { 0=hide | 1=show }
1591
1592               Show or hide mouse cursor for selected instant display windows.
1593               Command selection (if any) stands for  instant  display  window
1594       indices instead of image indices.
1595               Default value: 'mode=1'.
1596
1597           [1mdisplay (+):[0;0;0m
1598               _X[%]>=0,_Y[%]>=0,_Z[%]>=0,_exit_on_anykey={ 0 | 1 }
1599
1600               Display  selected  images  in  an  interactive  viewer (use the
1601       instant display window [0] if opened).
1602               (eq. to 'd').
1603               Arguments 'X','Y','Z' determine the initial selection view, for
1604       3D volumetric images.
1605               Default value: 'X=Y=Z=0' and 'exit_on_anykey=0'.
1606
1607           [1mdisplay0:[0;0;0m
1608
1609               Display selected images without value normalization.
1610               (eq. to 'd0').
1611
1612           [1mdisplay3d (+):[0;0;0m
1613               _[background_image],_exit_on_anykey={ 0 | 1 } |
1614               _exit_on_anykey={ 0 | 1 }
1615
1616               Display  selected  3D objects in an interactive viewer (use the
1617       instant display window [0] if opened).
1618               (eq. to 'd3d').
1619               Default     values:     '[background_image]=(default)'      and
1620       'exit_on_anykey=0'.
1621
1622           [1mdisplay_array:[0;0;0m
1623               _width>0,_height>0
1624
1625               Display images in interactive windows where pixel neighborhoods
1626       can be explored.
1627               Default values: 'width=13' and 'height=width'.
1628
1629           [1mdisplay_fft:[0;0;0m
1630
1631               Display fourier transform of  selected  images,  with  centered
1632       log-module and argument.
1633               (eq. to 'dfft').
1634
1635           [1mdisplay_graph:[0;0;0m
1636               _width>=0,_height>=0,_plot_type,_ver‐
1637       tex_type,_xmin,_xmax,_ymin,_ymax,_xlabel,_ylabel
1638
1639               Render graph plot from selected image data.
1640               'plot_type' can be { 0=none | 1=lines | 2=splines | 3=bar }.
1641               'vertex_type' can be  {  0=none  |  1=points  |  2,3=crosses  |
1642       4,5=circles | 6,7=squares }.
1643               'xmin','xmax','ymin','ymax'  set  the  coordinates  of the dis‐
1644       played xy-axes.
1645               if specified 'width' or 'height' is '0', then image size is set
1646       to half the screen size.
1647               Default  values:  'width=0',  'height=0',  'plot_type=1', 'ver‐
1648       tex_type=1',  'xmin=xmax=ymin=ymax=0             (auto)',   'xlabel="x-
1649       axis"' and 'ylabel="y-axis"'.
1650
1651           [1mdisplay_histogram:[0;0;0m
1652               _width>=0,_height>=0,_clus‐
1653       ters>0,_min_value[%],_max_value[%],_show_axes={ 0 | 1
1654                 },_expression.
1655
1656               Render a channel-by-channel histogram.
1657               If selected images have several slices, the rendering  is  per‐
1658       formed for all input slices.
1659               'expression' is a mathematical expression used to transform the
1660       histogram data for           visualization purpose.
1661               (eq. to 'dh').
1662               if specified 'width' or 'height' is '0', then image size is set
1663       to half the screen size.
1664               Default    values:   'width=0',   'height=0',   'clusters=256',
1665       'min_value=0%', 'max_value=100%',           'show_axes=1' and  'expres‐
1666       sion=i'.
1667
1668           [1mdisplay_parametric:[0;0;0m
1669               _width>0,_height>0,_outline_opacity,_ver‐
1670       tex_radius>=0,_is_antialiased={ 0 | 1 },
1671                 _is_decorated={ 0 | 1 },_xlabel,_ylabel
1672
1673               Render 2D or 3D parametric curve or point clouds from  selected
1674       image data.
1675               Curve points are defined as pixels of a 2 or 3-channel image.
1676               If  the  point  image contains more than 3 channels, additional
1677       channels define the (R,G,B) color           for each vertex.
1678               If 'outline_opacity>1', the outline is colored according to the
1679       specified vertex colors and           'outline_opacity-1' is used
1680               as the actual drawing opacity.
1681               Default  values:  'width=512',  'height=width',  'outline_opac‐
1682       ity=3',  'vertex_radius=0',             'is_antialiased=1',   'is_deco‐
1683       rated=1', 'xlabel="x-axis"' and 'ylabel="y-axis"'.
1684
1685           [1mdisplay_parallel:[0;0;0m
1686
1687               Display  each  selected image in a separate interactive display
1688       window.
1689               (eq. to 'dp').
1690
1691           [1mdisplay_parallel0:[0;0;0m
1692
1693               Display each selected image in a separate  interactive  display
1694       window, without value           normalization.
1695               (eq. to 'dp0').
1696
1697           [1mdisplay_polar:[0;0;0m
1698               _width>32,_height>32,_out‐
1699       line_type,_fill_R,_fill_G,_fill_B,_theta_start,
1700                 _theta_end,_xlabel,_ylabel
1701
1702               Render polar curve from selected image data.
1703               'outline_type' can be { r<0=dots with radius -r | 0=no  outline
1704       | r>0=lines+dots with radius r }.
1705               'fill_color'  can  be  { -1=no fill | R,G,B=fill with specified
1706       color }.
1707               Default values: 'width=500', 'height=width',  'outline_type=1',
1708       'fill_R=fill_G=fill_B=200',           'theta_start=0', 'theta_end=360',
1709       'xlabel="x-axis"' and 'ylabel="y-axis"'.
1710
1711           [1mdisplay_quiver:[0;0;0m
1712               _size_factor>0,_arrow_size>=0,_color_mode={   0=monochrome    |
1713       1=grayscale | 2=color }
1714
1715               Render selected images of 2D vectors as a field of 2D arrows.
1716               (eq. to 'dq').
1717               Default    values:   'size_factor=16',   'arrow_size=1.5'   and
1718       'color_mode=1'.
1719
1720           [1mdisplay_rgba:[0;0;0m
1721               _background_RGB_color
1722
1723               Render selected RGBA images  over  a  checkerboard  or  colored
1724       background.
1725               (eq. to 'drgba').
1726               Default   values:   'background_RGB_color=undefined'  (checker‐
1727       board).
1728
1729           [1mdisplay_tensors:[0;0;0m
1730               _size_factor>0,_ellipse_size>=0,_color_mode={  0=monochrome   |
1731       1=grayscale |
1732                 2=color },_outline>=0
1733
1734               Render selected images of tensors as a field of 2D ellipses.
1735               (eq. to 'dt').
1736               Default     values:    'size_factor=16',    'ellipse_size=1.5',
1737       'color_mode=2' and 'outline=2'.
1738
1739           [1mdisplay_warp:[0;0;0m
1740               _cell_size>0
1741
1742               Render selected 2D warping fields.
1743               (eq. to 'dw').
1744               Default value: 'cell_size=15'.
1745
1746           [1mdocument_gmic:[0;0;0m
1747               _format={  ascii   |   bash   |   html   |   images   |   latex
1748       },_image_path,_write_wrapper={ 0 | 1 }
1749
1750               Create  documentation  of  .gmic  command  files (loaded as raw
1751       'uchar' images), in specified format.
1752               Default    values:    'format=ascii',    'image_path=""'    and
1753       'write_wrapper=1'.
1754               Example(s) : raw:filename.gmic,char document_gmic html,img
1755
1756           [1mecho (+):[0;0;0m
1757               message
1758
1759               Output specified message on the error output.
1760               (eq. to 'e').
1761               Command selection (if any) stands for displayed call stack sub‐
1762       set instead of image indices.
1763
1764           [1mecho_file:[0;0;0m
1765               filename,message
1766
1767               Output specified message,  appending  it  to  specified  output
1768       file.
1769               (similar to 'echo' for specified output file stream).
1770
1771           [1mecho_stdout:[0;0;0m
1772               message
1773
1774               Output specified message, on the standard output (stdout).
1775               (similar  to  'echo'  for  output on standard output instead of
1776       standard error).
1777
1778           [1mfunction1d:[0;0;0m
1779               0<=smoothness<=1,x0>=0,y0,x1>=0,y1,...,xn>=0,yn
1780
1781               Insert continuous 1D function from specified list of  keypoints
1782       (xk,yk)
1783               in range [0,max(xk)] (xk are positive integers).
1784               Default values: 'smoothness=1' and 'x0=y0=0'.
1785
1786           [1minput (+):[0;0;0m
1787               [type:]filename |
1788               [type:]http://URL |
1789               [selection]x_nb_copies>0 |
1790               {  width>0[%]  |  [image_w]  },{  _height>0[%]  | [image_h] },{
1791       _depth>0[%] |
1792                 [image_d]    },{    _spectrum>0[%]    |    [image_s]     },_{
1793       value1,_value2,... | 'formula' } |
1794               (value1{,|;|/|^}value2{,|;|/|^}...) |
1795               0
1796
1797               Insert  a  new image taken from a filename or from a copy of an
1798       existing image [index],
1799               or insert new image with specified dimensions and values.  Sin‐
1800       gle quotes may be omitted in
1801               'formula'. Specifying argument '0' inserts an 'empty' image.
1802               (eq. to 'i' | (no arg)).
1803               Default  values:  'nb_copies=1',  'height=depth=spectrum=1' and
1804       'value1=0'.
1805
1806           [1minput_cube:[0;0;0m
1807               "filename",_convert_1d_cluts_to_3d={ 0 | 1 }.
1808
1809               Insert CLUT data from a .cube filename (Adobe  CLUT  file  for‐
1810       mat).
1811               Default value: 'convert_1d_cluts_to_3d=1'.
1812
1813           [1minput_glob:[0;0;0m
1814               pattern
1815
1816               Insert  new images from several filenames that match the speci‐
1817       fied glob pattern.
1818
1819           [1minput_gpl:[0;0;0m
1820               filename
1821
1822               Input specified filename as a .gpl palette data file.
1823
1824           [1moutput (+):[0;0;0m
1825               [type:]filename,_format_options
1826
1827               Output selected images as one or several numbered file(s).
1828               (eq. to 'o').
1829               Default value: 'format_options'=(undefined).
1830
1831           [1moutput_cube:[0;0;0m
1832               filename
1833
1834               Output selected CLUTs as a .cube file (Adobe CLUT format).
1835
1836           [1moutput_ggr:[0;0;0m
1837               filename,_gradient_name
1838
1839               Output selected images as .ggr gradient files (GIMP).
1840               If no gradient name is specified, it is deduced from the  file‐
1841       name.
1842
1843           [1moutputn:[0;0;0m
1844               filename,_index
1845
1846               Output  selected  images as automatically numbered filenames in
1847       repeat...done loops.
1848               (eq. to 'on').
1849
1850           [1moutputp:[0;0;0m
1851               prefix
1852
1853               Output selected images as prefixed versions of  their  original
1854       filenames.
1855               (eq. to 'op').
1856               Default value: 'prefix=_'.
1857
1858           [1moutputw:[0;0;0m
1859
1860               Output selected images by overwriting their original location.
1861               (eq. to 'ow').
1862
1863           [1moutputx:[0;0;0m
1864               extension1,_extension2,_...,_extensionN,_output_at_same_loca‐
1865       tion={ 0 | 1 }
1866
1867               Output selected images with same base filenames but for N  dif‐
1868       ferent extensions.
1869               (eq. to 'ox').
1870               Default value: 'output_at_same_location=0'.
1871
1872           [1mpass (+):[0;0;0m
1873               _shared_state={ 0=non-shared (copy) | 1=shared | 2=adaptive }
1874
1875               Insert  images  from  parent  context  of a custom command or a
1876       local environment.
1877               Command selection (if any) stands for a selection of images  in
1878       the parent context.
1879               By   default  (adaptive  shared  state),  selected  images  are
1880       inserted in a shared state if they do           not belong to the  con‐
1881       text  (selection) of the current custom command or local environment as
1882       well.
1883               Typical use of command 'pass' concerns  the  design  of  custom
1884       commands that take images as           arguments.
1885               Default value: 'shared_state=2'.
1886
1887           [1mplot (+):[0;0;0m
1888               _plot_type,_ver‐
1889       tex_type,_xmin,_xmax,_ymin,_ymax,_exit_on_anykey={ 0 | 1 } |
1890               'formula',_resolution>=0,_plot_type,_ver‐
1891       tex_type,_xmin,xmax,_ymin,_ymax,
1892                 _exit_on_anykey={ 0 | 1 }
1893
1894               Display  selected  images  or  formula in an interactive viewer
1895       (use the instant display window [0]           if opened).
1896               'plot_type' can be { 0=none | 1=lines | 2=splines | 3=bar }.
1897               'vertex_type' can be  {  0=none  |  1=points  |  2,3=crosses  |
1898       4,5=circles | 6,7=squares }.
1899               'xmin','xmax','ymin','ymax'  set  the  coordinates  of the dis‐
1900       played xy-axes.
1901               Default      values:      'plot_type=1',       'vertex_type=1',
1902       'xmin=xmax=ymin=ymax=0 (auto)' and           'exit_on_anykey=0'.
1903
1904           [1mprint (+):[0;0;0m
1905
1906               Output  information  on  selected images, on the standard error
1907       (stderr).
1908               (eq. to 'p').
1909
1910           [1mscreen (+):[0;0;0m
1911               _x0[%],_y0[%],_x1[%],_y1[%]
1912
1913               Take screenshot, optionally grabbed with specified coordinates,
1914       and insert it
1915               at the end of the image list.
1916
1917           [1mselect (+):[0;0;0m
1918               feature_type,_X[%]>=0,_Y[%]>=0,_Z[%]>=0,_exit_on_anykey={ 0 | 1
1919       },
1920                 _is_deep_selection={ 0 | 1 }
1921
1922               Interactively select a feature from selected  images  (use  the
1923       instant display window [0] if opened).
1924               'feature_type'  can  be  {  0=point | 1=segment | 2=rectangle |
1925       3=ellipse }.
1926               Arguments 'X','Y','Z' determine the initial selection view, for
1927       3D volumetric images.
1928               The  retrieved  feature  is  returned  as a 3D vector (if 'fea‐
1929       ture_type==0') or as a 6d vector
1930               (if 'feature_type!=0') containing the feature coordinates.
1931               Default  values:  'X=Y=Z=(undefined)',  'exit_on_anykey=0'  and
1932       'is_deep_selection=0'.
1933
1934           [1mserialize (+):[0;0;0m
1935               _datatype,_is_compressed={ 0 | 1 },_store_names={ 0 | 1 }
1936
1937               Serialize  selected list of images into a single image, option‐
1938       nally in a compressed form.
1939               'datatype' can be { auto | uchar | char | ushort | short | uint
1940       | int | uint64 | int64 | float |           double }.
1941               Specify  'datatype' if all selected images have a range of val‐
1942       ues constrained to a particular           datatype, in order  to  mini‐
1943       mize the memory footprint.
1944               The resulting image has only integers values in [0,255] and can
1945       then be saved as a raw image of
1946               unsigned chars (doing so will output a valid .cimg[z]  or  .gmz
1947       file).
1948               If  'store_names'  is  set  to '1', serialization uses the .gmz
1949       format to store data in memory           (otherwise the  .cimg[z]  for‐
1950       mat).
1951               Default    values:   'datatype=auto',   'is_compressed=1'   and
1952       'store_names=1'.
1953
1954           [1mshape_circle:[0;0;0m
1955               _size>=0
1956
1957               Input a 2D circle binary shape with specified size.
1958               Default value: 'size=512'.
1959
1960           [1mshape_cupid:[0;0;0m
1961               _size>=0
1962
1963               Input a 2D cupid binary shape with specified size.
1964               Default value: 'size=512'.
1965
1966           [1mshape_diamond:[0;0;0m
1967               _size>=0
1968
1969               Input a 2D diamond binary shape with specified size.
1970               Default value: 'size=512'.
1971
1972           [1mshape_fern:[0;0;0m
1973               _size>=0,_density[%]>=0,_angle,0<=_opacity<=1,_type={  0=Asple‐
1974       nium
1975                 adiantum-nigrum | 1=Thelypteridaceae }
1976
1977               Input a 2D Barnsley fern with specified size.
1978               Default  value:  'size=512',  'density=50%', 'angle=30', 'opac‐
1979       ity=0.3' and 'type=0'.
1980
1981           [1mshape_gear:[0;0;0m
1982               _size>=0,_nb_teeth>0,0<=_height_teeth<=100,0<=_off‐
1983       set_teeth<=100,
1984                 0<=_inner_radius<=100
1985
1986               Input a 2D gear binary shape with specified size.
1987               Default  value:  'size=512',  'nb_teeth=12', 'height_teeth=20',
1988       'offset_teeth=0' and           'inner_radius=40'.
1989
1990           [1mshape_heart:[0;0;0m
1991               _size>=0
1992
1993               Input a 2D heart binary shape with specified size.
1994               Default value: 'size=512'.
1995
1996           [1mshape_polygon:[0;0;0m
1997               _size>=0,_nb_vertices>=3,_angle
1998
1999               Input a 2D polygonal binary shape with specified geometry.
2000               Default value: 'size=512', 'nb_vertices=5' and 'angle=0'.
2001
2002           [1mshape_snowflake:[0;0;0m
2003               size>=0,0<=_nb_recursions<=6
2004
2005               Input a 2D snowflake binary shape with specified size.
2006               Default values: 'size=512' and 'nb_recursions=5'.
2007
2008           [1mshape_star:[0;0;0m
2009               _size>=0,_nb_branches>0,0<=_thickness<=1
2010
2011               Input a 2D star binary shape with specified size.
2012               Default  values:  'size=512',   'nb_branches=5'   and   'thick‐
2013       ness=0.38'.
2014
2015           [1mshared (+):[0;0;0m
2016               x0[%],x1[%],y[%],z[%],v[%] |
2017               y0[%],y1[%],z[%],v[%] |
2018               z0[%],z1[%],v[%] |
2019               v0[%],v1[%] |
2020               v0[%] |
2021               (no arg)
2022
2023               Insert  shared  buffers  from (opt. points/rows/planes/channels
2024       of) selected images.
2025               Shared buffers cannot be returned by a  command,  nor  a  local
2026       environment.
2027               (eq. to 'sh').
2028
2029           [1msample:[0;0;0m
2030               _name1={  ?  | apples | barbara | boats | bottles | butterfly |
2031       cameraman | car |
2032                 cat | cliff | colorful | david | dog | duck |  eagle  |  ele‐
2033       phant | earth | flower
2034                 |  fruits | gmicky | gmicky_mahvin | gmicky_wilber | greece |
2035       gummy | house |
2036                 inside | landscape | leaf | lena | leno | lion |  mandrill  |
2037       monalisa | monkey |
2038                 parrots | pencils | peppers | roddy | rooster | rose | square
2039       | teddy | tiger |
2040                 tulips     |     wall      |      waterfall      |      zelda
2041       },_name2,...,_nameN,_width={ >=0 | 0 (auto) },
2042                 _height = { >=0 | 0 (auto) } |
2043               (no arg)
2044
2045               Input a new sample RGB image (opt. with specified size).
2046               (eq. to 'sp').
2047               Argument 'name' can be replaced by an integer which serves as a
2048       sample index.
2049
2050           [1msrand (+):[0;0;0m
2051               value |
2052               (no arg)
2053
2054               Set random generator seed.
2055               If no argument is specified, a random value is used as the ran‐
2056       dom generator seed.
2057
2058           [1mstring:[0;0;0m
2059               "string"
2060
2061               Insert  new  image  containing  the  ascii  codes  of specified
2062       string.
2063
2064           [1mtestimage2d:[0;0;0m
2065               _width>0,_height>0,_spectrum>0
2066
2067               Input a 2D synthetic image.
2068               Default values: 'width=512', 'height=width' and 'spectrum=3'.
2069
2070           [1muncommand (+):[0;0;0m
2071               command_name[,_command_name2,...] |
2072               *
2073
2074               Discard definition of specified custom commands.
2075               Set argument to '*' for discarding  all  existing  custom  com‐
2076       mands.
2077
2078           [1muniform_distribution:[0;0;0m
2079               nb_levels>=1,spectrum>=1
2080
2081               Input   set  of  uniformly  distributed  spectrum-d  points  in
2082       [0,1]^spectrum.
2083
2084           [1munserialize (+):[0;0;0m
2085
2086               Recreate  lists  of  images  from  serialized  image   buffers,
2087       obtained with command 'serialize'.
2088
2089           [1mupdate:[0;0;0m
2090
2091               Update  commands  from  the latest definition file on the G'MIC
2092       server.
2093               (eq. to 'up').
2094
2095           [1mverbose (+):[0;0;0m
2096               level |
2097               { + | - }
2098
2099               Set or increment/decrement the verbosity level.  Default  level
2100       is 0.
2101               (eq. to 'v').
2102               When  'level'>=0, G'MIC log messages are displayed on the stan‐
2103       dard error (stderr).
2104               Default value: 'level=0'.
2105
2106           [1mwait (+):[0;0;0m
2107               delay |
2108               (no arg)
2109
2110               Wait for a given delay (in ms), optionally since the last  call
2111       to 'wait'.
2112               or wait for a user event occurring on the selected instant dis‐
2113       play windows.
2114               'delay' can be { <0=delay+flush events | 0=event | >0=delay }.
2115               Command selection (if any) stands for  instant  display  window
2116       indices instead of image indices.
2117               If  no window indices are specified and if 'delay' is positive,
2118       the command results
2119               in a 'hard' sleep during specified delay.
2120               Default value: 'delay=0'.
2121
2122           [1mwarn (+):[0;0;0m
2123               _force_visible={ 0 | 1 },_message
2124
2125               Print  specified  warning  message,  on  the   standard   error
2126       (stderr).
2127               Command selection (if any) stands for displayed call stack sub‐
2128       set instead of image indices.
2129
2130           [1mwindow (+):[0;0;0m
2131               _width[%]>=-1,_height[%]>=-1,_normaliza‐
2132       tion,_fullscreen,_pos_x[%],_pos_y[%],_title
2133
2134               Display  selected  images  into  an instant display window with
2135       specified size, normalization type,
2136               fullscreen mode and title.
2137               (eq. to 'w').
2138               If 'width' or 'height' is set to -1, the  corresponding  dimen‐
2139       sion is adjusted to the window
2140               or image size.
2141               When  arguments 'pos_x' and 'pos_y' are both different than -1,
2142       the window is moved to
2143               the specified coordinates.
2144               'width'=0 or 'height'=0 closes the instant display window.
2145               'normalization' can be { -1=keep same |  0=none  |  1=always  |
2146       2=1st-time | 3=auto }.
2147               'fullscreen' can be { -1=keep same | 0=no | 1=yes }.
2148               You  can  manage  up to 10 different instant display windows by
2149       using the numbered variants
2150               'w0' (default, eq. to 'w'),'w1',...,'w9' of the command 'w'.
2151               Invoke 'window' with no selection to make the  window  visible,
2152       if is has been closed by the user.
2153               Default  values: 'width=height=normalization=fullscreen=-1' and
2154       'title=(undefined)'.
2155
2156        [1m** List Manipulation:[0;0;0m
2157
2158           [1mkeep (+):[0;0;0m
2159
2160               Keep only selected images.
2161               (eq. to 'k').
2162
2163           [1mmove (+):[0;0;0m
2164               position[%]
2165
2166               Move selected images at specified position.
2167               (eq. to 'mv').
2168
2169           [1mname (+):[0;0;0m
2170               "name1","name2",...
2171
2172               Set names of selected images.
2173               - If the selection contains a single image, then it is  assumed
2174       the  command  has a single name           argument (possibly containing
2175       multiple comas).
2176               - If the selection contains more than one image,  each  command
2177       argument  defines  a  single image           name for each image of the
2178       selection.
2179               (eq. to 'nm').
2180
2181           [1mremove (+):[0;0;0m
2182
2183               Remove selected images.
2184               (eq. to 'rm').
2185
2186           [1mremove_duplicates:[0;0;0m
2187
2188               Remove duplicates images in the selected images list.
2189
2190           [1mremove_empty:[0;0;0m
2191
2192               Remove empty images in the selected image list.
2193
2194           [1mremove_named:[0;0;0m
2195               name1,name2,...nameN
2196
2197               Remove images with specified names, if any in the list.
2198
2199           [1mreverse (+):[0;0;0m
2200
2201               Reverse positions of selected images.
2202               (eq. to 'rv').
2203
2204           [1msort_list:[0;0;0m
2205               _ordering={ + | - },_criterion
2206
2207               Sort list of selected images according to the  specified  image
2208       criterion.
2209               Default values: 'ordering=+', 'criterion=i'.
2210
2211           [1msort_str:[0;0;0m
2212
2213               Sort  selected  images (viewed as a list of strings) in lexico‐
2214       graphic order.
2215
2216        [1m** Mathematical Operators:[0;0;0m
2217
2218           [1mabs (+):[0;0;0m
2219
2220               Compute the pointwise absolute values of selected images.
2221
2222           [1macos (+):[0;0;0m
2223
2224               Compute the pointwise arccosine of selected images.
2225
2226           [1macosh (+):[0;0;0m
2227
2228               Compute the pointwise hyperbolic arccosine of selected images.
2229
2230           [1madd (+):[0;0;0m
2231               value[%] |
2232               [image] |
2233               'formula' |
2234               (no arg)
2235
2236               Add  specified  value,  image  or  mathematical  expression  to
2237       selected images,
2238               or compute the pointwise sum of selected images.
2239               (eq. to '+').
2240
2241           [1mand (+):[0;0;0m
2242               value[%] |
2243               [image] |
2244               'formula' |
2245               (no arg)
2246
2247               Compute  the  bitwise  AND  of  selected  images with specified
2248       value, image or mathematical
2249               expression, or compute the pointwise sequential bitwise AND  of
2250       selected images.
2251               (eq. to '&').
2252
2253           [1margmax:[0;0;0m
2254
2255               Compute the argmax of selected images. Returns a single image
2256               with  each  pixel value being the index of the input image with
2257       maximal value.
2258
2259           [1margmin:[0;0;0m
2260
2261               Compute the argmin of selected images. Returns a single image
2262               with each pixel value being the index of the input  image  with
2263       minimal value.
2264
2265           [1masin (+):[0;0;0m
2266
2267               Compute the pointwise arcsine of selected images.
2268
2269           [1masinh (+):[0;0;0m
2270
2271               Compute the pointwise hyperbolic arcsine of selected images.
2272
2273           [1matan (+):[0;0;0m
2274
2275               Compute the pointwise arctangent of selected images.
2276
2277           [1matan2 (+):[0;0;0m
2278               [x_argument]
2279
2280               Compute the pointwise oriented arctangent of selected images.
2281               Each  selected  image is regarded as the y-argument of the arc‐
2282       tangent function, while the
2283               specified image gives the corresponding x-argument.
2284
2285           [1matanh (+):[0;0;0m
2286
2287               Compute the pointwise hyperbolic arctangent of selected images.
2288
2289           [1mbsl (+):[0;0;0m
2290               value[%] |
2291               [image] |
2292               'formula' |
2293               (no arg)
2294
2295               Compute the bitwise left shift of selected images  with  speci‐
2296       fied value, image or
2297               mathematical  expression,  or  compute the pointwise sequential
2298       bitwise left shift of
2299               selected images.
2300               (eq. to '<<').
2301
2302           [1mbsr (+):[0;0;0m
2303               value[%] |
2304               [image] |
2305               'formula' |
2306               (no arg)
2307
2308               Compute the bitwise right shift of selected images with  speci‐
2309       fied value, image or"
2310               mathematical  expression,  or  compute the pointwise sequential
2311       bitwise right shift of
2312               selected images.
2313               (eq. to '>>').
2314
2315           [1mcos (+):[0;0;0m
2316
2317               Compute the pointwise cosine of selected images.
2318
2319           [1mcosh (+):[0;0;0m
2320
2321               Compute the pointwise hyperbolic cosine of selected images.
2322
2323           [1mdiv (+):[0;0;0m
2324               value[%] |
2325               [image] |
2326               'formula' |
2327               (no arg)
2328
2329               Divide selected images by specified value, image or  mathemati‐
2330       cal expression,
2331               or compute the pointwise quotient of selected images.
2332               (eq. to '/').
2333
2334           [1mdiv_complex:[0;0;0m
2335               [divider_real,divider_imag],_epsilon>=0
2336
2337               Perform    division    of    the    selected    complex   pairs
2338       (real1,imag1,...,realN,imagN) of images by           specified  complex
2339       pair of images (divider_real,divider_imag).
2340               In  complex pairs, the real image must be always located before
2341       the imaginary image in the image list.
2342               Default value: 'epsilon=1e-8'.
2343
2344           [1meq (+):[0;0;0m
2345               value[%] |
2346               [image] |
2347               'formula' |
2348               (no arg)
2349
2350               Compute the boolean equality of selected images with  specified
2351       value, image or
2352               mathematical  expression,  or  compute  the boolean equality of
2353       selected images.
2354               (eq. to '==').
2355
2356           [1mexp (+):[0;0;0m
2357
2358               Compute the pointwise exponential of selected images.
2359
2360           [1mge (+):[0;0;0m
2361               value[%] |
2362               [image] |
2363               'formula' |
2364               (no arg)
2365
2366               Compute the boolean 'greater or equal than' of selected  images
2367       with specified value, image
2368               or  mathematical expression, or compute the boolean 'greater or
2369       equal than' of selected images.
2370               (eq. to '>=').
2371
2372           [1mgt (+):[0;0;0m
2373               value[%] |
2374               [image] |
2375               'formula' |
2376               (no arg)
2377
2378               Compute the boolean 'greater  than'  of  selected  images  with
2379       specified value, image or
2380               mathematical  expression, or compute the boolean 'greater than'
2381       of selected images.
2382               (eq. to '>').
2383
2384           [1mle (+):[0;0;0m
2385               value[%] |
2386               [image] |
2387               'formula' |
2388               (no arg)
2389
2390               Compute the boolean 'less or equal  than'  of  selected  images
2391       with specified value, image or
2392               mathematical  expression, or compute the boolean 'less or equal
2393       than' of selected images.
2394               (eq. to '<=').
2395
2396           [1mlt (+):[0;0;0m
2397               value[%] |
2398               [image] |
2399               'formula' |
2400               (no arg)
2401
2402               Compute the boolean 'less than' of selected images with  speci‐
2403       fied value, image or
2404               mathematical  expression, or compute the boolean 'less than' of
2405       selected images.
2406               (eq. to '<').
2407
2408           [1mlog (+):[0;0;0m
2409
2410               Compute the pointwise base-e logarithm of selected images.
2411
2412           [1mlog10 (+):[0;0;0m
2413
2414               Compute the pointwise base-10 logarithm of selected images.
2415
2416           [1mlog2 (+):[0;0;0m
2417
2418               Compute the pointwise base-2 logarithm of selected images
2419
2420           [1mmax (+):[0;0;0m
2421               value[%] |
2422               [image] |
2423               'formula' |
2424               (no arg)
2425
2426               Compute the  maximum  between  selected  images  and  specified
2427       value, image or
2428               mathematical   expression,  or  compute  the  pointwise  maxima
2429       between selected images.
2430
2431           [1mmdiv (+):[0;0;0m
2432               value[%] |
2433               [image] |
2434               'formula' |
2435               (no arg)
2436
2437               Compute the matrix division  of  selected  matrices/vectors  by
2438       specified value, image or
2439               mathematical  expression,  or  compute  the  matrix division of
2440       selected images.
2441               (eq. to 'm/').
2442
2443           [1mmin (+):[0;0;0m
2444               value[%] |
2445               [image] |
2446               'formula' |
2447               (no arg)
2448
2449               Compute the  minimum  between  selected  images  and  specified
2450       value, image or
2451               mathematical   expression,  or  compute  the  pointwise  minima
2452       between selected images.
2453
2454           [1mmod (+):[0;0;0m
2455               value[%] |
2456               [image] |
2457               'formula' |
2458               (no arg)
2459
2460               Compute the modulo of selected  images  with  specified  value,
2461       image or mathematical
2462               expression,  or  compute  the  pointwise  sequential  modulo of
2463       selected images.
2464               (eq. to '%').
2465
2466           [1mmmul (+):[0;0;0m
2467               value[%] |
2468               [image] |
2469               'formula' |
2470               (no arg)
2471
2472               Compute the matrix  right  multiplication  of  selected  matri‐
2473       ces/vectors by specified value, image or
2474               mathematical  expression, or compute the matrix right multipli‐
2475       cation of selected images.
2476               (eq. to 'm*').
2477
2478           [1mmul (+):[0;0;0m
2479               value[%] |
2480               [image] |
2481               'formula' |
2482               (no arg)
2483
2484               Multiply selected images by specified value, image or mathemat‐
2485       ical expression,
2486               or compute the pointwise product of selected images.
2487               (eq. to '*').
2488
2489           [1mmul_channels:[0;0;0m
2490               value1,_value2,...,_valueN
2491
2492               Multiply  channels  of selected images by specified sequence of
2493       values.
2494
2495           [1mmul_complex:[0;0;0m
2496               [multiplier_real,multiplier_imag]
2497
2498               Perform  multiplication   of   the   selected   complex   pairs
2499       (real1,imag1,...,realN,imagN)  of images by           specified complex
2500       pair of images (multiplier_real,multiplier_imag).
2501               In complex pairs, the real image must be always located  before
2502       the imaginary image in the image list.
2503
2504           [1mneq (+):[0;0;0m
2505               value[%] |
2506               [image] |
2507               'formula' |
2508               (no arg)
2509
2510               Compute  the  boolean inequality of selected images with speci‐
2511       fied value, image or
2512               mathematical expression, or compute the boolean  inequality  of
2513       selected images.
2514               (eq. to '!=').
2515
2516           [1mor (+):[0;0;0m
2517               value[%] |
2518               [image] |
2519               'formula' |
2520               (no arg)
2521
2522               Compute the bitwise OR of selected images with specified value,
2523       image or mathematical
2524               expression, or compute the pointwise sequential bitwise  OR  of
2525       selected images.
2526               (eq. to '|').
2527
2528           [1mpow (+):[0;0;0m
2529               value[%] |
2530               [image] |
2531               'formula' |
2532               (no arg)
2533
2534               Raise selected images to the power of specified value, image or
2535       mathematical
2536               expression, or  compute  the  pointwise  sequential  powers  of
2537       selected images.
2538               (eq. to '^').
2539
2540           [1mrol (+):[0;0;0m
2541               value[%] |
2542               [image] |
2543               'formula' |
2544               (no arg)
2545
2546               Compute the bitwise left rotation of selected images with spec‐
2547       ified value, image or
2548               mathematical expression, or compute  the  pointwise  sequential
2549       bitwise left rotation of
2550               selected images.
2551
2552           [1mror (+):[0;0;0m
2553               value[%] |
2554               [image] |
2555               'formula' |
2556               (no arg)
2557
2558               Compute  the  bitwise  right  rotation  of selected images with
2559       specified value, image or
2560               mathematical expression, or compute  the  pointwise  sequential
2561       bitwise right rotation of
2562               selected images.
2563
2564           [1msign (+):[0;0;0m
2565
2566               Compute the pointwise sign of selected images.
2567
2568           [1msin (+):[0;0;0m
2569
2570               Compute the pointwise sine of selected images.
2571
2572           [1msinc (+):[0;0;0m
2573
2574               Compute the pointwise sinc function of selected images.
2575
2576           [1msinh (+):[0;0;0m
2577
2578               Compute the pointwise hyperbolic sine of selected images.
2579
2580           [1msqr (+):[0;0;0m
2581
2582               Compute the pointwise square function of selected images.
2583
2584           [1msqrt (+):[0;0;0m
2585
2586               Compute the pointwise square root of selected images.
2587
2588           [1msub (+):[0;0;0m
2589               value[%] |
2590               [image] |
2591               'formula' |
2592               (no arg)
2593
2594               Subtract  specified  value, image or mathematical expression to
2595       selected images,
2596               or compute the pointwise difference of selected images.
2597               (eq. to '-').
2598
2599           [1mtan (+):[0;0;0m
2600
2601               Compute the pointwise tangent of selected images.
2602
2603           [1mtanh (+):[0;0;0m
2604
2605               Compute the pointwise hyperbolic tangent of selected images.
2606
2607           [1mxor (+):[0;0;0m
2608               value[%] |
2609               [image] |
2610               'formula' |
2611               (no arg)
2612
2613               Compute the bitwise  XOR  of  selected  images  with  specified
2614       value, image or mathematical
2615               expression,  or compute the pointwise sequential bitwise XOR of
2616       selected images.
2617
2618        [1m** Values Manipulation:[0;0;0m
2619
2620           [1mapply_curve:[0;0;0m
2621               0<=smoothness<=1,x0,y0,x1,y1,x2,y2,...,xN,yN
2622
2623               Apply curve transformation to image values.
2624               Default values: 'smoothness=1', 'x0=0', 'y0=100'.
2625
2626           [1mapply_gamma:[0;0;0m
2627               gamma>=0
2628
2629               Apply gamma correction to selected images.
2630
2631           [1mbalance_gamma:[0;0;0m
2632               _ref_color1,...
2633
2634               Compute gamma-corrected color balance of selected  image,  with
2635       respect to specified reference color.
2636               Default value: 'ref_color1=128'.
2637
2638           [1mcast:[0;0;0m
2639               datatype_source,datatype_target
2640
2641               Cast  datatype  of  image  buffer from specified source type to
2642       specified target type.
2643               'datatype_source' and 'datatype_target' can be { uchar | char |
2644       ushort | short | uint | int |           uint64 | int64 | float | double
2645       }.
2646
2647           [1mcomplex2polar:[0;0;0m
2648
2649               Compute complex to polar transforms of selected images.
2650
2651           [1mcompress_clut:[0;0;0m
2652               _max_error>0,_avg_error>0,_max_nbpoints>=8
2653
2654               Compress selected color LUTs as sequences of colored keypoints.
2655               Default    values:     'max_error=8',     'avg_error=2'     and
2656       'max_nb_points=2048'.
2657
2658           [1mcompress_rle:[0;0;0m
2659               _is_binary_data={ 0 | 1 },_maximum_sequence_length>=0
2660
2661               Compress  selected images as 2xN data matrices, using RLE algo‐
2662       rithm.
2663               Set 'maximum_sequence_length=0' to disable maximum length  con‐
2664       straint.
2665               Default      values:      'is_binary_data=0'     and     'maxi‐
2666       mum_sequence_length=0'.
2667
2668           [1mcumulate (+):[0;0;0m
2669               { x | y | z | c }...{ x | y | z | c } |
2670               (no arg)
2671
2672               Compute  the  cumulative  function  of  specified  image  data,
2673       optionally along the specified axes.
2674
2675           [1mcut (+):[0;0;0m
2676               { value0[%] | [image0] },{ value1[%] | [image1] } |
2677               [image] |
2678               (no arg)
2679
2680               Cut values of selected images in specified range.
2681               (eq. to 'c').
2682               (no arg) runs interactive mode (uses the instant display window
2683       [0] if opened).
2684               In interactive mode, the chosen cut values are returned in  the
2685       status.
2686
2687           [1mdecompress_clut_rbf:[0;0;0m
2688               _width>0,_height>0,_depth>0
2689
2690               Decompress selected colored keypoints into 3D CLUTs, using thin
2691       plate spline interpolation.
2692               Default value: 'width=height=depth=48'.
2693
2694           [1mdecompress_clut:[0;0;0m
2695               _width>0,_height>0,_depth>0
2696
2697               Decompress selected colored keypoints into 3D CLUTs, using mul‐
2698       tiscale diffusion PDE's.
2699               Default value: 'width=height=depth=64' and 'is_relative=0'.
2700
2701           [1mdecompress_rle:[0;0;0m
2702
2703               Decompress selected data vectors, using RLE algorithm.
2704
2705           [1mdiscard (+):[0;0;0m
2706               _value1,_value2,... |
2707               { x | y | z | c}...{ x | y | z | c},_value1,_value2,... |
2708               (no arg)
2709
2710               Discard  specified  values in selected images or discard neigh‐
2711       boring duplicate values,
2712               optionally only for the values along the first of  a  specified
2713       axis.
2714               If  no  values  are specified, neighboring duplicate values are
2715       discarded.
2716               If all pixels of a selected image are discarded, an empty image
2717       is returned.
2718
2719           [1meigen2tensor:[0;0;0m
2720
2721               Recompose  selected pairs of eigenvalues/eigenvectors as 2x2 or
2722       3x3 tensor fields.
2723
2724           [1mendian (+):[0;0;0m
2725               _datatype
2726
2727               Reverse data endianness of selected images, eventually  consid‐
2728       ering the pixel being of the           specified datatype.
2729               'datatype'  can be { uchar | char | ushort | short | uint | int
2730       | uint64 | int64 | float | double }.
2731
2732           [1mequalize (+):[0;0;0m
2733               _nb_levels>0[%],_value_min[%],_value_max[%]
2734
2735               Equalize histograms of selected images.
2736               If value range is specified, the equalization is done only  for
2737       pixels in the specified
2738               value range.
2739               Default    values:    'nb_levels=256',    'value_min=0%'    and
2740       'value_max=100%'.
2741
2742           [1mfill (+):[0;0;0m
2743               value1,_value2,... |
2744               [image] |
2745               'formula'
2746
2747               Fill selected images with values read from the specified  value
2748       list, existing image
2749               or  mathematical  expression.  Single  quotes may be omitted in
2750       'formula'.
2751               (eq. to 'f').
2752
2753           [1mindex (+):[0;0;0m
2754               { [palette] |  predefined_palette  },0<=_dithering<=1,_map_pal‐
2755       ette={ 0 | 1 }
2756
2757               Index  selected vector-valued images by specified vector-valued
2758       palette.
2759               'predefined_palette' can be { 0=default |  1=HSV  |  2=lines  |
2760       3=hot | 4=cool | 5=jet | 6=flag | 7=cube }.
2761               Default values: 'dithering=0' and 'map_palette=0'.
2762
2763           [1minrange:[0;0;0m
2764               min[%],max[%]
2765
2766               Detect pixels whose values are in specified range [min,max], in
2767       selected images.
2768               (eq. to 'ir').
2769
2770           [1mmap (+):[0;0;0m
2771               [palette],_boundary_conditions |
2772               predefined_palette,_boundary_conditions
2773
2774               Map specified vector-valued palette to selected indexed  scalar
2775       images.
2776               'predefined_palette'  can  be  {  0=default | 1=HSV | 2=lines |
2777       3=hot | 4=cool | 5=jet | 6=flag | 7=cube }.
2778               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
2779       2=periodic | 3=mirror }.
2780               Default value: 'boundary_conditions=0'.
2781
2782           [1mmap_clut:[0;0;0m
2783               [clut] | "clut_name"
2784
2785               Map specified RGB color LUT to selected images.
2786
2787           [1mmix_channels:[0;0;0m
2788               (a00,...,aMN) |
2789               [matrix]
2790
2791               Apply specified matrix to channels of selected images.
2792
2793           [1mnegate:[0;0;0m
2794               base_value |
2795               (no arg)
2796
2797               Negate image values.
2798               Default value: 'base_value=(undefined)'.
2799
2800           [1mnoise (+):[0;0;0m
2801               std_deviation>=0[%],_noise_type
2802
2803               Add random noise to selected images.
2804               'noise_type'  can be { 0=gaussian | 1=uniform | 2=salt&pepper |
2805       3=poisson | 4=rice }.
2806               Default value: 'noise_type=0'.
2807
2808           [1mnoise_perlin:[0;0;0m
2809               _scale_x[%]>0,_scale_y[%]>0,_scale_z[%]>0,_seed_x,_seed_y,_seed_z
2810
2811               Render 2D or 3D Perlin noise on selected images, from specified
2812       coordinates.
2813               The Perlin noise is a specific type of smooth noise,  described
2814       here : 'https://en.wikipedia.org/          wiki/Perlin_noise'.
2815               Default      values:      'scale_x=scale_y=scale_z=16'      and
2816       'seed_x=seed_y=seed_z=0'.
2817
2818           [1mnoise_poissondisk:[0;0;0m
2819               _radius[%]>0,_max_sample_attempts>0
2820
2821               Add poisson disk sampling noise to selected images.
2822               Implements the algorithm from the article  "Fast  Poisson  Disk
2823       Sampling  in  Arbitrary  Dimensions",           by Robert Bridson (SIG‐
2824       GRAPH'2007).
2825               Default values: 'radius=8' and 'max_sample_attempts=30'.
2826
2827           [1mnormp:[0;0;0m
2828               p>=0
2829
2830               Compute the pointwise Lp-norm norm of vector-valued  pixels  in
2831       selected images.
2832               Default value: 'p=2'.
2833
2834           [1mnorm:[0;0;0m
2835
2836               Compute the pointwise euclidean norm of vector-valued pixels in
2837       selected images.
2838
2839           [1mnormalize (+):[0;0;0m
2840               { value0[%] | [image0] },{ value1[%] | [image1] } |
2841               [image]
2842
2843               Linearly normalize  values  of  selected  images  in  specified
2844       range.
2845               (eq. to 'n').
2846
2847           [1mnormalize_sum:[0;0;0m
2848
2849               Normalize selected images with a unitary sum.
2850
2851           [1mnot:[0;0;0m
2852
2853               Apply boolean not operation on selected images.
2854
2855           [1morientation:[0;0;0m
2856
2857               Compute  the  pointwise  orientation of vector-valued pixels in
2858       selected images.
2859
2860           [1moneminus:[0;0;0m
2861
2862               For each selected image, compute one minus image.
2863
2864           [1motsu:[0;0;0m
2865               _nb_levels>0
2866
2867               Hard-threshold selected images using Otsu's method.
2868               The computed thresholds are returned as a list of values in the
2869       status.
2870               Default value: 'nb_levels=256'.
2871
2872           [1mpolar2complex:[0;0;0m
2873
2874               Compute polar to complex transforms of selected images.
2875
2876           [1mquantize:[0;0;0m
2877               nb_levels>=1,_keep_values={ 0 | 1 },_is_uniform={ 0 | 1 }
2878
2879               Quantize selected images.
2880               Default value: 'keep_values=1' and 'is_uniform=0'.
2881
2882           [1mquantize_area:[0;0;0m
2883               _min_area>0
2884
2885               Quantize selected images such that each flat region has an area
2886       greater or equal to 'min_area'.
2887               Default value: 'min_area=10'.
2888
2889           [1mrand (+):[0;0;0m
2890               { value0[%] | [image0] },_{ value1[%] | [image1] } |
2891               [image]
2892
2893               Fill selected images with random values  uniformly  distributed
2894       in the specified range.
2895
2896           [1mreplace:[0;0;0m
2897               source,target
2898
2899               Replace pixel values in selected images.
2900
2901           [1mreplace_inf:[0;0;0m
2902               _expression
2903
2904               Replace  all  infinite  values  in selected images by specified
2905       expression.
2906
2907           [1mreplace_nan:[0;0;0m
2908               _expression
2909
2910               Replace all NaN values in selected images by specified  expres‐
2911       sion.
2912
2913           [1mreplace_seq:[0;0;0m
2914               "search_seq","replace_seq"
2915
2916               Search and replace a sequence of values in selected images.
2917
2918           [1mreplace_str:[0;0;0m
2919               "search_str","replace_str"
2920
2921               Search  and  replace  a  string  in  selected images (viewed as
2922       strings, i.e. sequences of ascii codes).
2923
2924           [1mround (+):[0;0;0m
2925               rounding_value>=0,_rounding_type |
2926               (no arg)
2927
2928               Round values of selected images.
2929               'rounding_type' can be { -1=backward | 0=nearest | 1=forward }.
2930               Default value: 'rounding_type=0'.
2931
2932           [1mroundify:[0;0;0m
2933               gamma>=0
2934
2935               Apply roundify transformation on float-valued data, with speci‐
2936       fied gamma.
2937               Default value: 'gamma=0'.
2938
2939           [1mset (+):[0;0;0m
2940               value,_x[%],_y[%],_z[%],_c[%]
2941
2942               Set pixel value in selected images, at specified coordinates.
2943               (eq. to '=').
2944               If  specified  coordinates  are  outside  the  image bounds, no
2945       action is performed.
2946               Default values: 'x=y=z=c=0'.
2947
2948           [1mset_vector_covariance:[0;0;0m
2949               coef1,coef2,...,coefN
2950
2951               Apply linear transformation on  selected  images  so  that  the
2952       covariance matrix of their           vector-valued pixels
2953               is prescribed to given matrix. Matrix size 'N' must be equal to
2954       'spectrum^2'.
2955
2956           [1mthreshold (+):[0;0;0m
2957               value[%],_is_soft={ 0 | 1 } |
2958               (no arg)
2959
2960               Threshold values of selected images.
2961               'soft' can be { 0=hard-thresholding | 1=soft-thresholding }.
2962               (no arg) runs interactive mode (uses the instant display window
2963       [0] if opened).
2964               In  interactive mode, the chosen threshold value is returned in
2965       the status.
2966               Default value: 'is_soft=0'.
2967
2968           [1munrepeat:[0;0;0m
2969
2970               Remove repetition of adjacent values in selected images.
2971
2972           [1mvector2tensor:[0;0;0m
2973
2974               Convert selected vector fields to corresponding tensor fields.
2975
2976        [1m** Colors Manipulation:[0;0;0m
2977
2978           [1madjust_colors:[0;0;0m
2979               -100<=_brightness<=100,-100<=_contrast<=100,-100<=_gamma<=100,
2980                 -100<=_hue_shift<=100,-100<=_satura‐
2981       tion<=100,_value_min,_value_max
2982
2983               Perform a global adjustment of colors on selected images.
2984               Range   of  correct  image  values  are  considered  to  be  in
2985       [value_min,value_max] (e.g. [0,255]).
2986               If 'value_min==value_max==0', value  range  is  estimated  from
2987       min/max values of selected images.
2988               Processed    images    have   pixel   values   constrained   in
2989       [value_min,value_max].
2990               Default  values:   'brightness=0',   'contrast=0',   'gamma=0',
2991       'hue_shift=0', 'saturation=0',           'value_min=value_max=0'.
2992
2993           [1mapply_channels:[0;0;0m
2994               "command",color_channels,_value_action={   0=none   |  1=cut  |
2995       2=normalize }
2996
2997               Apply specified command on the chosen color channel(s) of  each
2998       selected images.
2999               (eq. to 'ac').
3000               Argument  'color_channels'  refers  to a colorspace, and can be
3001       basically one of { all | rgba |           rgb | ryb | lrgb  |  ycbcr  |
3002       lab | lch | hsv | hsi | hsl | cmy | cmyk | yiq }.
3003               You  can  also  make  the  processing focus on a few particular
3004       channels of this colorspace, by           setting  'color_channels'  as
3005       'colorspace_channel' (e.g. 'hsv_h' for the hue).
3006               All channel values are considered to be provided in the [0,255]
3007       range.
3008               Default value: 'value_action=0'.
3009
3010           [1mautoindex:[0;0;0m
3011               nb_colors>0,0<=_dithering<=1,_method={ 0=median-cut | 1=k-means
3012       }
3013
3014               Index selected vector-valued images by adapted colormaps.
3015               Default values: 'dithering=0' and 'method=1'.
3016
3017           [1mbayer2rgb:[0;0;0m
3018               _GM_smoothness,_RB_smoothness1,_RB_smoothness2
3019
3020               Transform selected RGB-Bayer sampled images to color images.
3021               Default values: 'GM_smoothness=RB_smoothness=1' and 'RB_smooth‐
3022       ness2=0.5'.
3023
3024           [1mcmy2rgb:[0;0;0m
3025
3026               Convert color representation of selected  images  from  CMY  to
3027       RGB.
3028
3029           [1mcmyk2rgb:[0;0;0m
3030
3031               Convert  color  representation  of selected images from CMYK to
3032       RGB.
3033
3034           [1mcolorblind:[0;0;0m
3035               type={  0=protanopia  |  1=protanomaly   |   2=deuteranopia   |
3036       3=deuteranomaly |
3037                 4=tritanopia  |  5=tritanomaly  |  6=achromatopsia | 7=achro‐
3038       matomaly }
3039
3040               Simulate color blindness vision.
3041
3042           [1mcolormap:[0;0;0m
3043               nb_levels>=0,_method={ 0=median-cut  |  1=k-means  },_sort_vec‐
3044       tors={ 0 | 1 }
3045
3046               Estimate  best-fitting  colormap  with  'nb_colors' entries, to
3047       index selected images.
3048               Set 'nb_levels==0' to extract all existing colors of an image.
3049               Default value: 'method=1' and 'sort_vectors=1'.
3050
3051           [1mcompose_channels:[0;0;0m
3052
3053               Compose all channels of each selected  image,  using  specified
3054       arithmetic operator (+,-,or,min,...).
3055               Default value: '1=+'.
3056
3057           [1mdirection2rgb:[0;0;0m
3058
3059               Compute RGB representation of selected 2D direction fields.
3060
3061           [1mditheredbw:[0;0;0m
3062
3063               Create dithered B&W version of selected images.
3064
3065           [1mfill_color:[0;0;0m
3066               col1,...,colN
3067
3068               Fill selected images with specified color.
3069               (eq. to 'fc').
3070
3071           [1mgradient2rgb:[0;0;0m
3072               _is_orientation={ 0 | 1 }
3073
3074               Compute RGB representation of 2D gradient of selected images.
3075               Default value: 'is_orientation=0'.
3076
3077           [1mhcy2rgb ::[0;0;0m
3078
3079               Convert  color  representation  of  selected images from HCY to
3080       RGB.
3081
3082           [1mhsi2rgb:[0;0;0m
3083
3084               Convert color representation of selected  images  from  HSI  to
3085       RGB.
3086
3087           [1mhsi82rgb:[0;0;0m
3088
3089               Convert  color  representation  of selected images from HSI8 to
3090       RGB.
3091
3092           [1mhsl2rgb:[0;0;0m
3093
3094               Convert color representation of selected  images  from  HSL  to
3095       RGB.
3096
3097           [1mhsl82rgb:[0;0;0m
3098
3099               Convert  color  representation  of selected images from HSL8 to
3100       RGB.
3101
3102           [1mhsv2rgb:[0;0;0m
3103
3104               Convert color representation of selected  images  from  HSV  to
3105       RGB.
3106
3107           [1mhsv82rgb:[0;0;0m
3108
3109               Convert  color  representation  of selected images from HSV8 to
3110       RGB.
3111
3112           [1mint2rgb:[0;0;0m
3113
3114               Convert color representation of selected images from  INT24  to
3115       RGB.
3116
3117           [1mlab2lch:[0;0;0m
3118
3119               Convert  color  representation  of  selected images from Lab to
3120       Lch.
3121
3122           [1mlab2rgb:[0;0;0m
3123               illuminant={ 0=D50 | 1=D65 } |
3124               (no arg)
3125
3126               Convert color representation of selected  images  from  Lab  to
3127       RGB.
3128               Default value: 'illuminant=1'.
3129
3130           [1mlab2srgb:[0;0;0m
3131               illuminant={ 0=D50 | 1=D65 } |
3132               (no arg)
3133
3134               Convert  color  representation  of  selected images from Lab to
3135       sRGB.
3136               Default value: 'illuminant=1'.
3137
3138           [1mlab82srgb:[0;0;0m
3139               illuminant={ 0=D50 | 1=D65 } |
3140               (no arg)
3141
3142               Convert color representation of selected images  from  Lab8  to
3143       sRGB.
3144               Default value: 'illuminant=1'.
3145
3146           [1mlab2xyz:[0;0;0m
3147               illuminant={ 0=D50 | 1=D65 } |
3148               (no arg)
3149
3150               Convert  color  representation  of  selected images from Lab to
3151       XYZ.
3152               Default value: 'illuminant=1'.
3153
3154           [1mlab82rgb:[0;0;0m
3155               illuminant={ 0=D50 | 1=D65 } |
3156               (no arg)
3157
3158               Convert color representation of selected images  from  Lab8  to
3159       RGB.
3160               Default value: 'illuminant=1'.
3161
3162           [1mlch2lab:[0;0;0m
3163
3164               Convert  color  representation  of  selected images from Lch to
3165       Lab.
3166
3167           [1mlch2rgb:[0;0;0m
3168               illuminant={ 0=D50 | 1=D65 } |
3169               (no arg)
3170
3171               Convert color representation of selected  images  from  Lch  to
3172       RGB.
3173               Default value: 'illuminant=1'.
3174
3175           [1mlch82rgb:[0;0;0m
3176               illuminant={ 0=D50 | 1=D65 } |
3177               (no arg)
3178
3179               Convert  color  representation  of selected images from Lch8 to
3180       RGB.
3181               Default value: 'illuminant=1'.
3182
3183           [1mluminance:[0;0;0m
3184
3185               Compute luminance of selected sRGB images.
3186
3187           [1mlightness:[0;0;0m
3188
3189               Compute lightness of selected sRGB images.
3190
3191           [1mlut_rainbow:[0;0;0m
3192
3193               Input a 256-entries RGB colormap of rainbow colors.
3194
3195           [1mlut_contrast:[0;0;0m
3196               _nb_colors>1,_min_rgb_value
3197
3198               Generate a RGB colormap where consecutive colors have high con‐
3199       trast.
3200               This  function performs a specific score maximization to gener‐
3201       ate the result, so
3202               it may take some time when 'nb_colors' is high.
3203               Default values: 'nb_colors=256' and 'min_rgb_value=64'.
3204
3205           [1mmix_rgb:[0;0;0m
3206               a11,a12,a13,a21,a22,a23,a31,a32,a33
3207
3208               Apply 3x3 specified matrix to RGB colors of selected images.
3209               Default    values:    'a11=1',    'a12=a13=a21=0',     'a22=1',
3210       'a23=a31=a32=0' and 'a33=1'.
3211
3212           [1mpseudogray:[0;0;0m
3213               _max_increment>=0,_JND_threshold>=0,_bits_depth>0
3214
3215               Generate  pseudogray colormap with specified increment and per‐
3216       ceptual threshold.
3217               If 'JND_threshold' is 0, no perceptual constraints are applied.
3218               Default  values:  'max_increment=5',  'JND_threshold=2.3'   and
3219       'bits_depth=8'.
3220
3221           [1mreplace_color:[0;0;0m
3222               tolerance[%]>=0,smoothness[%]>=0,src1,src2,...,dest1,dest2,...
3223
3224               Replace pixels from/to specified colors in selected images.
3225
3226           [1mretinex:[0;0;0m
3227               _value_offset>0,_colorspace={  hsi  |  hsv | lab | lrgb | rgb |
3228       ycbcr },
3229                 0<=_min_cut<=100,0<=_max_cut<=100,_sigma_low>0,_sigma_mid>0,_sigma_high>0
3230
3231               Apply  multi-scale  retinex  algorithm  on  selected  images to
3232       improve color consistency.
3233               (as          described          in           the           page
3234       http://www.ipol.im/pub/art/2014/107/).
3235               Default   values:  'offset=1',  'colorspace=hsv',  'min_cut=1',
3236       'max_cut=1',      'sigma_low=15',               'sigma_mid=80'      and
3237       'sigma_high=250'.
3238
3239           [1mrgb2bayer:[0;0;0m
3240               _start_pattern=0,_color_grid=0
3241
3242               Transform selected color images to RGB-Bayer sampled images.
3243               Default values: 'start_pattern=0' and 'color_grid=0'.
3244
3245           [1mrgb2cmy:[0;0;0m
3246
3247               Convert  color  representation  of  selected images from RGB to
3248       CMY.
3249
3250           [1mrgb2cmyk:[0;0;0m
3251
3252               Convert color representation of selected  images  from  RGB  to
3253       CMYK.
3254
3255           [1mrgb2hcy:[0;0;0m
3256
3257               Convert  color  representation  of  selected images from RGB to
3258       HCY.
3259
3260           [1mrgb2hsi:[0;0;0m
3261
3262               Convert color representation of selected  images  from  RGB  to
3263       HSI.
3264
3265           [1mrgb2hsi8:[0;0;0m
3266
3267               Convert  color  representation  of  selected images from RGB to
3268       HSI8.
3269
3270           [1mrgb2hsl:[0;0;0m
3271
3272               Convert color representation of selected  images  from  RGB  to
3273       HSL.
3274
3275           [1mrgb2hsl8:[0;0;0m
3276
3277               Convert  color  representation  of  selected images from RGB to
3278       HSL8.
3279
3280           [1mrgb2hsv:[0;0;0m
3281
3282               Convert color representation of selected  images  from  RGB  to
3283       HSV.
3284
3285           [1mrgb2hsv8:[0;0;0m
3286
3287               Convert  color  representation  of  selected images from RGB to
3288       HSV8.
3289
3290           [1mrgb2int:[0;0;0m
3291
3292               Convert color representation of selected  images  from  RGB  to
3293       INT24 scalars.
3294
3295           [1mrgb2lab:[0;0;0m
3296               illuminant={ 0=D50 | 1=D65 } |
3297               (no arg)
3298
3299               Convert  color  representation  of  selected images from RGB to
3300       Lab.
3301               Default value: 'illuminant=1'.
3302
3303           [1mrgb2lab8:[0;0;0m
3304               illuminant={ 0=D50 | 1=D65 } |
3305               (no arg)
3306
3307               Convert color representation of selected  images  from  RGB  to
3308       Lab8.
3309               Default value: 'illuminant=1'.
3310
3311           [1mrgb2lch:[0;0;0m
3312               illuminant={ 0=D50 | 1=D65 } |
3313               (no arg)
3314
3315               Convert  color  representation  of  selected images from RGB to
3316       Lch.
3317               Default value: 'illuminant=1'.
3318
3319           [1mrgb2lch8:[0;0;0m
3320               illuminant={ 0=D50 | 1=D65 } |
3321               (no arg)
3322
3323               Convert color representation of selected  images  from  RGB  to
3324       Lch8.
3325               Default value: 'illuminant=1'.
3326
3327           [1mrgb2luv:[0;0;0m
3328
3329               Convert  color  representation  of  selected images from RGB to
3330       LUV.
3331
3332           [1mrgb2ryb:[0;0;0m
3333
3334               Convert color representation of selected  images  from  RGB  to
3335       RYB.
3336
3337           [1mrgb2srgb:[0;0;0m
3338
3339               Convert color representation of selected images from linear RGB
3340       to sRGB.
3341
3342           [1mrgb2xyz:[0;0;0m
3343               illuminant={ 0=D50 | 1=D65 } |
3344               (no arg)
3345
3346               Convert color representation of selected  images  from  RGB  to
3347       XYZ.
3348               Default value: 'illuminant=1'.
3349
3350           [1mrgb2xyz8:[0;0;0m
3351               illuminant={ 0=D50 | 1=D65 } |
3352               (no arg)
3353
3354               Convert  color  representation  of  selected images from RGB to
3355       XYZ8.
3356               Default value: 'illuminant=1'.
3357
3358           [1mrgb2yiq:[0;0;0m
3359
3360               Convert color representation of selected  images  from  RGB  to
3361       YIQ.
3362
3363           [1mrgb2yiq8:[0;0;0m
3364
3365               Convert  color  representation  of  selected images from RGB to
3366       YIQ8.
3367
3368           [1mrgb2ycbcr:[0;0;0m
3369
3370               Convert color representation of selected  images  from  RGB  to
3371       YCbCr.
3372
3373           [1mrgb2yuv:[0;0;0m
3374
3375               Convert  color  representation  of  selected images from RGB to
3376       YUV.
3377
3378           [1mrgb2yuv8:[0;0;0m
3379
3380               Convert color representation of selected  images  from  RGB  to
3381       YUV8.
3382
3383           [1mremove_opacity:[0;0;0m
3384
3385               Remove opacity channel of selected images.
3386
3387           [1mryb2rgb:[0;0;0m
3388
3389               Convert  color  representation  of  selected images from RYB to
3390       RGB.
3391
3392           [1mselect_color:[0;0;0m
3393               tolerance[%]>=0,col1,...,colN
3394
3395               Select pixels with specified color in selected images.
3396
3397           [1msepia:[0;0;0m
3398
3399               Apply sepia tones effect on selected images.
3400
3401           [1msolarize:[0;0;0m
3402
3403               Solarize selected images.
3404
3405           [1msplit_colors:[0;0;0m
3406               _tolerance>=0,_max_nb_outputs>0,_min_area>0
3407
3408               Split selected images as  several  image  containing  a  single
3409       color.
3410               One  selected  image  can  be split as at most 'max_nb_outputs'
3411       images.
3412               Output images are sorted by decreasing area of extracted  color
3413       regions and have an additional           alpha-channel.
3414               Default   values:   'tolerance=0',   'max_nb_outputs=256'   and
3415       'min_area=8'.
3416
3417           [1msplit_opacity:[0;0;0m
3418
3419               Split color and opacity parts of selected images.
3420
3421           [1msrgb2lab:[0;0;0m
3422               illuminant={ 0=D50 | 1=D65 } |
3423               (no arg)
3424
3425               Convert color representation of selected images  from  sRGB  to
3426       Lab.
3427               Default value: 'illuminant=1'.
3428
3429           [1msrgb2lab8:[0;0;0m
3430               illuminant={ 0=D50 | 1=D65 } |
3431               (no arg)
3432
3433               Convert  color  representation  of selected images from sRGB to
3434       Lab8.
3435               Default value: 'illuminant=1'.
3436
3437           [1msrgb2rgb:[0;0;0m
3438
3439               Convert color representation of selected images  from  sRGB  to
3440       linear RGB.
3441
3442           [1mto_a:[0;0;0m
3443
3444               Force selected images to have an alpha channel.
3445
3446           [1mto_color:[0;0;0m
3447
3448               Force selected images to be in color mode (RGB or RGBA).
3449
3450           [1mto_colormode:[0;0;0m
3451               mode={ 0=adaptive | 1=G | 2=GA | 3=RGB | 4=RGBA }
3452
3453               Force selected images to be in a given color mode.
3454               Default value: 'mode=0'.
3455
3456           [1mto_gray:[0;0;0m
3457
3458               Force selected images to be in GRAY mode.
3459
3460           [1mto_graya:[0;0;0m
3461
3462               Force selected images to be in GRAYA mode.
3463
3464           [1mto_pseudogray:[0;0;0m
3465               _max_step>=0,_is_perceptual_constraint={ 0 | 1 },_bits_depth>0
3466
3467               Convert  selected scalar images ([0-255]-valued) to pseudo-gray
3468       color images.
3469               Default values: 'max_step=5', 'is_perceptual_constraint=1'  and
3470       'bits_depth=8'.
3471               The  original pseudo-gray technique has been introduced by Rich
3472       Franzen [http://r0k.us/graphics/          pseudoGrey.html].
3473               Extension of this technique to arbitrary  increments  for  more
3474       tones, has been done by David           Tschumperle.
3475
3476           [1mto_rgb:[0;0;0m
3477
3478               Force selected images to be in RGB mode.
3479
3480           [1mto_rgba:[0;0;0m
3481
3482               Force selected images to be in RGBA mode.
3483
3484           [1mtransfer_histogram:[0;0;0m
3485               [reference_image],_nb_levels>0,_color_channels
3486
3487               Transfer histogram of the specified reference image to selected
3488       images.
3489               Argument  'color  channels'  is  the  same  as   with   command
3490       'apply_channels'.
3491               Default value: 'nb_levels=256' and 'color_channels=all'.
3492
3493           [1mtransfer_rgb:[0;0;0m
3494               [target],_gamma>=0,_regularization>=0,_luminosity_con‐
3495       straints>=0,
3496                 _rgb_resolution>=0,_is_constraints={ 0 | 1 }
3497
3498               Transfer colors from selected source images to selected  refer‐
3499       ence image (given as argument).
3500               'gamma'  determines  the importance of color occurrences in the
3501       matching process (0=none to 1=huge).
3502               'regularization' determines the number of guided filter  itera‐
3503       tions to remove quantization effects.
3504               'luminosity_constraints'  tells  if luminosity constraints must
3505       be applied on non-confident           matched colors.
3506               'is_constraints' tells if  additional  hard  color  constraints
3507       must be set (opens an interactive window).
3508               Default   values:   'gamma=0.3','regularization=8',   'luminos‐
3509       ity_constraints=0.1',             'rgb_resolution=64'   and    'is_con‐
3510       straints=0'.
3511
3512           [1mxyz2lab:[0;0;0m
3513               illuminant={ 0=D50 | 1=D65 } |
3514               (no arg)
3515
3516               Convert  color  representation  of  selected images from XYZ to
3517       Lab.
3518               Default value: 'illuminant=1'.
3519
3520           [1mxyz2rgb:[0;0;0m
3521               illuminant={ 0=D50 | 1=D65 } |
3522               (no arg)
3523
3524               Convert color representation of selected  images  from  XYZ  to
3525       RGB.
3526               Default value: 'illuminant=1'.
3527
3528           [1mxyz82rgb:[0;0;0m
3529               illuminant={ 0=D50 | 1=D65 } |
3530               (no arg)
3531
3532               Convert  color  representation  of selected images from XYZ8 to
3533       RGB.
3534               Default value: 'illuminant=1'.
3535
3536           [1mycbcr2rgb:[0;0;0m
3537
3538               Convert color representation of selected images from  YCbCr  to
3539       RGB.
3540
3541           [1myiq2rgb:[0;0;0m
3542
3543               Convert  color  representation  of  selected images from YIQ to
3544       RGB.
3545
3546           [1myiq82rgb:[0;0;0m
3547
3548               Convert color representation of selected images  from  YIQ8  to
3549       RGB.
3550
3551           [1myuv2rgb:[0;0;0m
3552
3553               Convert  color  representation  of  selected images from YUV to
3554       RGB.
3555
3556           [1myuv82rgb:[0;0;0m
3557
3558               Convert selected images from YUV8 to RGB color bases.
3559
3560        [1m** Geometry Manipulation:[0;0;0m
3561
3562           [1mappend (+):[0;0;0m
3563               [image],axis,_centering |
3564               axis,_centering
3565
3566               Append specified image to  selected  images,  or  all  selected
3567       images together, along specified axis.
3568               (eq. to 'a').
3569               'axis' can be { x | y | z | c }.
3570               Usual  'centering' values are { 0=left-justified | 0.5=centered
3571       | 1=right-justified }.
3572               Default value: 'centering=0'.
3573
3574           [1mappend_tiles:[0;0;0m
3575               _M>=0,_N>=0,0<=_centering_x<=1,0<=_centering_y<=1
3576
3577               Append MxN selected tiles as new images.
3578               If 'N' is set to 0, number of rows is estimated automatically.
3579               If 'M' is set to 0, number of columns  is  estimated  automati‐
3580       cally.
3581               If 'M' and 'N' are both set to '0', auto-mode is used.
3582               If 'M' or 'N' is set to 0, only a single image is produced.
3583               'centering_x'  and  'centering_y'  tells about the centering of
3584       tiles when they have different sizes.
3585               Default values: 'M=0', 'N=0', 'centering_x=centering_y=0.5'.
3586
3587           [1mapply_scales:[0;0;0m
3588               "command",num‐
3589       ber_of_scales>0,_min_scale[%]>=0,_max_scale[%]>=0,_scale_gamma>0,
3590                 _interpolation
3591
3592               Apply specified command on different scales of selected images.
3593               'interpolation'  can  be  {  0=none  |  1=nearest | 2=average |
3594       3=linear | 4=grid | 5=bicubic |           6=lanczos }.
3595               Default value: 'min_scale=25%', 'max_scale=100%' and  'interpo‐
3596       lation=3'.
3597
3598           [1mautocrop (+):[0;0;0m
3599               value1,value2,... |
3600               (no arg)
3601
3602               Autocrop selected images by specified vector-valued intensity.
3603               If no arguments are provided, cropping value is guessed.
3604
3605           [1mautocrop_components:[0;0;0m
3606               _threshold[%],_min_area[%]>=0,_is_high_connectivity={   0  |  1
3607       },_output_type={
3608                 0=crop | 1=segmentation | 2=coordinates }
3609
3610               Autocrop and extract connected components in  selected  images,
3611       according to a mask given as the           last channel of
3612               each of the selected image (e.g. alpha-channel).
3613               Default  values: 'threshold=0%', 'min_area=0.1%', 'is_high_con‐
3614       nectivity=0' and 'output_type=1'.
3615
3616           [1mautocrop_seq:[0;0;0m
3617               value1,value2,... | auto
3618
3619               Autocrop selected images using the crop geometry  of  the  last
3620       one by specified vector-valued           intensity,
3621               or by automatic guessing the cropping value.
3622               Default value: auto mode.
3623
3624           [1mchannels (+):[0;0;0m
3625               { [image0] | c0[%] },_{ [image1] | c1[%] }
3626
3627               Keep only specified channels of selected images.
3628               Dirichlet  boundary  is used when specified channels are out of
3629       range.
3630
3631           [1mcolumns (+):[0;0;0m
3632               { [image0] | x0[%] },_{ [image1] | x1[%] }
3633
3634               Keep only specified columns of selected images.
3635               Dirichlet boundary is used when specified columns  are  out  of
3636       range.
3637
3638           [1mcrop (+):[0;0;0m
3639               x0[%],x1[%],_boundary_conditions |
3640               x0[%],y0[%],x1[%],y1[%],_boundary_conditions |
3641               x0[%],y0[%],z0[%],x1[%],y1[%],z1[%],_boundary_conditions |
3642               x0[%],y0[%],z0[%],c0[%],x1[%],y1[%],z1[%],c1[%],_boundary_con‐
3643       ditions |
3644               (no arg)
3645
3646               Crop selected images with specified region coordinates.
3647               (eq. to 'z').
3648               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
3649       2=periodic | 3=mirror }.
3650               (no arg) runs interactive mode (uses the instant display window
3651       [0] if opened).
3652               In interactive mode, the chosen crop coordinates  are  returned
3653       in the status.
3654               Default value: 'boundary_conditions=0'.
3655
3656           [1mdiagonal:[0;0;0m
3657
3658               Transform selected vectors as diagonal matrices.
3659
3660           [1melevate:[0;0;0m
3661               _depth,_is_plain={ 0 | 1 },_is_colored={ 0 | 1 }
3662
3663               Elevate selected 2D images into 3D volumes.
3664               Default values: 'depth=64', 'is_plain=1' and 'is_colored=1'.
3665
3666           [1mexpand_x:[0;0;0m
3667               size_x>=0,_boundary_conditions={   0=dirichlet  |  1=neumann  |
3668       2=periodic |
3669                 3=mirror }
3670
3671               Expand selected images along the x-axis.
3672               Default value: 'boundary_conditions=1'.
3673
3674           [1mexpand_xy:[0;0;0m
3675               size>=0,_boundary_conditions={  0=dirichlet   |   1=neumann   |
3676       2=periodic | 3=mirror }
3677
3678               Expand selected images along the xy-axes.
3679               Default value: 'boundary_conditions=1'.
3680
3681           [1mexpand_xyz:[0;0;0m
3682               size>=0,_boundary_conditions={   0=dirichlet   |   1=neumann  |
3683       2=periodic | 3=mirror }
3684
3685               Expand selected images along the xyz-axes.
3686               Default value: 'boundary_conditions=1'.
3687
3688           [1mexpand_y:[0;0;0m
3689               size_y>=0,_boundary_conditions={  0=dirichlet  |  1=neumann   |
3690       2=periodic |
3691                 3=mirror }
3692
3693               Expand selected images along the y-axis.
3694               Default value: 'boundary_conditions=1'.
3695
3696           [1mexpand_z:[0;0;0m
3697               size_z>=0,_boundary_conditions={   0=dirichlet  |  1=neumann  |
3698       2=periodic |
3699                 3=mirror }
3700
3701               Expand selected images along the z-axis.
3702               Default value: 'boundary_conditions=1'.
3703
3704           [1mextract_region:[0;0;0m
3705               [label_image],_extract_xyz_coordinates={      0       |       1
3706       },_label_1,...,_label_M
3707
3708               Extract all pixels of selected images whose corresponding label
3709       in '[label_image]' is equal to           'label_m',
3710               and output them as M column images.
3711               Default value: 'extract_xyz_coordinates=0'.
3712
3713           [1mmontage:[0;0;0m
3714               "_layout_code",_montage_mode={ 0<=centering<=1 |  2<=scale+2<=3
3715       },_output_mode={
3716                 0=single layer | 1=multiple layers },"_processing_command"
3717
3718               Create  a  single image montage from selected images, according
3719       to specified layout code :
3720               - 'X' to assemble all images using an  automatically  estimated
3721       layout.
3722               - 'H' to assemble all images horizontally.
3723               - 'V' to assemble all images vertically.
3724               - 'A' to assemble all images as an horizontal array.
3725               - 'B' to assemble all images as a vertical array.
3726               - 'Ha:b' to assemble two blocks 'a' and 'b' horizontally.
3727               - 'Va:b' to assemble two blocks 'a' and 'b' vertically.
3728               - 'Ra' to rotate a block 'a' by 90 deg. ('RRa' for 180 deg. and
3729       'RRRa' for 270 deg.).
3730               - 'Ma' to mirror a block 'a' along the X-axis ('MRRa'  for  the
3731       Y-axis).
3732               A  block  'a' can be an image index (treated periodically) or a
3733       nested layout expression 'Hb:c',          'Vb:c','Rb' or 'Mb' itself.
3734               For example, layout code 'H0:V1:2' creates an image where image
3735       [0]  is on the left, and images           [1] and [2] vertically packed
3736       on the right.
3737               Default   values:   'layout_code=X',   'montage_mode=2',   out‐
3738       put_mode='0' and 'processing_command=""'.
3739
3740           [1mmirror (+):[0;0;0m
3741               { x | y | z }...{ x | y | z }
3742
3743               Mirror selected images along specified axes.
3744
3745           [1mpermute (+):[0;0;0m
3746               permutation_string
3747
3748               Permute selected image axes by specified permutation.
3749               'permutation' is a combination of the character set {x|y|z|c},
3750               e.g. 'xycz', 'cxyz', ...
3751
3752           [1mresize (+):[0;0;0m
3753               [image],_interpolation,_boundary_conditions,_ax,_ay,_az,_ac |
3754               {[image_w] | width>0[%]},_{[image_h] | height>0[%]},_{[image_d]
3755       | depth>0[%]},
3756                 _{[image_s] |  spectrum>0[%]},_interpolation,_boundary_condi‐
3757       tions,_ax,_ay,_az,_ac |
3758               (no arg)
3759
3760               Resize selected images with specified geometry.
3761               (eq. to 'r').
3762               'interpolation'  can  be  { -1=none (memory content) | 0=none |
3763       1=nearest | 2=average |  3=linear  |            4=grid  |  5=bicubic  |
3764       6=lanczos }.
3765               'boundary_conditions'  has different meanings, according to the
3766       chosen 'interpolation' mode :
3767               . When 'interpolation=={ -1 | 1 | 2 |  4  }',  'boundary_condi‐
3768       tions' is meaningless.
3769               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
3770       0=dirichlet | 1=neumann | 2=periodic |           3=mirror }.
3771               . When 'interpolation=={ 3 | 5 |  6  }',  'boundary_conditions'
3772       can be { 0=none | 1=neumann }.
3773               'ax,ay,az,ac'  set the centering along each axis when 'interpo‐
3774       lation=0 or 4'
3775               (set to '0' by default, must be defined in range [0,1]).
3776               (no arg) runs interactive mode (uses the instant display window
3777       [0] if opened).
3778               Default  values: 'interpolation=1', 'boundary_conditions=0' and
3779       'ax=ay=az=ac=0'.
3780
3781           [1mresize_mn:[0;0;0m
3782               width[%]>=0,_height[%]>=0,_depth[%]>=0,_B_value,_C_value
3783
3784               Resize selected images with Mitchell-Netravali filter (cubic).
3785               For      details       about       the       method,       see:
3786       https://de.wikipedia.org/wiki/Mitchell-Netravali-Filter
3787               Default  values:  'height=100%',  'depth=100%',  'B=0.3333' and
3788       'C=0.3333'.
3789
3790           [1mresize_pow2:[0;0;0m
3791               _interpolation,_boundary_conditions,_ax,_ay,_az,_ac
3792
3793               Resize selected images so that each dimension is a power of 2.
3794               'interpolation' can be { -1=none (memory content)  |  0=none  |
3795       1=nearest  |  2=average  |  3=linear  |            4=grid | 5=bicubic |
3796       6=lanczos }.
3797               'boundary_conditions' has different meanings, according to  the
3798       chosen 'interpolation' mode :
3799               .  When  'interpolation=={  -1 | 1 | 2 | 4 }', 'boundary_condi‐
3800       tions' is meaningless.
3801               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
3802       0=dirichlet | 1=neumann | 2=periodic |           3=mirror }.
3803               .  When  'interpolation=={  3 | 5 | 6 }', 'boundary_conditions'
3804       can be { 0=none | 1=neumann }.
3805               'ax,ay,az,ac' set the centering along each axis when  'interpo‐
3806       lation=0'
3807               (set to '0' by default, must be defined in range [0,1]).
3808               Default  values: 'interpolation=0', 'boundary_conditions=0' and
3809       'ax=ay=az=ac=0'.
3810
3811           [1mresize_ratio2d:[0;0;0m
3812               width>0,height>0,_mode={  0=inside  |  1=outside   |   2=padded
3813       },0=<_interpolation<=6
3814
3815               Resize selected images while preserving their aspect ratio.
3816               (eq. to 'rr2d').
3817               Default values: 'mode=0' and 'interpolation=6'.
3818
3819           [1mresize2dx:[0;0;0m
3820               width[%]>0,_interpolation,_boundary_conditions,_ax,_ay,_az,_ac
3821
3822               Resize selected images along the x-axis, preserving 2D ratio.
3823               (eq. to 'r2dx').
3824               'interpolation'  can  be  { -1=none (memory content) | 0=none |
3825       1=nearest | 2=average |  3=linear  |            4=grid  |  5=bicubic  |
3826       6=lanczos }.
3827               'boundary_conditions'  has different meanings, according to the
3828       chosen 'interpolation' mode :
3829               . When 'interpolation=={ -1 | 1 | 2 |  4  }',  'boundary_condi‐
3830       tions' is meaningless.
3831               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
3832       0=dirichlet | 1=neumann | 2=periodic |           3=mirror }.
3833               . When 'interpolation=={ 3 | 5 |  6  }',  'boundary_conditions'
3834       can be { 0=none | 1=neumann }.
3835               'ax,ay,az,ac'  set the centering along each axis when 'interpo‐
3836       lation=0'
3837               (set to '0' by default, must be defined in range [0,1]).
3838               Default values: 'interpolation=3', 'boundary_conditions=0'  and
3839       'ax=ay=az=ac=0'.
3840
3841           [1mresize2dy:[0;0;0m
3842               height[%]>=0,_interpolation,_boundary_condi‐
3843       tions,_ax,_ay,_az,_ac
3844
3845               Resize selected images along the y-axis, preserving 2D ratio.
3846               (eq. to 'r2dy').
3847               'interpolation' can be { -1=none (memory content)  |  0=none  |
3848       1=nearest  |  2=average  |  3=linear  |            4=grid | 5=bicubic |
3849       6=lanczos }.
3850               'boundary_conditions' has different meanings, according to  the
3851       chosen 'interpolation' mode :
3852               .  When  'interpolation=={  -1 | 1 | 2 | 4 }', 'boundary_condi‐
3853       tions' is meaningless.
3854               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
3855       0=dirichlet | 1=neumann | 2=periodic |           3=mirror }.
3856               .  When  'interpolation=={  3 | 5 | 6 }', 'boundary_conditions'
3857       can be { 0=none | 1=neumann }.
3858               'ax,ay,az,ac' set the centering along each axis when  'interpo‐
3859       lation=0'
3860               (set to '0' by default, must be defined in range [0,1]).
3861               Default  values: 'interpolation=3', 'boundary_conditions=0' and
3862       'ax=ay=az=ac=0'.
3863
3864           [1mresize3dx:[0;0;0m
3865               width[%]>0,_interpolation,_boundary_conditions,_ax,_ay,_az,_ac
3866
3867               Resize selected images along the x-axis, preserving 3D ratio.
3868               (eq. to 'r3dx').
3869               'interpolation' can be { -1=none (memory content)  |  0=none  |
3870       1=nearest  |  2=average  |  3=linear  |            4=grid | 5=bicubic |
3871       6=lanczos }.
3872               'boundary_conditions' has different meanings, according to  the
3873       chosen 'interpolation' mode :
3874               .  When  'interpolation=={  -1 | 1 | 2 | 4 }', 'boundary_condi‐
3875       tions' is meaningless.
3876               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
3877       0=dirichlet | 1=neumann | 2=periodic |           3=mirror }.
3878               .  When  'interpolation=={  3 | 5 | 6 }', 'boundary_conditions'
3879       can be { 0=none | 1=neumann }.
3880               'ax,ay,az,ac' set the centering along each axis when  'interpo‐
3881       lation=0'
3882               (set to '0' by default, must be defined in range [0,1]).
3883               Default  values: 'interpolation=3', 'boundary_conditions=0' and
3884       'ax=ay=az=ac=0'.
3885
3886           [1mresize3dy:[0;0;0m
3887               height[%]>0,_interpolation,_boundary_conditions,_ax,_ay,_az,_ac
3888
3889               Resize selected images along the y-axis, preserving 3D ratio.
3890               (eq. to 'r3dy').
3891               'interpolation' can be { -1=none (memory content)  |  0=none  |
3892       1=nearest  |  2=average  |  3=linear  |            4=grid | 5=bicubic |
3893       6=lanczos }.
3894               'boundary_conditions' has different meanings, according to  the
3895       chosen 'interpolation' mode :
3896               .  When  'interpolation=={  -1 | 1 | 2 | 4 }', 'boundary_condi‐
3897       tions' is meaningless.
3898               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
3899       0=dirichlet | 1=neumann | 2=periodic |           3=mirror }.
3900               .  When  'interpolation=={  3 | 5 | 6 }', 'boundary_conditions'
3901       can be { 0=none | 1=neumann }.
3902               'ax,ay,az,ac' set the centering along each axis when  'interpo‐
3903       lation=0'
3904               (set to '0' by default, must be defined in range [0,1]).
3905               Default  values: 'interpolation=3', 'boundary_conditions=0' and
3906       'ax=ay=az=ac=0'.
3907
3908           [1mresize3dz:[0;0;0m
3909               depth[%]>0,_interpolation,_boundary_conditions,_ax,_ay,_az,_ac
3910
3911               Resize selected images along the z-axis, preserving 3D ratio.
3912               (eq. to 'r3dz').
3913               'interpolation' can be { -1=none (memory content)  |  0=none  |
3914       1=nearest  |  2=average  |  3=linear  |            4=grid | 5=bicubic |
3915       6=lanczos }.
3916               'boundary_conditions' has different meanings, according to  the
3917       chosen 'interpolation' mode :
3918               .  When  'interpolation=={  -1 | 1 | 2 | 4 }', 'boundary_condi‐
3919       tions' is meaningless.
3920               .  When  'interpolation==0',  'boundary_conditions'  can  be  {
3921       0=dirichlet | 1=neumann | 2=periodic |           3=mirror }.
3922               .  When  'interpolation=={  3 | 5 | 6 }', 'boundary_conditions'
3923       can be { 0=none | 1=neumann }.
3924               'ax,ay,az,ac' set the centering along each axis when  'interpo‐
3925       lation=0'
3926               (set to '0' by default, must be defined in range [0,1]).
3927               Default  values: 'interpolation=3', 'boundary_conditions=0' and
3928       'ax=ay=az=ac=0'.
3929
3930           [1mrotate (+):[0;0;0m
3931               angle,_interpolation,_boundary_conditions,_center_x[%],_cen‐
3932       ter_y[%] |
3933               u,v,w,angle,interpolation,boundary_conditions,_cen‐
3934       ter_x[%],_center_y[%],
3935                 _center_z[%]
3936
3937               Rotate selected images with  specified  angle  (in  deg.),  and
3938       optionally 3D axis (u,v,w).
3939               'interpolation' can be { 0=none | 1=linear | 2=bicubic }.
3940               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
3941       2=periodic | 3=mirror }.
3942               When a rotation center (cx,cy,_cz) is specified,  the  size  of
3943       the image is preserved.
3944               Default  values: 'interpolation=1', 'boundary_conditions=0' and
3945       'center_x=center_y=(undefined)'.
3946
3947           [1mrotate_tileable:[0;0;0m
3948               angle,_max_size_factor>=0
3949
3950               Rotate  selected  images  by  specified  angle  and  make  them
3951       tileable.
3952               If resulting size of an image is too big, the image is replaced
3953       by a 1x1 image.
3954               Default values: 'max_size_factor=8'.
3955
3956           [1mrows (+):[0;0;0m
3957               { [image0] | y0[%] },_{ [image1] | y1[%] }
3958
3959               Keep only specified rows of selected images.
3960               Dirichlet boundary conditions are used when specified rows  are
3961       out of range.
3962
3963           [1mscale2x:[0;0;0m
3964
3965               Resize selected images using the Scale2x algorithm.
3966
3967           [1mscale3x:[0;0;0m
3968
3969               Resize selected images using the Scale3x algorithm.
3970
3971           [1mscale_dcci2x:[0;0;0m
3972               _edge_threshold>=0,_exponent>0,_extend_1px={ 0=false | 1=true }
3973
3974               Double  image size using directional cubic convolution interpo‐
3975       lation,
3976               as    described     in     https://en.wikipedia.org/wiki/Direc
3977       tional_Cubic_Convolution_Interpolation.
3978               Default   values:   'edge_threshold=1.15',   'exponent=5'   and
3979       'extend_1px=0'.
3980
3981           [1mseamcarve:[0;0;0m
3982               _width[%]>=0,_height[%]>=0,_is_priority_channel={   0    |    1
3983       },_is_antialiasing={ 0 |
3984                  1 },_maximum_seams[%]>=0
3985
3986               Resize  selected  images  with specified 2D geometry, using the
3987       seam-carving algorithm.
3988               Default   values:    'height=100%',    'is_priority_channel=0',
3989       'is_antialiasing=1' and           'maximum_seams=25%'.
3990
3991           [1mshift (+):[0;0;0m
3992               vx[%],_vy[%],_vz[%],_vc[%],_boundary_conditions,_interpola‐
3993       tion={
3994                 0=nearest_neighbor | 1=linear }
3995
3996               Shift selected images by specified displacement vector.
3997               Displacement vector can be non-integer  in  which  case  linear
3998       interpolation of the shift is computed.
3999               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4000       2=periodic | 3=mirror }.
4001               Default value: 'boundary_conditions=0' and 'interpolation=0'.
4002
4003           [1mshrink_x:[0;0;0m
4004               size_x>=0
4005
4006               Shrink selected images along the x-axis.
4007
4008           [1mshrink_xy:[0;0;0m
4009               size>=0
4010
4011               Shrink selected images along the xy-axes.
4012
4013           [1mshrink_xyz:[0;0;0m
4014               size>=0
4015
4016               Shrink selected images along the xyz-axes.
4017
4018           [1mshrink_y:[0;0;0m
4019               size_y>=0
4020
4021               Shrink selected images along the y-axis.
4022
4023           [1mshrink_z:[0;0;0m
4024               size_z>=0
4025
4026               Shrink selected images along the z-axis.
4027
4028           [1mslices (+):[0;0;0m
4029               { [image0] | z0[%] },_{ [image1] | z1[%] }
4030
4031               Keep only specified slices of selected images.
4032               Dirichlet boundary conditions are used  when  specified  slices
4033       are out of range.
4034
4035           [1msort (+):[0;0;0m
4036               _ordering={ + | - },_axis={ x | y | z | c }
4037
4038               Sort pixel values of selected images.
4039               If  'axis'  is  specified, the sorting is done according to the
4040       data of the first column/row/slice/channel
4041               of selected images.
4042               Default values: 'ordering=+' and 'axis=(undefined)'.
4043
4044           [1msplit (+):[0;0;0m
4045               { x | y | z | c }...{ x | y | z | c },_split_mode |
4046               keep_splitting_values={ + | - },_{ x | y | z | c }...{ x | y  |
4047       z | c },value1,
4048                 _value2,... |
4049               (no arg)
4050
4051               Split  selected  images along specified axes, or regarding to a
4052       sequence of scalar values           (optionally  along  specified  axes
4053       too).
4054               (eq. to 's').
4055               'split_mode'  can  be  { 0=split according to constant values |
4056       >0=split in N parts | <0=split in           parts of size -N }.
4057               Default value: 'split_mode=-1'.
4058
4059           [1msplit_tiles:[0;0;0m
4060               M!=0,_N!=0,_is_homogeneous={ 0 | 1 }
4061
4062               Split selected images as a MxN array of tiles.
4063               If M or N is negative, it stands for the tile size instead.
4064               Default values: 'N=M' and 'is_homogeneous=0'.
4065
4066           [1mundistort:[0;0;0m
4067               -1<=_amplitude<=1,_aspect_ratio,_zoom,_center_x[%],_cen‐
4068       ter_y[%],
4069                 _boundary_conditions
4070
4071               Correct barrel/pincushion distortions occurring with wide-angle
4072       lens.
4073               References:
4074               [1] Zhang Z. (1999). Flexible camera calibration by  viewing  a
4075       plane from unknown orientation.
4076               [2] Andrew W. Fitzgibbon (2001). Simultaneous linear estimation
4077       of multiple view geometry and           lens distortion.
4078               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4079       2=periodic | 3=mirror }.
4080               Default  values:  'amplitude=0.25', 'aspect_ratio=0', 'zoom=0',
4081       'center_x=center_y=50%'  and           'boundary_conditions=0'.
4082
4083           [1munroll (+):[0;0;0m
4084               _axis={ x | y | z | c }
4085
4086               Unroll selected images along specified axis.
4087               (eq. to 'y').
4088               Default value: 'axis=y'.
4089
4090           [1mupscale_smart:[0;0;0m
4091               width[%],_height[%],_depth,_smoothness>=0,_anisot‐
4092       ropy=[0,1],sharpening>=0
4093
4094               Upscale selected images with an edge-preserving algorithm.
4095               Default  values:  'height=100%',  'depth=100%', 'smoothness=2',
4096       'anisotropy=0.4' and           'sharpening=10'.
4097
4098           [1mwarp (+):[0;0;0m
4099               [warping_field],_mode,_interpolation,_boundary_condi‐
4100       tions,_nb_frames>0
4101
4102               Warp selected images with specified displacement field.
4103               'mode'  can  be  {  0=backward-absolute | 1=backward-relative |
4104       2=forward-absolute |           3=forward-relative }.
4105               'interpolation'  can  be  {  0=nearest-neighbor  |  1=linear  |
4106       2=cubic }.
4107               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4108       2=periodic | 3=mirror }.
4109               Default values: 'mode=0',  'interpolation=1',  'boundary_condi‐
4110       tions=1' and 'nb_frames=1'.
4111
4112           [1mwarp_patch:[0;0;0m
4113               [warp‐
4114       ing_field],patch_width>=1,_patch_height>=1,_patch_depth>=1,_std_fac‐
4115       tor>0,
4116                 _boundary_conditions.
4117
4118               Patch-warp  selected  images, with specified 2D or 3D displace‐
4119       ment field (in backward-absolute mode).
4120               Argument 'std_factor' sets the std of the gaussian weights  for
4121       the patch overlap, equal to 'std           = std_factor*patch_size'.
4122               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4123       2=periodic | 3=mirror }.
4124               Default values: 'std_factor=0.3' and 'boundary_conditions=3'.
4125
4126        [1m** Filtering:[0;0;0m
4127
4128           [1mbandpass:[0;0;0m
4129               _min_freq[%],_max_freq[%]
4130
4131               Apply bandpass filter to selected images.
4132               Default values: 'min_freq=0' and 'max_freq=20%'.
4133
4134           [1mbilateral (+):[0;0;0m
4135               [guide],std_deviation_s[%]>=0,std_deviation_r[%]>=0,_sam‐
4136       pling_s>=0,
4137                 _sampling_r>=0 |
4138               std_deviation_s[%]>=0,std_deviation_r[%]>=0,_sam‐
4139       pling_s>=0,_sampling_r>=0
4140
4141               Blur selected images by  anisotropic  (eventually  joint/cross)
4142       bilateral filtering.
4143               If  a guide image is provided, it is used for drive the smooth‐
4144       ing filter.
4145               A guide image must be of the  same  xyz-size  as  the  selected
4146       images.
4147               Set 'sampling' arguments to '0' for automatic adjustment.
4148
4149           [1mblur (+):[0;0;0m
4150               std_deviation>=0[%],_boundary_conditions,_kernel |
4151               axes,std_deviation>=0[%],_boundary_conditions,_kernel
4152
4153               Blur  selected  images  by  a quasi-gaussian or gaussian filter
4154       (recursive implementation).
4155               (eq. to 'b').
4156               'boundary_conditions' can be { 0=dirichlet |  1=neumann  }  and
4157       'kernel' can be { 0=quasi-gaussian           (faster) | 1=gaussian }.
4158               When  specified, argument 'axes' is a sequence of { x | y | z |
4159       c }.
4160               Specifying one axis multiple times apply also the blur multiple
4161       times.
4162               Default values: 'boundary_conditions=1' and 'kernel=0'.
4163
4164           [1mblur_angular:[0;0;0m
4165               amplitude[%],_center_x[%],_center_y[%]
4166
4167               Apply angular blur on selected images.
4168               Default values: 'center_x=center_y=50%'.
4169
4170           [1mblur_bloom:[0;0;0m
4171               _amplitude>=0,_ratio>=0,_nb_iter>=0,_blend_operator={ + | max |
4172       min },_kernel={
4173                 0=quasi-gaussian (faster) | 1=gaussian | 2=box | 3=triangle |
4174       4=quadratic },
4175                 _normalize_scales={ 0 | 1 },_axes
4176
4177               Apply  a  bloom filter that blend multiple blur filters of dif‐
4178       ferent radii,
4179               resulting in a larger but sharper glare than a simple blur.
4180               When specified, argument 'axes' is a sequence of { x | y | z  |
4181       c }.
4182               Specifying one axis multiple times apply also the blur multiple
4183       times.
4184               Reference: Masaki Kawase,  "Practical  Implementation  of  High
4185       Dynamic Range Rendering", GDC 2004.
4186               Default    values:   'amplitude=1',   'ratio=2',   'nb_iter=5',
4187       'blend_operator=+',   'kernel=0',            'normalize_scales=0'   and
4188       'axes=(all)'
4189
4190           [1mblur_linear:[0;0;0m
4191               amplitude1[%],_amplitude2[%],_angle,_boundary_conditions={
4192       0=dirichlet |
4193                 1=neumann }
4194
4195               Apply linear blur on selected images, with specified angle  and
4196       amplitudes.
4197               Default  values: 'amplitude2=0', 'angle=0' and 'boundary_condi‐
4198       tions=1'.
4199
4200           [1mblur_radial:[0;0;0m
4201               amplitude[%],_center_x[%],_center_y[%]
4202
4203               Apply radial blur on selected images.
4204               Default values: 'center_x=center_y=50%'.
4205
4206           [1mblur_selective:[0;0;0m
4207               sigma>=0,_edges>0,_nb_scales>0
4208
4209               Blur selected images using selective gaussian scales.
4210               Default values: 'sigma=5', 'edges=0.5' and 'nb_scales=5'.
4211
4212           [1mblur_x:[0;0;0m
4213               amplitude[%]>=0,_boundary_conditions={ 0=dirichlet |  1=neumann
4214       }
4215
4216               Blur selected images along the x-axis.
4217               Default value: 'boundary_conditions=1'.
4218
4219           [1mblur_xy:[0;0;0m
4220               amplitude_x[%],amplitude_y[%],_boundary_conditions={  0=dirich‐
4221       let | 1=neumann }
4222
4223               Blur selected images along the X and Y axes.
4224               Default value: 'boundary_conditions=1'.
4225
4226           [1mblur_xyz:[0;0;0m
4227               amplitude_x[%],amplitude_y[%],amplitude_z,_boundary_condi‐
4228       tions={ 0=dirichlet |
4229                 1=neumann }
4230
4231               Blur selected images along the X, Y and Z axes.
4232               Default value: 'boundary_conditions=1'.
4233
4234           [1mblur_y:[0;0;0m
4235               amplitude[%]>=0,_boundary_conditions={  0=dirichlet | 1=neumann
4236       }
4237
4238               Blur selected images along the y-axis.
4239               Default value: 'boundary_conditions=1'.
4240
4241           [1mblur_z:[0;0;0m
4242               amplitude[%]>=0,_boundary_conditions={ 0=dirichlet |  1=neumann
4243       }
4244
4245               Blur selected images along the z-axis.
4246               Default value: 'boundary_conditions=1'.
4247
4248           [1mboxfilter (+):[0;0;0m
4249               size>=0[%],_order,_boundary_conditions,_nb_iter>=0 |
4250               axes,size>=0[%],_order,_boundary_conditions,_nb_iter>=0
4251
4252               Blur  selected  images  by a box filter of specified size (fast
4253       recursive implementation).
4254               'order' can be { 0=smooth | 1=1st-derivative | 2=2nd-derivative
4255       }.
4256               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
4257               When  specified, argument 'axes' is a sequence of { x | y | z |
4258       c }.
4259               Specifying one axis multiple times apply also the blur multiple
4260       times.
4261               Default    values:   'order=0',   'boundary_conditions=1'   and
4262       'nb_iter=1'.
4263
4264           [1mbump2normal:[0;0;0m
4265
4266               Convert selected bumpmaps to normalmaps.
4267
4268           [1mcompose_freq:[0;0;0m
4269
4270               Compose selected low and high frequency parts into new images.
4271
4272           [1mconvolve (+):[0;0;0m
4273               [mask],_boundary_conditions,_is_normalized={ 0 | 1 }
4274
4275               Convolve selected images by specified mask.
4276               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
4277               Default values: 'boundary_conditions=1' and 'is_normalized=0'.
4278
4279           [1mconvolve_fft:[0;0;0m
4280               [mask]
4281
4282               Convolve selected images with specified mask,  in  the  fourier
4283       domain.
4284
4285           [1mcorrelate (+):[0;0;0m
4286               [mask],_boundary_conditions,_is_normalized={ 0 | 1 }
4287
4288               Correlate selected images by specified mask.
4289               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
4290               Default values: 'boundary_conditions=1' and 'is_normalized=0'.
4291
4292           [1mcross_correlation:[0;0;0m
4293               [mask]
4294
4295               Compute  cross-correlation  of  selected  images with specified
4296       mask.
4297
4298           [1mcurvature:[0;0;0m
4299
4300               Compute isophote curvatures on selected images.
4301
4302           [1mdct:[0;0;0m
4303               _{ x | y | z }...{ x | y | z } |
4304               (no arg)
4305
4306               Compute the discrete cosine transform of selected images,
4307               optionally along the specified axes only.
4308               Default values: (no arg)
4309
4310           [1mdeblur:[0;0;0m
4311               amplitude[%]>=0,_nb_iter>=0,_dt>=0,_regul>=0,_regul_type={
4312       0=Tikhonov |
4313                 1=meancurv. | 2=TV }
4314
4315               Deblur image using a regularized Jansson-Van Cittert algorithm.
4316               Default   values:   'nb_iter=10',   'dt=20',   'regul=0.7'  and
4317       'regul_type=1'.
4318
4319           [1mdeblur_goldmeinel:[0;0;0m
4320               sigma>=0,   _nb_iter>=0,    _acceleration>=0,    _kernel_type={
4321       0=quasi-gaussian
4322                 (faster) | 1=gaussian }.
4323
4324               Deblur selected images using Gold-Meinel algorithm
4325               Default   values:   'nb_iter=8',   'acceleration=1'  and  'ker‐
4326       nel_type=1'.
4327
4328           [1mdeblur_richardsonlucy:[0;0;0m
4329               sigma>=0, nb_iter>=0, _kernel_type={ 0=quasi-gaussian  (faster)
4330       | 1=gaussian }.
4331
4332               Deblur selected images using Richardson-Lucy algorithm.
4333               Default values: 'nb_iter=50' and 'kernel_type=1'.
4334
4335           [1mdeconvolve_fft:[0;0;0m
4336               [kernel],_regularization>=0
4337
4338               Deconvolve  selected  images  by  specified mask in the fourier
4339       space.
4340               Default value: 'regularization>=0'.
4341
4342           [1mdeinterlace:[0;0;0m
4343               _method={ 0 | 1 }
4344
4345               Deinterlace selected images ('method' can be  {  0=standard  or
4346       1=motion-compensated }).
4347               Default value: 'method=0'.
4348
4349           [1mdenoise (+):[0;0;0m
4350               std_deviation_s>=0,_std_devia‐
4351       tion_p>=0,_patch_size>0,_lookup_size>0,_smoothness,
4352                 _fast_approx={ 0 | 1 }
4353
4354               Denoise selected images by non-local patch averaging.
4355               Default    values:    'std_deviation_p=10',     'patch_size=5',
4356       'lookup_size=6' and 'smoothness=1'.
4357
4358           [1mdenoise_haar:[0;0;0m
4359               _threshold>=0,_nb_scales>=0,_cycle_spinning>0
4360
4361               Denoise  selected  images  using haar-wavelet thresholding with
4362       cycle spinning.
4363               Set 'nb_scales==0' to automatically determine the optimal  num‐
4364       ber of scales.
4365               Default  values: 'threshold=1.4', 'nb_scale=0' and 'cycle_spin‐
4366       ning=10'.
4367
4368           [1mdenoise_patchpca:[0;0;0m
4369               _strength>=0,_patch_size>0,_lookup_size>0,_spatial_sampling>0
4370
4371               Denoise selected images using the patch-pca algorithm.
4372               Default values: 'patch_size=7', 'lookup_size=11', 'details=1.8'
4373       and 'spatial_sampling=5'.
4374
4375           [1mderiche (+):[0;0;0m
4376               std_deviation>=0[%],order={ 0 | 1 | 2 },axis={ x | y | z | c },
4377                 _boundary_conditions
4378
4379               Apply Deriche recursive filter on selected images, along speci‐
4380       fied axis and with
4381               specified standard deviation, order and boundary conditions.
4382               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
4383               Default value: 'boundary_conditions=1'.
4384
4385           [1mdilate (+):[0;0;0m
4386               size>=0 |
4387               size_x>=0,size_y>=0,size_z>=0 |
4388               [kernel],_boundary_conditions,_is_real={    0=binary-mode     |
4389       1=real-mode }
4390
4391               Dilate selected images by a rectangular or the specified struc‐
4392       turing element.
4393               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
4394               Default   values:   'size_z=1',   'boundary_conditions=1'   and
4395       'is_real=0'.
4396
4397           [1mdilate_circ:[0;0;0m
4398               _size>=0,_boundary_conditions,_is_normalized={ 0 | 1 }
4399
4400               Apply circular dilation of selected images by specified size.
4401               Default values: 'boundary_conditions=1' and 'is_normalized=0'.
4402
4403           [1mdilate_oct:[0;0;0m
4404               _size>=0,_boundary_conditions,_is_normalized={ 0 | 1 }
4405
4406               Apply octagonal dilation of selected images by specified size.
4407               Default values: 'boundary_conditions=1' and 'is_normalized=0'.
4408
4409           [1mdilate_threshold:[0;0;0m
4410               size_x>=1,size_y>=1,size_z>=1,_threshold>=0,_boundary_condi‐
4411       tions
4412
4413               Dilate selected images in the (X,Y,Z,I) space.
4414               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
4415               Default values:  'size_y=size_x',  'size_z=1',  'threshold=255'
4416       and 'boundary_conditions=1'.
4417
4418           [1mdivergence:[0;0;0m
4419
4420               Compute divergence of selected vector fields.
4421
4422           [1mdog:[0;0;0m
4423               _sigma1>=0[%],_sigma2>=0[%]
4424
4425               Compute difference of gaussian on selected images.
4426               Default values: 'sigma1=2%' and 'sigma2=3%'.
4427
4428           [1mdiffusiontensors:[0;0;0m
4429               _sharpness>=0,0<=_anisotropy<=1,_alpha[%],_sigma[%],is_sqrt={ 0
4430       | 1 }
4431
4432               Compute the diffusion tensors of selected images for  edge-pre‐
4433       serving smoothing algorithms.
4434               Default values: 'sharpness=0.7', 'anisotropy=0.3', 'alpha=0.6',
4435       'sigma=1.1' and 'is_sqrt=0'.
4436
4437           [1medges:[0;0;0m
4438               _threshold[%]>=0
4439
4440               Estimate contours of selected images.
4441               Default value: 'edges=15%'
4442
4443           [1merode (+):[0;0;0m
4444               size>=0 |
4445               size_x>=0,size_y>=0,_size_z>=0 |
4446               [kernel],_boundary_conditions,_is_real={    0=binary-mode     |
4447       1=real-mode }
4448
4449               Erode  selected images by a rectangular or the specified struc‐
4450       turing element.
4451               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
4452               Default   values:   'size_z=1',   'boundary_conditions=1'   and
4453       'is_real=0'.
4454
4455           [1merode_circ:[0;0;0m
4456               _size>=0,_boundary_conditions,_is_normalized={ 0 | 1 }
4457
4458               Apply circular erosion of selected images by specified size.
4459               Default values: 'boundary_conditions=1' and 'is_normalized=0'.
4460
4461           [1merode_oct:[0;0;0m
4462               _size>=0,_boundary_conditions,_is_normalized={ 0 | 1 }
4463
4464               Apply octagonal erosion of selected images by specified size.
4465               Default values: 'boundary_conditions=1' and 'is_normalized=0'.
4466
4467           [1merode_threshold:[0;0;0m
4468               size_x>=1,size_y>=1,size_z>=1,_threshold>=0,_boundary_condi‐
4469       tions
4470
4471               Erode selected images in the (X,Y,Z,I) space.
4472               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
4473               Default values:  'size_y=size_x',  'size_z=1',  'threshold=255'
4474       and 'boundary_conditions=1'.
4475
4476           [1mfft (+):[0;0;0m
4477               _{ x | y | z }...{ x | y | z }
4478
4479               Compute the direct fourier transform (real and imaginary parts)
4480       of selected images,
4481               optionally along the specified axes only.
4482
4483           [1mgradient (+):[0;0;0m
4484               { x | y | z }...{ x | y | z },_scheme |
4485               (no arg)
4486
4487               Compute the gradient components (first derivatives) of selected
4488       images.
4489               (eq. to 'g').
4490               'scheme'  can  be  {  -1=backward  |  0=centered  | 1=forward |
4491       2=sobel | 3=rotation-invariant           (default) | 4=deriche | 5=van‐
4492       vliet }.
4493               (no arg) compute all significant 2D/3D components.
4494               Default value: 'scheme=3'.
4495
4496           [1mgradient_norm:[0;0;0m
4497
4498               Compute gradient norm of selected images.
4499
4500           [1mgradient_orientation:[0;0;0m
4501               _dimension={1,2,3}
4502
4503               Compute N-d gradient orientation of selected images.
4504               Default value: 'dimension=3'.
4505
4506           [1mguided (+):[0;0;0m
4507               [guide],radius[%]>=0,regularization[%]>=0 |
4508               radius[%]>=0,regularization[%]>=0
4509
4510               Blur selected images by guided image filtering.
4511               If a guide image is provided, it is used to drive the smoothing
4512       process.
4513               A guide image must be of the  same  xyz-size  as  the  selected
4514       images.
4515               This command implements the filtering algorithm described in:
4516               He, Kaiming; Sun, Jian; Tang, Xiaoou, "Guided Image Filtering,"
4517       Pattern Analysis and Machine           Intelligence,
4518               IEEE Transactions on , vol.35, no.6, pp.1397,1409, June 2013
4519
4520           [1mhaar:[0;0;0m
4521               scale>0
4522
4523               Compute  the  direct  haar  multiscale  wavelet  transform   of
4524       selected images.
4525
4526           [1mheat_flow:[0;0;0m
4527               _nb_iter>=0,_dt,_keep_sequence={ 0 | 1 }
4528
4529               Apply iterations of the heat flow on selected images.
4530               Default values: 'nb_iter=10', 'dt=30' and 'keep_sequence=0'.
4531
4532           [1mhessian (+):[0;0;0m
4533               { xx | xy | xz | yy | yz | zz }...{ xx | xy | xz | yy | yz | zz
4534       } |
4535               (no arg)
4536
4537               Compute the hessian components (second derivatives) of selected
4538       images.
4539               (no arg) compute all significant components.
4540
4541           [1midct:[0;0;0m
4542               _{ x | y | z }...{ x | y | z } |
4543               (no arg)
4544
4545               Compute  the  inverse  discrete  cosine  transform  of selected
4546       images,
4547               optionally along the specified axes only.
4548               Default values: (no arg)
4549
4550           [1miee:[0;0;0m
4551
4552               Compute   gradient-orthogonal-directed   2nd   derivative    of
4553       image(s).
4554
4555           [1mifft (+):[0;0;0m
4556               _{ x | y | z }...{ x | y | z }
4557
4558               Compute  the  inverse  fourier  transform  (real  and imaginary
4559       parts) of selected images.
4560               optionally along the specified axes only.
4561
4562           [1mihaar:[0;0;0m
4563               scale>0
4564
4565               Compute  the  inverse  haar  multiscale  wavelet  transform  of
4566       selected images.
4567
4568           [1milaplacian:[0;0;0m
4569               { nb_iterations>0 | 0 },_time_step>0,_[initial_estimate]
4570
4571               Invert selected Laplacian images.
4572               If  given  'nb_iterations' is '0', inversion is done in Fourier
4573       space (single iteration),
4574               otherwise, by applying 'nb_iterations' of a Laplacian-inversion
4575       PDE flow (with specified           'time_step').
4576               Note  that the resulting inversions are just estimation of pos‐
4577       sible/approximated solutions.
4578               Default  values:  'nb_iterations=0','time_step=10'  and  '[ini‐
4579       tial_estimated]=(undefined)'.
4580
4581           [1minn:[0;0;0m
4582
4583               Compute gradient-directed 2nd derivative of image(s).
4584
4585           [1minpaint (+):[0;0;0m
4586               [mask] |
4587               [mask],0,_fast_method |
4588               [mask],_patch_size>=1,_lookup_size>=1,_lookup_fac‐
4589       tor>=0,_lookup_increment!=0,
4590                 _blend_size>=0,0<=_blend_thresh‐
4591       old<=1,_blend_decay>=0,_blend_scales>=1,
4592                 _is_blend_outer={ 0 | 1 }
4593
4594               Inpaint selected images by specified mask.
4595               If  no patch size (or 0) is specified, inpainting is done using
4596       a fast average or median           algorithm.
4597               Otherwise, it used a patch-based  reconstruction  method,  that
4598       can be very time consuming.
4599               'fast_method' can be { 0=low-connectivity average | 1=high-con‐
4600       nectivity average |           2=low-connectivity median  |  3=high-con‐
4601       nectivity median }.
4602               Default      values:      'patch_size=0',      'fast_method=1',
4603       'lookup_size=22', 'lookup_factor=0.5',            'lookup_increment=1',
4604       'blend_size=0',         'blend_threshold=0',        'blend_decay=0.05',
4605       'blend_scales=10' and 'is_blend_outer=1'.
4606
4607           [1minpaint_diffusion:[0;0;0m
4608               [mask],_nb_scales[%]>=0,_diffusion_type={     0=isotropic     |
4609       1=delaunay-guided |
4610                 2=edge-guided | 3=mask-guided },_diffusion_iter>=0
4611
4612               Inpaint  selected  images  by specified mask using a multiscale
4613       transport-diffusion algorithm.
4614               If 'diffusion type==3', non-zero values of  the  mask  (e.g.  a
4615       distance function) are used to           guide the diffusion process.
4616               Default values: 'nb_scales=75%', 'diffusion_type=1' and 'diffu‐
4617       sion_iter=20'.
4618
4619           [1minpaint_flow:[0;0;0m
4620               [mask],_nb_global_iter>=0,_nb_local_iter>=0,_dt>0,_alpha>=0,_sigma>=0
4621
4622               Apply iteration of the inpainting flow on selected images.
4623               Default    values:   'nb_global_iter=4',   'nb_global_iter=15',
4624       'dt=10', 'alpha=1' and 'sigma=3'.
4625
4626           [1minpaint_holes:[0;0;0m
4627               maximal_area[%]>=0,_tolerance>=0,_is_high_connectivity={ 0 |  1
4628       }
4629
4630               Inpaint  all  connected regions having an area less than speci‐
4631       fied value.
4632               Default    values:    'maximal_area=4',    'tolerance=0'    and
4633       'is_high_connectivity=0'.
4634
4635           [1minpaint_morpho:[0;0;0m
4636               [mask]
4637
4638               Inpaint  selected  images by specified mask using morphological
4639       operators.
4640
4641           [1minpaint_matchpatch:[0;0;0m
4642               [mask],_nb_scales={  0=auto  |  >0   },_patch_size>0,_nb_itera‐
4643       tions_per_scale>0,
4644                 _blend_size>=0,_allow_outer_blending={       0       |      1
4645       },_is_already_initialized={ 0 | 1 }
4646
4647               Inpaint selected images  by  specified  binary  mask,  using  a
4648       multi-scale matchpatch algorithm.
4649               Default   values:   'nb_scales=0',  'patch_size=9',  'nb_itera‐
4650       tions_per_scale=10', 'blend_size=5',           'allow_outer_blending=1'
4651       and 'is_already_initialized=0'.
4652
4653           [1mkuwahara:[0;0;0m
4654               size>0
4655
4656               Apply Kuwahara filter of specified size on selected images.
4657
4658           [1mlaplacian:[0;0;0m
4659
4660               Compute Laplacian of selected images.
4661
4662           [1mlic:[0;0;0m
4663               _amplitude>0,_channels>0
4664
4665               Render LIC representation of selected vector fields.
4666               Default values: 'amplitude=30' and 'channels=1'.
4667
4668           [1mmap_tones:[0;0;0m
4669               _threshold>=0,_gamma>=0,_smoothness>=0,nb_iter>=0
4670
4671               Apply  tone mapping operator on selected images, based on Pois‐
4672       son equation.
4673               Default values: 'threshold=0.1', 'gamma=0.8',  'smoothness=0.5'
4674       and 'nb_iter=30'.
4675
4676           [1mmap_tones_fast:[0;0;0m
4677               _radius[%]>=0,_power>=0
4678
4679               Apply fast tone mapping operator on selected images.
4680               Default values: 'radius=3%' and 'power=0.3'.
4681
4682           [1mmeancurvature_flow:[0;0;0m
4683               _nb_iter>=0,_dt,_keep_sequence={ 0 | 1 }
4684
4685               Apply iterations of the mean curvature flow on selected images.
4686               Default values: 'nb_iter=10', 'dt=30' and 'keep_sequence=0'.
4687
4688           [1mmedian (+):[0;0;0m
4689               size>=0,_threshold>0
4690
4691               Apply  (opt. thresholded) median filter on selected images with
4692       structuring element size x size.
4693
4694           [1mnlmeans:[0;0;0m
4695               [guide],_patch_radius>0,_spatial_bandwidth>0,_tonal_band‐
4696       width>0,
4697                 _patch_measure_command |
4698               _patch_radius>0,_spatial_bandwidth>0,_tonal_band‐
4699       width>0,_patch_measure_command
4700
4701               Apply non local means denoising  of  Buades  et  al,  2005.  on
4702       selected images.
4703               The patch is a gaussian function of 'std _patch_radius'.
4704               The  spatial  kernel  is  a  rectangle of radius 'spatial_band‐
4705       width'.
4706               The tonal kernel is exponential (exp(-d^2/_tonal_bandwidth^2))
4707               with d the euclidiean distance between image patches.
4708               Default   values:   'patch_radius=4',    'spatial_bandwidth=4',
4709       'tonal_bandwidth=10' and           'patch_measure_command=-norm'.
4710
4711           [1mnlmeans_core:[0;0;0m
4712               _reference_image,_scaling_map,_patch_radius>0,_spatial_band‐
4713       width>0
4714
4715               Apply non local means denoising using a image for weight and  a
4716       map for scaling
4717
4718           [1mnormalize_local:[0;0;0m
4719               _ampli‐
4720       tude>=0,_radius>0,_n_smooth>=0[%],_a_smooth>=0[%],_is_cut={ 0 | 1 },
4721                 _min=0,_max=255
4722
4723               Normalize selected images locally.
4724               Default  values:  'amplitude=3',  'radius=16',   'n_smooth=4%',
4725       'a_smooth=2%', 'is_cut=1', 'min=0'           and 'max=255'.
4726
4727           [1mnormalized_cross_correlation:[0;0;0m
4728               [mask]
4729
4730               Compute  normalized  cross-correlation  of selected images with
4731       specified mask.
4732
4733           [1mperonamalik_flow:[0;0;0m
4734               K_factor>0,_nb_iter>=0,_dt,_keep_sequence={ 0 | 1 }
4735
4736               Apply iterations of the Perona-Malik flow on selected images.
4737               Default  values:   'K_factor=20',   'nb_iter=5',   'dt=5'   and
4738       'keep_sequence=0'.
4739
4740           [1mphase_correlation:[0;0;0m
4741               [destination]
4742
4743               Estimate  translation vector between selected source images and
4744       specified destination.
4745
4746           [1mpde_flow:[0;0;0m
4747               _nb_iter>=0,_dt,_velocity_command,_keep_sequence={ 0 | 1 }
4748
4749               Apply iterations of a generic PDE flow on selected images.
4750               Default values: 'nb_iter=10', 'dt=30', 'velocity_command=lapla‐
4751       cian' and 'keep_sequence=0'.
4752
4753           [1mperiodize_poisson:[0;0;0m
4754
4755               Periodize  selected  images  using  a Poisson solver in Fourier
4756       space.
4757
4758           [1mred_eye:[0;0;0m
4759               0<=_threshold<=100,_smoothness>=0,0<=attenuation<=1
4760
4761               Attenuate red-eye effect in selected images.
4762               Default values: 'threshold=75', 'smoothness=3.5' and  'attenua‐
4763       tion=0.1'.
4764
4765           [1mremove_hotpixels:[0;0;0m
4766               _mask_size>0, _threshold[%]>0
4767
4768               Remove hot pixels in selected images.
4769               Default values: 'mask_size=3' and 'threshold=10%'.
4770
4771           [1mremove_pixels:[0;0;0m
4772               number_of_pixels[%]>=0
4773
4774               Remove specified number of pixels (i.e. set them to 0) from the
4775       set of non-zero pixels in           selected images.
4776
4777           [1mrolling_guidance:[0;0;0m
4778               std_deviation_s[%]>=0,std_deviation_r[%]>=0,_precision>=0
4779
4780               Apply the rolling guidance filter on selected image.
4781               Rolling guidance filter is a  fast  image  abstraction  filter,
4782       described in:
4783               "Rolling Guidance Filter", Qi Zhang Xiaoyong, Shen Li, Xu Jiaya
4784       Jia, ECCV'2014.
4785               Default values: 'std_deviation_s=4',  'std_deviation_r=10'  and
4786       'precision=0.5'.
4787
4788           [1msharpen (+):[0;0;0m
4789               amplitude>=0 |
4790               amplitude>=0,edge>=0,_alpha,_sigma
4791
4792               Sharpen  selected  images by inverse diffusion or shock filters
4793       methods.
4794               'edge' must be specified to enable shock-filter method.
4795               Default values: 'alpha=0' and 'sigma=0'.
4796
4797           [1msmooth (+):[0;0;0m
4798               amplitude[%]>=0,_sharpness>=0,0<=_anisot‐
4799       ropy<=1,_alpha[%],_sigma[%],_dl>0,_da>0,
4800                 _precision>0,interpolation,_fast_approx={ 0 | 1 } |
4801               nb_iterations>=0,_sharpness>=0,_anisot‐
4802       ropy,_alpha,_sigma,_dt>0,0 |
4803               [tensor_field],_amplitude>=0,_dl>0,_da>0,_precision>0,_interpo‐
4804       lation,
4805                 _fast_approx={ 0 | 1 } |
4806               [tensor_field],_nb_iters>=0,_dt>0,0
4807
4808               Smooth  selected  images anisotropically using diffusion PDE's,
4809       with specified field of
4810               diffusion tensors.
4811               'interpolation' can be { 0=nearest | 1=linear  |  2=runge-kutta
4812       }.
4813               Default values: 'sharpness=0.7', 'anisotropy=0.3', 'alpha=0.6',
4814       'sigma=1.1', 'dl=0.8',  'da=30',            'precision=2',  'interpola‐
4815       tion=0' and 'fast_approx=1'.
4816
4817           [1msplit_freq:[0;0;0m
4818               smoothness>0[%]
4819
4820               Split selected images into low and high frequency parts.
4821
4822           [1msolve_poisson:[0;0;0m
4823               "laplacian_command",_nb_itera‐
4824       tions>=0,_time_step>0,_nb_scales>=0
4825
4826               Solve Poisson equation so that applying 'laplacian[n]' is close
4827       to the result of           'laplacian_command[n]'.
4828               Solving is performed using a multi-scale gradient descent algo‐
4829       rithm.
4830               If 'nb_scales=0', the number of scales is automatically  deter‐
4831       mined.
4832               Default values: 'nb_iterations=60', 'dt=5' and 'nb_scales=0'.
4833
4834           [1msplit_details:[0;0;0m
4835               _nb_scales>0,_base_scale[%]>=0,_detail_scale[%]>=0
4836
4837               Split selected images into 'nb_scales' detail scales.
4838               If  'base_scale'=='detail_scale'==0, the image decomposition is
4839       done with 'a trous' wavelets.
4840               Otherwise, it uses  laplacian  pyramids  with  linear  standard
4841       deviations.
4842               Default     values:     'nb_scales=4',    'base_scale=0'    and
4843       'detail_scale=0'.
4844
4845           [1mstructuretensors (+):[0;0;0m
4846               _scheme={ 0=centered | 1=forward/backward }
4847
4848               Compute the structure tensor field of selected images.
4849               Default value: 'scheme=1'.
4850
4851           [1msolidify:[0;0;0m
4852               _smoothness[%]>=0,_diffusion_type={ 0=isotropic  |  1=delaunay-
4853       oriented |
4854                 2=edge-oriented },_diffusion_iter>=0
4855
4856               Solidify selected transparent images.
4857               Default  values: 'smoothness=75%', 'diffusion_type=1' and 'dif‐
4858       fusion_iter=20'.
4859
4860           [1msyntexturize:[0;0;0m
4861               _width[%]>0,_height[%]>0
4862
4863               Resynthetize 'width'x'height' versions of  selected  micro-tex‐
4864       tures by phase randomization.
4865               The  texture synthesis algorithm is a straightforward implemen‐
4866       tation of the method described in :
4867               http://www.ipol.im/pub/art/2011/ggm_rpn/
4868               Default values: 'width=height=100%'.
4869
4870           [1msyntexturize_matchpatch:[0;0;0m
4871               _width[%]>0,_height[%]>0,_nb_scales>=0,_patch_size>0,_blend‐
4872       ing_size>=0,
4873                 _precision>=0
4874
4875               Resynthetize  'width'x'height'  versions of selected micro-tex‐
4876       tures using a patch-matching           algorithm.
4877               If 'nbscales==0', the number of scales used is  estimated  from
4878       the image size.
4879               Default     values:     'width=height=100%',     'nb_scales=0',
4880       'patch_size=7', 'blending_size=5' and           'precision=1'.
4881
4882           [1mtv_flow:[0;0;0m
4883               _nb_iter>=0,_dt,_keep_sequence={ 0 | 1 }
4884
4885               Apply iterations  of  the  total  variation  flow  on  selected
4886       images.
4887               Default values: 'nb_iter=10', 'dt=30' and 'keep_sequence=0'.
4888
4889           [1munsharp:[0;0;0m
4890               radius[%]>=0,_amount>=0,_threshold[%]>=0
4891
4892               Apply unsharp mask on selected images.
4893               Default values: 'amount=2' and 'threshold=0'.
4894
4895           [1munsharp_octave:[0;0;0m
4896               _nb_scales>0,_radius[%]>=0,_amount>=0,threshold[%]>=0
4897
4898               Apply octave sharpening on selected images.
4899               Default   values:  'nb_scales=4',  'radius=1',  'amount=2'  and
4900       'threshold=0'.
4901
4902           [1mvanvliet (+):[0;0;0m
4903               std_deviation>=0[%],order={ 0 | 1 | 2 | 3 },axis={ x | y | z  |
4904       c },
4905                 _boundary_conditions
4906
4907               Apply Vanvliet recursive filter on selected images, along spec‐
4908       ified axis and with
4909               specified standard deviation, order and boundary conditions.
4910               'boundary_conditions' can be { 0=dirichlet | 1=neumann }.
4911               Default value: 'boundary_conditions=1'.
4912
4913           [1mvoronoi:[0;0;0m
4914
4915               Compute the discrete Voronoi  diagram  of  non-zero  pixels  in
4916       selected images.
4917
4918           [1mwatermark_fourier:[0;0;0m
4919               text,_size>0
4920
4921               Add  a  textual  watermark  in the frequency domain of selected
4922       images.
4923               Default value: 'size=33'.
4924
4925           [1mwatershed (+):[0;0;0m
4926               [priority_image],_is_high_connectivity={ 0 | 1 }
4927
4928               Compute the watershed transform of selected images.
4929               Default value: 'is_high_connectivity=1'.
4930
4931        [1m** Features Extraction:[0;0;0m
4932
4933           [1marea:[0;0;0m
4934               tolerance>=0,is_high_connectivity={ 0 | 1 }
4935
4936               Compute area of connected components in selected images.
4937               Default values: 'is_high_connectivity=0'.
4938
4939           [1marea_fg:[0;0;0m
4940               tolerance>=0,is_high_connectivity={ 0 | 1 }
4941
4942               Compute area of connected components  for  non-zero  values  in
4943       selected images.
4944               Similar  to  'area' except that 0-valued pixels are not consid‐
4945       ered.
4946               Default values: 'is_high_connectivity=0'.
4947
4948           [1mat_line:[0;0;0m
4949               x0[%],y0[%],z0[%],x1[%],y1[%],z1[%]
4950
4951               Retrieve pixels of the selected images belonging to the  speci‐
4952       fied line (x0,y0,z0)-(x1,y1,z1).
4953
4954           [1mat_quadrangle:[0;0;0m
4955               x0[%],y0[%],x1[%],y1[%],x2[%],y2[%],x3[%],y3[%],_interpolation,
4956                 _boundary_conditions |
4957               x0[%],y0[%],z0[%],x1[%],y1[%],z1[%],x2[%],y2[%],z2[%],x3[%],y3[%],z3[%],
4958                 _interpolation,_boundary_conditions
4959
4960               Retrieve pixels of the selected images belonging to the  speci‐
4961       fied 2D or 3D quadrangle.
4962               'interpolation'  can  be  {  0=nearest-neighbor  |  1=linear  |
4963       2=cubic }.
4964               'boundary_conditions'  can  be  {  0=dirichlet  |  1=neumann  |
4965       2=periodic | 3=mirror }.
4966
4967           [1mbarycenter:[0;0;0m
4968
4969               Compute the barycenter vector of pixel values.
4970
4971           [1mdelaunay:[0;0;0m
4972
4973               Generate  discrete 2D Delaunay triangulation of non-zero pixels
4974       in selected images.
4975               Input images must be scalar.
4976               Each pixel of the output image is a triplet (a,b,c) meaning the
4977       pixel belongs to
4978               the Delaunay triangle 'ABC' where 'a','b','c' are the labels of
4979       the pixels 'A','B','C'.
4980
4981           [1mdetect_skin:[0;0;0m
4982               0<=tolerance<=1,_skin_x,_skin_y,_skin_radius>=0
4983
4984               Detect skin in selected color images and output an appartenance
4985       probability map.
4986               Detection  is  performed  using  CbCr chromaticity data of skin
4987       pixels.
4988               If arguments 'skin_x', 'skin_y' and 'skin_radius' are provided,
4989       skin pixels are learnt
4990               from   the   sample   pixels   inside  the  circle  located  at
4991       ('skin_x','skin_y') with radius           'skin_radius'.
4992               Default value: 'tolerance=0.5' and 'skin_x=skiny=radius=-1'.
4993
4994           [1mdisplacement (+):[0;0;0m
4995               [source_image],_smoothness,_precision>=0,_nb_scales>=0,_itera‐
4996       tion_max>=0,
4997                 is_backward={ 0 | 1 },_[guide]
4998
4999               Estimate   displacement  field  between  specified  source  and
5000       selected target images.
5001               If 'smoothness>=0', regularization type is  set  to  isotropic,
5002       else to anisotropic.
5003               If  'nbscales==0',  the number of scales used is estimated from
5004       the image size.
5005               Default values: 'smoothness=0.1', 'precision=5', 'nb_scales=0',
5006       'iteration_max=10000',                     'is_backward=1'          and
5007       '[guide]=(unused)'.
5008
5009           [1mdistance (+):[0;0;0m
5010               isovalue[%],_metric |
5011               isovalue[%],[metric],_method
5012
5013               Compute the unsigned distance function to  specified  isovalue,
5014       opt. according to a custom metric.
5015               'metric'  can  be  {  0=chebyshev | 1=manhattan | 2=euclidean |
5016       3=squared-euclidean }.
5017               'method' can be { 0=fast-marching | 1=low-connectivity dijkstra
5018       | 2=high-connectivity dijkstra |           3=1+return path | 4=2+return
5019       path }.
5020               Default value: 'metric=2' and 'method=0'.
5021
5022           [1mfftpolar:[0;0;0m
5023
5024               Compute fourier transform of selected images, as centered  mag‐
5025       nitude/phase images.
5026
5027           [1mhistogram (+):[0;0;0m
5028               _nb_levels>0[%],_value0[%],_value1[%]
5029
5030               Compute the histogram of selected images.
5031               If value range is set, the histogram is estimated only for pix‐
5032       els in the specified
5033               value range. Argument 'value1' must be specified if 'value0' is
5034       set.
5035               Default values: 'nb_levels=256', 'value0=0%' and 'value1=100%'.
5036
5037           [1mhistogram_nd:[0;0;0m
5038               nb_levels>0[%],_value0[%],_value1[%]
5039
5040               Compute  the  1D,2D  or 3D histogram of selected multi-channels
5041       images (having 1,2 or 3 channels).
5042               If value range is set, the histogram is estimated only for pix‐
5043       els in the specified
5044               value range.
5045               Default values: 'value0=0%' and 'value1=100%'.
5046
5047           [1mhistogram_cumul:[0;0;0m
5048               _nb_levels>0,_is_normalized={ 0 | 1 },_val0[%],_val1[%]
5049
5050               Compute cumulative histogram of selected images.
5051               Default  values:  'nb_levels=256', 'is_normalized=0', 'val0=0%'
5052       and 'val1=100%'.
5053
5054           [1mhistogram_pointwise:[0;0;0m
5055               nb_levels>0[%],_value0[%],_value1[%]
5056
5057               Compute the histogram of each vector-valued point  of  selected
5058       images.
5059               If value range is set, the histogram is estimated only for val‐
5060       ues in the specified
5061               value range.
5062               Default values: 'value0=0%' and 'value1=100%'.
5063
5064           [1mhough:[0;0;0m
5065               _width>0,_height>0,gradient_norm_voting={ 0 | 1 }
5066
5067               Compute hough transform (theta,rho) of selected images.
5068               Default  values:  'width=512',   'height=width'   and   'gradi‐
5069       ent_norm_voting=1'.
5070
5071           [1mifftpolar:[0;0;0m
5072
5073               Compute inverse fourier transform of selected images, from cen‐
5074       tered magnitude/phase images.
5075
5076           [1misophotes:[0;0;0m
5077               _nb_levels>0
5078
5079               Render isophotes of selected  images  on  a  transparent  back‐
5080       ground.
5081               Default value: 'nb_levels=64'
5082
5083           [1mlabel (+):[0;0;0m
5084               _tolerance>=0,is_high_connectivity={ 0 | 1 }
5085
5086               Label connected components in selected images.
5087               Default values: 'tolerance=0' and 'is_high_connectivity=0'.
5088
5089           [1mlabel_fg:[0;0;0m
5090               tolerance>=0,is_high_connectivity={ 0 | 1 }
5091
5092               Label  connected components for non-zero values (foreground) in
5093       selected images.
5094               Similar to 'label' except that 0-valued pixels are not labeled.
5095               Default value: 'is_high_connectivity=0'.
5096
5097           [1mmax_patch:[0;0;0m
5098               _patch_size>=1
5099
5100               Return locations of maximal values in local patch-based  neigh‐
5101       borhood of given size for selected images.
5102               Default value: 'patch_size=16'.
5103
5104           [1mmin_patch:[0;0;0m
5105               _patch_size>=1
5106
5107               Return  locations of minimal values in local patch-based neigh‐
5108       borhood of given size for selected images.
5109               Default value: 'patch_size=16'.
5110
5111           [1mminimal_path:[0;0;0m
5112               x0[%]>=0,y0[%]>=0,z0[%]>=0,x1[%]>=0,y1[%]>=0,z1[%]>=0,_is_high_con‐
5113       nectivity={ 0 | 1 }
5114
5115               Compute  minimal  path between two points on selected potential
5116       maps.
5117               Default value: 'is_high_connectivity=0'.
5118
5119           [1mmse (+):[0;0;0m
5120
5121               Compute  MSE  (Mean-Squared  Error)  matrix  between   selected
5122       images.
5123
5124           [1mpatches:[0;0;0m
5125               patch_width>0,patch_height>0,patch_depth>0,x0,y0,z0,_x1,_y1,_z1,...,_xN,_yN,_zN
5126
5127               Extract N+1 patches from selected images, centered at specified
5128       locations.
5129
5130           [1mmatchpatch (+):[0;0;0m
5131               [patch_image],patch_width>=1,_patch_height>=1,_patch_depth>=1,_nb_iter‐
5132       ations>=0,
5133                 _nb_randoms>=0,_occ_penalization,_output_score={   0   |    1
5134       },_[guide]
5135
5136               Estimate  correspondence map between selected images and speci‐
5137       fied patch image, using
5138               a patch-matching algorithm.
5139               Each pixel of the returned correspondence map gives  the  loca‐
5140       tion (p,q) of the closest patch in
5141               the specified patch image. If 'output_score=1', the third chan‐
5142       nel also gives the corresponding
5143               matching score for each patch as well.
5144               Default  values:  'patch_height=patch_width',  'patch_depth=1',
5145       'nb_iterations=5',    'nb_randoms=5',             'occ_penalization=0',
5146       'output_score=0' and 'guide=(undefined)'.
5147
5148           [1mplot2value:[0;0;0m
5149
5150               Retrieve values from selected 2D graph plots.
5151
5152           [1mpointcloud:[0;0;0m
5153               _type = { -X=-X-opacity | 0=binary | 1=cumulative |  2=label  |
5154       3=retrieve
5155                 coordinates },_width,_height>0,_depth>0
5156
5157               Render  a set of point coordinates, as a point cloud in a 1D/2D
5158       or 3D binary image
5159               (or do the  reverse,  i.e.  retrieve  coordinates  of  non-zero
5160       points from a rendered point cloud).
5161               Input  point  coordinates  can be a NxMx1x1, Nx1x1xM or 1xNx1xM
5162       image, where 'N' is the number of points,
5163               and M the point coordinates.
5164               If 'M'>3, the  3-to-M  components  sets  the  (M-3)-dimensional
5165       color at each point.
5166               Parameters 'width','height' and 'depth' are related to the size
5167       of the final image :
5168               - If set to 0, the size is automatically set along  the  speci‐
5169       fied axis.
5170               - If set to N>0, the size along the specified axis is N.
5171               -  If  set to N<0, the size along the specified axis is at most
5172       N.
5173               Points with coordinates that are negative or higher than speci‐
5174       fied ('width','height','depth')
5175               are not plotted.
5176               Default             values:             'type=0'            and
5177       'max_width=max_height=max_depth=0'.
5178
5179           [1mpsnr:[0;0;0m
5180               _max_value
5181
5182               Compute  PSNR  (Peak  Signal-to-Noise  Ratio)  matrix   between
5183       selected images.
5184               Default value: 'max_value=255'.
5185
5186           [1msegment_watershed:[0;0;0m
5187               _threshold>=0
5188
5189               Apply watershed segmentation on selected images.
5190               Default values: 'threshold=2'.
5191
5192           [1mshape2bump:[0;0;0m
5193               _resolution>=0,0<=_weight_avg_max_avg<=1,_dilation,_smooth‐
5194       ness>=0
5195
5196               Estimate bumpmap from binary shape in selected images.
5197               Default value: 'resolution=256', 'weight_avg_max=0.75',  'dila‐
5198       tion=0' and 'smoothness=100'.
5199
5200           [1mskeleton:[0;0;0m
5201               _boundary_conditions={ 0=dirichlet | 1=neumann }
5202
5203               Compute  skeleton of binary shapes using distance transform and
5204       constrained thinning.
5205               Default value: 'boundary_conditions=1'.
5206
5207           [1mslic:[0;0;0m
5208               size>0,_regularity>=0,_nb_iterations>0
5209
5210               Segment selected 2D images with  superpixels,  using  the  SLIC
5211       algorithm (Simple Linear Iterative           Clustering).
5212               Scalar images of increasingly labeled pixels are returned.
5213               Reference paper: Achanta, R., Shaji, A., Smith, K., Lucchi, A.,
5214       Fua, P., & Süsstrunk, S.           (2010). Slic superpixels (No.  EPFL-
5215       REPORT-149300).
5216               Default   values:  'size=16',  'regularity=10'  and  'nb_itera‐
5217       tions=10'.
5218
5219           [1mssd_patch:[0;0;0m
5220               [patch],_use_fourier={ 0 | 1 },_boundary_conditions={ 0=dirich‐
5221       let | 1=neumann }
5222
5223               Compute  fields  of  SSD  between selected images and specified
5224       patch.
5225               Argument   'boundary_conditions'    is    valid    only    when
5226       'use_fourier=0'.
5227               Default value: 'use_fourier=0' and 'boundary_conditions=0'.
5228
5229           [1mthinning:[0;0;0m
5230               _boundary_conditions={ 0=dirichlet | 1=neumann }
5231
5232               Compute skeleton of binary shapes using morphological thinning
5233               (beware, this is a quite slow iterative process)
5234               Default value: 'boundary_conditions=1'.
5235
5236           [1mtones:[0;0;0m
5237               N>0
5238
5239               Get N tones masks from selected images.
5240
5241           [1mtopographic_map:[0;0;0m
5242               _nb_levels>0,_smoothness
5243
5244               Render selected images as topographic maps.
5245               Default values: 'nb_levels=16' and 'smoothness=2'.
5246
5247           [1mtsp:[0;0;0m
5248               _precision>=0
5249
5250               Try  to solve the 'travelling salesman' problem, using a combi‐
5251       nation of greedy search and 2-opt           algorithms.
5252               Selected images must have dimensions  Nx1x1xC  to  represent  N
5253       cities each with C-dimensional           coordinates.
5254               This  command  re-order  the  selected data along the x-axis so
5255       that the point sequence becomes a           shortest path.
5256               Default values: 'precision=256'.
5257
5258           [1mvariance_patch:[0;0;0m
5259               _patch_size>=1
5260
5261               Compute variance of each images patch  centered  at  (x,y),  in
5262       selected images.
5263               Default value: 'patch_size=16'
5264
5265        [1m** Image Drawing:[0;0;0m
5266
5267           [1marrow:[0;0;0m
5268               x0[%],y0[%],x1[%],y1[%],_thickness[%]>=0,_head_length[%]>=0,
5269                 _head_thickness[%]>=0,_opacity,_pattern,_color1,...
5270
5271               Draw specified arrow on selected images.
5272               'pattern' is an hexadecimal number starting with '0x' which can
5273       be omitted
5274               even if a color is specified. If a pattern  is  specified,  the
5275       arrow is
5276               drawn outlined instead of filled.
5277               Default values: 'thickness=1%', 'head_length=10%', 'head_thick‐
5278       ness=3%', 'opacity=1',           'pattern=(undefined)' and 'color1=0'.
5279
5280           [1maxes:[0;0;0m
5281               x0,x1,y0,y1,_font_height>=0,_opacity,_pattern,_color1,...
5282
5283               Draw xy-axes on selected images.
5284               'pattern' is an hexadecimal number starting with '0x' which can
5285       be omitted
5286               even if a color is specified.
5287               To draw only one x-axis at row Y, set both 'y0' and 'y1' to Y.
5288               To  draw only one y-axis at column X, set both 'x0' and 'x1' to
5289       X.
5290               Default values: 'font_height=14', 'opacity=1',  'pattern=(unde‐
5291       fined)' and 'color1=0'.
5292
5293           [1mball:[0;0;0m
5294               _size>0,              _R,_G,_B,0<=_specular_light<=8,0<=_specu‐
5295       lar_size<=8,_shadow>=0
5296
5297               Input a 2D RGBA colored ball sprite.
5298               Default  values:  'size=64',  'R=255',  'G=R',  'B=R',  'specu‐
5299       lar_light=0.8', 'specular_size=1' and           'shading=1.5'.
5300
5301           [1mchessboard:[0;0;0m
5302               size1>0,_size2>0,_offset1,_offset2,_angle,_opac‐
5303       ity,_color1,...,_color2,...
5304
5305               Draw chessboard on selected images.
5306               Default values: 'size2=size1', 'offset1=offset2=0',  'angle=0',
5307       'opacity=1', 'color1=0' and           'color2=255'.
5308
5309           [1mcie1931:[0;0;0m
5310
5311               Draw CIE-1931 chromaticity diagram on selected images.
5312
5313           [1mcircle:[0;0;0m
5314               x[%],y[%],R[%],_opacity,_pattern,_color1,...
5315
5316               Draw specified colored circle on selected images.
5317               A radius of '100%' stands for 'sqrt(width^2+height^2)'.
5318               'pattern' is an hexadecimal number starting with '0x' which can
5319       be omitted
5320               even if a color is specified. If a pattern  is  specified,  the
5321       circle is
5322               drawn outlined instead of filled.
5323               Default    values:   'opacity=1',   'pattern=(undefined)'   and
5324       'color1=0'.
5325
5326           [1mclose_binary:[0;0;0m
5327               0<=_endpoint_rate<=100,_endpoint_connectivity>=0,_spline_dist‐
5328       max>=0,
5329                 _segment_distmax>=0,0<=_spline_anglemax<=180,_spline_round‐
5330       ness>=0,_area_min>=0,
5331                 _allow_self_intersection={ 0 | 1 }
5332
5333               Automatically close open  shapes  in  binary  images  (defining
5334       white strokes on black background).
5335               Default  values: 'endpoint_rate=75', 'endpoint_connectivity=2',
5336       'spline_distmax=80',             'segment_distmax=20',   'spline_angle‐
5337       max=90',                           'spline_roundness=1','area_min=100',
5338       'allow_self_intersection=1'.
5339
5340           [1mellipse (+):[0;0;0m
5341               x[%],y[%],R[%],r[%],_angle,_opacity,_pattern,_color1,...
5342
5343               Draw specified colored ellipse on selected images.
5344               A radius of '100%' stands for 'sqrt(width^2+height^2)'.
5345               'pattern' is an hexadecimal number starting with '0x' which can
5346       be omitted
5347               even  if  a  color is specified. If a pattern is specified, the
5348       ellipse is
5349               drawn outlined instead of filled.
5350               Default   values:   'opacity=1',   'pattern=(undefined)'    and
5351       'color1=0'.
5352
5353           [1mflood (+):[0;0;0m
5354               x[%],_y[%],_z[%],_tolerance>=0,_is_high_connectivity={  0  |  1
5355       },_opacity,_color1,...
5356
5357               Flood-fill selected images using specified value and tolerance.
5358               Default  values:  'y=z=0',  'tolerance=0',  'is_high_connectiv‐
5359       ity=0', 'opacity=1' and 'color1=0'.
5360
5361           [1mgaussian:[0;0;0m
5362               _sigma1[%],_sigma2[%],_angle
5363
5364               Draw  a  centered  gaussian  on selected images, with specified
5365       standard deviations and orientation.
5366               Default values: 'sigma1=3', 'sigma2=sigma1' and 'angle=0'.
5367
5368           [1mgraph (+):[0;0;0m
5369               [function_image],_plot_type,_vertex_type,_ymin,_ymax,_opac‐
5370       ity,_pattern,_color1,... |
5371               'formula',_resolution>=0,_plot_type,_ver‐
5372       tex_type,_xmin,xmax,_ymin,_ymax,
5373                 _opacity,_pattern,_color1,...
5374
5375               Draw specified function graph on selected images.
5376               'plot_type' can be { 0=none | 1=lines | 2=splines | 3=bar }.
5377               'vertex_type' can be  {  0=none  |  1=points  |  2,3=crosses  |
5378       4,5=circles | 6,7=squares }.
5379               'pattern' is an hexadecimal number starting with '0x' which can
5380       be omitted
5381               even if a color is specified.
5382               Default values:  'plot_type=1',  'vertex_type=1',  'ymin=ymax=0
5383       (auto)', 'opacity=1',           'pattern=(undefined)'
5384               and 'color1=0'.
5385
5386           [1mgrid:[0;0;0m
5387               size_x[%]>=0,size_y[%]>=0,_offset_x[%],_offset_y[%],_opac‐
5388       ity,_pattern,_color1,...
5389
5390               Draw xy-grid on selected images.
5391               'pattern' is an hexadecimal number starting with '0x' which can
5392       be omitted
5393               even if a color is specified.
5394               Default   values:   'offset_x=offset_y=0',  'opacity=1',  'pat‐
5395       tern=(undefined)' and 'color1=0'.
5396
5397           [1mimage (+):[0;0;0m
5398               [sprite],_x[%],_y[%],_z[%],_c[%],_opacity,_[opac‐
5399       ity_mask],_max_opacity_mask
5400
5401               Draw specified sprite image on selected images.
5402               (eq. to 'j').
5403               Default  values: 'x=y=z=c=0', 'opacity=1', 'opacity_mask=(unde‐
5404       fined)' and 'max_opacity_mask=1'.
5405
5406           [1mline (+):[0;0;0m
5407               x0[%],y0[%],x1[%],y1[%],_opacity,_pattern,_color1,...
5408
5409               Draw specified colored line on selected images.
5410               'pattern' is an hexadecimal number starting with '0x' which can
5411       be omitted
5412               even if a color is specified.
5413               Default    values:   'opacity=1',   'pattern=(undefined)'   and
5414       'color1=0'.
5415
5416           [1mlinethick:[0;0;0m
5417               x0[%],y0[%],x1[%],y1[%],_thickness,_opacity,_color1
5418
5419               Draw specified colored thick line on selected images.
5420               Default values: 'thickness=2', 'opacity=1' and 'color1=0'.
5421
5422           [1mmandelbrot (+):[0;0;0m
5423               z0r,z0i,z1r,z1i,_iteration_max>=0,_is_julia={     0     |     1
5424       },_c0r,_c0i,_opacity
5425
5426               Draw mandelbrot/julia fractal on selected images.
5427               Default  values: 'iteration_max=100', 'is_julia=0', 'c0r=c0i=0'
5428       and 'opacity=1'.
5429
5430           [1mmarble:[0;0;0m
5431               _image_weight,_pattern_weight,_angle,_amplitude,_sharp‐
5432       ness>=0,_anisotropy>=0,
5433                 _alpha,_sigma,_cut_low>=0,_cut_high>=0
5434
5435               Render marble like pattern on selected images.
5436               Default   values:   'image_weight=0.2',   'pattern_weight=0.1',
5437       'angle=45', 'amplitude=0',           'sharpness=0.4', 'anisotropy=0.8',
5438               'alpha=0.6', 'sigma=1.1' and 'cut_low=cut_high=0'.
5439
5440           [1mmaze:[0;0;0m
5441               _width>0,_height>0,_cell_size>0
5442
5443               Input maze with specified size.
5444
5445           [1mmaze_mask:[0;0;0m
5446               _cellsize>0
5447
5448               Input maze according to size and shape of selected mask images.
5449               Mask may contain disconnected shapes.
5450
5451           [1mobject3d (+):[0;0;0m
5452               [object3d],_x[%],_y[%],_z,_opacity,_rendering_mode,_is_dou‐
5453       ble_sided={ 0 | 1 },
5454                 _is_zbuffer={               0               |               1
5455       },_focale,_light_x,_light_y,_light_z,_specular_lightness,
5456                 _specular_shininess
5457
5458               Draw specified 3D object on selected images.
5459               (eq. to 'j3d').
5460               'rendering_mode' can be {  0=dots  |  1=wireframe  |  2=flat  |
5461       3=flat-shaded | 4=gouraud-shaded |           5=phong-shaded }.
5462               Default  values: 'x=y=z=0', 'opacity=1' and 'is_zbuffer=1'. All
5463       other arguments take their           default values from the  3D  envi‐
5464       ronment variables.
5465
5466           [1mpack_sprites:[0;0;0m
5467               _nb_scales>=0,0<=_min_scale<=100,_allow_rotation={  0=0  deg. |
5468       1=180 deg. | 2=90
5469                 deg. | 3=any },_spacing,_precision>=0,max_iterations>=0
5470
5471               Try to randomly pack as  many  sprites  as  possible  onto  the
5472       'empty' areas of an image.
5473               Sprites can be eventually rotated and scaled during the packing
5474       process.
5475               First selected image is the canvas that will be filled with the
5476       sprites.
5477               Its last channel must be a binary mask whose zero values repre‐
5478       sent potential locations for           drawing the sprites.
5479               All other selected images represent the sprites considered  for
5480       packing.
5481               Their  last  channel  must be a binary mask that represents the
5482       sprite shape (i.e. a 8-connected           component).
5483               The order of sprite packing  follows  the  order  of  specified
5484       sprites in the image list.
5485               Sprite packing is done on random locations and iteratively with
5486       decreasing scales.
5487               'nb_scales' sets the number of decreasing scales considered for
5488       all specified sprites to be packed.
5489               'min_scale' (in %) sets the minimal size considered for packing
5490       (specified as a percentage of           the original sprite size).
5491               'spacing' can be positive or negative.
5492               'precision' tells about the desired  number  of  failed  trials
5493       before ending the filling process.
5494               Default  values:  'nb_scales=5',  'min_scale=25',  'allow_rota‐
5495       tion=3', 'spacing=1', 'precision=7'           and 'max_iterations=256'.
5496
5497           [1mpiechart:[0;0;0m
5498               label_height>=0,label_R,label_G,label_B,"label1",value1,R1,G1,B1,...,"labelN",
5499                 valueN,RN,GN,BN
5500
5501               Draw pie chart on selected (RGB) images.
5502
5503           [1mplasma (+):[0;0;0m
5504               _alpha,_beta,_scale>=0
5505
5506               Draw a random colored plasma fractal on selected images.
5507               This  command  implements  the so-called 'Diamond-Square' algo‐
5508       rithm.
5509               Default values: 'alpha=1', 'beta=1' and 'scale=8'.
5510
5511           [1mpoint (+):[0;0;0m
5512               x[%],y[%],_z[%],_opacity,_color1,...
5513
5514               Set specified colored pixel on selected images.
5515               Default values: 'z=0', 'opacity=1' and 'color1=0'.
5516
5517           [1mpolka_dots:[0;0;0m
5518               diameter>=0,_density,_offset1,_offset2,_angle,_aliasing,_shad‐
5519       ing,_opacity,
5520                 _color,...
5521
5522               Draw dots pattern on selected images.
5523               Default  values: 'density=20', 'offset1=offset2=50', 'angle=0',
5524       'aliasing=10', 'shading=1',           'opacity=1' and 'color=255'.
5525
5526           [1mpolygon (+):[0;0;0m
5527               N>=1,x1[%],y1[%],...,xN[%],yN[%],_opacity,_pattern,_color1,...
5528
5529               Draw specified colored N-vertices polygon on selected images.
5530               'pattern' is an hexadecimal number starting with '0x' which can
5531       be omitted
5532               even  if  a  color is specified. If a pattern is specified, the
5533       polygon is
5534               drawn outlined instead of filled.
5535               Default   values:   'opacity=1',   'pattern=(undefined)'    and
5536       'color1=0'.
5537
5538           [1mquiver:[0;0;0m
5539               [function_image],_sampling[%]>0,_factor>=0,_is_arrow={  0  |  1
5540       },_opacity,_color1,...
5541
5542               Draw specified 2D vector/orientation field on selected images.
5543               Default values: 'sampling=5%', 'factor=1', 'is_arrow=1', 'opac‐
5544       ity=1', 'pattern=(undefined)'
5545               and 'color1=0'.
5546
5547           [1mrectangle:[0;0;0m
5548               x0[%],y0[%],x1[%],y1[%],_opacity,_pattern,_color1,...
5549
5550               Draw specified colored rectangle on selected images.
5551               'pattern' is an hexadecimal number starting with '0x' which can
5552       be omitted
5553               even if a color is specified. If a pattern  is  specified,  the
5554       rectangle is
5555               drawn outlined instead of filled.
5556               Default    values:   'opacity=1',   'pattern=(undefined)'   and
5557       'color1=0'.
5558
5559           [1mrorschach:[0;0;0m
5560               'smoothness[%]>=0','mirroring={ 0=none | 1=x | 2=y | 3=xy }
5561
5562               Render rorschach-like inkblots on selected images.
5563               Default values: 'smoothness=5%' and 'mirroring=1'.
5564
5565           [1msierpinski:[0;0;0m
5566               recursion_level>=0
5567
5568               Draw Sierpinski triangle on selected images.
5569               Default value: 'recursion_level=7'.
5570
5571           [1mspiralbw:[0;0;0m
5572
5573               Draw (squared) spiral on selected images.
5574
5575           [1mspline:[0;0;0m
5576               x0[%],y0[%],u0[%],v0[%],x1[%],y1[%],u1[%],v1[%],_opac‐
5577       ity,_color1,...
5578
5579               Draw  specified  colored spline curve on selected images (cubic
5580       hermite spline).
5581               Default values: 'opacity=1' and 'color1=0'.
5582
5583           [1mtetraedron_shade:[0;0;0m
5584               x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3,R0,G0,B0,...,R1,G1,B1,...,R2,G2,B2,...,R3,G3,B3,...
5585
5586               Draw  tetraedron with interpolated colors on selected (volumet‐
5587       ric) images.
5588
5589           [1mtext (+):[0;0;0m
5590               text,_x[%],_y[%],_font_height[%]>=0,_opacity,_color1,...
5591
5592               Draw specified colored text string on selected images.
5593               (eq. to 't').
5594               Sizes '13' and '128' are special and correspond to binary fonts
5595       (no-antialiasing).
5596               Any other font size is rendered with anti-aliasing.
5597               Specifying  an  empty target image resizes it to new dimensions
5598       such that the image contains
5599               the entire text string.
5600               Default values: 'opacity=1' and 'color1=0'.
5601
5602           [1mtext_outline:[0;0;0m
5603               text,_x[%],_y[%],_font_height[%]>0,_outline>=0,_opac‐
5604       ity,_color1,...
5605
5606               Draw  specified  colored  and  outlined text string on selected
5607       images.
5608               Default  values:  'x=y=1%',  'font_height=7.5%',   'outline=2',
5609       'opacity=1' and 'color1=255'.
5610
5611           [1mtriangle_shade:[0;0;0m
5612               x0,y0,x1,y1,x2,y2,R0,G0,B0,...,R1,G1,B1,...,R2,G2,B2,...
5613
5614               Draw triangle with interpolated colors on selected images.
5615
5616           [1mtruchet:[0;0;0m
5617               _scale>0,_radius>=0,_pattern_type={ 0=straight | 1=curved }
5618
5619               Fill selected images with random truchet patterns.
5620               Default values: 'scale=32', 'radius=5' and 'pattern_type=1'.
5621
5622           [1mturbulence:[0;0;0m
5623               _radius>0,_octaves={1,2,3...,12},_alpha>0,_differ‐
5624       ence={-10,10},_mode={0,1,2,3}
5625
5626               Render fractal noise or turbulence on selected images.
5627               Default values: 'radius=32', 'octaves=6',  'alpha=3',  'differ‐
5628       ence=0' and 'mode=0'.
5629
5630           [1myinyang:[0;0;0m
5631
5632               Draw a yin-yang symbol on selected images.
5633
5634        [1m** Matrix Computation:[0;0;0m
5635
5636           [1mdijkstra (+):[0;0;0m
5637               starting_node>=0,ending_node>=0
5638
5639               Compute  minimal  distances  and paths from specified adjacency
5640       matrices by the Dijkstra algorithm.
5641
5642           [1meigen (+):[0;0;0m
5643
5644               Compute the eigenvalues and eigenvectors of selected  symmetric
5645       matrices or matrix fields.
5646               If  one selected image has 3 or 6 channels, it is regarded as a
5647       field of 2x2 or 3x3 symmetric matrices,
5648               whose eigen elements are computed at each point of the field.
5649
5650           [1minvert (+):[0;0;0m
5651
5652               Compute the inverse of the selected matrices.
5653
5654           [1msolve (+):[0;0;0m
5655               [image]
5656
5657               Solve linear system AX = B for selected B-matrices  and  speci‐
5658       fied A-matrix.
5659               If  the  system  is under- or over-determined, the least square
5660       solution is returned.
5661
5662           [1msvd (+):[0;0;0m
5663
5664               Compute SVD decomposition of selected matrices.
5665
5666           [1mtranspose:[0;0;0m
5667
5668               Transpose selected matrices.
5669
5670           [1mtrisolve (+):[0;0;0m
5671               [image]
5672
5673               Solve tridiagonal system AX =  B  for  selected  B-vectors  and
5674       specified tridiagonal A-matrix.
5675               Tridiagonal  matrix  must be stored as a 3 column vector, where
5676       2nd column contains the
5677               diagonal coefficients, while 1st and 3rd  columns  contain  the
5678       left and right coefficients.
5679
5680        [1m** 3D Rendering:[0;0;0m
5681
5682           [1madd3d (+):[0;0;0m
5683               tx,_ty,_tz |
5684               [object3d] |
5685               (no arg)
5686
5687               Shift  selected  3D objects with specified displacement vector,
5688       or merge them with specified
5689               3D object, or merge all selected 3D objects together.
5690               (eq. to '+3d').
5691               Default values: 'ty=tz=0'.
5692
5693           [1manimate3d:[0;0;0m
5694               _width>0,_height>0,_angle_dx,_angle_dy,_angle_dz,_zoom_fac‐
5695       tor>=0,_filename
5696
5697               Animate selected 3D objects in a window.
5698               If argument 'filename' is provided, each frame of the animation
5699       is saved as a numbered filename.
5700               Default  values:   'width=640',   'height=480',   'angle_dx=0',
5701       'angle_dy=1',   'angle_dz=0',             'zoom_factor=1'   and  'file‐
5702       name=(undefined)'.
5703
5704           [1mapply_camera3d:[0;0;0m
5705               pos_x,pos_y,pos_z,target_x,target_y,target_z,up_x,up_y,up_z
5706
5707               Apply 3D camera matrix to selected 3D objects.
5708               Default  values:  'target_x=0',   'target_y=0',   'target_z=0',
5709       'up_x=0', 'up_y=-1' and 'up_z=0'.
5710
5711           [1mapply_matrix3d:[0;0;0m
5712               a11,a12,a13,...,a31,a32,a33
5713
5714               Apply specified 3D rotation matrix to selected 3D objects.
5715
5716           [1marray3d:[0;0;0m
5717               size_x>=1,_size_y>=1,_size_z>=1,_offset_x[%],_offset_y[%],_off‐
5718       set_y[%]
5719
5720               Duplicate a 3D object along the X,Y and Z axes.
5721               Default  values:  'size_y=1',  'size_z=1'  and   'offset_x=off‐
5722       set_y=offset_z=100%'.
5723
5724           [1marrow3d:[0;0;0m
5725               x0,y0,z0,x1,y1,z1,_radius[%]>=0,_head_length[%]>=0,_head_radius[%]>=0
5726
5727               Input 3D arrow with specified starting and ending 3D points.
5728               Default    values:    'radius=5%',    'head_length=25%'     and
5729       'head_radius=15%'.
5730
5731           [1maxes3d:[0;0;0m
5732               _size_x,_size_y,_size_z,_font_size>0,_label_x,_label_y,_label_z
5733
5734               Input 3D axes with specified sizes along the x,y and z orienta‐
5735       tions.
5736               Default   values:   'size_x=size_y=size_z=1',   'font_size=23',
5737       'label_x=X', 'label_y=Y' and           'label_z=Z'.
5738
5739           [1mbox3d:[0;0;0m
5740               _size_x,_size_y,_size_z
5741
5742               Input 3D box at (0,0,0), with specified geometry.
5743               Default values: 'size_x=1' and 'size_z=size_y=size_x'.
5744
5745           [1mcenter3d:[0;0;0m
5746
5747               Center selected 3D objects at (0,0,0).
5748               (eq. to 'c3d').
5749
5750           [1mcircle3d:[0;0;0m
5751               _x0,_y0,_z0,_radius>=0
5752
5753               Input 3D circle at specified coordinates.
5754               Default values: 'x0=y0=z0=0' and 'radius=1'.
5755
5756           [1mcircles3d:[0;0;0m
5757               _radius>=0,_is_filled={ 0 | 1 }
5758
5759               Convert  specified 3D objects to sets of 3D circles with speci‐
5760       fied radius.
5761               Default values: 'radius=1' and 'is_filled=1'.
5762
5763           [1mcolor3d (+):[0;0;0m
5764               R,_G,_B,_opacity
5765
5766               Set color and opacity of selected 3D objects.
5767               (eq. to 'col3d').
5768               Default value: 'B=G=R' and 'opacity=(undefined)'.
5769
5770           [1mcolorcube3d:[0;0;0m
5771
5772               Input 3D color cube.
5773
5774           [1mcone3d:[0;0;0m
5775               _radius,_height,_nb_subdivisions>0
5776
5777               Input 3D cone at (0,0,0), with specified geometry.
5778               Default value: 'radius=1','height=1' and 'nb_subdivisions=24'.
5779
5780           [1mcubes3d:[0;0;0m
5781               _size>=0
5782
5783               Convert specified 3D objects to sets of 3D cubes with specified
5784       size.
5785               Default value: 'size=1'.
5786
5787           [1mcup3d:[0;0;0m
5788               _resolution>0
5789
5790               Input 3D cup object.
5791
5792           [1mcylinder3d:[0;0;0m
5793               _radius,_height,_nb_subdivisions>0
5794
5795               Input 3D cylinder at (0,0,0), with specified geometry.
5796               Default value: 'radius=1','height=1' and 'nb_subdivisions=24'.
5797
5798           [1mdelaunay3d:[0;0;0m
5799
5800               Generate 3D delaunay triangulations from selected images.
5801               One  assumes  that  the selected input images are binary images
5802       containing the set of points to mesh.
5803               The output 3D object is a mesh composed of non-oriented  trian‐
5804       gles.
5805
5806           [1mdistribution3d:[0;0;0m
5807
5808               Get 3D color distribution of selected images.
5809
5810           [1mdiv3d (+):[0;0;0m
5811               factor |
5812               factor_x,factor_y,_factor_z
5813
5814               Scale  selected  3D  objects  isotropically or anisotropically,
5815       with the inverse of specified
5816               factors.
5817               (eq. to '/3d').
5818               Default value: 'factor_z=0'.
5819
5820           [1mdouble3d (+):[0;0;0m
5821               _is_double_sided={ 0 | 1 }
5822
5823               Enable/disable double-sided mode for 3D rendering.
5824               (eq. to 'db3d').
5825               Default value: 'is_double_sided=1'.
5826
5827           [1melevation3d (+):[0;0;0m
5828               z-factor |
5829               [elevation_map] |
5830               'formula' |
5831               (no arg)
5832
5833               Build 3D elevation of selected images, with a specified  eleva‐
5834       tion map.
5835               When  invoked with (no arg) or 'z-factor', the elevation map is
5836       computed as the pointwise L2           norm of the
5837               pixel values. Otherwise, the elevation map is  taken  from  the
5838       specified image or formula.
5839
5840           [1mempty3d:[0;0;0m
5841
5842               Input empty 3D object.
5843
5844           [1mextrude3d:[0;0;0m
5845               _depth>0,_resolution>0,_smoothness[%]>=0
5846
5847               Generate extruded 3D object from selected binary XY-profiles.
5848               Default  values:  'depth=16',  'resolution=1024'  and  'smooth‐
5849       ness=0.5%'.
5850
5851           [1mfocale3d (+):[0;0;0m
5852               focale
5853
5854               Set 3D focale.
5855               (eq. to 'f3d').
5856               Set 'focale' to 0 to enable  parallel  projection  (instead  of
5857       perspective).
5858               Set negative 'focale' will disable 3D sprite zooming.
5859               Default value: 'focale=700'.
5860
5861           [1mgaussians3d:[0;0;0m
5862               _size>0,_opacity
5863
5864               Convert  selected  3D  objects  into  set of 3D gaussian-shaped
5865       sprites.
5866
5867           [1mgmic3d:[0;0;0m
5868
5869               Input a 3D G'MIC logo.
5870
5871           [1mgyroid3d:[0;0;0m
5872               _resolution>0,_zoom
5873
5874               Input 3D gyroid at (0,0,0), with specified resolution.
5875               Default values: 'resolution=32' and 'zoom=5'.
5876
5877           [1mhistogram3d:[0;0;0m
5878
5879               Get 3D color histogram of selected images.
5880
5881           [1mimage6cube3d:[0;0;0m
5882
5883               Generate 3D mapped cubes from 6-sets of selected images.
5884
5885           [1mimageblocks3d:[0;0;0m
5886               _maximum_elevation,_smoothness[%]>=0
5887
5888               Generate 3D blocks from selected images.
5889               Transparency of selected images is taken into account.
5890               Default values: 'maximum_elevation=10' and 'smoothness=0'.
5891
5892           [1mimagecube3d:[0;0;0m
5893
5894               Generate 3D mapped cubes from selected images.
5895
5896           [1mimageplane3d:[0;0;0m
5897
5898               Generate 3D mapped planes from selected images.
5899
5900           [1mimagepyramid3d:[0;0;0m
5901
5902               Generate 3D mapped pyramids from selected images.
5903
5904           [1mimagerubik3d:[0;0;0m
5905               _xy_tiles>=1,0<=xy_shift<=100,0<=z_shift<=100
5906
5907               Generate 3D mapped rubik's cubes from selected images.
5908               Default values: 'xy_tiles=3', 'xy_shift=5' and 'z_shift=5'.
5909
5910           [1mimagesphere3d:[0;0;0m
5911               _resolution1>=3,_resolution2>=3
5912
5913               Generate 3D mapped sphere from selected images.
5914               Default values: 'resolution1=32' and 'resolutions2=16'.
5915
5916           [1misoline3d (+):[0;0;0m
5917               isovalue[%] |
5918               'formula',value,_x0,_y0,_x1,_y1,_size_x>0[%],_size_y>0[%]
5919
5920               Extract 3D isolines with specified value from  selected  images
5921       or from specified formula.
5922               Default values: 'x0=y0=-3', 'x1=y1=3' and 'size_x=size_y=256'.
5923
5924           [1misosurface3d (+):[0;0;0m
5925               isovalue[%] |
5926               'for‐
5927       mula',value,_x0,_y0,_z0,_x1,_y1,_z1,_size_x>0[%],_size_y>0[%],_size_z>0[%]
5928
5929               Extract  3D  isosurfaces  with  specified  value  from selected
5930       images or from specified formula.
5931               Default     values:     'x0=y0=z0=-3',     'x1=y1=z1=3'     and
5932       'size_x=size_y=size_z=32'.
5933
5934           [1mlabel3d:[0;0;0m
5935               "text",font_height>=0,_opacity,_color1,...
5936
5937               Generate 3D text label.
5938               Default     values:     'font_height=13',    'opacity=1'    and
5939       'color=255,255,255'.
5940
5941           [1mlabel_points3d:[0;0;0m
5942               _label_size>0,_opacity
5943
5944               Add a numbered label to all vertices of selected 3D objects.
5945               Default values: 'label_size=13' and 'opacity=0.8'.
5946
5947           [1mlathe3d:[0;0;0m
5948               _resolution>0,_smoothness[%]>=0,_max_angle>=0
5949
5950               Generate 3D object from selected binary XY-profiles.
5951               Default   values:   'resolution=128',   'smoothness=0.5%'   and
5952       'max_angle=361'.
5953
5954           [1mlight3d (+):[0;0;0m
5955               position_x,position_y,position_z |
5956               [texture] |
5957               (no arg)
5958
5959               Set  the  light coordinates or the light texture for 3D render‐
5960       ing.
5961               (eq. to 'l3d').
5962               (no arg) resets the 3D light to default.
5963
5964           [1mline3d:[0;0;0m
5965               x0,y0,z0,x1,y1,z1
5966
5967               Input 3D line at specified coordinates.
5968
5969           [1mlissajous3d:[0;0;0m
5970               resolution>1,a,A,b,B,c,C
5971
5972               Input             3D              lissajous              curves
5973       (x(t)=sin(a*t+A*2*pi),y(t)=sin(b*t+B*2*pi),z(t)=sin(c*t+C*2*pi)).
5974               Default  values: 'resolution=1024', 'a=2', 'A=0', 'b=1', 'B=0',
5975       'c=0' and 'C=0'.
5976
5977           [1mmode3d (+):[0;0;0m
5978               _mode
5979
5980               Set static 3D rendering mode.
5981               (eq. to 'm3d').
5982               'mode' can be { -1=bounding-box | 0=dots | 1=wireframe | 2=flat
5983       | 3=flat-shaded |           4=gouraud-shaded | 5=phong-shaded }.");
5984               Bounding-box  mode ('mode==-1') is active only for the interac‐
5985       tive 3D viewer.
5986               Default value: 'mode=4'.
5987
5988           [1mmoded3d (+):[0;0;0m
5989               _mode
5990
5991               Set dynamic 3D rendering mode for interactive 3D viewer.
5992               (eq. to 'md3d').
5993               'mode' can be { -1=bounding-box | 0=dots | 1=wireframe | 2=flat
5994       | 3=flat-shaded |           4=gouraud-shaded | 5=phong-shaded }.
5995               Default value: 'mode=-1'.
5996
5997           [1mmul3d (+):[0;0;0m
5998               factor |
5999               factor_x,factor_y,_factor_z
6000
6001               Scale  selected  3D  objects  isotropically or anisotropically,
6002       with specified factors.
6003               (eq. to '*3d').
6004               Default value: 'factor_z=0'.
6005
6006           [1mnormalize3d:[0;0;0m
6007
6008               Normalize selected 3D objects to unit size.
6009               (eq. to 'n3d').
6010
6011           [1mopacity3d (+):[0;0;0m
6012               _opacity
6013
6014               Set opacity of selected 3D objects.
6015               (eq. to 'o3d').
6016               Default value: 'opacity=1'.
6017
6018           [1mparametric3d:[0;0;0m
6019               _x(a,b),_y(a,b),_z(a,b),_amin,_amax,_bmin,_bmax,_res_a>0,_res_b>0,_res_x>0,
6020                 _res_y>0,_res_z>0,_smoothness>=0,_isovalue>=0
6021
6022               Input    3D    object   from   specified   parametric   surface
6023       (x(a,b),y(a,b),z(a,b)).
6024               Default values:  'x=(2+cos(b))*sin(a)',  'y=(2+cos(b))*cos(a)',
6025       'c=sin(b)', 'amin=-pi',           'amax='pi', 'bmin=-pi', 'bmax='pi',
6026               'res_a=512',    'res_b=res_a',    'res_x=64',    'res_y=res_x',
6027       'res_z=res_y', 'smoothness=2%' and           'isovalue=10%'.
6028
6029           [1mpca_patch3d:[0;0;0m
6030               _patch_size>0,_M>0,_N>0,_normalize_input={  0  |  1  },_normal‐
6031       ize_output={ 0 | 1 },
6032                 _lambda_xy
6033
6034               Get 3D patch-pca representation of selected images.
6035               The  3D  patch-pca  is  estimated  from  M patches on the input
6036       image, and displayed as a cloud of N           3D points.
6037               Default values: 'patch_size=7',  'M=1000',  'N=3000',  'normal‐
6038       ize_input=1', 'normalize_output=0',           and 'lambda_xy=0'.
6039
6040           [1mplane3d:[0;0;0m
6041               _size_x,_size_y,_nb_subdivisions_x>0,_nb_subdisivions_y>0
6042
6043               Input 3D plane at (0,0,0), with specified geometry.
6044               Default  values:  'size_x=1',  'size_y=size_x' and 'nb_subdivi‐
6045       sions_x=nb_subdivisions_y=24'.
6046
6047           [1mpoint3d:[0;0;0m
6048               x0,y0,z0
6049
6050               Input 3D point at specified coordinates.
6051
6052           [1mpointcloud3d:[0;0;0m
6053
6054               Convert selected  planar  or  volumetric  images  to  3D  point
6055       clouds.
6056
6057           [1mpose3d:[0;0;0m
6058               p1,...,p12
6059
6060               Apply 3D pose matrix to selected 3D objects.
6061
6062           [1mprimitives3d:[0;0;0m
6063               mode
6064
6065               Convert primitives of selected 3D objects.
6066               (eq. to 'p3d').
6067               'mode' can be { 0=points | 1=outlines | 2=non-textured }.
6068
6069           [1mprojections3d:[0;0;0m
6070               _x[%],_y[%],_z[%],_is_bounding_box={ 0 | 1 }
6071
6072               Generate  3D xy,xz,yz projection planes from specified volumet‐
6073       ric images.
6074
6075           [1mpyramid3d:[0;0;0m
6076               width,height
6077
6078               Input 3D pyramid at (0,0,0), with specified geometry.
6079
6080           [1mquadrangle3d:[0;0;0m
6081               x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3
6082
6083               Input 3D quadrangle at specified coordinates.
6084
6085           [1mrandom3d:[0;0;0m
6086               nb_points>=0
6087
6088               Input random 3D point cloud in [0,1]^3.
6089
6090           [1mreverse3d (+):[0;0;0m
6091
6092               Reverse primitive orientations of selected 3D objects.
6093               (eq. to 'rv3d').
6094
6095           [1mrotate3d (+):[0;0;0m
6096               u,v,w,angle
6097
6098               Rotate selected 3D objects around specified axis with specified
6099       angle (in deg.).
6100               (eq. to 'r3d').
6101
6102           [1mrotation3d:[0;0;0m
6103               u,v,w,angle
6104
6105               Input  3x3  rotation  matrix  with specified axis and angle (in
6106       deg).
6107
6108           [1msierpinski3d:[0;0;0m
6109               _recursion_level>=0,_width,_height
6110
6111               Input 3d Sierpinski pyramid.
6112
6113           [1msize3d:[0;0;0m
6114
6115               Return bounding box size of the last selected 3D object.
6116
6117           [1mskeleton3d:[0;0;0m
6118               _metric,_frame_type={ 0=squares  |  1=diamonds  |  2=circles  |
6119       3=auto },
6120                 _skeleton_opacity,_frame_opacity,_is_frame_wireframe={  0 | 1
6121       }
6122
6123               Build 3D  skeletal  structure  object  from  2d  binary  shapes
6124       located in selected images.
6125               'metric' can be { 0=chebyshev | 1=manhattan | 2=euclidean }.
6126               Default  values:  'metric=2',  'bones_type=3',  'skeleton_opac‐
6127       ity=1' and 'frame_opacity=0.1'.
6128
6129           [1msnapshot3d:[0;0;0m
6130               _size>0,_zoom>=0,_backgroundR,_backgroundG,_backgroundB,_back‐
6131       groundA |
6132               [background_image],zoom>=0
6133
6134               Take 2d snapshots of selected 3D objects.
6135               Set 'zoom' to 0 to disable object auto-scaling.
6136               Default    values:    'size=512',    'zoom=1'    and    '[back‐
6137       ground_image]=(default)'.
6138
6139           [1mspecl3d (+):[0;0;0m
6140               value>=0
6141
6142               Set lightness of 3D specular light.
6143               (eq. to 'sl3d').
6144               Default value: 'value=0.15'.
6145
6146           [1mspecs3d (+):[0;0;0m
6147               value>=0
6148
6149               Set shininess of 3D specular light.
6150               (eq. to 'ss3d').
6151               Default value: 'value=0.8'.
6152
6153           [1msphere3d (+):[0;0;0m
6154               radius,_nb_recursions>=0
6155
6156               Input 3D sphere at (0,0,0), with specified geometry.
6157               Default value: 'nb_recursions=3'.
6158
6159           [1mspherical3d:[0;0;0m
6160               _nb_azimuth>=3,_nb_zenith>=3,_radius_function(phi,theta)
6161
6162               Input 3D spherical object at (0,0,0), with specified geometry.
6163               Default  values:  'nb_zenith=nb_azimut=64'  and   'radius_func‐
6164       tion="abs(1+0.5*cos(3*phi)*sin(4*          theta))"'.
6165
6166           [1mspline3d:[0;0;0m
6167               x0[%],y0[%],z0[%],u0[%],v0[%],w0[%],x1[%],y1[%],z1[%],u1[%],v1[%],w1[%],
6168                 _nb_vertices>=2
6169
6170               Input 3D spline with specified geometry.
6171               Default values: 'nb_vertices=128'.
6172
6173           [1msplit3d (+):[0;0;0m
6174               _keep_shared_data={ 0 | 1 }
6175
6176               Split selected 3D objects into 6 feature vectors :
6177               { header, sizes, vertices, primitives, colors, opacities }.
6178               (eq. to 's3d').
6179               To recreate the 3D object, append these 6 images along  the  y-
6180       axis.
6181               Default value: 'keep_shared_data=1'.
6182
6183           [1msprite3d:[0;0;0m
6184
6185               Convert selected images as 3D sprites.
6186               Selected images with alpha channels are managed.
6187
6188           [1msprites3d:[0;0;0m
6189               [sprite],_sprite_has_alpha_channel={ 0 | 1 }
6190
6191               Convert selected 3D objects as a sprite cloud.
6192               Set 'sprite_has_alpha_channel' to 1 to make the last channel of
6193       the selected sprite be a           transparency mask.
6194               Default value: 'mask_has_alpha_channel=0'.
6195
6196           [1mstar3d:[0;0;0m
6197               _nb_branches>0,0<=_thickness<=1
6198
6199               Input 3D star at (0,0,0), with specified geometry.
6200               Default values: 'nb_branches=5' and 'thickness=0.38'.
6201
6202           [1mstreamline3d (+):[0;0;0m
6203               x[%],y[%],z[%],_L>=0,_dl>0,_interpolation,_is_backward={ 0 |  1
6204       },_is_oriented={ 0 | 1 } |
6205               'formula',x,y,z,_L>=0,_dl>0,_interpolation,_is_backward={ 0 | 1
6206       },
6207                 _is_oriented={ 0 | 1 }
6208
6209               Extract 3D streamlines from  selected  vector  fields  or  from
6210       specified formula.
6211               'interpolation'  can  be  {  0=nearest  integer | 1=1st-order |
6212       2=2nd-order | 3=4th-order }.
6213               Default values:  'dl=0.1',  'interpolation=2',  'is_backward=0'
6214       and 'is_oriented=0'.
6215
6216           [1msub3d (+):[0;0;0m
6217               tx,_ty,_tz
6218
6219               Shift  selected  3D objects with the opposite of specified dis‐
6220       placement vector.
6221               (eq. to '3d').
6222               Default values: 'ty=tz=0'.
6223
6224           [1msuperformula3d:[0;0;0m
6225               resolution>1,m>=1,n1,n2,n3
6226
6227               Input 2D superformula curve as a 3D object.
6228               Default values: 'resolution=1024', 'm=8',  'n1=1',  'n2=5'  and
6229       'n3=8'.
6230
6231           [1mtensors3d:[0;0;0m
6232               _radius_factor>=0,_shape={      0=box      |      >=N=ellipsoid
6233       },_radius_min>=0
6234
6235               Generate 3D tensor fields from selected images.
6236               when 'shape'>0, it gives the ellipsoid shape precision.
6237               Default    values:     'radius_factor=1',     'shape=2'     and
6238       'radius_min=0.05'.
6239
6240           [1mtext_pointcloud3d:[0;0;0m
6241               _"text1",_"text2",_smoothness
6242
6243               Input 3D text pointcloud from the two specified strings.
6244               Default  values:  'text1="text1"', 'text2="text2"' and 'smooth‐
6245       ness=1'.
6246
6247           [1mtext3d:[0;0;0m
6248               text,_font_height>0,_depth>0,_smoothness
6249
6250               Input a 3D text object from specified text.
6251               Default  values:  'font_height=53',  'depth=10'  and   'smooth‐
6252       ness=1.5'.
6253
6254           [1mtexturize3d:[0;0;0m
6255               [ind_texture],_[ind_coords]
6256
6257               Texturize  selected 3D objects with specified texture and coor‐
6258       dinates.
6259               (eq. to 't3d').
6260               When '[ind_coords]' is omitted, default XY  texture  projection
6261       is performed.
6262               Default value: 'ind_coords=(undefined)'.
6263
6264           [1mtorus3d:[0;0;0m
6265               _radius1,_radius2,_nb_subdivisions1>2,_nb_subdivisions2>2
6266
6267               Input 3D torus at (0,0,0), with specified geometry.
6268               Default   values:   'radius1=1',   'radius2=0.3',  'nb_subdivi‐
6269       sions1=24' and 'nb_subdivisions2=12'.
6270
6271           [1mtriangle3d:[0;0;0m
6272               x0,y0,z0,x1,y1,z1,x2,y2,z2
6273
6274               Input 3D triangle at specified coordinates.
6275
6276           [1mvolume3d:[0;0;0m
6277
6278               Transform selected 3D volumetric images as 3D  parallelepipedic
6279       objects.
6280
6281           [1mweird3d:[0;0;0m
6282               _resolution>0
6283
6284               Input 3D weird object at (0,0,0), with specified resolution.
6285               Default value: 'resolution=32'.
6286
6287        [1m** Control Flow:[0;0;0m
6288
6289           [1mapply_parallel:[0;0;0m
6290               "command"
6291
6292               Apply specified command on each of the selected images, by par‐
6293       allelizing it for all image of the list.
6294               (eq. to 'ap').
6295
6296           [1mapply_parallel_channels:[0;0;0m
6297               "command"
6298
6299               Apply specified command on each of the selected images, by par‐
6300       allelizing it for all channel of           the images independently.
6301               (eq. to 'apc').
6302
6303           [1mapply_parallel_overlap:[0;0;0m
6304               "command",overlap[%],nb_threads={ 0=auto | 1 | 2 | 4 | 8 | 16 }
6305
6306               Apply specified command on each of the selected images, by par‐
6307       allelizing it on 'nb_threads'           overlapped sub-images.
6308               (eq. to 'apo').
6309               'nb_threads' must be a power of 2.
6310               Default values: 'overlap=0','nb_threads=0'.
6311
6312           [1mapply_tiles:[0;0;0m
6313               "command",_tile_width[%]>0,_tile_height[%]>0,_tile_depth[%]>0,
6314                 _overlap_width[%]>=0,_overlap_height[%]>=0,_over‐
6315       lap_depth[%]>=0,
6316                 _boundary_conditions={ 0=dirichlet | 1=neumann | 2=periodic |
6317       3=mirror }
6318
6319               Apply specified command on  each  tile  (neighborhood)  of  the
6320       selected images, eventually with           overlapping tiles.
6321               (eq. to 'at').
6322               Default     values:    'tile_width=tile_height=tile_depth=10%',
6323       'overlap_width=overlap_height=overlap_depth=0'   and   'boundary_condi‐
6324       tions=1'.
6325
6326           [1mapply_timeout:[0;0;0m
6327               "command",_timeout={  0=no  timeout | >0=with specified timeout
6328       (in seconds) }
6329
6330               Apply a command with a timeout.
6331
6332           [1mcheck (+):[0;0;0m
6333               expression
6334
6335               Evaluate specified expression and display an error  message  if
6336       evaluated to false.
6337               If  'expression'  is not a math expression, it is regarded as a
6338       filename and checked if it exists.
6339
6340           [1mcheck3d (+):[0;0;0m
6341               _is_full_check={ 0 | 1 }
6342
6343               Check validity of selected 3D vector objects,  and  display  an
6344       error message
6345               if one of the selected images is not a valid 3D vector object.
6346               Full 3D object check is slower but more precise.
6347               Default value: 'is_full_check=1'.
6348
6349           [1mcontinue (+):[0;0;0m
6350
6351               Go   to   end   of  current  'repeat...done',  'do...while'  or
6352       'local...endlocal' block.
6353
6354           [1mbreak (+):[0;0;0m
6355
6356               Break current 'repeat...done', 'do...while' or  'local...endlo‐
6357       cal' block.
6358
6359           [1mdo (+):[0;0;0m
6360
6361               Start a 'do...while' block.
6362
6363           [1mdone (+):[0;0;0m
6364
6365               End   a   'repeat/for...done'   block,  and  go  to  associated
6366       'repeat/for' position, if iterations remain.
6367
6368           [1melif (+):[0;0;0m
6369               boolean |
6370               filename
6371
6372               Start a 'elif...[else]...fi' block if  previous  'if'  was  not
6373       verified
6374               and test if specified boolean is true, or if specified filename
6375       exists.
6376               'boolean' can be a  float  number  standing  for  {  0=false  |
6377       other=true }.
6378
6379           [1melse (+):[0;0;0m
6380
6381               Execute  following  commands  if previous 'if' or 'elif' condi‐
6382       tions failed.
6383
6384           [1mendif (+):[0;0;0m
6385
6386               End a 'if...[elif]...[else]...endif' block.
6387               (eq. to 'fi').
6388
6389           [1mendlocal (+):[0;0;0m
6390
6391               End a 'local...endlocal' block.
6392               (eq. to 'endl').
6393
6394           [1merror (+):[0;0;0m
6395               message
6396
6397               Print specified error message on the  standard  error  (stderr)
6398       and exit interpreter, except
6399               if error is caught by a 'onfail' command.
6400               Command selection (if any) stands for displayed call stack sub‐
6401       set instead of image indices.
6402
6403           [1meval (+):[0;0;0m
6404               expression
6405
6406               Evaluate specified math expression.
6407               - If no command selection is specified, the expression is eval‐
6408       uated once and its result is set           to status.
6409               -  If  command selection is specified, the evaluation is looped
6410       over selected images. Status is           not modified.
6411               (in this latter case,  'eval'  is  similar  to  'fill'  without
6412       assigning the image values).
6413
6414           [1mexec (+):[0;0;0m
6415               _is_verbose={ 0 | 1 },"command"
6416
6417               Execute external command using a system call.
6418               The  status value is then set to the error code returned by the
6419       system call.
6420               If 'is_verbose=1', the executed command is allowed to output on
6421       stdout/stderr.
6422               (eq. to 'x').
6423               Default value: 'is_verbose=1'.
6424
6425           [1mfor (+):[0;0;0m
6426               condition
6427
6428               Start a 'for...done' block.
6429
6430           [1mif (+):[0;0;0m
6431               boolean |
6432               filename
6433
6434               Start a 'if...[elif]...[else]...fi' block and test if specified
6435       boolean is true,
6436               or if specified filename exists.
6437               'boolean' can be a  float  number  standing  for  {  0=false  |
6438       other=true }.
6439
6440           [1mlocal (+):[0;0;0m
6441
6442               Start  a  'local...[onfail]...endlocal'  block,  with  selected
6443       images.
6444               (eq. to 'l').
6445
6446           [1mmutex (+):[0;0;0m
6447               index,_action={ 0=unlock | 1=lock }
6448
6449               Lock or unlock specified mutex for multi-threaded programming.
6450               A locked mutex can be unlocked only by  the  same  thread.  All
6451       mutexes are unlocked by default.
6452               'index' designates the mutex index, in [0,255].
6453               Default value: 'action=1'.
6454
6455           [1mnoarg (+):[0;0;0m
6456
6457               Used  in  a  custom command, 'noarg' tells the command that its
6458       argument list have not been used
6459               finally, and so they must be evaluated next in the G'MIC  pipe‐
6460       line, just as if the custom
6461               command takes no arguments at all.
6462               Use  this command to write a custom command which can decide if
6463       it takes arguments or not.
6464
6465           [1monfail (+):[0;0;0m
6466
6467               Execute following commands when an error is encountered in  the
6468       body of the 'local...endlocal' block.
6469               The status value is set with the corresponding error message.
6470
6471           [1mparallel (+):[0;0;0m
6472               _wait_threads,"command1","command2",...
6473
6474               Execute  specified  commands  in  parallel, each in a different
6475       thread.
6476               Parallel threads share the list of images.
6477               'wait_threads' can be  {  0=when  current  environment  ends  |
6478       1=immediately }.
6479               Default value: 'wait_threads=1'.
6480
6481           [1mprogress (+):[0;0;0m
6482               0<=value<=100 |
6483               -1
6484
6485               Set the progress index of the current processing pipeline.
6486               This  command is useful only when G'MIC is used by an embedding
6487       application.
6488
6489           [1mquit (+):[0;0;0m
6490
6491               Quit G'MIC interpreter.
6492               (eq. to 'q').
6493
6494           [1mrepeat (+):[0;0;0m
6495               nb_iterations,_variable_name
6496
6497               Start iterations of a 'repeat...done' block.
6498
6499           [1mreturn (+):[0;0;0m
6500
6501               Return from current custom command.
6502
6503           [1mrprogress:[0;0;0m
6504               0<=value<=100          |          -1          |           "com‐
6505       mand",0<=value_min<=100,0<=value_max<=100
6506
6507               Set the progress index of the current processing pipeline (rel‐
6508       atively to
6509               previously defined progress bounds), or call the specified com‐
6510       mand with
6511               specified progress bounds.
6512
6513           [1mrun:[0;0;0m
6514               "G'MIC pipeline"
6515
6516               Run specified G'MIC pipeline.
6517               This is only useful when used from a shell, e.g. to avoid shell
6518       substitutions to happen in argument.
6519
6520           [1mskip (+):[0;0;0m
6521               item
6522
6523               Do nothing but skip specified item.
6524
6525           [1mstatus (+):[0;0;0m
6526               status_string
6527
6528               Set the current status. Used to define a returning value from a
6529       function.
6530               (eq. to 'u').
6531
6532           [1mwhile (+):[0;0;0m
6533               boolean |
6534               filename
6535
6536               End a 'do...while' block and go back to associated 'do'
6537               if specified boolean is true or if specified filename exists.
6538               'boolean'  can  be  a  float  number  standing  for { 0=false |
6539       other=true }.
6540
6541        [1m** Arrays, Tiles and Frames:[0;0;0m
6542
6543           [1marray:[0;0;0m
6544               M>0,_N>0,_expand_type={ 0=min | 1=max | 2=all }
6545
6546               Create MxN array from selected images.
6547               Default values: 'N=M' and 'expand_type=0'.
6548
6549           [1marray_fade:[0;0;0m
6550               M>0,_N>0,0<=_fade_start<=100,0<=_fade_end<=100,_expand_type={0=min
6551       | 1=max | 2=all}
6552
6553               Create MxN array from selected images.
6554               Default   values:  'N=M',  'fade_start=60',  'fade_end=90'  and
6555       'expand_type=1'.
6556
6557           [1marray_mirror:[0;0;0m
6558               N>=0,_dir={ 0=x | 1=y | 2=xy | 3=tri-xy },_expand_type={ 0 |  1
6559       }
6560
6561               Create 2^Nx2^N array from selected images.
6562               Default values: 'dir=2' and 'expand_type=0'.
6563
6564           [1marray_random:[0;0;0m
6565               Ms>0,_Ns>0,_Md>0,_Nd>0
6566
6567               Create MdxNd array of tiles from selected MsxNs source arrays.
6568               Default values: 'Ns=Ms', 'Md=Ms' and 'Nd=Ns'.
6569
6570           [1mframe_blur:[0;0;0m
6571               _sharpness>0,_size>=0,_smoothness,_shading,_blur
6572
6573               Draw RGBA-colored round frame in selected images.
6574               Default   values:  'sharpness=10',  'size=30',  'smoothness=0',
6575       'shading=1' and 'blur=3%'.
6576
6577           [1mframe_cube:[0;0;0m
6578               _depth>=0,_centering_x,_centering_y,_left_side={0=normal      |
6579       1=mirror-x |
6580                 2=mirror-y | 3=mirror-xy},_right_side,_lower_side,_upper_side
6581
6582               Insert 3D frames in selected images.
6583               Default   values:  'depth=1',  'centering_x=centering_y=0'  and
6584       'left_side=right_side,          lower_side=upper_side=0'.
6585
6586           [1mframe_fuzzy:[0;0;0m
6587               size_x[%]>=0,_size_y[%]>=0,_fuzzyness>=0,_smooth‐
6588       ness[%]>=0,_R,_G,_B,_A
6589
6590               Draw RGBA-colored fuzzy frame in selected images.
6591               Default  values: 'size_y=size_x', 'fuzzyness=5', 'smoothness=1'
6592       and 'R=G=B=A=255'.
6593
6594           [1mframe_painting:[0;0;0m
6595               _size[%]>=0,0<=_contrast<=1,_profile_smoothness[%]>=0,_R,_G,_B,
6596                 _vignette_size[%]>=0,_vignette_contrast>=0,_defects_con‐
6597       trast>=0,
6598                 0<=_defects_density<=100,_defects_size>=0,_defects_smooth‐
6599       ness[%]>=0,
6600                 _serial_number
6601
6602               Add a painting frame to selected images.
6603               Default values:  'size=10%',  'contrast=0.4',  'profile_smooth‐
6604       ness=6%',   'R=225',  'G=200',  'B=120',            'vignette_size=2%',
6605       'vignette_contrast=400',  'defects_contrast=50',  'defects_density=10',
6606       'defects_size=1',     'defects_smoothness=0.5%'     and    'serial_num‐
6607       ber=123456789'.
6608
6609           [1mframe_pattern:[0;0;0m
6610               M>=3,_constrain_size={ 0 | 1 } |
6611               M>=3,_[frame_image],_constrain_size={ 0 | 1 }
6612
6613               Insert selected pattern frame in selected images.
6614               Default values: 'pattern=0' and 'constrain_size=0'.
6615
6616           [1mframe_round:[0;0;0m
6617               _sharpness>0,_size>=0,_smoothness,_shading,_R,_G,_B,_A
6618
6619               Draw RGBA-colored round frame in selected images.
6620               Default  values:  'sharpness=10',  'size=10',   'smoothness=0',
6621       'shading=0' and 'R=G=B=A=255'.
6622
6623           [1mframe_seamless:[0;0;0m
6624               frame_size>=0,_patch_size>0,_blend_size>=0,_frame_direction={
6625       0=inner (preserve
6626                 image size) | 1=outer }
6627
6628               Insert frame in selected images, so that tiling  the  resulting
6629       image makes less visible seams.
6630               Default     values:    'patch_size=7',    'blend_size=5'    and
6631       'frame_direction=1'.
6632
6633           [1mframe_x:[0;0;0m
6634               size_x[%],_col1,...,_colN
6635
6636               Insert colored frame along the x-axis in selected images.
6637               Default values: 'col1=col2=col3=255' and 'col4=255'.
6638
6639           [1mframe_xy:[0;0;0m
6640               size_x[%],_size_y[%],_col1,...,_colN
6641
6642               Insert colored frame along the x-axis in selected images.
6643               Default  values:  'size_y=size_x',   'col1=col2=col3=255'   and
6644       'col4=255'.
6645               (eq. to 'frame').
6646
6647           [1mframe_xyz:[0;0;0m
6648               size_x[%],_size_y[%],_size_z[%]_col1,...,_colN
6649
6650               Insert colored frame along the x-axis in selected images.
6651               Default  values:  'size_y=size_x=size_z',  'col1=col2=col3=255'
6652       and 'col4=255'.
6653
6654           [1mframe_y:[0;0;0m
6655               size_y[%],_col1,...,_colN
6656
6657               Insert colored frame along the y-axis in selected images.
6658               Default values: 'col1=col2=col3=255' and 'col4=255'.
6659
6660           [1mimg2ascii:[0;0;0m
6661               _charset,_analysis_scale>0,_analysis_smoothness[%]>=0,_synthe‐
6662       sis_scale>0,
6663                 _output_ascii_filename
6664
6665               Render selected images as binary ascii art.
6666               This  command  returns the corresponding the list of widths and
6667       heights (expressed  as  a  number  of            characters)  for  each
6668       selected image.
6669               Default values: 'charset=[ascii charset]', 'analysis_scale=16',
6670       'analysis_smoothness=20%',            'synthesis_scale=16'  and  '_out‐
6671       put_ascii_filename=[undefined]'.
6672
6673           [1mimagegrid:[0;0;0m
6674               M>0,_N>0
6675
6676               Create MxN image grid from selected images.
6677               Default value: 'N=M'.
6678
6679           [1mimagegrid_hexagonal:[0;0;0m
6680               _resolution>0,0<=_outline<=1
6681
6682               Create hexagonal grids from selected images.
6683               Default     values:    'resolution=32',    'outline=0.1'    and
6684       'is_antialiased=1'.
6685
6686           [1mimagegrid_triangular:[0;0;0m
6687               pattern_width>=1,_pattern_height>=1,_pattern_type,0<=_out‐
6688       line_opacity<=1,
6689                 _outline_color1,...
6690
6691               Create triangular grids from selected images.
6692               'pattern type' can be { 0=horizontal | 1=vertical | 2=crossed |
6693       3=cube | 4=decreasing |           5=increasing }.
6694               Default   values:   'pattern_width=24',    'pattern_height=pat‐
6695       tern_width',   'pattern_type=0',             'outline_opacity=0.1'  and
6696       'outline_color1=0'.
6697
6698           [1mlinearize_tiles:[0;0;0m
6699               M>0,_N>0
6700
6701               Linearize MxN tiles on selected images.
6702               Default value: 'N=M'.
6703
6704           [1mmap_sprites:[0;0;0m
6705               _nb_sprites>=1,_allow_rotation={ 0=none |  1=90  deg.  |  2=180
6706       deg. }
6707
6708               Map  set  of sprites (defined as the 'nb_sprites' latest images
6709       of the selection) to other           selected images,
6710               according to the luminosity of their pixel values.
6711
6712           [1mpack:[0;0;0m
6713               is_ratio_constraint={ 0 | 1 },_sort_criterion
6714
6715               Pack selected images into a single image.
6716               The returned status contains the list of new (x,y) offsets  for
6717       each input image.
6718               Parameter  'is_ratio_constraint'  tells  if the resulting image
6719       must tend to a square image.
6720               Default  values:   'is_ratio_constraint=0'   and   'sort_crite‐
6721       rion=max(w,h)'.
6722
6723           [1mpuzzle:[0;0;0m
6724               _width>0,_height>0,_M>=1,_N>=1,_curvature,_centering,_connec‐
6725       tors_variability,
6726                 _resolution>=1
6727
6728               Input puzzle binary mask with specified size and geometry.
6729               Default values: 'width=height=512',  'M=N=5',  'curvature=0.5',
6730       'centering=0.5',            'connectors_variability=0.5'  and  'resolu‐
6731       tion=64'.
6732
6733           [1mquadratize_tiles:[0;0;0m
6734               M>0,_N>0
6735
6736               Quadratize MxN tiles on selected images.
6737               Default value: 'N=M'.
6738
6739           [1mrotate_tiles:[0;0;0m
6740               angle,_M>0,N>0
6741
6742               Apply MxN tiled-rotation effect on selected images.
6743               Default values: 'M=8' and 'N=M'.
6744
6745           [1mshift_tiles:[0;0;0m
6746               M>0,_N>0,_amplitude
6747
6748               Apply MxN tiled-shift effect on selected images.
6749               Default values: 'N=M' and 'amplitude=20'.
6750
6751           [1mtaquin:[0;0;0m
6752               M>0,_N>0,_remove_tile={ 0=none | 1=first |  2=last  |  3=random
6753       },_relief,
6754                 _border_thickness[%],_border_outline[%],_outline_color
6755
6756               Create MxN taquin puzzle from selected images.
6757               Default  value: 'N=M', 'relief=50', 'border_thickness=5', 'bor‐
6758       der_outline=0' and 'remove_tile=0'.
6759
6760           [1mtunnel:[0;0;0m
6761               _level>=0,_factor>0,_centering_x,_centering_y,_opacity,_angle
6762
6763               Apply tunnel effect on selected images.
6764               Default values: 'level=9',  'factor=80%',  'centering_x=center‐
6765       ing_y=0.5', 'opacity=1' and 'angle=0'
6766
6767        [1m** Artistic:[0;0;0m
6768
6769           [1mboxfitting:[0;0;0m
6770               _min_box_size>=1,_max_box_size>=0,_initial_den‐
6771       sity>=0,_nb_attempts>=1
6772
6773               Apply box fitting effect on selected images, as  displayed  the
6774       web page:
6775               [http://www.complexification.net/gallery/machines/boxFit
6776       tingImg/]
6777               Default  values:  'min_box_size=1',   'max_box_size=0',   'ini‐
6778       tial_density=0.1' and 'nb_attempts=3'.
6779
6780           [1mbrushify:[0;0;0m
6781               [brush],_brush_nb_sizes>=1,0<=_brush_min_size_factor<=1,
6782                 _brush_nb_orienta‐
6783       tions>=1,_brush_light_type,0<=_brush_light_strength<=1,
6784                 _brush_opacity,_painting_density[%]>=0,0<=_painting_con‐
6785       tours_coherence<=1,
6786                 0<=_painting_orientation_coherence<=1,_painting_coher‐
6787       ence_alpha[%]>=0,
6788                 _painting_coherence_sigma[%]>=0,_painting_primary_angle,
6789                 0<=_painting_angle_dispersion<=1
6790
6791               Apply specified brush to create painterly versions of specified
6792       images.
6793               'brush_light_type'  can  be  {  0=none  |  1=flat  | 2=darken |
6794       3=lighten | 4=full }.
6795               Default   values:   'brush_nb_sizes=3',    'brush_min_size_fac‐
6796       tor=0.66',  'brush_nb_orientations=12',           'brush_light_type=0',
6797       'brush_light_strength=0.25',    'brush_opacity=0.8',     'painting_den‐
6798       sity=20%',            'painting_contours_coherence=0.9', 'painting_ori‐
6799       entation_coherence=0.9',                  'painting_coherence_alpha=1',
6800       'painting_coherence_sigma=1',               'painting_primary_angle=0',
6801       'painting_angle_dispersion=0.2'
6802
6803           [1mcartoon:[0;0;0m
6804               _smoothness,_sharpening,_threshold>=0,_thick‐
6805       ness>=0,_color>=0,quantization>0
6806
6807               Apply cartoon effect on selected images.
6808               Default   values:  'smoothness=3',  'sharpening=150',  'thresh‐
6809       old=20', 'thickness=0.25', 'color=1.5'           and 'quantization=8'.
6810
6811           [1mcolor_ellipses:[0;0;0m
6812               _count>0,_radius>=0,_opacity>=0
6813
6814               Add random color ellipses to selected images.
6815               Default values: 'count=400', 'radius=5' and 'opacity=0.1'.
6816
6817           [1mcubism:[0;0;0m
6818               _density>=0,0<=_thickness<=50,_max_angle,_opacity,_smooth‐
6819       ness>=0
6820
6821               Apply cubism effect on selected images.
6822               Default  values:  'density=50', 'thickness=10', 'max_angle=75',
6823       'opacity=0.7' and 'smoothness=0'.
6824
6825           [1mdraw_whirl:[0;0;0m
6826               _amplitude>=0
6827
6828               Apply whirl drawing effect on selected images.
6829               Default value: 'amplitude=100'.
6830
6831           [1mdrawing:[0;0;0m
6832               _amplitude>=0
6833
6834               Apply drawing effect on selected images.
6835               Default value: 'amplitude=200'.
6836
6837           [1mdrop_shadow:[0;0;0m
6838               _offset_x[%],_offset_y[%],_smoothness[%]>=0,0<=_curva‐
6839       ture<=1,_expand_size={ 0 | 1 }
6840
6841               Drop shadow behind selected images.
6842               Default  values:  'offset_x=20',  'offset_y=offset_x', 'smooth‐
6843       ness=5', 'curvature=0' and           'expand_size=1'.
6844
6845           [1mellipsionism:[0;0;0m
6846               _R>0[%],_r>0[%],_smoothness>=0[%],_opacity,_outline>0,_den‐
6847       sity>0
6848
6849               Apply ellipsionism filter to selected images.
6850               Default  values: 'R=10', 'r=3', 'smoothness=1%', 'opacity=0.7',
6851       'outline=8' and 'density=0.6'.
6852
6853           [1mfire_edges:[0;0;0m
6854               _edges>=0,0<=_attenuation<=1,_smoothness>=0,_thresh‐
6855       old>=0,_nb_frames>0,
6856                 _starting_frame>=0,frame_skip>=0
6857
6858               Generate fire effect from edges of selected images.
6859               Default   values:   'edges=0.7',  'attenuation=0.25',  'smooth‐
6860       ness=0.5', 'threshold=25',           'nb_frames=1', 'starting_frame=20'
6861       and 'frame_skip=0'.
6862
6863           [1mfractalize:[0;0;0m
6864               0<=detail_level<=1
6865
6866               Randomly fractalize selected images.
6867               Default value: 'detail_level=0.8'
6868
6869           [1mglow:[0;0;0m
6870               _amplitude>=0
6871
6872               Add soft glow on selected images.
6873               Default value: 'amplitude=1%'.
6874
6875           [1mhalftone:[0;0;0m
6876               nb_levels>=2,_size_dark>=2,_size_bright>=2,_shape={  0=square |
6877       1=diamond |
6878                 2=circle  |  3=inv-square  |  4=inv-diamond  |   5=inv-circle
6879       },_smoothness[%]>=0
6880
6881               Apply halftone dithering to selected images.
6882               Default  values: 'nb_levels=5', 'size_dark=8', 'size_bright=8',
6883       'shape=5' and 'smoothnesss=0'.
6884
6885           [1mhardsketchbw:[0;0;0m
6886               _amplitude>=0,_density>=0,_opacity,0<=_edge_thresh‐
6887       old<=100,_is_fast={ 0 | 1 }
6888
6889               Apply hard B&W sketch effect on selected images.
6890               Default  values: 'amplitude=1000', 'sampling=3', 'opacity=0.1',
6891       'edge_threshold=20' and           'is_fast=0'.
6892
6893           [1mhearts:[0;0;0m
6894               _density>=0
6895
6896               Apply heart effect on selected images.
6897               Default value: 'density=10'.
6898
6899           [1mhoughsketchbw:[0;0;0m
6900               _density>=0,_radius>0,0<=_threshold<=100,0<=_opacity<=1,_vote‐
6901       size[%]>0
6902
6903               Apply hough B&W sketch effect on selected images.
6904               Default values: 'density=8', 'radius=5', 'threshold=80', 'opac‐
6905       ity=0.1' and 'votesize=100%'.
6906
6907           [1mlightrays:[0;0;0m
6908               100<=_density<=0,_center_x[%],_cen‐
6909       ter_y[%],_ray_length>=0,_ray_attenuation>=0
6910
6911               Generate ray lights from the edges of selected images.
6912               Defaults   values   :   'density=50%',   'center_x=50%',  'cen‐
6913       ter_y=50%', 'ray_length=0.9' and           'ray_attenuation=0.5'.
6914
6915           [1mlight_relief:[0;0;0m
6916               _ambient_light,_specular_lightness,_specu‐
6917       lar_size,_light_smoothness,_darkness,
6918                 _xl,_yl,_zl,_zscale,_opacity_is_heightmap={ 0 | 1 }
6919
6920               Apply relief light to selected images.
6921               Default   values(s)   :  'ambient_light=0.3',  'specular_light‐
6922       ness=0.5',   'specular_size=0.2',             'darkness=0',   'xl=0.2',
6923       'yl=zl=0.5',
6924               'zscale=1', 'opacity=1' and 'opacity_is_heightmap=0'.
6925
6926           [1mlinify:[0;0;0m
6927               0<=_density<=100,_spreading>=0,_resolution[%]>0,_line_opac‐
6928       ity>=0,
6929                 _line_precision>0,_mode={ 0=subtractive | 1=additive }
6930
6931               Apply linify effect on selected images.
6932               The algorithm is inspired from the one described on the webpage
6933       'http://linify.me/about'.
6934               Default  values: 'density=50', 'spreading=2', 'resolution=40%',
6935       'line_opacity=10',           'line_precision=24' and 'mode=0'.
6936
6937           [1mmosaic:[0;0;0m
6938               0<=_density<=100
6939
6940               Create random mosaic from selected images.
6941               Default values: 'density=30'.
6942
6943           [1mold_photo:[0;0;0m
6944
6945               Apply old photo effect on selected images.
6946
6947           [1mpencilbw:[0;0;0m
6948               _size>=0,_amplitude>=0
6949
6950               Apply B&W pencil effect on selected images.
6951               Default values: 'size=0.3' and 'amplitude=60'.
6952
6953           [1mpixelsort:[0;0;0m
6954               _ordering={ + | - },_axis={ x | y |  z  |  xy  |  yx  },_[sort‐
6955       ing_criterion],_[mask]
6956
6957               Apply  a  'pixel  sorting'  algorithm  on  selected  images, as
6958       described in the page :
6959               http://satyarth.me/articles/pixel-sorting/
6960               Default  values:  'ordering=+',  'axis=x'  and  'sorting_crite‐
6961       rion=mask=(undefined)'.
6962
6963           [1mpolaroid:[0;0;0m
6964               _size1>=0,_size2>=0
6965
6966               Create polaroid effect in selected images.
6967               Default values: 'size1=10' and 'size2=20'.
6968
6969           [1mpolygonize:[0;0;0m
6970               _warp_amplitude>=0,_smoothness[%]>=0,_min_area[%]>=0,_resolu‐
6971       tion_x[%]>0,
6972                 _resolution_y[%]>0
6973
6974               Apply polygon effect on selected images.
6975               Default    values:    'warp_amplitude=300',    'smoothness=2%',
6976       'min_area=0.1%',           'resolution_x=resolution_y=10%'.
6977
6978           [1mposter_edges:[0;0;0m
6979               0<=_edge_threshold<=100,0<=_edge_shade<=100,_edge_thickness>=0,
6980                 _edge_antialiasing>=0,0<=_posterization_level<=15,_posteriza‐
6981       tion_antialiasing>=0
6982
6983               Apply poster edges effect on selected images.
6984               Default    values:     'edge_threshold=40',     'edge_shade=5',
6985       'edge_thickness=0.5',             'edge_antialiasing=10',   'posteriza‐
6986       tion_level=12' and 'posterization_antialiasing=0'.
6987
6988           [1mposter_hope:[0;0;0m
6989               _smoothness>=0
6990
6991               Apply Hope stencil poster effect on selected images.
6992               Default value: 'smoothness=3'.
6993
6994           [1mrodilius:[0;0;0m
6995               0<=_amplitude<=100,_0<=thickness<=100,_sharpness>=0,_nb_orien‐
6996       tations>0,_offset,
6997                 _color_mode={ 0=darker | 1=brighter }
6998
6999               Apply rodilius (fractalius-like) filter on selected images.
7000               Default   values:   'amplitude=10',   'thickness=10',   'sharp‐
7001       ness=400',      'nb_orientations=7',                'offset=0'      and
7002       'color_mode=1'.
7003
7004           [1mstained_glass:[0;0;0m
7005               _edges[%]>=0, shading>=0, is_thin_separators={ 0 | 1 }
7006
7007               Generate stained glass from selected images.
7008               Default values: 'edges=40%', 'shading=0.2' and 'is_precise=0'.
7009
7010           [1mstars:[0;0;0m
7011               _density[%]>=0,_depth>=0,_size>0,_nb_branches>=1,0<=_thick‐
7012       ness<=1,
7013                 _smoothness[%]>=0,_R,_G,_B,_opacity
7014
7015               Add random stars to selected images.
7016               Default   values:    'density=10%',    'depth=1',    'size=32',
7017       'nb_branches=5',      'thickness=0.38',               'smoothness=0.5',
7018       'R=G=B=200' and 'opacity=1'.
7019
7020           [1msketchbw:[0;0;0m
7021               _nb_angles>0,_start_angle,_angle_range>=0,_length>=0,_thresh‐
7022       old>=0,_opacity,
7023                 _bgfactor>=0,_density>0,_sharpness>=0,_anisotropy>=0,_smooth‐
7024       ness>=0,
7025                 _coherence>=0,_is_boost={ 0 | 1 },_is_curved={ 0 | 1 }
7026
7027               Apply sketch effect to selected images.
7028               Default      values:      'nb_angles=2',      'start_angle=45',
7029       'angle_range=180',    'length=30',    'threshold=3',             'opac‐
7030       ity=0.03',
7031               'bgfactor=0', 'density=0.6', 'sharpness=0.1', 'anisotropy=0.6',
7032       'smoothness=0.25',               'coherence=1',     'is_boost=0'    and
7033       'is_curved=1'.
7034
7035           [1msponge:[0;0;0m
7036               _size>0
7037
7038               Apply sponge effect on selected images.
7039               Default value: 'size=13'.
7040
7041           [1mstencil:[0;0;0m
7042               _radius[%]>=0,_smoothness>=0,_iterations>=0
7043
7044               Apply stencil filter on selected images.
7045               Default values: 'radius=3', 'smoothness=1' and 'iterations=8'.
7046
7047           [1mstencilbw:[0;0;0m
7048               _edges>=0,_smoothness>=0
7049
7050               Apply B&W stencil effect on selected images.
7051               Default values: 'edges=15' and 'smoothness=10'.
7052
7053           [1mtetris:[0;0;0m
7054               _scale>0
7055
7056               Apply tetris effect on selected images.
7057               Default value: 'scale=10'.
7058
7059           [1mwarhol:[0;0;0m
7060               _M>0,_N>0,_smoothness>=0,_color>=0
7061
7062               Create MxN Andy Warhol-like artwork from selected images.
7063               Default values: 'M=3', 'N=M', 'smoothness=2' and 'color=20'.
7064
7065           [1mweave:[0;0;0m
7066               _density>=0,0<=_thickness<=100,0<=_shadow<=100,_shad‐
7067       ing>=0,_fibers_amplitude>=0,
7068                 _fibers_smoothness>=0,_angle,-1<=_x_curvature<=1,-1<=_y_cur‐
7069       vature<=1
7070
7071               Apply weave effect to the selected images.
7072               'angle' can be { 0=0 deg. | 1=22.5 deg. | 2=45  deg.  |  3=67.5
7073       deg. }.
7074               Default   values:   'density=6',  'thickness=65',  'shadow=40',
7075       'shading=0.5',  'fibers_amplitude=0',            'fibers_smoothness=0',
7076       'angle=0' and 'curvature_x=curvature_y=0'
7077
7078           [1mwhirls:[0;0;0m
7079               _texture>=0,_smoothness>=0,_darkness>=0,_lightness>=0
7080
7081               Add random whirl texture to selected images.
7082               Default values: 'texture=3', 'smoothness=6', 'darkness=0.5' and
7083       'lightness=1.8'.
7084
7085        [1m** Warpings:[0;0;0m
7086
7087           [1mdeform:[0;0;0m
7088               _amplitude>=0,_interpolation
7089
7090               Apply random smooth deformation on selected images.
7091               'interpolation' can be { 0=none | 1=linear | 2=bicubic }.
7092               Default value: 'amplitude=10'.
7093
7094           [1meuclidean2polar:[0;0;0m
7095               _center_x[%],_center_y[%],_stretch_factor>0,_boundary_condi‐
7096       tions={ 0=dirichlet |
7097                  1=neumann | 2=periodic | 3=mirror }
7098
7099               Apply euclidean to polar transform on selected images.
7100               Default values: 'center_x=center_y=50%', 'stretch_factor=1' and
7101       'boundary_conditions=1'.
7102
7103           [1mequirectangular2nadirzenith:[0;0;0m
7104
7105               Transform selected equirectangular images to nadir/zenith  rec‐
7106       tilinear projections.
7107
7108           [1mfisheye:[0;0;0m
7109               _center_x,_center_y,0<=_radius<=100,_amplitude>=0
7110
7111               Apply fish-eye deformation on selected images.
7112               Default values: 'x=y=50', 'radius=50' and 'amplitude=1.2'.
7113
7114           [1mflower:[0;0;0m
7115               _amplitude,_frequency,_offset_r[%],_angle,_center_x[%],_cen‐
7116       ter_y[%],
7117                 _boundary_conditions={ 0=dirichlet | 1=neumann | 2=periodic |
7118       3=mirror}
7119
7120               Apply flower deformation on selected images.
7121               Default  values:  'amplitude=30',  'frequency=6', 'offset_r=0',
7122       'angle=0',   'center_x=center_y=50%'             and   'boundary_condi‐
7123       tions=3'.
7124
7125           [1mkaleidoscope:[0;0;0m
7126               _center_x[%],_center_y[%],_radius,_angle,_boundary_conditions={
7127       0=dirichlet |
7128                 1=neumann | 2=periodic | 3=mirror }
7129
7130               Create kaleidoscope effect from selected images.
7131               Default    values:    'center_x=center_y=50%',    'radius=100',
7132       'angle=30' and 'boundary_conditions=3'.
7133
7134           [1mmap_sphere:[0;0;0m
7135               _width>0,_height>0,_radius,_dilation>0,_fading>=0,_fad‐
7136       ing_power>=0
7137
7138               Map selected images on a sphere.
7139               Default  values:   'width=height=512',   'radius=100',   'dila‐
7140       tion=0.5', 'fading=0' and           'fading_power=0.5'.
7141
7142           [1mnadirzenith2equirectangular:[0;0;0m
7143
7144               Transform  selected  nadir/zenith  rectilinear  projections  to
7145       equirectangular images.
7146
7147           [1mpolar2euclidean:[0;0;0m
7148               _center_x[%],_center_y[%],_stretch_factor>0,_boundary_condi‐
7149       tions={ 0=dirichlet |
7150                  1=neumann | 2=periodic | 3=mirror }
7151
7152               Apply euclidean to polar transform on selected images.
7153               Default values: 'center_x=center_y=50%', 'stretch_factor=1' and
7154       'boundary_conditions=1'.
7155
7156           [1mraindrops:[0;0;0m
7157               _amplitude,_density>=0,_wavelength>=0,_merging_steps>=0
7158
7159               Apply raindrops deformation on selected images.
7160               Default  values:  'amplitude=80','density=0.1',  'wavelength=1'
7161       and 'merging_steps=0'.
7162
7163           [1mripple:[0;0;0m
7164               _amplitude,_bandwidth,_shape={  0=bloc  | 1=triangle | 2=sine |
7165       3=sine+ |
7166                 4=random },_angle,_offset
7167
7168               Apply ripple deformation on selected images.
7169               Default  values:  'amplitude=10',  'bandwidth=10',   'shape=2',
7170       'angle=0' and 'offset=0'.
7171
7172           [1mrotoidoscope:[0;0;0m
7173               _center_x[%],_center_y[%],_tiles>0,_smoothness[%]>=0,_bound‐
7174       ary_conditions={
7175                 0=dirichlet | 1=neumann | 2=periodic | 3=mirror }
7176
7177               Create rotational kaleidoscope effect from selected images.
7178               Default values: 'center_x=center_y=50%',  'tiles=10',  'smooth‐
7179       ness=1' and 'boundary_conditions=3'.
7180
7181           [1mspherize:[0;0;0m
7182               _radius[%]>=0,_strength,_smoothness[%]>=0,_center_x[%],_cen‐
7183       ter_y[%],_ratio_x/
7184                 y>0,_angle,_interpolation
7185
7186               Apply spherize effect on selected images.
7187               Default  values:  'radius=50%',  'strength=1',  'smoothness=0',
7188       'center_x=center_y=50%', 'ratio_x/          y=1', 'angle=0' and 'inter‐
7189       polation=1'.
7190
7191           [1msymmetrize:[0;0;0m
7192               _x[%],_y[%],_angle,_boundary_conditions={ 0=dirichlet |  1=neu‐
7193       mann | 2=periodic |
7194                  3=mirror },_is_antisymmetry={ 0 | 1 },_swap_sides={ 0 | 1 }
7195
7196               Symmetrize selected images regarding specified axis.
7197               Default values: 'x=y=50%', 'angle=90', 'boundary_conditions=3',
7198       'is_antisymmetry=0' and           'swap_sides=0'.
7199
7200           [1mtransform_polar:[0;0;0m
7201               "expr_radius",_"expr_angle",_center_x[%],_center_y[%],_bound‐
7202       ary_conditions={
7203                 0=dirichlet | 1=neumann }
7204
7205               Apply   user-defined   transform  on  polar  representation  of
7206       selected images.
7207               Default  values:  'expr_radius=R-r',   'expr_rangle=a',   'cen‐
7208       ter_x=center_y=50%' and           'boundary_conditions=1'.
7209
7210           [1mtwirl:[0;0;0m
7211               _amplitude,_center_x[%],_center_y[%],_boundary_conditions={
7212       0=dirichlet |
7213                 1=neumann | 2=periodic | 3=mirror }
7214
7215               Apply twirl deformation on selected images.
7216               Default  values:  'amplitude=1',  'center_x=center_y=50%'   and
7217       'boundary_conditions=3'.
7218
7219           [1mwarp_perspective:[0;0;0m
7220               _x-angle,_y-angle,_zoom>0,_x-center,_y-center,_boundary_condi‐
7221       tions={
7222                 0=dirichlet | 1=neumann | 2=periodic | 3=mirror }
7223
7224               Warp selected images with perspective deformation.
7225               Default values: 'x-angle=1.5', 'y-angle=0',  'zoom=1',  'x-cen‐
7226       ter=y-center=50' and           'boundary_conditions=2'.
7227
7228           [1mwater:[0;0;0m
7229               _amplitude,_smoothness>=0,_angle
7230
7231               Apply water deformation on selected images.
7232               Default    values:    'amplitude=30',    'smoothness=1.5'   and
7233       'angle=45'.
7234
7235           [1mwave:[0;0;0m
7236               _amplitude>=0,_frequency>=0,_center_x,_center_y
7237
7238               Apply wave deformation on selected images.
7239               Default  values:  'amplitude=4',  'frequency=0.4'   and   'cen‐
7240       ter_x=center_y=50'.
7241
7242           [1mwind:[0;0;0m
7243               _amplitude>=0,_angle,0<=_attenuation<=1,_threshold
7244
7245               Apply wind effect on selected images.
7246               Default  values:  'amplitude=20',  'angle=0', 'attenuation=0.7'
7247       and 'threshold=20'.
7248
7249           [1mzoom:[0;0;0m
7250               _factor,_cx,_cy,_cz,_boundary_conditions={ 0=dirichlet | 1=neu‐
7251       mann | 2=periodic
7252                 | 3=mirror }
7253
7254               Apply zoom factor to selected images.
7255               Default values: 'factor=1', 'cx=cy=cz=0.5' and 'boundary_condi‐
7256       tions=0'.
7257
7258        [1m** Degradations:[0;0;0m
7259
7260           [1mcracks:[0;0;0m
7261               0<=_density<=100,_is_relief={ 0 | 1 },_opacity,_color1,...
7262
7263               Draw random cracks on selected images with specified color.
7264               Default values: 'density=25',  'is_relief=0',  'opacity=1'  and
7265       'color1=0'.
7266
7267           [1mlight_patch:[0;0;0m
7268               _density>0,_darkness>=0,_lightness>=0
7269
7270               Add light patches to selected images.
7271               Default   values:   'density=10',  'darkness=0.9'  and  'light‐
7272       ness=1.7'.
7273
7274           [1mnoise_hurl:[0;0;0m
7275               _amplitude>=0
7276
7277               Add hurl noise to selected images.
7278               Default value: 'amplitude=10'.
7279
7280           [1mpixelize:[0;0;0m
7281               _scale_x>0,_scale_y>0,_scale_z>0
7282
7283               Pixelize selected images with specified scales.
7284               Default values: 'scale_x=20' and 'scale_y=scale_z=scale_x'.
7285
7286           [1mscanlines:[0;0;0m
7287               _amplitude,_bandwidth,_shape={ 0=bloc | 1=triangle |  2=sine  |
7288       3=sine+ |
7289                 4=random },_angle,_offset
7290
7291               Apply ripple deformation on selected images.
7292               Default   values:   'amplitude=60',  'bandwidth=2',  'shape=0',
7293       'angle=0' and 'offset=0'.
7294
7295           [1mshade_stripes:[0;0;0m
7296               _frequency>=0,_direction={ 0=horizontal |  1=vertical  },_dark‐
7297       ness>=0,
7298                 _lightness>=0
7299
7300               Add shade stripes to selected images.
7301               Default  values:  'frequency=5',  'direction=1', 'darkness=0.8'
7302       and 'lightness=2'.
7303
7304           [1mshadow_patch:[0;0;0m
7305               _opacity>=0
7306
7307               Add shadow patches to selected images.
7308               Default value: 'opacity=0.7'.
7309
7310           [1mspread:[0;0;0m
7311               _dx>=0,_dy>=0,_dz>=0
7312
7313               Spread pixel values of selected images randomly along  x,y  and
7314       z.
7315               Default values: 'dx=3', 'dy=dx' and 'dz=0'.
7316
7317           [1mstripes_y:[0;0;0m
7318               _frequency>=0
7319
7320               Add vertical stripes to selected images.
7321               Default value: 'frequency=10'.
7322
7323           [1mtexturize_canvas:[0;0;0m
7324               _amplitude>=0,_fibrousness>=0,_emboss_level>=0
7325
7326               Add paint canvas texture to selected images.
7327               Default    values:    'amplitude=20',    'fibrousness=3'    and
7328       'emboss_level=0.6'.
7329
7330           [1mtexturize_paper:[0;0;0m
7331
7332               Add paper texture to selected images.
7333
7334           [1mvignette:[0;0;0m
7335               _strength>=0,0<=_radius_min<=100,0<=_radius_max<=100
7336
7337               Add vignette effect to selected images.
7338               Default    values:    'strength=100',    'radius_min=70'    and
7339       'radius_max=90'.
7340
7341           [1mwatermark_visible:[0;0;0m
7342               _text,0<_opacity<1,_size>0,_angle,_mode={   0=remove   |  1=add
7343       },_smoothness>=0
7344
7345               Add or remove a visible watermark  on  selected  images  (value
7346       range must be [0,255]).
7347               Default  values:  'text=(c)  G'MIC',  'opacity=0.3', 'size=53',
7348       'angle=25', 'mode=1' and           'smoothness=0'.
7349
7350        [1m** Blending and Fading:[0;0;0m
7351
7352           [1mblend:[0;0;0m
7353               [layer],blending_mode,_opacity[%],_selection_is={ 0=base-layers
7354       | 1=top-layers } |
7355               blending_mode,_opacity[%]
7356
7357               Blend  selected  G,GA,RGB  or RGBA images by specified layer or
7358       blend all selected images together,           using specified  blending
7359       mode.
7360               'blending_mode'  can  be { add | alpha | and | average | blue |
7361       burn | darken | difference |
7362               divide | dodge | edges | exclusion | freeze  |  grainextract  |
7363       grainmerge | green | hardlight |
7364               hardmix  |  hue | interpolation | lighten | lightness | linear‐
7365       burn | linearlight | luminance |
7366               multiply | negation | or | overlay | pinlight | red | reflect |
7367       saturation | seamless |           seamless_mixed | screen |
7368               shapeareamax  |  shapeareamax0 | shapeareamin | shapeareamin0 |
7369       shapeaverage | shapeaverage0 |           shapemedian | shapemedian0 |
7370               shapemin | shapemin0 | shapemax | shapemax0 | softburn |  soft‐
7371       dodge  |  softlight | stamp |           subtract | value | vividlight |
7372       xor }.
7373               'opacity' should be in '[0,1]', or '[0,100]' if expressed  with
7374       a '%'.
7375               Default  values: 'blending_mode=alpha', 'opacity=1' and 'selec‐
7376       tion_is=0'.
7377
7378           [1mblend_edges:[0;0;0m
7379               smoothness[%]>=0
7380
7381               Blend selected images togethers using 'edges' mode.
7382
7383           [1mblend_fade:[0;0;0m
7384               [fading_shape]
7385
7386               Blend selected images together using specified fading shape.
7387
7388           [1mblend_median:[0;0;0m
7389
7390               Blend selected images together using 'median' mode.
7391
7392           [1mblend_seamless:[0;0;0m
7393               _is_mixed_mode={  0   |   1   },_inner_fading[%]>=0,_outer_fad‐
7394       ing[%]>=0
7395
7396               Blend  selected images using a seamless blending mode (Poisson-
7397       based).
7398               Default values: 'is_mixed=0', 'inner_fading=0' and  'outer_fad‐
7399       ing=100%'.
7400
7401           [1mfade_diamond:[0;0;0m
7402               0<=_start<=100,0<=_end<=100
7403
7404               Create diamond fading from selected images.
7405               Default values: 'start=80' and 'end=90'.
7406
7407           [1mfade_linear:[0;0;0m
7408               _angle,0<=_start<=100,0<=_end<=100
7409
7410               Create linear fading from selected images.
7411               Default values: 'angle=45', 'start=30' and 'end=70'.
7412
7413           [1mfade_radial:[0;0;0m
7414               0<=_start<=100,0<=_end<=100
7415
7416               Create radial fading from selected images.
7417               Default values: 'start=30' and 'end=70'.
7418
7419           [1mfade_x:[0;0;0m
7420               0<=_start<=100,0<=_end<=100
7421
7422               Create horizontal fading from selected images.
7423               Default values: 'start=30' and 'end=70'.
7424
7425           [1mfade_y:[0;0;0m
7426               0<=_start<=100,0<=_end<=100
7427
7428               Create vertical fading from selected images.
7429               Default values: 'start=30' and 'end=70'.
7430
7431           [1mfade_z:[0;0;0m
7432               0<=_start<=100,0<=_end<=100
7433
7434               Create transversal fading from selected images.
7435               Default values: 'start=30' and 'end=70'.
7436
7437           [1msub_alpha:[0;0;0m
7438               [base_image],_opacity_gain>=1
7439
7440               Compute the minimal alpha-channel difference (opposite of alpha
7441       blending) between the selected           images and the specified  base
7442       image.
7443               The alpha difference A-B is defined as the image having minimal
7444       opacity, such that           alpha_blend(B,A-B) = A.
7445               Default value: 'opacity_gain=1'.
7446
7447        [1m** Image Sequences and Videos:[0;0;0m
7448
7449           [1manimate:[0;0;0m
7450               fil‐
7451       ter_name,"param1_start,...,paramN_start","param1_end,...,paramN_end",
7452                 nb_frames>=0,_output_frames={ 0 | 1 },_output_filename |
7453               delay>0,_back and forth={ 0 | 1 }
7454
7455               Animate filter from starting parameters to ending parameters or
7456       animate selected images
7457               in a display window.
7458               Default value: 'delay=30'.
7459
7460           [1mapply_camera:[0;0;0m
7461               _"command",_camera_index>=0,_skip_frames>=0,_output_filename
7462
7463               Apply specified command on live camera stream, and  display  it
7464       on display window [0].
7465               Default  values:  'command=""',  'camera_index=0' (default cam‐
7466       era), 'skip_frames=0' and           'output_filename=""'.
7467
7468           [1mapply_files:[0;0;0m
7469               "filename_pattern",_"command",_first_frame>=0,_last_frame={ >=0
7470       | -1=last },
7471                 _frame_step>=1,_output_filename
7472
7473               Apply  a  G'MIC  command  on  specified input image files, in a
7474       streamed way.
7475               If a display window is opened, rendered frames are displayed in
7476       it during processing.
7477               The  output  filename  may  have  extension  '.avi' (saved as a
7478       video), or any other usual image file           extension (saved  as  a
7479       sequence of images).
7480               Default    values:    'command=(undefined)',   'first_frame=0',
7481       'last_frame=-1', 'frame_step=1'  and            'output_filename=(unde‐
7482       fined)'.
7483
7484           [1mapply_video:[0;0;0m
7485               video_filename,_"command",_first_frame>=0,_last_frame={  >=0  |
7486       -1=last },
7487                 _frame_step>=1,_output_filename
7488
7489               Apply a G'MIC command on all  frames  of  the  specified  input
7490       video file, in a streamed way.
7491               If a display window is opened, rendered frames are displayed in
7492       it during processing.
7493               The output filename may  have  extension  '.avi'  (saved  as  a
7494       video),  or  any other usual image file           extension (saved as a
7495       sequence of images).
7496               Default     values:      'first_frame=0',      'last_frame=-1',
7497       'frame_step=1' and           'output_filename=(undefined)'.
7498
7499           [1maverage_files:[0;0;0m
7500               "filename_pattern",_first_frame>=0,_last_frame={  >=0 | -1=last
7501       },_frame_step>=1,
7502                 _output_filename
7503
7504               Average specified input image files, in a streamed way.
7505               If a display window is opened, rendered frames are displayed in
7506       it during processing.
7507               The  output  filename  may  have  extension  '.avi' (saved as a
7508       video), or any other usual image file           extension (saved  as  a
7509       sequence of images).
7510               Default      values:      'first_frame=0',     'last_frame=-1',
7511       'frame_step=1' and           'output_filename=(undefined)'.
7512
7513           [1maverage_video:[0;0;0m
7514               video_filename,_first_frame>=0,_last_frame={  >=0   |   -1=last
7515       },_frame_step>=1,
7516                 _output_filename
7517
7518               Average  frames  of  specified  input video file, in a streamed
7519       way.
7520               If a display window is opened, rendered frames are displayed in
7521       it during processing.
7522               The  output  filename  may  have  extension  '.avi' (saved as a
7523       video), or any other usual image file           extension (saved  as  a
7524       sequence of images).
7525               Default      values:      'first_frame=0',     'last_frame=-1',
7526       'frame_step=1' and           'output_filename=(undefined)'.
7527
7528           [1mfade_files:[0;0;0m
7529               "filename_pat‐
7530       tern",_nb_inner_frames>0,_first_frame>=0,_last_frame={ >=0 |
7531                 -1=last },_frame_step>=1,_output_filename
7532
7533               Generate a temporal fading from specified input image files, in
7534       a streamed way.
7535               If a display window is opened, rendered frames are displayed in
7536       it during processing.
7537               The  output  filename  may  have  extension  'avi'  (saved as a
7538       video), or any other usual image file           extension (saved  as  a
7539       sequence of images).
7540               Default    values:    'nb_inner_frames=10',    'first_frame=0',
7541       'last_frame=-1', 'frame_step=1'  and            'output_filename=(unde‐
7542       fined)'.
7543
7544           [1mfade_video:[0;0;0m
7545               video_filename,_nb_inner_frames>0,_first_frame>=0,_last_frame={
7546       >=0 | -1=last },
7547                 _frame_step>=1,_output_filename
7548
7549               Create a temporal fading sequence from  specified  input  video
7550       file, in a streamed way.
7551               If a display window is opened, rendered frames are displayed in
7552       it during processing.
7553               Default    values:    'nb_inner_frames=10',    'first_frame=0',
7554       'last_frame=-1',  'frame_step=1'  and           'output_filename=(unde‐
7555       fined)'.
7556
7557           [1mfiles2video:[0;0;0m
7558               "filename_pattern",_output_filename,_fps>0,_codec
7559
7560               Convert several files into a single video file.
7561               Default  values:  'output_filename=output.avi',  'fps=25'   and
7562       'codec=mp4v'.
7563
7564           [1mmedian_files:[0;0;0m
7565               "filename_pattern",_first_frame>=0,_last_frame={  >=0 | -1=last
7566       },_frame_step>=1,
7567                 _frame_rows[%]>=1,_is_fast_approximation={ 0 | 1 }
7568
7569               Compute the median frame of specified input image files,  in  a
7570       streamed way.
7571               If  a  display window is opened, rendered frame is displayed in
7572       it during processing.
7573               Default     values:      'first_frame=0',      'last_frame=-1',
7574       'frame_step=1',   'frame_rows=20%'   and            'is_fast_approxima‐
7575       tion=0'.
7576
7577           [1mmedian_video:[0;0;0m
7578               video_filename,_first_frame>=0,_last_frame={  >=0   |   -1=last
7579       },_frame_step>=1,
7580                 _frame_rows[%]>=1,_is_fast_approximation={ 0 | 1 }
7581
7582               Compute  the  median of all frames of an input video file, in a
7583       streamed way.
7584               If a display window is opened, rendered frame is  displayed  in
7585       it during processing.
7586               Default      values:      'first_frame=0',     'last_frame=-1',
7587       'frame_step=1',  'frame_rows=100%'  and             'is_fast_approxima‐
7588       tion=1'.
7589
7590           [1mmorph:[0;0;0m
7591               nb_inner_frames>=1,_smoothness>=0,_precision>=0
7592
7593               Create morphing sequence between selected images.
7594               Default values: 'smoothness=0.1' and 'precision=4'.
7595
7596           [1mmorph_files:[0;0;0m
7597               "filename_pattern",_nb_inner_frames>0,_smoothness>=0,_preci‐
7598       sion>=0,
7599                 _first_frame>=0,_last_frame={       >=0       |       -1=last
7600       },_frame_step>=1,_output_filename
7601
7602               Generate  a temporal morphing from specified input image files,
7603       in a streamed way.
7604               If a display window is opened, rendered frames are displayed in
7605       it during processing.
7606               The  output  filename  may  have  extension  '.avi' (saved as a
7607       video), or any other usual image file           extension (saved  as  a
7608       sequence of images).
7609               Default values: 'nb_inner_frames=10', 'smoothness=0.1', 'preci‐
7610       sion=4', 'first_frame=0',           'last_frame=-1', 'frame_step=1' and
7611       'output_filename=(undefined)'.
7612
7613           [1mmorph_video:[0;0;0m
7614               video_filename,_nb_inner_frames>0,_smoothness>=0,_preci‐
7615       sion>=0,_first_frame>=0,
7616                 _last_frame={ >=0 | -1=last },_frame_step>=1,_output_filename
7617
7618               Generate a temporal morphing from specified input  video  file,
7619       in a streamed way.
7620               If a display window is opened, rendered frames are displayed in
7621       it during processing.
7622               The output filename may  have  extension  '.avi'  (saved  as  a
7623       video),  or  any other usual image file           extension (saved as a
7624       sequence of images).
7625               Default values: 'nb_inner_frames=10', 'smoothness=0.1', 'preci‐
7626       sion=4', 'first_frame=0',           'last_frame=-1', 'frame_step=1' and
7627       'output_filename=(undefined)'.
7628
7629           [1mregister_nonrigid:[0;0;0m
7630               [destination],_smoothness>=0,_precision>0,_nb_scale>=0
7631
7632               Register selected  source  images  with  specified  destination
7633       image, using non-rigid warp.
7634               Default    values:    'smoothness=0.2',    'precision=6'    and
7635       'nb_scale=0(auto)'.
7636
7637           [1mregister_rigid:[0;0;0m
7638               [destination],_smoothness>=0,_boundary_conditions={ 0=dirichlet
7639       | 1=neumann |
7640                 2=periodic | 3=mirror }
7641
7642               Register  selected  source  images  with  specified destination
7643       image, using rigid warp (shift).
7644               Default values: 'smoothness=1' and 'boundary_conditions=0'.
7645
7646           [1mtransition:[0;0;0m
7647               [transition_shape],nb_added_frames>=0,100>=shading>=0,_sin‐
7648       gle_frame_only={
7649                 -1=disabled | >=0 }
7650
7651               Generate a transition sequence between selected images.
7652               Default values: 'shading=0' and 'single_frame_only=-1'.
7653
7654           [1mtransition3d:[0;0;0m
7655               _nb_frames>=2,_nb_xtiles>0,_nb_ytiles>0,_axis_x,_axis_y,_axis_z,_is_antialias={
7656       0 | 1 }
7657
7658               Create 3D  transition  sequence  between  selected  consecutive
7659       images.
7660               'axis_x',  'axis_y'  and  'axis_z'  can  be set as mathematical
7661       expressions, depending on 'x' and 'y'.
7662               Default   values:   'nb_frames=10',    'nb_xtiles=nb_ytiles=3',
7663       'axis_x=1', 'axis_y=1', 'axis_z=0' and           'is_antialias=1'.
7664
7665           [1mvideo2files:[0;0;0m
7666               input_filename,_output_filename,_first_frame>=0,_last_frame={
7667       >=0 | -1=last },
7668                 _frame_step>=1
7669
7670               Split specified input video file into image files, one for each
7671       frame.
7672               First  and  last  frames  as well as step between frames can be
7673       specified.
7674               Default values:  'output_filename=frame.png',  'first_frame=0',
7675       'last_frame=-1' and           'frame_step=1'.
7676
7677        [1m** Convenience Functions:[0;0;0m
7678
7679           [1malert:[0;0;0m
7680               _title,_message,_label_button1,_label_button2,...
7681
7682               Display an alert box and wait for user's choice.
7683               If  a  single  image is in the selection, it is used as an icon
7684       for the alert box.
7685               Default values: 'title=[G'MIC Alert]' and 'message=This  is  an
7686       alert box.'.
7687
7688           [1marg:[0;0;0m
7689               n>=1,_arg1,...,_argN
7690
7691               Return the n-th argument of the specified argument list.
7692
7693           [1marg2var:[0;0;0m
7694               variable_name,argument_1,...,argument_N
7695
7696               For each i in [1...N], set 'variable_name$i=argument_i'.
7697               The  variable name should be global to make this command useful
7698       (i.e. starts by an underscore).
7699
7700           [1mautocrop_coords:[0;0;0m
7701               value1,value2,... | auto
7702
7703               Return coordinates (x0,y0,z0,x1,y1,z1)  of  the  autocrop  that
7704       could be performed on the latest of           the selected images.
7705               Default value: 'auto'
7706
7707           [1mbase642img:[0;0;0m
7708               "base64_string"
7709
7710               Decode given base64-encoded string as a newly inserted image at
7711       the end of the list.
7712               The argument string must  have  been  generated  using  command
7713       'img2base64'.
7714
7715           [1mbase642uchar:[0;0;0m
7716               "base64_string"
7717
7718               Decode given base64-encoded string as a newly inserted 1-column
7719       image at the end of the list.
7720               The argument string must  have  been  generated  using  command
7721       'uchar2base64'.
7722
7723           [1mbasename:[0;0;0m
7724               file_path,_variable_name_for_folder
7725
7726               Return  the  basename of a file path, and opt. its folder loca‐
7727       tion.
7728               When specified 'variable_name_for_folder'  must  starts  by  an
7729       underscore
7730               (global variable accessible from calling function).
7731
7732           [1mbin:[0;0;0m
7733               binary_int1,...
7734
7735               Print  specified  binary  integers  into  their octal, decimal,
7736       hexadecimal and string           representations.
7737
7738           [1mbin2dec:[0;0;0m
7739               binary_int1,...
7740
7741               Convert specified binary integers into their decimal  represen‐
7742       tations.
7743
7744           [1mdec:[0;0;0m
7745               decimal_int1,...
7746
7747               Print  specified  decimal  integers  into  their binary, octal,
7748       hexadecimal and string           representations.
7749
7750           [1mdec2str:[0;0;0m
7751               decimal_int1,...
7752
7753               Convert specifial decimal integers into its string  representa‐
7754       tion.
7755
7756           [1mdec2bin:[0;0;0m
7757               decimal_int1,...
7758
7759               Convert  specified decimal integers into their binary represen‐
7760       tations.
7761
7762           [1mdec2hex:[0;0;0m
7763               decimal_int1,...
7764
7765               Convert specified decimal integers into their hexadecimal  rep‐
7766       resentations.
7767
7768           [1mdec2oct:[0;0;0m
7769               decimal_int1,...
7770
7771               Convert specified decimal integers into their octal representa‐
7772       tions.
7773
7774           [1mfact:[0;0;0m
7775               value
7776
7777               Return the factorial of the specified value.
7778
7779           [1mfibonacci:[0;0;0m
7780               N>=0
7781
7782               Return the Nth number of the Fibonacci sequence.
7783
7784           [1mfile_mv:[0;0;0m
7785               filename_src,filename_dest
7786
7787               Rename or move a file from a location $1  to  another  location
7788       $2.
7789
7790           [1mfile_rand:[0;0;0m
7791
7792               Return a random filename for storing temporary data.
7793
7794           [1mfile_rm:[0;0;0m
7795               filename
7796
7797               Delete a file.
7798
7799           [1mfilename:[0;0;0m
7800               filename,_number1,_number2,...,_numberN
7801
7802               Return a filename numbered with specified indices.
7803
7804           [1mfiles (+):[0;0;0m
7805               _mode,path
7806
7807               Return the list of files and/or subfolders from specified path.
7808               'path' can be eventually a matching pattern.
7809               'mode' can be { 0=files only | 1=folders only | 2=files + fold‐
7810       ers }.
7811               Add '3' to 'mode' to return full  paths  instead  of  filenames
7812       only.
7813               Default value: 'mode=5'.
7814
7815           [1mfitratio_wh:[0;0;0m
7816               min_width,min_height,ratio_wh
7817
7818               Return   a   2D   size  'width,height'  which  is  bigger  than
7819       'min_width,min_height' and has the           specified w/h ratio.
7820
7821           [1mfitscreen:[0;0;0m
7822               width,height,_depth,_minimal_size[%],_maximal_size[%]
7823
7824               Return the 'ideal' size WxH for a window intended to display an
7825       image of specified size on screen.
7826               Default   values:   'depth=1',  'minimal_size=128'  and  'maxi‐
7827       mal_size=85%'.
7828
7829           [1mfontchart:[0;0;0m
7830
7831               Insert G'MIC font chart at the end of the image list.
7832
7833           [1mfps:[0;0;0m
7834
7835               Return the number of time this function is called  per  second,
7836       or -1 if this info is not yet           available.
7837               Useful to display the framerate when displaying animations.
7838
7839           [1mgcd:[0;0;0m
7840               a,b
7841
7842               Return the GCD (greatest common divisor) between a and b.
7843
7844           [1mhex:[0;0;0m
7845               hexadecimal_int1,...
7846
7847               Print  specified hexadecimal integers into their binary, octal,
7848       decimal and string           representations.
7849
7850           [1mhex2dec:[0;0;0m
7851               hexadecimal_int1,...
7852
7853               Convert specified hexadecimal integers into their decimal  rep‐
7854       resentations.
7855
7856           [1mhex2img:[0;0;0m
7857               "hexadecimal_string"
7858
7859               Insert  new image 1xN at the end of the list with values speci‐
7860       fied by the given           hexadecimal-encoded string.
7861
7862           [1mhex2str:[0;0;0m
7863               hexadecimal_string
7864
7865               Convert specified hexadecimal string into a string.
7866
7867           [1mimg2hex:[0;0;0m
7868
7869               Return representation of last image as  an  hexadecimal-encoded
7870       string.
7871               Input image must have values that are integers in [0,255].
7872
7873           [1mimg2str:[0;0;0m
7874
7875               Return  the  content  of the latest of the selected images as a
7876       special G'MIC input string.
7877
7878           [1mimg2text:[0;0;0m
7879               _line_separator
7880
7881               Return text contained in a multi-line image.
7882               Default value: 'line_separator= '.
7883
7884           [1mimg82hex:[0;0;0m
7885
7886               Convert selected 8bits-valued vectors  into  their  hexadecimal
7887       representations (ascii-encoded).
7888
7889           [1mhex2img8:[0;0;0m
7890
7891               Convert  selected  hexadecimal  representations (ascii-encoded)
7892       into 8bits-valued vectors.
7893
7894           [1mis_3d:[0;0;0m
7895
7896               Return 1 if all of the selected images are 3D objects, 0 other‐
7897       wise.
7898
7899           [1mis_ext:[0;0;0m
7900               filename,_extension
7901
7902               Return 1 if specified filename has a given extensioin.
7903
7904           [1mis_image_arg:[0;0;0m
7905               string
7906
7907               Return 1 if specified string looks like '[ind]'.
7908
7909           [1mis_pattern:[0;0;0m
7910               string
7911
7912               Return  1  if  specified  string  looks  like a drawing pattern
7913       '0x......'.
7914
7915           [1mis_percent:[0;0;0m
7916               string
7917
7918               Return 1 if specified string ends with a '%', 0 otherwise.
7919
7920           [1mis_videofilename:[0;0;0m
7921
7922               Return 1 if extension of specified  filename  is  typical  from
7923       video files.
7924
7925           [1mis_windows:[0;0;0m
7926
7927               Return 1 if current computer OS is Windows, 0 otherwise.
7928
7929           [1mmath_lib:[0;0;0m
7930
7931               Return  string  that defines a set of several useful macros for
7932       the embedded math evaluator.
7933
7934           [1mmad:[0;0;0m
7935
7936               Return  the  MAD  (Maximum  Absolute  Deviation)  of  the  last
7937       selected image.
7938               The MAD is defined as MAD = med_i|x_i-med_j(x_j)|
7939
7940           [1mmax_w:[0;0;0m
7941
7942               Return the maximal width between selected images.
7943
7944           [1mmax_h:[0;0;0m
7945
7946               Return the maximal height between selected images.
7947
7948           [1mmax_d:[0;0;0m
7949
7950               Return the maximal depth between selected images.
7951
7952           [1mmax_s:[0;0;0m
7953
7954               Return the maximal spectrum between selected images.
7955
7956           [1mmax_wh:[0;0;0m
7957
7958               Return the maximal wxh size of selected images.
7959
7960           [1mmax_whd:[0;0;0m
7961
7962               Return the maximal wxhxd size of selected images.
7963
7964           [1mmax_whds:[0;0;0m
7965
7966               Return the maximal wxhxdxs size of selected images.
7967
7968           [1mmed:[0;0;0m
7969
7970               Return the median value of the last selected image.
7971
7972           [1mmedian_color:[0;0;0m
7973
7974               Return the median color value of the last selected image.
7975
7976           [1mmin_w:[0;0;0m
7977
7978               Return the minimal width between selected images.
7979
7980           [1mmin_h:[0;0;0m
7981
7982               Return the minimal height between selected images.
7983
7984           [1mmin_d:[0;0;0m
7985
7986               Return the minimal depth between selected images.
7987
7988           [1mmin_s:[0;0;0m
7989
7990               Return the minimal s size of selected images.
7991
7992           [1mmin_wh:[0;0;0m
7993
7994               Return the minimal wxh size of selected images.
7995
7996           [1mmin_whd:[0;0;0m
7997
7998               Return the minimal wxhxd size of selected images.
7999
8000           [1mmin_whds:[0;0;0m
8001
8002               Return the minimal wxhxdxs size of selected images.
8003
8004           [1mnormalize_filename:[0;0;0m
8005               filename
8006
8007               Return  a "normalized" version of the specified filename, with‐
8008       out spaces and capital letters.
8009
8010           [1moct:[0;0;0m
8011               octal_int1,...
8012
8013               Print specified octal  integers  into  their  binary,  decimal,
8014       hexadecimal and string           representations.
8015
8016           [1moct2dec:[0;0;0m
8017               octal_int1,...
8018
8019               Convert specified octal integers into their decimal representa‐
8020       tions.
8021
8022           [1mpadint:[0;0;0m
8023               number,_size>0
8024
8025               Return a integer with  'size'  digits  (eventually  left-padded
8026       with '0').
8027
8028           [1mpath_cache:[0;0;0m
8029
8030               Return  a  path  to  store G'MIC data files for one user (whose
8031       value is OS-dependent).
8032
8033           [1mpath_gimp:[0;0;0m
8034
8035               Return a path to store GIMP configuration files  for  one  user
8036       (whose value is OS-dependent).
8037
8038           [1mpath_tmp:[0;0;0m
8039
8040               Return  a  path  to  store  temporary files (whose value is OS-
8041       dependent).
8042
8043           [1mreset:[0;0;0m
8044
8045               Reset global parameters of the interpreter environment.
8046
8047           [1mRGB:[0;0;0m
8048
8049               Return a random int-valued RGB color.
8050
8051           [1mRGBA:[0;0;0m
8052
8053               Return a random int-valued RGBA color.
8054
8055           [1mstd_noise:[0;0;0m
8056
8057               Return the estimated  noise  standard  deviation  of  the  last
8058       selected image.
8059
8060           [1mstr:[0;0;0m
8061               string
8062
8063               Print  specified  string  into  its  binary, octal, decimal and
8064       hexadecimal representations.
8065
8066           [1mstr2hex:[0;0;0m
8067               string
8068
8069               Convert specified string into a sequence of hexadecimal values.
8070
8071           [1mstrcontains:[0;0;0m
8072               string1,string2
8073
8074               Return 1 if the first string contains the second one.
8075
8076           [1mstrlen:[0;0;0m
8077               string1
8078
8079               Return the length of specified string argument.
8080
8081           [1mstrreplace:[0;0;0m
8082               string,search,replace
8083
8084               Search and replace substrings in an input string.
8085
8086           [1mstrlowercase:[0;0;0m
8087               string
8088
8089               Return a lower-case version of the specified string.
8090
8091           [1mstrvar:[0;0;0m
8092               string
8093
8094               Return a simplified version of the specified string,  that  can
8095       be used as a variable name.
8096
8097           [1mstrver:[0;0;0m
8098               _version
8099
8100               Return  the  specified version number of the G'MIC interpreter,
8101       as a string.
8102               Default value: 'version=$_version'.
8103
8104           [1mtic:[0;0;0m
8105
8106               Initialize tic-toc timer.
8107               Use it in conjunction with 'toc'.
8108
8109           [1mtoc:[0;0;0m
8110
8111               Display elapsed time of the tic-toc timer since the  last  call
8112       to 'tic'.
8113               This command returns the elapsed time in the status value.
8114               Use it in conjunction with 'tic'.
8115
8116           [1mto_clutname:[0;0;0m
8117               "string"
8118
8119               Return  simplified  name  that can be used as a CLUT name, from
8120       specified input string.
8121
8122           [1muchar2base64:[0;0;0m
8123               _encoding={ 0=base64 | 1=base64url }
8124
8125               Encode the values of the latest of the  selected  images  as  a
8126       base64-encoded string.
8127               The string can be decoded using command 'base642uchar'.
8128               Selected images must have values that are integers in [0,255].
8129               Default values: 'encoding=0'.
8130
8131           [1mimg2base64:[0;0;0m
8132               _encoding={ 0=base64 | 1=base64url }
8133
8134               Encode selected images as a base64-encoded string.
8135               The images can be then decoded using command 'base642img'.
8136               Default values: 'encoding=0'.
8137
8138           [1maverage_colors:[0;0;0m
8139
8140               Return  the  average vector-value of the latest of the selected
8141       images.
8142
8143           [1mcovariance_colors:[0;0;0m
8144               _avg_outvarname
8145
8146               Return the covariance matrix of the vector-valued colors in the
8147       latest  of the selected images           (for arbitrary number of chan‐
8148       nels).
8149               Parameter 'avg_outvarname' is used  as  a  variable  name  that
8150       takes the value of the average           vector-value.
8151
8152        [1m** Other Interactive Commands:[0;0;0m
8153
8154           [1mdemo:[0;0;0m
8155               _run_in_parallel={ 0=no | 1=yes | 2=auto }
8156
8157               Show a menu to select and view all G'MIC interactive demos.
8158
8159           [1mx_2048:[0;0;0m
8160
8161               Launch the 2048 game.
8162
8163           [1mx_blobs:[0;0;0m
8164
8165               Launch the blobs editor.
8166
8167           [1mx_bouncing:[0;0;0m
8168
8169               Launch the bouncing balls demo.
8170
8171           [1mx_color_curves:[0;0;0m
8172               _colorspace={  rgb | cmy | cmyk | hsi | hsl | hsv | lab | lch |
8173       ycbcr | last }
8174
8175               Apply color curves on selected RGB[A] images, using an interac‐
8176       tive window.
8177               Set  'colorspace'  to 'last' to apply last defined color curves
8178       without opening interactive windows.
8179               Default value: 'colorspace=rgb'.
8180
8181           [1mx_colorize:[0;0;0m
8182               _is_lineart={ 0 | 1 },_max_resolution={ 0 | >=128 },_multichan‐
8183       nels_output={ 0 |
8184                 1 },_[palette1],_[palette2],_[grabber1]
8185
8186               Colorized selected B&W images, using an interactive window.
8187               When  >0,  argument  'max_resolution' defines the maximal image
8188       resolution used in the interactive window.
8189               Default values: 'is_lineart=1', 'max_resolution=1024' and 'mul‐
8190       tichannels_output=0'.
8191
8192           [1mx_connect4:[0;0;0m
8193
8194               Launch the Connect Four game.
8195
8196           [1mx_fire:[0;0;0m
8197
8198               Launch the fire effect demo.
8199
8200           [1mx_fireworks:[0;0;0m
8201
8202               Launch the fireworks demo.
8203
8204           [1mx_fisheye:[0;0;0m
8205
8206               Launch the fish-eye effect demo.
8207
8208           [1mx_fourier:[0;0;0m
8209
8210               Launch the fourier filtering demo.
8211
8212           [1mx_grab_color:[0;0;0m
8213               _variable_name
8214
8215               Open a color grabber widget from the first selected image.
8216               Argument  'variable_name'  specifies the variable that contains
8217       the selected color values at any time.
8218               Assigning '-1' to it forces the interactive window to close.
8219               Default values: 'variable_name=xgc_variable'.
8220
8221           [1mx_hanoi:[0;0;0m
8222
8223               Launch the Tower of Hanoi game.
8224
8225           [1mx_histogram:[0;0;0m
8226
8227               Launch the histogram demo.
8228
8229           [1mx_hough:[0;0;0m
8230
8231               Launch the hough transform demo.
8232
8233           [1mx_jawbreaker:[0;0;0m
8234               0<_width<20,0<_height<20,0<_balls<=8
8235
8236               Launch the Jawbreaker game.
8237
8238           [1mx_landscape:[0;0;0m
8239
8240               Launch the virtual landscape demo.
8241
8242           [1mx_life:[0;0;0m
8243
8244               Launch the game of life.
8245
8246           [1mx_light:[0;0;0m
8247
8248               Launch the light effect demo.
8249
8250           [1mx_mandelbrot:[0;0;0m
8251               _julia={ 0 | 1 },_c0r,_c0i
8252
8253               Launch Mandelbrot/Julia explorer.
8254
8255           [1mx_mask_color:[0;0;0m
8256               _colorspace={ all | rgb | lrgb | ycbcr | lab | lch | hsv |  hsi
8257       | hsl | cmy |
8258                 cmyk | yiq },_spatial_tolerance>=0,_color_tolerance>=0
8259
8260               Interactively select a color, and add an alpha channel contain‐
8261       ing the corresponding color mask.
8262               Argument 'colorspace' refers to the color metric used  to  com‐
8263       pute  color similarities, and can be           basically one of { rgb |
8264       lrgb | ycbcr | lab | lch | hsv | hsi | hsl | cmy | cmyk | yiq }.
8265               You can also select one one particular  channel  of  this  col‐
8266       orspace,  by  setting  'colorspace'  as            'colorspace_channel'
8267       (e.g. 'hsv_h' for the hue).
8268               Default  values:  'colorspace=all',  'spatial_tolerance=5'  and
8269       'color_tolerance=5'.
8270
8271           [1mx_metaballs3d:[0;0;0m
8272
8273               Launch the 3D metaballs demo.
8274
8275           [1mx_minesweeper:[0;0;0m
8276               8<=_width=<20,8<=_height<=20
8277
8278               Launch the Minesweeper game.
8279
8280           [1mx_minimal_path:[0;0;0m
8281
8282               Launch the minimal path demo.
8283
8284           [1mx_morph:[0;0;0m
8285               _nb_frames>=2,_preview_fidelity={   0=coarsest   |  1=coarse  |
8286       2=normal | 3=fine |
8287                 4=finest }
8288
8289               Launch the interactive image morpher.
8290               Default values: 'nb_frames=16' and 'preview_fidelity=3'.
8291
8292           [1mx_pacman:[0;0;0m
8293
8294               Launch pacman game.
8295
8296           [1mx_paint:[0;0;0m
8297
8298               Launch the interactive painter.
8299
8300           [1mx_plasma:[0;0;0m
8301
8302               Launch the plasma effect demo.
8303
8304           [1mx_quantize_rgb:[0;0;0m
8305               _nbcolors>=2
8306
8307               Launch the RGB color quantization demo.
8308
8309           [1mx_reflection3d:[0;0;0m
8310
8311               Launch the 3D reflection demo.
8312
8313           [1mx_rubber3d:[0;0;0m
8314
8315               Launch the 3D rubber object demo.
8316
8317           [1mx_segment:[0;0;0m
8318               _max_resolution={ 0 | >=128 }
8319
8320               Segment foreground  from  background  in  selected  opaque  RGB
8321       images, interactively.
8322               Return RGBA images with binary alpha-channels.
8323               Default value: 'max_resolution=1024'.
8324
8325           [1mx_select_color:[0;0;0m
8326               _variable_name
8327
8328               Display a RGB or RGBA color selector.
8329               Argument  'variable_name'  specifies the variable that contains
8330       the selected color values (as R,G,          B,[A]) at any time.
8331               Its value specifies the initial selected color. Assigning  '-1'
8332       to it forces the interactive           window to close.
8333               Default value: 'variable_name=xsc_variable'.
8334
8335           [1mx_select_function1d:[0;0;0m
8336               _variable_name,_background_curve_R,_background_curve_G,_back‐
8337       ground_curve_B
8338
8339               Open an interactive window, where the user can defined its  own
8340       1D function.
8341               If  an  image  is  selected,  it  is used to display additional
8342       information :
8343               - The first row defines the values of a background  curve  dis‐
8344       played on the window (e.g. an           histogram).
8345               -  The  2nd, 3rd and 4th rows define the R,G,B color components
8346       displayed beside the X and Y axes.
8347               Argument 'variable_name' specifies the variable  that  contains
8348       the selected function keypoints           at any time.
8349               Assigning '-1' to it forces the interactive window to close.
8350               Default     values:     'variable_name=xsf_variable',    'back‐
8351       ground_curve_R=220',                          'background_curve_G=back‐
8352       ground_curve_B=background_curve_T'.
8353
8354           [1mx_select_palette:[0;0;0m
8355               _variable_name,_number_of_columns={ 0=auto | >0 }
8356
8357               Open a RGB or RGBA color selector widget from a palette.
8358               The palette is given as a selected image.
8359               Argument  'variable_name'  specifies the variable that contains
8360       the selected color values (as R,G,          B,[A]) at any time.
8361               Assigning '-1' to it forces the interactive window to close.
8362               Default   values:   'variable_name=xsp_variable'   and    'num‐
8363       ber_of_columns=2'.
8364
8365           [1mx_shadebobs:[0;0;0m
8366
8367               Launch the shade bobs demo.
8368
8369           [1mx_spline:[0;0;0m
8370
8371               Launch spline curve editor.
8372
8373           [1mx_starfield3d:[0;0;0m
8374
8375               Launch the 3D starfield demo.
8376
8377           [1mx_tetris:[0;0;0m
8378
8379               Launch tetris game.
8380
8381           [1mx_tictactoe:[0;0;0m
8382
8383               Launch tic-tac-toe game.
8384
8385           [1mx_warp:[0;0;0m
8386               _nb_keypoints_xgrid>=2,_nb_keypoints_ygrid>=2,_nb_key‐
8387       points_contours>=0,
8388                 _preview_fidelity={ 0=coarsest | 1=coarse | 2=normal | 3=fine
8389       | 4=finest }
8390
8391               Launch the interactive image warper.
8392               Default    values:   'nb_keypoints_xgrid=nb_keypoints_ygrid=2',
8393       'nb_keypoints_contours=0' and           'preview_fidelity=1'.
8394
8395           [1mx_waves:[0;0;0m
8396
8397               Launch the image waves demo.
8398
8399           [1mx_whirl:[0;0;0m
8400               _opacity>=0
8401
8402               Launch the fractal whirls demo.
8403               Default values: 'opacity=0.2'.
8404
8405
8406        [0;31;59m[1m**** Command shortcuts:[0;0;0m
8407
8408
8409           [0;35;59m[1m!=  (+):[0;0;0m eq. to '[0;32;59mneq[0;0;0m'.
8410           [0;35;59m[1m%  (+):[0;0;0m eq. to '[0;32;59mmod[0;0;0m'.
8411           [0;35;59m[1m&  (+):[0;0;0m eq. to '[0;32;59mand[0;0;0m'.
8412           [0;35;59m[1m*  (+):[0;0;0m eq. to '[0;32;59mmul[0;0;0m'.
8413           [0;35;59m[1m*3d  (+):[0;0;0m eq. to '[0;32;59mmul3d[0;0;0m'.
8414           [0;35;59m[1m+  (+):[0;0;0m eq. to '[0;32;59madd[0;0;0m'.
8415           [0;35;59m[1m+3d  (+):[0;0;0m eq. to '[0;32;59madd3d[0;0;0m'.
8416           [0;35;59m[1m-  (+):[0;0;0m eq. to '[0;32;59msub[0;0;0m'.
8417           [0;35;59m[1m-3d  (+):[0;0;0m eq. to '[0;32;59msub3d[0;0;0m'.
8418           [0;35;59m[1m/  (+):[0;0;0m eq. to '[0;32;59mdiv[0;0;0m'.
8419           [0;35;59m[1m/3d  (+):[0;0;0m eq. to '[0;32;59mdiv3d[0;0;0m'.
8420           [0;35;59m[1m<  (+):[0;0;0m eq. to '[0;32;59mlt[0;0;0m'.
8421           [0;35;59m[1m<<  (+):[0;0;0m eq. to '[0;32;59mbsl[0;0;0m'.
8422           [0;35;59m[1m<=  (+):[0;0;0m eq. to '[0;32;59mle[0;0;0m'.
8423           [0;35;59m[1m=  (+):[0;0;0m eq. to '[0;32;59mset[0;0;0m'.
8424           [0;35;59m[1m==  (+):[0;0;0m eq. to '[0;32;59meq[0;0;0m'.
8425           [0;35;59m[1m>  (+):[0;0;0m eq. to '[0;32;59mgt[0;0;0m'.
8426           [0;35;59m[1m>=  (+):[0;0;0m eq. to '[0;32;59mge[0;0;0m'.
8427           [0;35;59m[1m>>  (+):[0;0;0m eq. to '[0;32;59mbsr[0;0;0m'.
8428           [0;35;59m[1m^  (+):[0;0;0m eq. to '[0;32;59mpow[0;0;0m'.
8429           [0;35;59m[1ma  (+):[0;0;0m eq. to '[0;32;59mappend[0;0;0m'.
8430           [0;35;59m[1mac :[0;0;0m eq. to '[0;32;59mapply_channels[0;0;0m'.
8431           [0;35;59m[1map :[0;0;0m eq. to '[0;32;59mapply_parallel[0;0;0m'.
8432           [0;35;59m[1mapc  :[0;0;0m  eq.  to   '[0;32;59mapply_parallel_chan‐
8433       nels[0;0;0m'.
8434           [0;35;59m[1mapo   :[0;0;0m  eq.  to  '[0;32;59mapply_parallel_over‐
8435       lap[0;0;0m'.
8436           [0;35;59m[1mat :[0;0;0m eq. to '[0;32;59mapply_tiles[0;0;0m'.
8437           [0;35;59m[1mb  (+):[0;0;0m eq. to '[0;32;59mblur[0;0;0m'.
8438           [0;35;59m[1mc  (+):[0;0;0m eq. to '[0;32;59mcut[0;0;0m'.
8439           [0;35;59m[1mc3d :[0;0;0m eq. to '[0;32;59mcenter3d[0;0;0m'.
8440           [0;35;59m[1mcol3d  (+):[0;0;0m eq. to '[0;32;59mcolor3d[0;0;0m'.
8441           [0;35;59m[1md  (+):[0;0;0m eq. to '[0;32;59mdisplay[0;0;0m'.
8442           [0;35;59m[1md0 :[0;0;0m eq. to '[0;32;59mdisplay0[0;0;0m'.
8443           [0;35;59m[1md3d  (+):[0;0;0m eq. to '[0;32;59mdisplay3d[0;0;0m'.
8444           [0;35;59m[1mda :[0;0;0m eq. to '[0;32;59mdisplay_array[0;0;0m'.
8445           [0;35;59m[1mdb3d  (+):[0;0;0m eq. to '[0;32;59mdouble3d[0;0;0m'.
8446           [0;35;59m[1mdfft :[0;0;0m eq. to '[0;32;59mdisplay_fft[0;0;0m'.
8447           [0;35;59m[1mdg :[0;0;0m eq. to '[0;32;59mdisplay_graph[0;0;0m'.
8448           [0;35;59m[1mdh :[0;0;0m eq. to '[0;32;59mdisplay_histogram[0;0;0m'.
8449           [0;35;59m[1mdp :[0;0;0m eq. to '[0;32;59mdisplay_parallel[0;0;0m'.
8450           [0;35;59m[1mdp0   :[0;0;0m    eq.    to    '[0;32;59mdisplay_paral‐
8451       lel0[0;0;0m'.
8452           [0;35;59m[1mdq :[0;0;0m eq. to '[0;32;59mdisplay_quiver[0;0;0m'.
8453           [0;35;59m[1mdrgba :[0;0;0m eq. to '[0;32;59mdisplay_rgba[0;0;0m'.
8454           [0;35;59m[1mdt :[0;0;0m eq. to '[0;32;59mdisplay_tensors[0;0;0m'.
8455           [0;35;59m[1mdw :[0;0;0m eq. to '[0;32;59mdisplay_warp[0;0;0m'.
8456           [0;35;59m[1me  (+):[0;0;0m eq. to '[0;32;59mecho[0;0;0m'.
8457           [0;35;59m[1mendl  (+):[0;0;0m eq. to '[0;32;59mendlocal[0;0;0m'.
8458           [0;35;59m[1mf  (+):[0;0;0m eq. to '[0;32;59mfill[0;0;0m'.
8459           [0;35;59m[1mf3d  (+):[0;0;0m eq. to '[0;32;59mfocale3d[0;0;0m'.
8460           [0;35;59m[1mfc :[0;0;0m eq. to '[0;32;59mfill_color[0;0;0m'.
8461           [0;35;59m[1mfi  (+):[0;0;0m eq. to '[0;32;59mendif[0;0;0m'.
8462           [0;35;59m[1mframe :[0;0;0m eq. to '[0;32;59mframe_xy[0;0;0m'.
8463           [0;35;59m[1mg  (+):[0;0;0m eq. to '[0;32;59mgradient[0;0;0m'.
8464           [0;35;59m[1mh :[0;0;0m eq. to '[0;32;59mhelp[0;0;0m'.
8465           [0;35;59m[1mi  (+):[0;0;0m eq. to '[0;32;59minput[0;0;0m'.
8466           [0;35;59m[1mig :[0;0;0m eq. to '[0;32;59minput_glob[0;0;0m'.
8467           [0;35;59m[1mir :[0;0;0m eq. to '[0;32;59minrange[0;0;0m'.
8468           [0;35;59m[1mj  (+):[0;0;0m eq. to '[0;32;59mimage[0;0;0m'.
8469           [0;35;59m[1mj3d  (+):[0;0;0m eq. to '[0;32;59mobject3d[0;0;0m'.
8470           [0;35;59m[1mk  (+):[0;0;0m eq. to '[0;32;59mkeep[0;0;0m'.
8471           [0;35;59m[1ml  (+):[0;0;0m eq. to '[0;32;59mlocal[0;0;0m'.
8472           [0;35;59m[1ml3d  (+):[0;0;0m eq. to '[0;32;59mlight3d[0;0;0m'.
8473           [0;35;59m[1mm  (+):[0;0;0m eq. to '[0;32;59mcommand[0;0;0m'.
8474           [0;35;59m[1mm*  (+):[0;0;0m eq. to '[0;32;59mmmul[0;0;0m'.
8475           [0;35;59m[1mm/  (+):[0;0;0m eq. to '[0;32;59mmdiv[0;0;0m'.
8476           [0;35;59m[1mm3d  (+):[0;0;0m eq. to '[0;32;59mmode3d[0;0;0m'.
8477           [0;35;59m[1mmd3d  (+):[0;0;0m eq. to '[0;32;59mmoded3d[0;0;0m'.
8478           [0;35;59m[1mmv  (+):[0;0;0m eq. to '[0;32;59mmove[0;0;0m'.
8479           [0;35;59m[1mn  (+):[0;0;0m eq. to '[0;32;59mnormalize[0;0;0m'.
8480           [0;35;59m[1mn3d :[0;0;0m eq. to '[0;32;59mnormalize3d[0;0;0m'.
8481           [0;35;59m[1mnm  (+):[0;0;0m eq. to '[0;32;59mname[0;0;0m'.
8482           [0;35;59m[1mo  (+):[0;0;0m eq. to '[0;32;59moutput[0;0;0m'.
8483           [0;35;59m[1mo3d  (+):[0;0;0m eq. to '[0;32;59mopacity3d[0;0;0m'.
8484           [0;35;59m[1mon :[0;0;0m eq. to '[0;32;59moutputn[0;0;0m'.
8485           [0;35;59m[1mop :[0;0;0m eq. to '[0;32;59moutputp[0;0;0m'.
8486           [0;35;59m[1mow :[0;0;0m eq. to '[0;32;59moutputw[0;0;0m'.
8487           [0;35;59m[1mox :[0;0;0m eq. to '[0;32;59moutputx[0;0;0m'.
8488           [0;35;59m[1mp  (+):[0;0;0m eq. to '[0;32;59mprint[0;0;0m'.
8489           [0;35;59m[1mp3d  (+):[0;0;0m eq. to '[0;32;59mprimitives3d[0;0;0m'.
8490           [0;35;59m[1mq  (+):[0;0;0m eq. to '[0;32;59mquit[0;0;0m'.
8491           [0;35;59m[1mr  (+):[0;0;0m eq. to '[0;32;59mresize[0;0;0m'.
8492           [0;35;59m[1mr2dx :[0;0;0m eq. to '[0;32;59mresize2dx[0;0;0m'.
8493           [0;35;59m[1mr2dy :[0;0;0m eq. to '[0;32;59mresize2dy[0;0;0m'.
8494           [0;35;59m[1mr3d  (+):[0;0;0m eq. to '[0;32;59mrotate3d[0;0;0m'.
8495           [0;35;59m[1mr3dx :[0;0;0m eq. to '[0;32;59mresize3dx[0;0;0m'.
8496           [0;35;59m[1mr3dy :[0;0;0m eq. to '[0;32;59mresize3dy[0;0;0m'.
8497           [0;35;59m[1mr3dz :[0;0;0m eq. to '[0;32;59mresize3dz[0;0;0m'.
8498           [0;35;59m[1mrm  (+):[0;0;0m eq. to '[0;32;59mremove[0;0;0m'.
8499           [0;35;59m[1mrmn :[0;0;0m eq. to '[0;32;59mremove_named[0;0;0m'.
8500           [0;35;59m[1mrr2d :[0;0;0m eq. to '[0;32;59mresize_ratio2d[0;0;0m'.
8501           [0;35;59m[1mrv  (+):[0;0;0m eq. to '[0;32;59mreverse[0;0;0m'.
8502           [0;35;59m[1mrv3d  (+):[0;0;0m eq. to '[0;32;59mreverse3d[0;0;0m'.
8503           [0;35;59m[1ms  (+):[0;0;0m eq. to '[0;32;59msplit[0;0;0m'.
8504           [0;35;59m[1ms3d  (+):[0;0;0m eq. to '[0;32;59msplit3d[0;0;0m'.
8505           [0;35;59m[1msh  (+):[0;0;0m eq. to '[0;32;59mshared[0;0;0m'.
8506           [0;35;59m[1msl3d  (+):[0;0;0m eq. to '[0;32;59mspecl3d[0;0;0m'.
8507           [0;35;59m[1msp :[0;0;0m eq. to '[0;32;59msample[0;0;0m'.
8508           [0;35;59m[1mss3d  (+):[0;0;0m eq. to '[0;32;59mspecs3d[0;0;0m'.
8509           [0;35;59m[1mt  (+):[0;0;0m eq. to '[0;32;59mtext[0;0;0m'.
8510           [0;35;59m[1mt3d :[0;0;0m eq. to '[0;32;59mtexturize3d[0;0;0m'.
8511           [0;35;59m[1mto :[0;0;0m eq. to '[0;32;59mtext_outline[0;0;0m'.
8512           [0;35;59m[1mu  (+):[0;0;0m eq. to '[0;32;59mstatus[0;0;0m'.
8513           [0;35;59m[1mup :[0;0;0m eq. to '[0;32;59mupdate[0;0;0m'.
8514           [0;35;59m[1mv  (+):[0;0;0m eq. to '[0;32;59mverbose[0;0;0m'.
8515           [0;35;59m[1mw  (+):[0;0;0m eq. to '[0;32;59mwindow[0;0;0m'.
8516           [0;35;59m[1mx  (+):[0;0;0m eq. to '[0;32;59mexec[0;0;0m'.
8517           [0;35;59m[1my  (+):[0;0;0m eq. to '[0;32;59munroll[0;0;0m'.
8518           [0;35;59m[1mz  (+):[0;0;0m eq. to '[0;32;59mcrop[0;0;0m'.
8519           [0;35;59m[1m|  (+):[0;0;0m eq. to '[0;32;59mor[0;0;0m'.
8520
8521          [0;36;59m[ Total number of commands: 989 ][0;0;0m
8522
8523        13. Examples of use
8524            ---------------
8525
8526        '[0;32;59mgmic[0;0;0m' is a generic image processing tool which can be
8527       used in a wide variety of situations.
8528        The few examples below illustrate possible uses of this tool:
8529
8530         - View a list of images:
8531            [0;36;59mgmic file1.bmp file2.jpeg[0;0;0m
8532
8533         - Convert an image file:
8534            [0;36;59mgmic input.bmp output output.jpg[0;0;0m
8535
8536         - Create a volumetric image from a movie sequence:
8537            [0;36;59mgmic input.mpg append z output output.hdr[0;0;0m
8538
8539         - Compute image gradient norm:
8540            [0;36;59mgmic input.bmp gradient_norm[0;0;0m
8541
8542         - Denoise a color image:
8543            [0;36;59mgmic image.jpg denoise 30,10 output denoised.jpg[0;0;0m
8544
8545         - Compose two images using overlay layer blending:
8546            [0;36;59mgmic   image1.jpg   image2.jpg   blend   overlay   output
8547       blended.jpg[0;0;0m
8548
8549         - Evaluate a mathematical expression:
8550            [0;36;59mgmic                                                 echo
8551       "cos(pi/4)^2+sin(pi/4)^2={cos(pi/4)^2+sin(pi/4)^2}"[0;0;0m
8552
8553         - Plot a 2D function:
8554            [0;36;59mgmic                   1000,1,1,2                    fill
8555       "X=3*(x-500)/500;X^2*sin(3*X^2)+if(c==0,u(0,-1),cos(X*10))" plot[0;0;0m
8556
8557         - Plot a 3D elevated function in random colors:
8558            [0;36;59mgmic  128,128,1,3,"u(0,255)"  plasma  10,3 blur 4 sharpen
8559       10000 \
8560             elevation3d[-1]
8561       "'X=(x-64)/6;Y=(y-64)/6;100*exp(-(X^2+Y^2)/30)*abs(cos(X)*sin(Y))'"[0;0;0m
8562
8563         - Plot the isosurface of a 3D volume:
8564            [0;36;59mgmic  mode3d  5  moded3d  5   double3d   0   isosurface3d
8565       "'x^2+y^2+abs(z)^abs(4*cos(x*y*z*3))'",3[0;0;0m
8566
8567         - Render a [0;32;59mG'MIC[0;0;0m 3D logo:
8568            [0;36;59mgmic  0  text G\'MIC,0,0,53,1,1,1,1 expand_xy 10,0 blur 1
8569       normalize 0,100 +plasma 0.4 add \
8570             blur 1 elevation3d -0.1 moded3d 4[0;0;0m
8571
8572         - Generate a 3D ring of torii:
8573            [0;36;59mgmic    repeat    20     torus3d     15,2     color3d[-1]
8574       "{u(60,255)},{u(60,255)},{u(60,255)}" \
8575             *3d[-1]  0.5,1  if "{$>%2}" rotate3d[-1] 0,1,0,90 fi add3d[-1] 70
8576       add3d \
8577             rotate3d 0,0,1,18 done moded3d 3 mode3d 5 double3d 0[0;0;0m
8578
8579         - Create a vase from a 3D isosurface:
8580            [0;36;59mgmic           moded3d           4           isosurface3d
8581       "'x^2+2*abs(y/2)*sin(2*y)^2+z^2-3',0" sphere3d 1.5 \
8582             sub3d[-1]  0,5  plane3d  15,15 rotate3d[-1] 1,0,0,90 center3d[-1]
8583       add3d[-1] 0,3.2 \
8584             color3d[-1]   180,150,255   color3d[-2]   128,255,0   color3d[-3]
8585       255,128,0 add3d[0;0;0m
8586
8587         - Display filtered webcam stream:
8588            [0;36;59mgmic   apply_camera   \"+mirror   x  +mirror  y  add  div
8589       4\"[0;0;0m
8590
8591         - Launch a set of [0;32;59mG'MIC[0;0;0m interactive demos:
8592            [0;36;59mgmic demo[0;0;0m
8593
8594        [0;31;59m[1m** G'MIC comes with ABSOLUTELY NO  WARRANTY;  for  details
8595       visit: https://gmic.eu **[0;0;0m
8596
8597
8598
8599                                                                      G'MIC(1)
Impressum