% December 1998 %
% %
% %
-% Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization %
+% Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
status=MagickTrue;
image_view=AcquireCacheView(image);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp parallel for schedule(dynamic,4) shared(status)
+ #pragma omp parallel for schedule(static,4) shared(status)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
break;
brightness_mean=brightness_sum_x/area;
(void) FormatLocaleString(text,MaxTextExtent,"%g",brightness_mean);
- (void) SetImageProperty(image,"filter:brightness:mean",text);
+ (void) SetImageProperty(image,"filter:brightness:mean",text,
+ exception);
brightness_standard_deviation=sqrt(brightness_sum_x2/area-(brightness_sum_x/
area*brightness_sum_x/area));
(void) FormatLocaleString(text,MaxTextExtent,"%g",
brightness_standard_deviation);
- (void) SetImageProperty(image,"filter:brightness:standard-deviation",text);
- if (brightness_standard_deviation != 0)
+ (void) SetImageProperty(image,"filter:brightness:standard-deviation",text,
+ exception);
+ if (fabs(brightness_standard_deviation) >= MagickEpsilon)
brightness_kurtosis=(brightness_sum_x4/area-4.0*brightness_mean*
brightness_sum_x3/area+6.0*brightness_mean*brightness_mean*
brightness_sum_x2/area-3.0*brightness_mean*brightness_mean*
brightness_standard_deviation*brightness_standard_deviation*
brightness_standard_deviation)-3.0;
(void) FormatLocaleString(text,MaxTextExtent,"%g",brightness_kurtosis);
- (void) SetImageProperty(image,"filter:brightness:kurtosis",text);
+ (void) SetImageProperty(image,"filter:brightness:kurtosis",text,
+ exception);
if (brightness_standard_deviation != 0)
brightness_skewness=(brightness_sum_x3/area-3.0*brightness_mean*
brightness_sum_x2/area+2.0*brightness_mean*brightness_mean*
brightness_mean)/(brightness_standard_deviation*
brightness_standard_deviation*brightness_standard_deviation);
(void) FormatLocaleString(text,MaxTextExtent,"%g",brightness_skewness);
- (void) SetImageProperty(image,"filter:brightness:skewness",text);
+ (void) SetImageProperty(image,"filter:brightness:skewness",text,
+ exception);
saturation_mean=saturation_sum_x/area;
(void) FormatLocaleString(text,MaxTextExtent,"%g",saturation_mean);
- (void) SetImageProperty(image,"filter:saturation:mean",text);
+ (void) SetImageProperty(image,"filter:saturation:mean",text,
+ exception);
saturation_standard_deviation=sqrt(saturation_sum_x2/area-(saturation_sum_x/
area*saturation_sum_x/area));
(void) FormatLocaleString(text,MaxTextExtent,"%g",
saturation_standard_deviation);
- (void) SetImageProperty(image,"filter:saturation:standard-deviation",text);
- if (saturation_standard_deviation != 0)
+ (void) SetImageProperty(image,"filter:saturation:standard-deviation",text,
+ exception);
+ if (fabs(saturation_standard_deviation) >= MagickEpsilon)
saturation_kurtosis=(saturation_sum_x4/area-4.0*saturation_mean*
saturation_sum_x3/area+6.0*saturation_mean*saturation_mean*
saturation_sum_x2/area-3.0*saturation_mean*saturation_mean*
saturation_standard_deviation*saturation_standard_deviation*
saturation_standard_deviation)-3.0;
(void) FormatLocaleString(text,MaxTextExtent,"%g",saturation_kurtosis);
- (void) SetImageProperty(image,"filter:saturation:kurtosis",text);
- if (saturation_standard_deviation != 0)
+ (void) SetImageProperty(image,"filter:saturation:kurtosis",text,
+ exception);
+ if (fabs(saturation_standard_deviation) >= MagickEpsilon)
saturation_skewness=(saturation_sum_x3/area-3.0*saturation_mean*
saturation_sum_x2/area+2.0*saturation_mean*saturation_mean*
saturation_mean)/(saturation_standard_deviation*
saturation_standard_deviation*saturation_standard_deviation);
(void) FormatLocaleString(text,MaxTextExtent,"%g",saturation_skewness);
- (void) SetImageProperty(image,"filter:saturation:skewness",text);
+ (void) SetImageProperty(image,"filter:saturation:skewness",text,
+ exception);
}
return(MagickImageFilterSignature);
}