if ((traits == UndefinedPixelTrait) ||
(noise_traits == UndefinedPixelTrait))
continue;
- if ((noise_traits & CopyPixelTrait) != 0)
+ if ((noise_traits & CopyPixelTrait) != 0)
{
SetPixelChannel(noise_image,channel,p[i],q);
continue;
case 'G':
case 'g':
{
+ if (LocaleNCompare(expression,"gauss",5) == 0)
+ {
+ alpha=FxEvaluateSubexpression(fx_info,channel,x,y,expression+5,beta,
+ exception);
+ gamma=exp((double) (-alpha*alpha/2.0))/sqrt(2.0*MagickPI);
+ return((MagickRealType) gamma);
+ }
if (LocaleCompare(expression,"g") == 0)
return(FxGetSymbol(fx_info,channel,x,y,expression,exception));
break;
exception);
return((MagickRealType) sqrt((double) alpha));
}
+ if (LocaleNCompare(expression,"squish",6) == 0)
+ {
+ alpha=FxEvaluateSubexpression(fx_info,channel,x,y,expression+6,beta,
+ exception);
+ return((MagickRealType) (1.0/(1.0+exp((double) (4.0*alpha)))));
+ }
if (LocaleCompare(expression,"s") == 0)
return(FxGetSymbol(fx_info,channel,x,y,expression,exception));
break;
case 'W':
case 'w':
{
+ if (LocaleNCompare(expression,"while",5) == 0)
+ {
+ do
+ {
+ alpha=FxEvaluateSubexpression(fx_info,channel,x,y,expression+5,beta,
+ exception);
+ } while (fabs((double) alpha) >= MagickEpsilon);
+ return((MagickRealType) *beta);
+ }
if (LocaleCompare(expression,"w") == 0)
return(FxGetSymbol(fx_info,channel,x,y,expression,exception));
break;