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