|
|
|
@ -668,10 +668,11 @@ reference : skip "${2=}"
|
|
|
|
|
"'abs()', 'acos()', 'acosh()', 'arg()', 'arg0()', 'argkth()', 'argmax()', 'argmaxabs()', "\
|
|
|
|
|
"'argmin()', 'argminabs()', 'asin()', 'asinh()', 'atan()', 'atan2()', 'atanh()', 'avg()', 'bool()', 'cbrt()', "\
|
|
|
|
|
"'ceil()', 'cos()', 'cosh()', 'cut()', 'deg2rad()', 'erf()', 'erfinv()', 'exp()', 'fact()', 'fibo()', 'floor()', "\
|
|
|
|
|
"'gauss()', 'gcd()', 'int()', 'isnan()', 'isnum()', 'isinf()', 'isint()', 'isbool()', 'isexpr()', 'isfile()', "\
|
|
|
|
|
"'isdir()', 'isin()', 'kth()', 'log()', 'log2()', 'log10()', 'max()', 'maxabs()', 'med()', 'min()', 'minabs()', "\
|
|
|
|
|
"'narg()', 'prod()', 'rad2deg()', 'rol()' (left bit rotation), 'ror()' (right bit rotation), 'round()', 'sign()', "\
|
|
|
|
|
"'sin()', 'sinc()', 'sinh()', 'sqrt()', 'std()', 'srand(_seed)', 'sum()', 'tan()', 'tanh()', 'var()', 'xor()'."\n\
|
|
|
|
|
"'gamma()', 'gauss()', 'gcd()', 'int()', 'isnan()', 'isnum()', 'isinf()', 'isint()', 'isbool()', 'isexpr()', "\
|
|
|
|
|
"'isfile()', 'isdir()', 'isin()', 'kth()', 'log()', 'log2()', 'log10()', 'max()', 'maxabs()', 'med()', 'min()', "\
|
|
|
|
|
"'minabs()', 'narg()', 'prod()', 'rad2deg()', 'rol()' (left bit rotation), 'ror()' (right bit rotation), 'round()', "\
|
|
|
|
|
"'sign()', 'sin()', 'sinc()', 'sinh()', 'sqrt()', 'std()', 'srand(_seed)', 'sum()', 'tan()', 'tanh()', 'var()', "\
|
|
|
|
|
"'xor()'."\n\
|
|
|
|
|
\n\
|
|
|
|
|
"* 'cov(A,B,_avgA,_avgB)' estimates the covariance between vectors 'A' and 'B' (estimated averages of these vectors "\
|
|
|
|
|
"may be specified as arguments)."\n\
|
|
|
|
@ -5124,7 +5125,7 @@ parse_cli_images :
|
|
|
|
|
reset etime=$|
|
|
|
|
|
run_example
|
|
|
|
|
etime="done in "$_vt100_n{_round($|-$etime,0.01)}"s"$_vt100_m
|
|
|
|
|
_parse_cli_images
|
|
|
|
|
_parse_cli_images 1
|
|
|
|
|
if $!
|
|
|
|
|
if $!>1 repeat $! { o[$>] ${_parse_cli_images_path}f$>_$basename,85 }
|
|
|
|
|
else o ${_parse_cli_images_path}f_$basename,85 fi
|
|
|
|
@ -5155,7 +5156,8 @@ parse_cli_images :
|
|
|
|
|
rm
|
|
|
|
|
|
|
|
|
|
# Generate a single image from a list of images, for the reference documentation.
|
|
|
|
|
_parse_cli_images :
|
|
|
|
|
# $1 : boolean that tells if the image name is inserted at the botton of the generated image.
|
|
|
|
|
_parse_cli_images : check "isbool(${1=1})"
|
|
|
|
|
if !$! rm return fi
|
|
|
|
|
W,H=640,480
|
|
|
|
|
|
|
|
|
@ -5166,7 +5168,7 @@ _parse_cli_images :
|
|
|
|
|
r3d 1,1,0,-80 r3d 0,1,0,80 snapshot3d {max($W,$H)}
|
|
|
|
|
else # Regular 1D,2D or 3D image
|
|
|
|
|
label2="("{w}x{h}x{d}x{s}")"
|
|
|
|
|
r 100%,100%,100%,3,{s==1?1:0}
|
|
|
|
|
r 100%,100%,100%,{max(s,3)},{s==1?1:0}
|
|
|
|
|
if d>1 # Volumetric image -> Render as a 2D image
|
|
|
|
|
+slices 50%
|
|
|
|
|
+z[0] 50%,0,0,50%,100%,100% permute. zyxc
|
|
|
|
@ -5192,24 +5194,24 @@ _parse_cli_images :
|
|
|
|
|
a[0,1] x a[1,2] x a y
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if w>5*h r $W,{$H/3},1,100%,1
|
|
|
|
|
elif h>5*w r {$W/3},$H,1,100%,1
|
|
|
|
|
else rr2d $W,$H,0,{w<$W&&h<$H?1:2}
|
|
|
|
|
fi
|
|
|
|
|
n 0,255
|
|
|
|
|
|
|
|
|
|
r {[w,h]+2},1,100%,0,0,0.5,0.5
|
|
|
|
|
- 245 r {[w+10,h+5]},1,100%,0,0,0.5,0.5 r 100%,{h+1},1,100%,0,0,0,1 + 245
|
|
|
|
|
|
|
|
|
|
0 t. $label" "$label2,5,0,32,1,1
|
|
|
|
|
if w>w#0" || "h>h#0
|
|
|
|
|
rm. 0 t. $label\n$label2,5,0,32,1,1
|
|
|
|
|
if w>w#0" || "h>h#0 rr2d. {0,[w,h]},0,2 fi
|
|
|
|
|
if $1 # Insert label at bottom
|
|
|
|
|
if s>3 drgba fi
|
|
|
|
|
r {[w,h]+2},1,100%,0,0,0.5,0.5
|
|
|
|
|
- 245 r {[w+10,h+5]},1,100%,0,0,0.5,0.5 r 100%,{h+1},1,100%,0,0,0,1 + 245
|
|
|
|
|
0 t. $label" "$label2,5,0,32,1,1
|
|
|
|
|
if w>w#0" || "h>h#0
|
|
|
|
|
rm. 0 t. $label\n$label2,5,0,32,1,1
|
|
|
|
|
if w>w#0" || "h>h#0 rr2d. {0,[w,h]},0,2 fi
|
|
|
|
|
fi
|
|
|
|
|
*. -1 n. 0,255 to_rgb.
|
|
|
|
|
- 245 a y,0.5 + 245
|
|
|
|
|
fi
|
|
|
|
|
*. -1 n. 0,255 to_rgb.
|
|
|
|
|
- 245 a y,0.5 + 245
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
c 0,255
|
|
|
|
|
|
|
|
|
@ -8290,7 +8292,7 @@ update_deprecate : check "isint($1) && $1>0 && $1<999"
|
|
|
|
|
|
|
|
|
|
# update_download_version.
|
|
|
|
|
# Update file versions on G'MIC download page, with specified version number.
|
|
|
|
|
# $1 = version number (e.g. '3.2.4').
|
|
|
|
|
# $1 = version number (e.g. '3.2.5').
|
|
|
|
|
update_download_version : check "
|
|
|
|
|
is_digit(c)=(c>=_'0' && c<=_'9');
|
|
|
|
|
ver = ['${1=undefined}'];
|
|
|
|
@ -9993,7 +9995,7 @@ upload_filters :
|
|
|
|
|
x "cd "$HOME"/work/src/gmic-community && git pull"
|
|
|
|
|
|
|
|
|
|
# Define the list of compatible versions.
|
|
|
|
|
(320,321,322,323,324,$_version) sort. discard. store. compat
|
|
|
|
|
(320,321,322,323,324,325,$_version) sort. discard. store. compat
|
|
|
|
|
|
|
|
|
|
# Import filters from stdlib and community.
|
|
|
|
|
files $HOME/work/src/gmic-community/include/*.gmic
|
|
|
|
@ -19295,7 +19297,7 @@ slic : check "${1=16}>0 && ${2=10}>=0 && ${3=10}>0"
|
|
|
|
|
for (y = y0, y<=y1, ++y,
|
|
|
|
|
for (x = x0, x<=x1, ++x,
|
|
|
|
|
delta_c = norm(I(#0,x,y) - Ik);
|
|
|
|
|
delta_s = norm(x - xk, y - yk);
|
|
|
|
|
delta_s = norm([x - xk, y - yk]);
|
|
|
|
|
delta = delta_c + m/S*delta_s;
|
|
|
|
|
if (delta<i(#-1,x,y,0,1),
|
|
|
|
|
I(#-1,x,y) = [ k,delta ];
|
|
|
|
@ -39471,7 +39473,7 @@ fx_gmicky_preview :
|
|
|
|
|
#@gui : from the server logs: <i>IP address of the client; date and time of the request;</i>
|
|
|
|
|
#@gui : as well as a short string, supplied through the HTTP protocol <i>"User Agent"</i> header
|
|
|
|
|
#@gui : field, which describes the full plugin version as shown in the window title
|
|
|
|
|
#@gui : (e.g. "<i>G'MIC-Qt for GIMP 2.10 - Linux 64 bits - 3.2.4</i>").\n\n
|
|
|
|
|
#@gui : (e.g. "<i>G'MIC-Qt for GIMP 2.10 - Linux 64 bits - 3.2.5</i>").\n\n
|
|
|
|
|
#@gui : Note that this information may solely be used for purely anonymous
|
|
|
|
|
#@gui : statistical purposes.
|
|
|
|
|
#@gui : "}
|
|
|
|
@ -39499,7 +39501,7 @@ fx_gmicky_preview :
|
|
|
|
|
#@gui : - <b>2022/04/06</b> : version <i>3.1.0</i>.\n
|
|
|
|
|
#@gui : - <b>2023/01/16</b> : version <i>3.2.0</i>.\n
|
|
|
|
|
#@gui : - <span foreground="purple"><b>2023/04/28</b> : version <i>3.2.4</i> (Current stable).</span>\n
|
|
|
|
|
##@gui : - <b>2023/04/11</b> : version <i>3.2.5_pre</i> (Current pre-release).\n
|
|
|
|
|
#@gui : - <b>2023/05/18</b> : version <i>3.2.5_pre</i> (Current pre-release).\n
|
|
|
|
|
#@gui : "}
|
|
|
|
|
#@gui : sep = separator()
|
|
|
|
|
#@gui : url = link{"View changelog to upcoming minor version (3.3)","https://discuss.pixls.us/t/on-the-road-to-3-3"}
|
|
|
|
|