From ab1250c6af490755a97f6aa46e475147719c5e91 Mon Sep 17 00:00:00 2001 From: nicolas Date: Mon, 10 Sep 2012 18:36:27 +0000 Subject: [PATCH] --- MagickCore/enhance.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c index b20883561..1467a40f8 100644 --- a/MagickCore/enhance.c +++ b/MagickCore/enhance.c @@ -3345,10 +3345,10 @@ MagickExport MagickBooleanType SigmoidalContrastImage(Image *image, See http://osdir.com/ml/video.image-magick.devel/2005-04/msg00006.html and http://www.cs.dartmouth.edu/farid/downloads/tutorials/fip.pdf. The limit of ScaledSigmoidal as a->0 is the identity, but a=0 gives a - division by zero. This is fixed below by hardwiring the identity when a - is small. This would appear to be safe because the series expansion of - the logistic sigmoidal function around x=b is 1/2-a*(b-x)/4+... so that - s(1)-s(0) is about a/4. (With tanh, it's a/2.) + division by zero. This is fixed above by exiting immediately when + contrast is small. This would appear to be safe because the series + expansion of the logistic sigmoidal function around x=b is + 1/2-a*(b-x)/4+... so that s(1)-s(0) is about a/4. (With tanh, it's a/2.) */ #define ScaledSigmoidal(a,b,x) ( \ (Sigmoidal((a),(b),(x))-Sigmoidal((a),(b),0.0)) \ @@ -3363,7 +3363,7 @@ MagickExport MagickBooleanType SigmoidalContrastImage(Image *image, #else #define InverseScaledSigmoidal(a,b,x) ( (b) + (-1.0/(a)) * log( 1.0 / \ ((Sigmoidal((a),(b),1.0)-Sigmoidal((a),(b),0.0))*(x)+Sigmoidal((a),(b),0.0)) \ - -1.0 ) ) + + -1.0 ) ) #endif /* Convenience macros. No clamping needed at the end because of monotonicity. -- 2.40.0