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