diff --git a/MagickCore/channel.c b/MagickCore/channel.c
index ff27d14..8623ef6 100644
--- a/MagickCore/channel.c
+++ b/MagickCore/channel.c
@@ -345,7 +345,7 @@
return(destination_image);
}
destination_channel=(PixelChannel) i;
- channel_mask|=ParseChannelOption(token);
+ channel_mask=(ChannelType) (channel_mask | ParseChannelOption(token));
if (LocaleCompare(token,"gray") == 0)
(void) SetImageColorspace(destination_image,GRAYColorspace,exception);
if ((LocaleCompare(token,"black") == 0) ||
@@ -395,8 +395,8 @@
{
case ExtractChannelOp:
{
- channel_mask|=(1 << destination_channel);
- destination_channel++;
+ channel_mask=(ChannelType) (channel_mask | (1 << destination_channel));
+ destination_channel=(PixelChannel) (destination_channel+1);
break;
}
default:
diff --git a/MagickCore/composite.c b/MagickCore/composite.c
index a0dda1b..59a36e6 100644
--- a/MagickCore/composite.c
+++ b/MagickCore/composite.c
@@ -807,7 +807,7 @@
Blur Image by resampling.
*/
resample_filter=AcquireResampleFilter(image,exception);
- SetResampleFilter(resample_filter,CubicFilter,2.0);
+ SetResampleFilter(resample_filter,CubicFilter);
destination_view=AcquireCacheView(destination_image);
composite_view=AcquireCacheView(composite_image);
for (y=0; y < (ssize_t) composite_image->rows; y++)
diff --git a/MagickCore/constitute.c b/MagickCore/constitute.c
index de91c58..2048798 100644
--- a/MagickCore/constitute.c
+++ b/MagickCore/constitute.c
@@ -748,7 +748,7 @@
flags=ParseRegionGeometry(next,read_info->extract,&geometry,
exception);
size_image=ResizeImage(next,geometry.width,geometry.height,
- next->filter,next->blur,exception);
+ next->filter,exception);
if (size_image != (Image *) NULL)
ReplaceImageInList(&next,size_image);
}
diff --git a/MagickCore/display.c b/MagickCore/display.c
index 4a75b70..5e8b021 100644
--- a/MagickCore/display.c
+++ b/MagickCore/display.c
@@ -4297,8 +4297,7 @@
Scale composite image.
*/
resize_image=ResizeImage(composite_image,composite_info.width,
- composite_info.height,composite_image->filter,composite_image->blur,
- exception);
+ composite_info.height,composite_image->filter,exception);
composite_image=DestroyImage(composite_image);
if (resize_image == (Image *) NULL)
{
@@ -8236,7 +8235,7 @@
XCheckRefreshWindows(display,windows);
flags=ParseGeometry(radius,&geometry_info);
sharp_image=SharpenImage(*image,geometry_info.rho,geometry_info.sigma,
- geometry_info.xi,exception);
+ exception);
if (sharp_image != (Image *) NULL)
{
*image=DestroyImage(*image);
@@ -8272,7 +8271,7 @@
XCheckRefreshWindows(display,windows);
flags=ParseGeometry(radius,&geometry_info);
blur_image=BlurImage(*image,geometry_info.rho,geometry_info.sigma,
- geometry_info.xi,exception);
+ exception);
if (blur_image != (Image *) NULL)
{
*image=DestroyImage(*image);
@@ -8651,9 +8650,9 @@
geometry_info.xi=0.1*(*image)->columns;
if ((flags & PsiValue) == 0)
geometry_info.psi=0.1*(*image)->rows;
- vignette_image=VignetteImage(*image,geometry_info.rho,geometry_info.sigma,
- 0.0,(ssize_t) ceil(geometry_info.xi-0.5),(ssize_t)
- ceil(geometry_info.psi-0.5),exception);
+ vignette_image=VignetteImage(*image,geometry_info.rho,0.0,(ssize_t)
+ ceil(geometry_info.xi-0.5),(ssize_t) ceil(geometry_info.psi-0.5),
+ exception);
if (vignette_image != (Image *) NULL)
{
*image=DestroyImage(*image);
@@ -8767,7 +8766,7 @@
if ((flags & SigmaValue) == 0)
geometry_info.sigma=geometry_info.rho;
charcoal_image=CharcoalImage(*image,geometry_info.rho,geometry_info.sigma,
- geometry_info.xi,exception);
+ exception);
if (charcoal_image != (Image *) NULL)
{
*image=DestroyImage(*image);
diff --git a/MagickCore/effect.c b/MagickCore/effect.c
index 9cdc3d0..ba9c801 100644
--- a/MagickCore/effect.c
+++ b/MagickCore/effect.c
@@ -108,7 +108,7 @@
% The format of the AdaptiveBlurImage method is:
%
% Image *AdaptiveBlurImage(const Image *image,const double radius,
-% const double sigma,const double bias,ExceptionInfo *exception)
+% const double sigma,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -119,8 +119,6 @@
%
% o sigma: the standard deviation of the Laplacian, in pixels.
%
-% o bias: the bias.
-%
% o exception: return any errors or warnings in this structure.
%
*/
@@ -170,7 +168,7 @@
}
MagickExport Image *AdaptiveBlurImage(const Image *image,const double radius,
- const double sigma,const double bias,ExceptionInfo *exception)
+ const double sigma,ExceptionInfo *exception)
{
#define AdaptiveBlurImageTag "Convolve/Image"
#define MagickSigma (fabs(sigma) <= MagickEpsilon ? 1.0 : sigma)
@@ -386,7 +384,7 @@
}
k=kernel[j];
pixels=p;
- pixel=bias;
+ pixel=0.0;
gamma=0.0;
if ((blur_traits & BlendPixelTrait) == 0)
{
@@ -476,7 +474,7 @@
% The format of the AdaptiveSharpenImage method is:
%
% Image *AdaptiveSharpenImage(const Image *image,const double radius,
-% const double sigma,const double bias,ExceptionInfo *exception)
+% const double sigma,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -487,13 +485,11 @@
%
% o sigma: the standard deviation of the Laplacian, in pixels.
%
-% o bias: the bias.
-%
% o exception: return any errors or warnings in this structure.
%
*/
MagickExport Image *AdaptiveSharpenImage(const Image *image,const double radius,
- const double sigma,const double bias,ExceptionInfo *exception)
+ const double sigma,ExceptionInfo *exception)
{
#define AdaptiveSharpenImageTag "Convolve/Image"
#define MagickSigma (fabs(sigma) <= MagickEpsilon ? 1.0 : sigma)
@@ -709,7 +705,7 @@
}
k=kernel[j];
pixels=p;
- pixel=bias;
+ pixel=0.0;
gamma=0.0;
if ((sharp_traits & BlendPixelTrait) == 0)
{
@@ -802,7 +798,7 @@
% The format of the BlurImage method is:
%
% Image *BlurImage(const Image *image,const double radius,
-% const double sigma,const double bias,ExceptionInfo *exception)
+% const double sigma,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -813,8 +809,6 @@
%
% o sigma: the standard deviation of the Gaussian, in pixels.
%
-% o bias: the bias.
-%
% o exception: return any errors or warnings in this structure.
%
*/
@@ -855,7 +849,7 @@
}
MagickExport Image *BlurImage(const Image *image,const double radius,
- const double sigma,const double bias,ExceptionInfo *exception)
+ const double sigma,ExceptionInfo *exception)
{
#define BlurImageTag "Blur/Image"
@@ -1597,7 +1591,6 @@
}
}
kernel_info->values[i/2]=(double) (width*width-1.0);
- kernel_info->bias=image->bias; /* FUTURE: User bias on a edge image? */
edge_image=ConvolveImage(image,kernel_info,exception);
kernel_info=DestroyKernelInfo(kernel_info);
return(edge_image);
@@ -1692,7 +1685,6 @@
}
k--;
}
- kernel_info->bias=image->bias; /* FUTURE: user bias on an edge image */
emboss_image=ConvolveImage(image,kernel_info,exception);
kernel_info=DestroyKernelInfo(kernel_info);
if (emboss_image != (Image *) NULL)
@@ -1812,8 +1804,7 @@
% The format of the MotionBlurImage method is:
%
% Image *MotionBlurImage(const Image *image,const double radius,
-% const double sigma,const double angle,const double bias,
-% ExceptionInfo *exception)
+% const double sigma,const double angle,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -1826,8 +1817,6 @@
%
% o angle: Apply the effect along this angle.
%
-% o bias: the bias.
-%
% o exception: return any errors or warnings in this structure.
%
*/
@@ -1861,8 +1850,7 @@
}
MagickExport Image *MotionBlurImage(const Image *image,const double radius,
- const double sigma,const double angle,const double bias,
- ExceptionInfo *exception)
+ const double sigma,const double angle,ExceptionInfo *exception)
{
CacheView
*blur_view,
@@ -2005,7 +1993,7 @@
continue;
}
k=kernel;
- pixel=bias;
+ pixel=0.0;
if ((blur_traits & BlendPixelTrait) == 0)
{
for (j=0; j < (ssize_t) width; j++)
@@ -2373,17 +2361,14 @@
}
case SharpenPreview:
{
- /* FUTURE: user bias on sharpen! This is non-sensical! */
- preview_image=SharpenImage(thumbnail,radius,sigma,image->bias,
- exception);
+ preview_image=SharpenImage(thumbnail,radius,sigma,exception);
(void) FormatLocaleString(label,MaxTextExtent,"sharpen %gx%g",
radius,sigma);
break;
}
case BlurPreview:
{
- /* FUTURE: user bias on blur! This is non-sensical! */
- preview_image=BlurImage(thumbnail,radius,sigma,image->bias,exception);
+ preview_image=BlurImage(thumbnail,radius,sigma,exception);
(void) FormatLocaleString(label,MaxTextExtent,"blur %gx%g",radius,
sigma);
break;
@@ -2495,9 +2480,8 @@
}
case CharcoalDrawingPreview:
{
- /* FUTURE: user bias on charcoal! This is non-sensical! */
preview_image=CharcoalImage(thumbnail,(double) radius,(double) sigma,
- image->bias,exception);
+ exception);
(void) FormatLocaleString(label,MaxTextExtent,"charcoal %gx%g",
radius,sigma);
break;
@@ -2621,7 +2605,7 @@
% The format of the RadialBlurImage method is:
%
% Image *RadialBlurImage(const Image *image,const double angle,
-% const double blur,ExceptionInfo *exception)
+% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -2635,7 +2619,7 @@
%
*/
MagickExport Image *RadialBlurImage(const Image *image,const double angle,
- const double bias,ExceptionInfo *exception)
+ ExceptionInfo *exception)
{
CacheView
*blur_view,
@@ -2800,7 +2784,7 @@
continue;
}
gamma=0.0;
- pixel=bias;
+ pixel=0.0;
if ((blur_traits & BlendPixelTrait) == 0)
{
for (j=0; j < (ssize_t) n; j+=(ssize_t) step)
@@ -2884,8 +2868,7 @@
% The format of the SelectiveBlurImage method is:
%
% Image *SelectiveBlurImage(const Image *image,const double radius,
-% const double sigma,const double threshold,const double bias,
-% ExceptionInfo *exception)
+% const double sigma,const double threshold,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -2899,14 +2882,11 @@
% o threshold: only pixels within this contrast threshold are included
% in the blur operation.
%
-% o bias: the bias.
-%
% o exception: return any errors or warnings in this structure.
%
*/
MagickExport Image *SelectiveBlurImage(const Image *image,const double radius,
- const double sigma,const double threshold,const double bias,
- ExceptionInfo *exception)
+ const double sigma,const double threshold,ExceptionInfo *exception)
{
#define SelectiveBlurImageTag "SelectiveBlur/Image"
@@ -3085,7 +3065,7 @@
continue;
}
k=kernel;
- pixel=bias;
+ pixel=0.0;
pixels=p;
intensity=(MagickRealType) GetPixelIntensity(image,p+center);
gamma=0.0;
@@ -3412,7 +3392,7 @@
% The format of the SharpenImage method is:
%
% Image *SharpenImage(const Image *image,const double radius,
-% const double sigma,const double bias,ExceptionInfo *exception)
+% const double sigma,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -3423,13 +3403,11 @@
%
% o sigma: the standard deviation of the Laplacian, in pixels.
%
-% o bias: bias.
-%
% o exception: return any errors or warnings in this structure.
%
*/
MagickExport Image *SharpenImage(const Image *image,const double radius,
- const double sigma,const double bias,ExceptionInfo *exception)
+ const double sigma,ExceptionInfo *exception)
{
double
normalize;
@@ -3464,7 +3442,6 @@
(void) ResetMagickMemory(kernel_info,0,sizeof(*kernel_info));
kernel_info->width=width;
kernel_info->height=width;
- kernel_info->bias=bias; /* FUTURE: user bias - non-sensical! */
kernel_info->signature=MagickSignature;
kernel_info->values=(MagickRealType *) AcquireAlignedMemory(
kernel_info->width,kernel_info->width*sizeof(*kernel_info->values));
@@ -3704,7 +3681,7 @@
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
assert(exception != (ExceptionInfo *) NULL);
- unsharp_image=BlurImage(image,radius,sigma,image->bias,exception);
+ unsharp_image=BlurImage(image,radius,sigma,exception);
if (unsharp_image == (Image *) NULL)
return((Image *) NULL);
quantum_threshold=(MagickRealType) QuantumRange*threshold;
diff --git a/MagickCore/effect.h b/MagickCore/effect.h
index 4690212..1a9b1e9 100644
--- a/MagickCore/effect.h
+++ b/MagickCore/effect.h
@@ -59,27 +59,24 @@
} PreviewType;
extern MagickExport Image
- *AdaptiveBlurImage(const Image *,const double,const double,const double,
- ExceptionInfo *),
- *AdaptiveSharpenImage(const Image *,const double,const double,const double,
+ *AdaptiveBlurImage(const Image *,const double,const double,ExceptionInfo *),
+ *AdaptiveSharpenImage(const Image *,const double,const double,
ExceptionInfo *),
- *BlurImage(const Image *,const double,const double,const double,
- ExceptionInfo *),
+ *BlurImage(const Image *,const double,const double,ExceptionInfo *),
*ConvolveImage(const Image *,const KernelInfo *,ExceptionInfo *),
*DespeckleImage(const Image *,ExceptionInfo *),
*EdgeImage(const Image *,const double,const double,ExceptionInfo *),
*EmbossImage(const Image *,const double,const double,ExceptionInfo *),
*GaussianBlurImage(const Image *,const double,const double,ExceptionInfo *),
*MotionBlurImage(const Image *,const double,const double,const double,
- const double,ExceptionInfo *),
+ ExceptionInfo *),
*PreviewImage(const Image *,const PreviewType,ExceptionInfo *),
- *RadialBlurImage(const Image *,const double,const double,ExceptionInfo *),
+ *RadialBlurImage(const Image *,const double,ExceptionInfo *),
*SelectiveBlurImage(const Image *,const double,const double,const double,
- const double,ExceptionInfo *),
+ ExceptionInfo *),
*ShadeImage(const Image *,const MagickBooleanType,const double,const double,
ExceptionInfo *),
- *SharpenImage(const Image *,const double,const double,const double,
- ExceptionInfo *),
+ *SharpenImage(const Image *,const double,const double,ExceptionInfo *),
*SpreadImage(const Image *,const double,const PixelInterpolateMethod,
ExceptionInfo *),
*UnsharpMaskImage(const Image *,const double,const double,const double,
diff --git a/MagickCore/fx.c b/MagickCore/fx.c
index 24691ee..e6b47dc 100644
--- a/MagickCore/fx.c
+++ b/MagickCore/fx.c
@@ -560,7 +560,7 @@
% The format of the CharcoalImage method is:
%
% Image *CharcoalImage(const Image *image,const double radius,
-% const double sigma,const double bias,ExceptionInfo *exception)
+% const double sigma,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -570,13 +570,11 @@
%
% o sigma: the standard deviation of the Gaussian, in pixels.
%
-% o bias: the bias.
-%
% o exception: return any errors or warnings in this structure.
%
*/
MagickExport Image *CharcoalImage(const Image *image,const double radius,
- const double sigma,const double bias,ExceptionInfo *exception)
+ const double sigma,ExceptionInfo *exception)
{
Image
*charcoal_image,
@@ -597,7 +595,7 @@
clone_image=DestroyImage(clone_image);
if (edge_image == (Image *) NULL)
return((Image *) NULL);
- charcoal_image=BlurImage(edge_image,radius,sigma,bias,exception);
+ charcoal_image=BlurImage(edge_image,radius,sigma,exception);
edge_image=DestroyImage(edge_image);
if (charcoal_image == (Image *) NULL)
return((Image *) NULL);
@@ -3482,9 +3480,8 @@
beta=(MagickRealType) (i+1.0)/(MagickRealType) (number_frames+1.0);
alpha=1.0-beta;
morph_image=ResizeImage(next,(size_t) (alpha*next->columns+beta*
- GetNextImageInList(next)->columns+0.5),(size_t) (alpha*
- next->rows+beta*GetNextImageInList(next)->rows+0.5),
- next->filter,next->blur,exception);
+ GetNextImageInList(next)->columns+0.5),(size_t) (alpha*next->rows+beta*
+ GetNextImageInList(next)->rows+0.5),next->filter,exception);
if (morph_image == (Image *) NULL)
{
morph_images=DestroyImageList(morph_images);
@@ -3499,8 +3496,7 @@
AppendImageToList(&morph_images,morph_image);
morph_images=GetLastImageInList(morph_images);
morph_image=ResizeImage(GetNextImageInList(next),morph_images->columns,
- morph_images->rows,GetNextImageInList(next)->filter,
- GetNextImageInList(next)->blur,exception);
+ morph_images->rows,GetNextImageInList(next)->filter,exception);
if (morph_image == (Image *) NULL)
{
morph_images=DestroyImageList(morph_images);
@@ -4050,7 +4046,7 @@
return((Image *) NULL);
picture_image=rotate_image;
picture_image->background_color=image->background_color;
- polaroid_image=ShadowImage(picture_image,80.0,2.0,0.0,quantum/3,quantum/3,
+ polaroid_image=ShadowImage(picture_image,80.0,0.0,quantum/3,quantum/3,
exception);
if (polaroid_image == (Image *) NULL)
{
@@ -4246,8 +4242,8 @@
% The format of the ShadowImage method is:
%
% Image *ShadowImage(const Image *image,const double alpha,
-% const double sigma,const double bias,const ssize_t x_offset,
-% const ssize_t y_offset,ExceptionInfo *exception)
+% const double sigma,const ssize_t x_offset,const ssize_t y_offset,
+% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -4257,8 +4253,6 @@
%
% o sigma: the standard deviation of the Gaussian, in pixels.
%
-% o bias: the bias.
-%
% o x_offset: the shadow x-offset.
%
% o y_offset: the shadow y-offset.
@@ -4267,8 +4261,8 @@
%
*/
MagickExport Image *ShadowImage(const Image *image,const double alpha,
- const double sigma,const double bias,const ssize_t x_offset,
- const ssize_t y_offset,ExceptionInfo *exception)
+ const double sigma,const ssize_t x_offset,const ssize_t y_offset,
+ ExceptionInfo *exception)
{
#define ShadowImageTag "Shadow/Image"
@@ -4360,7 +4354,7 @@
return((Image *) NULL);
}
channel_mask=SetPixelChannelMask(border_image,AlphaChannel);
- shadow_image=BlurImage(border_image,0.0,sigma,bias,exception);
+ shadow_image=BlurImage(border_image,0.0,sigma,exception);
border_image=DestroyImage(border_image);
if (shadow_image == (Image *) NULL)
return((Image *) NULL);
@@ -4396,8 +4390,7 @@
% The format of the SketchImage method is:
%
% Image *SketchImage(const Image *image,const double radius,
-% const double sigma,const double angle,const double bias,
-% ExceptionInfo *exception)
+% const double sigma,const double angle,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -4410,14 +4403,11 @@
%
% o angle: apply the effect along this angle.
%
-% o bias: the bias.
-%
% o exception: return any errors or warnings in this structure.
%
*/
MagickExport Image *SketchImage(const Image *image,const double radius,
- const double sigma,const double angle,const double bias,
- ExceptionInfo *exception)
+ const double sigma,const double angle,ExceptionInfo *exception)
{
CacheView
*random_view;
@@ -4511,7 +4501,7 @@
random_image=DestroyImage(random_image);
return(random_image);
}
- blur_image=MotionBlurImage(random_image,radius,sigma,angle,bias,exception);
+ blur_image=MotionBlurImage(random_image,radius,sigma,angle,exception);
random_image=DestroyImage(random_image);
if (blur_image == (Image *) NULL)
return((Image *) NULL);
@@ -5457,7 +5447,7 @@
% The format of the VignetteImage method is:
%
% Image *VignetteImage(const Image *image,const double radius,
-% const double sigma,const double bias,const ssize_t x,const ssize_t y,
+% const double sigma,const ssize_t x,const ssize_t y,
% ExceptionInfo *exception)
%
% A description of each parameter follows:
@@ -5468,16 +5458,13 @@
%
% o sigma: the standard deviation of the Gaussian, in pixels.
%
-% o bias: the bias.
-%
% o x, y: Define the x and y ellipse offset.
%
% o exception: return any errors or warnings in this structure.
%
*/
MagickExport Image *VignetteImage(const Image *image,const double radius,
- const double sigma,const double bias,const ssize_t x,const ssize_t y,
- ExceptionInfo *exception)
+ const double sigma,const ssize_t x,const ssize_t y,ExceptionInfo *exception)
{
char
ellipse[MaxTextExtent];
@@ -5527,7 +5514,7 @@
draw_info->primitive=AcquireString(ellipse);
(void) DrawImage(oval_image,draw_info,exception);
draw_info=DestroyDrawInfo(draw_info);
- blur_image=BlurImage(oval_image,radius,sigma,bias,exception);
+ blur_image=BlurImage(oval_image,radius,sigma,exception);
oval_image=DestroyImage(oval_image);
if (blur_image == (Image *) NULL)
{
diff --git a/MagickCore/fx.h b/MagickCore/fx.h
index 9576793..bc9c75d 100644
--- a/MagickCore/fx.h
+++ b/MagickCore/fx.h
@@ -39,8 +39,7 @@
extern MagickExport Image
*AddNoiseImage(const Image *,const NoiseType,const double,ExceptionInfo *),
*BlueShiftImage(const Image *,const double,ExceptionInfo *),
- *CharcoalImage(const Image *,const double,const double,const double,
- ExceptionInfo *),
+ *CharcoalImage(const Image *,const double,const double,ExceptionInfo *),
*ColorizeImage(const Image *,const char *,const PixelInfo *,ExceptionInfo *),
*ColorMatrixImage(const Image *,const KernelInfo *kernel,ExceptionInfo *),
*FxImage(const Image *,const char *,ExceptionInfo *),
@@ -50,10 +49,10 @@
*PolaroidImage(const Image *,const DrawInfo *,const char *,const double,
const PixelInterpolateMethod,ExceptionInfo *),
*SepiaToneImage(const Image *,const double,ExceptionInfo *),
- *ShadowImage(const Image *,const double,const double,const double,
- const ssize_t,const ssize_t,ExceptionInfo *),
+ *ShadowImage(const Image *,const double,const double,const ssize_t,
+ const ssize_t,ExceptionInfo *),
*SketchImage(const Image *,const double,const double,const double,
- const double,ExceptionInfo *),
+ ExceptionInfo *),
*SteganoImage(const Image *,const Image *,ExceptionInfo *),
*StereoImage(const Image *,const Image *,ExceptionInfo *),
*StereoAnaglyphImage(const Image *,const Image *,const ssize_t,const ssize_t,
@@ -61,8 +60,8 @@
*SwirlImage(const Image *,double,const PixelInterpolateMethod,
ExceptionInfo *),
*TintImage(const Image *,const char *,const PixelInfo *,ExceptionInfo *),
- *VignetteImage(const Image *,const double,const double,const double,
- const ssize_t,const ssize_t,ExceptionInfo *),
+ *VignetteImage(const Image *,const double,const double,const ssize_t,
+ const ssize_t,ExceptionInfo *),
*WaveImage(const Image *,const double,const double,
const PixelInterpolateMethod,ExceptionInfo *);
diff --git a/MagickCore/image.c b/MagickCore/image.c
index d293524..e1e71c2 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -187,7 +187,6 @@
image->interlace=NoInterlace;
image->ticks_per_second=UndefinedTicksPerSecond;
image->compose=OverCompositeOp;
- image->blur=1.0;
(void) QueryColorCompliance(BackgroundColor,AllCompliance,
&image->background_color,exception);
(void) QueryColorCompliance(BorderColor,AllCompliance,&image->border_color,
@@ -3854,9 +3853,6 @@
if (option != (const char *) NULL)
(void) QueryColorCompliance(option,AllCompliance,&image->background_color,
exception);
- option=GetImageOption(image_info,"bias");
- if (option != (const char *) NULL)
- image->bias=StringToDoubleInterval(option,(double) QuantumRange+1.0);
option=GetImageOption(image_info,"black-point-compensation");
if (option != (const char *) NULL)
image->black_point_compensation=(MagickBooleanType) ParseCommandOption(
@@ -3876,7 +3872,8 @@
exception);
option=GetImageOption(image_info,"channel");
if (option != (const char *) NULL)
- (void) SetPixelChannelMapMask(image,ParseChannelOption(option));
+ (void) SetPixelChannelMapMask(image,(ChannelType)
+ ParseChannelOption(option));
/* FUTURE: do not sync compose to per-image compose setting here */
option=GetImageOption(image_info,"compose");
if (option != (const char *) NULL)
diff --git a/MagickCore/image.h b/MagickCore/image.h
index 6753323..79e05c8 100644
--- a/MagickCore/image.h
+++ b/MagickCore/image.h
@@ -211,8 +211,6 @@
extract_info;
double
- bias, /* FUTURE: depreciated -- convolve bias */
- blur, /* FUTURE: depreciated -- resize file blur */
fuzz; /* current color fuzz attribute - make image_info */
FilterTypes
diff --git a/MagickCore/montage.c b/MagickCore/montage.c
index a3d07e3..a2c2034 100644
--- a/MagickCore/montage.c
+++ b/MagickCore/montage.c
@@ -820,7 +820,7 @@
*/
(void) QueryColorCompliance("#0000",AllCompliance,
&image->background_color,exception);
- shadow_image=ShadowImage(image,80.0,2.0,0.0,5,5,exception);
+ shadow_image=ShadowImage(image,80.0,0.0,5,5,exception);
if (shadow_image != (Image *) NULL)
{
(void) CompositeImage(shadow_image,OverCompositeOp,image,0,0,
diff --git a/MagickCore/morphology-private.h b/MagickCore/morphology-private.h
index 072217b..44015ff 100644
--- a/MagickCore/morphology-private.h
+++ b/MagickCore/morphology-private.h
@@ -30,7 +30,7 @@
extern MagickPrivate Image
*MorphologyApply(const Image *,const MorphologyMethod,const ssize_t,
- const KernelInfo *,const CompositeOperator,const double,ExceptionInfo *);
+ const KernelInfo *,const CompositeOperator,ExceptionInfo *);
extern MagickPrivate void
ShowKernelInfo(const KernelInfo *),
diff --git a/MagickCore/morphology.c b/MagickCore/morphology.c
index cedb6cb..c1795f1 100644
--- a/MagickCore/morphology.c
+++ b/MagickCore/morphology.c
@@ -2463,8 +2463,7 @@
%
% Image *MorphologyApply(const Image *image,MorphologyMethod method,
% const ssize_t iterations,const KernelInfo *kernel,
-% const CompositeMethod compose,const double bias,
-% ExceptionInfo *exception)
+% const CompositeMethod compose,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
@@ -2486,8 +2485,6 @@
% If 'NoCompositeOp' force image to be re-iterated by each kernel.
% Otherwise merge the results using the compose method given.
%
-% o bias: Convolution Output Bias.
-%
% o exception: return any errors or warnings in this structure.
%
*/
@@ -2498,7 +2495,7 @@
** for result convergence determination.
*/
static ssize_t MorphologyPrimitive(const Image *image,Image *morphology_image,
- const MorphologyMethod method,const KernelInfo *kernel,const double bias,
+ const MorphologyMethod method,const KernelInfo *kernel,
ExceptionInfo *exception)
{
#define MorphologyTag "Morphology/Image"
@@ -2645,7 +2642,7 @@
result.green =
result.blue =
result.alpha =
- result.black = bias;
+ result.black = 0.0;
/* Weighted Average of pixels using reflected kernel
@@ -2847,7 +2844,7 @@
result.green =
result.blue =
result.alpha =
- result.black = bias;
+ result.black = 0.0;
break;
case DilateIntensityMorphology:
case ErodeIntensityMorphology:
@@ -3741,7 +3738,7 @@
*/
MagickPrivate Image *MorphologyApply(const Image *image,
const MorphologyMethod method, const ssize_t iterations,
- const KernelInfo *kernel, const CompositeOperator compose,const double bias,
+ const KernelInfo *kernel, const CompositeOperator compose,
ExceptionInfo *exception)
{
CompositeOperator
@@ -4045,7 +4042,7 @@
/* APPLY THE MORPHOLOGICAL PRIMITIVE (curr -> work) */
count++;
changed = MorphologyPrimitive(curr_image, work_image, primitive,
- this_kernel, bias, exception);
+ this_kernel, exception);
if ( verbose == MagickTrue ) {
if ( kernel_loop > 1 )
@@ -4293,8 +4290,8 @@
MagickFalse,artifact);
}
/* Apply the Morphology */
- morphology_image = MorphologyApply(image, method, iterations,
- curr_kernel, compose, image->bias, exception);
+ morphology_image=MorphologyApply(image,method,iterations,curr_kernel,compose,
+ exception);
/* Cleanup and Exit */
if ( curr_kernel != kernel )
diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c
index 93a528e..63ab2f2 100644
--- a/MagickCore/pixel.c
+++ b/MagickCore/pixel.c
@@ -4185,8 +4185,7 @@
status=MagickFalse;
break;
}
- filter_image=ResizeImage(excerpt_image,1,1,image->filter,image->blur,
- exception);
+ filter_image=ResizeImage(excerpt_image,1,1,image->filter,exception);
excerpt_image=DestroyImage(excerpt_image);
if (filter_image == (Image *) NULL)
break;
@@ -4635,8 +4634,7 @@
status=MagickFalse;
continue;
}
- filter_source=ResizeImage(excerpt_source,1,1,source->filter,
- source->blur,exception);
+ filter_source=ResizeImage(excerpt_source,1,1,source->filter,exception);
excerpt_source=DestroyImage(excerpt_source);
if (filter_source == (Image *) NULL)
continue;
@@ -5164,8 +5162,7 @@
status=MagickFalse;
break;
}
- filter_image=ResizeImage(excerpt_image,1,1,image->filter,image->blur,
- exception);
+ filter_image=ResizeImage(excerpt_image,1,1,image->filter,exception);
excerpt_image=DestroyImage(excerpt_image);
if (filter_image == (Image *) NULL)
break;
diff --git a/MagickCore/property.c b/MagickCore/property.c
index ecd6c5a..df3fe18 100644
--- a/MagickCore/property.c
+++ b/MagickCore/property.c
@@ -143,9 +143,7 @@
image->page=clone_image->page;
image->tile_offset=clone_image->tile_offset;
image->extract_info=clone_image->extract_info;
- image->bias=clone_image->bias;
image->filter=clone_image->filter;
- image->blur=clone_image->blur;
image->fuzz=clone_image->fuzz;
image->interlace=clone_image->interlace;
image->interpolate=clone_image->interpolate;
@@ -3217,11 +3215,6 @@
&image->background_color,exception);
break;
}
- if (LocaleCompare(property,"bias") == 0)
- {
- image->bias=StringToDoubleInterval(value,(double) QuantumRange+1.0);
- break;
- }
status=AddValueToSplayTree((SplayTreeInfo *) image->properties,
ConstantString(property),ConstantString(value));
break;
diff --git a/MagickCore/resample-private.h b/MagickCore/resample-private.h
index 706b818..43f1671 100644
--- a/MagickCore/resample-private.h
+++ b/MagickCore/resample-private.h
@@ -65,7 +65,7 @@
if (method != UndefinedVirtualPixelMethod)
(void) SetResampleFilterVirtualPixelMethod(filter[i],method);
if (interpolate != MagickFalse)
- SetResampleFilter(filter[i],PointFilter,1.0);
+ SetResampleFilter(filter[i],PointFilter);
}
return(filter);
}
diff --git a/MagickCore/resample.c b/MagickCore/resample.c
index 4fb94ef..fa8efc1 100644
--- a/MagickCore/resample.c
+++ b/MagickCore/resample.c
@@ -232,12 +232,10 @@
resample_filter->average_defined = MagickFalse;
/* initialise the resampling filter settings */
- SetResampleFilter(resample_filter, image->filter, image->blur);
- (void) SetResampleFilterInterpolateMethod(resample_filter,
- image->interpolate);
+ SetResampleFilter(resample_filter, image->filter);
+ (void) SetResampleFilterInterpolateMethod(resample_filter,image->interpolate);
(void) SetResampleFilterVirtualPixelMethod(resample_filter,
GetImageVirtualPixelMethod(image));
-
return(resample_filter);
}
@@ -469,7 +467,7 @@
resample_filter->average_defined=MagickTrue;
/* Try to get an averaged pixel color of whole image */
- average_image=ResizeImage(resample_filter->image,1,1,BoxFilter,1.0,
+ average_image=ResizeImage(resample_filter->image,1,1,BoxFilter,
resample_filter->exception);
if (average_image == (Image *) NULL)
{
@@ -1216,7 +1214,7 @@
% The format of the SetResampleFilter method is:
%
% void SetResampleFilter(ResampleFilter *resample_filter,
-% const FilterTypes filter,const double blur)
+% const FilterTypes filter)
%
% A description of each parameter follows:
%
@@ -1224,11 +1222,9 @@
%
% o filter: the resize filter for elliptical weighting LUT
%
-% o blur: filter blur factor (radial scaling) for elliptical weighting LUT
-%
*/
MagickExport void SetResampleFilter(ResampleFilter *resample_filter,
- const FilterTypes filter,const double blur)
+ const FilterTypes filter)
{
ResizeFilter
*resize_filter;
@@ -1250,7 +1246,7 @@
resample_filter->filter = RobidouxFilter;
resize_filter = AcquireResizeFilter(resample_filter->image,
- resample_filter->filter,blur,MagickTrue,resample_filter->exception);
+ resample_filter->filter,MagickTrue,resample_filter->exception);
if (resize_filter == (ResizeFilter *) NULL)
{
(void) ThrowMagickException(resample_filter->exception,GetMagickModule(),
diff --git a/MagickCore/resample.h b/MagickCore/resample.h
index b33c333..253a0f8 100644
--- a/MagickCore/resample.h
+++ b/MagickCore/resample.h
@@ -86,7 +86,7 @@
extern MagickExport void
ScaleResampleFilter(ResampleFilter *,const double,const double,const double,
const double),
- SetResampleFilter(ResampleFilter *,const FilterTypes,const double);
+ SetResampleFilter(ResampleFilter *,const FilterTypes);
#if defined(__cplusplus) || defined(c_plusplus)
}
diff --git a/MagickCore/resize-private.h b/MagickCore/resize-private.h
index 552ddc6..3712f17 100644
--- a/MagickCore/resize-private.h
+++ b/MagickCore/resize-private.h
@@ -30,8 +30,8 @@
GetResizeFilterWeight(const ResizeFilter *,const MagickRealType);
extern MagickPrivate ResizeFilter
- *AcquireResizeFilter(const Image *,const FilterTypes,const MagickRealType,
- const MagickBooleanType,ExceptionInfo *),
+ *AcquireResizeFilter(const Image *,const FilterTypes,const MagickBooleanType,
+ ExceptionInfo *),
*DestroyResizeFilter(ResizeFilter *);
#if defined(__cplusplus) || defined(c_plusplus)
diff --git a/MagickCore/resize.c b/MagickCore/resize.c
index ba3d87a..be954fd 100644
--- a/MagickCore/resize.c
+++ b/MagickCore/resize.c
@@ -630,7 +630,7 @@
% The format of the AcquireResizeFilter method is:
%
% ResizeFilter *AcquireResizeFilter(const Image *image,
-% const FilterTypes filter_type, const MagickBooleanType radial,
+% const FilterTypes filter_type,const MagickBooleanType radial,
% ExceptionInfo *exception)
%
% A description of each parameter follows:
@@ -651,8 +651,8 @@
%
*/
MagickPrivate ResizeFilter *AcquireResizeFilter(const Image *image,
- const FilterTypes filter,const MagickRealType blur,
- const MagickBooleanType cylindrical,ExceptionInfo *exception)
+ const FilterTypes filter,const MagickBooleanType cylindrical,
+ ExceptionInfo *exception)
{
const char
*artifact;
@@ -818,7 +818,6 @@
*/
filter_type=mapping[filter].filter;
window_type=mapping[filter].window;
- resize_filter->blur = blur; /* function argument blur factor */
/* Promote 1D Windowed Sinc Filters to a 2D Windowed Jinc filters */
if ((cylindrical != MagickFalse) && (filter_type == SincFastFilter) &&
(filter != SincFastFilter))
@@ -1739,7 +1738,7 @@
if ((columns == image->columns) && (rows == image->rows))
return(CloneImage(image,0,0,MagickTrue,exception));
if ((columns <= 2) || (rows <= 2))
- return(ResizeImage(image,columns,rows,image->filter,image->blur,exception));
+ return(ResizeImage(image,columns,rows,image->filter,exception));
if ((columns >= (2*image->columns)) || (rows >= (2*image->rows)))
{
Image
@@ -1754,8 +1753,7 @@
*/
for (width=image->columns; columns >= (2*width-1); width*=2);
for (height=image->rows; rows >= (2*height-1); height*=2);
- resize_image=ResizeImage(image,width,height,image->filter,image->blur,
- exception);
+ resize_image=ResizeImage(image,width,height,image->filter,exception);
if (resize_image == (Image *) NULL)
return((Image *) NULL);
rescale_image=LiquidRescaleImage(resize_image,columns,rows,delta_x,
@@ -1914,7 +1912,7 @@
assert(exception != (ExceptionInfo *) NULL);
assert(exception->signature == MagickSignature);
magnify_image=ResizeImage(image,2*image->columns,2*image->rows,CubicFilter,
- 1.0,exception);
+ exception);
return(magnify_image);
}
@@ -1954,7 +1952,7 @@
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
assert(exception != (ExceptionInfo *) NULL);
assert(exception->signature == MagickSignature);
- minify_image=ResizeImage(image,image->columns/2,image->rows/2,CubicFilter,1.0,
+ minify_image=ResizeImage(image,image->columns/2,image->rows/2,CubicFilter,
exception);
return(minify_image);
}
@@ -1977,7 +1975,7 @@
% The format of the ResampleImage method is:
%
% Image *ResampleImage(Image *image,const double x_resolution,
-% const double y_resolution,const FilterTypes filter,const double blur,
+% const double y_resolution,const FilterTypes filter,
% ExceptionInfo *exception)
%
% A description of each parameter follows:
@@ -1990,12 +1988,11 @@
%
% o filter: Image filter to use.
%
-% o blur: the blur factor where > 1 is blurry, < 1 is sharp.
+% o exception: return any errors or warnings in this structure.
%
*/
MagickExport Image *ResampleImage(const Image *image,const double x_resolution,
- const double y_resolution,const FilterTypes filter,const double blur,
- ExceptionInfo *exception)
+ const double y_resolution,const FilterTypes filter,ExceptionInfo *exception)
{
#define ResampleImageTag "Resample/Image"
@@ -2019,7 +2016,7 @@
72.0 : image->resolution.x)+0.5);
height=(size_t) (y_resolution*image->rows/(image->resolution.y == 0.0 ?
72.0 : image->resolution.y)+0.5);
- resample_image=ResizeImage(image,width,height,filter,blur,exception);
+ resample_image=ResizeImage(image,width,height,filter,exception);
if (resample_image != (Image *) NULL)
{
resample_image->resolution.x=x_resolution;
@@ -2559,8 +2556,7 @@
}
MagickExport Image *ResizeImage(const Image *image,const size_t columns,
- const size_t rows,const FilterTypes filter,const double blur,
- ExceptionInfo *exception)
+ const size_t rows,const FilterTypes filter,ExceptionInfo *exception)
{
#define WorkLoadFactor 0.265
@@ -2599,7 +2595,7 @@
if ((columns == 0) || (rows == 0))
ThrowImageException(ImageError,"NegativeOrZeroImageSize");
if ((columns == image->columns) && (rows == image->rows) &&
- (filter == UndefinedFilter) && (blur == 1.0))
+ (filter == UndefinedFilter))
return(CloneImage(image,0,0,MagickTrue,exception));
resize_image=CloneImage(image,columns,rows,MagickTrue,exception);
if (resize_image == (Image *) NULL)
@@ -2625,8 +2621,7 @@
if ((image->storage_class == PseudoClass) ||
(image->matte != MagickFalse) || ((x_factor*y_factor) > 1.0))
filter_type=MitchellFilter;
- resize_filter=AcquireResizeFilter(image,filter_type,blur,MagickFalse,
- exception);
+ resize_filter=AcquireResizeFilter(image,filter_type,MagickFalse,exception);
/*
Resize image.
*/
@@ -3358,12 +3353,10 @@
x_factor=(MagickRealType) columns/(MagickRealType) image->columns;
y_factor=(MagickRealType) rows/(MagickRealType) image->rows;
if ((x_factor*y_factor) > 0.1)
- thumbnail_image=ResizeImage(image,columns,rows,image->filter,image->blur,
- exception);
+ thumbnail_image=ResizeImage(image,columns,rows,image->filter,exception);
else
if (((SampleFactor*columns) < 128) || ((SampleFactor*rows) < 128))
- thumbnail_image=ResizeImage(image,columns,rows,image->filter,
- image->blur,exception);
+ thumbnail_image=ResizeImage(image,columns,rows,image->filter,exception);
else
{
Image
@@ -3374,7 +3367,7 @@
if (sample_image == (Image *) NULL)
return((Image *) NULL);
thumbnail_image=ResizeImage(sample_image,columns,rows,image->filter,
- image->blur,exception);
+ exception);
sample_image=DestroyImage(sample_image);
}
if (thumbnail_image == (Image *) NULL)
diff --git a/MagickCore/resize.h b/MagickCore/resize.h
index f7e5090..b47f2a8 100644
--- a/MagickCore/resize.h
+++ b/MagickCore/resize.h
@@ -31,9 +31,9 @@
*MagnifyImage(const Image *,ExceptionInfo *),
*MinifyImage(const Image *,ExceptionInfo *),
*ResampleImage(const Image *,const double,const double,const FilterTypes,
- const double,ExceptionInfo *),
+ ExceptionInfo *),
*ResizeImage(const Image *,const size_t,const size_t,const FilterTypes,
- const double,ExceptionInfo *),
+ ExceptionInfo *),
*SampleImage(const Image *,const size_t,const size_t,ExceptionInfo *),
*ScaleImage(const Image *,const size_t,const size_t,ExceptionInfo *),
*ThumbnailImage(const Image *,const size_t,const size_t,ExceptionInfo *);
diff --git a/MagickCore/transform.c b/MagickCore/transform.c
index 30adedc..e94e51f 100644
--- a/MagickCore/transform.c
+++ b/MagickCore/transform.c
@@ -2071,7 +2071,7 @@
(transform_image->rows == geometry.height))
return(MagickTrue);
resize_image=ResizeImage(transform_image,geometry.width,geometry.height,
- transform_image->filter,transform_image->blur,exception);
+ transform_image->filter,exception);
if (resize_image == (Image *) NULL)
return(MagickFalse);
transform_image=DestroyImage(transform_image);
diff --git a/MagickCore/version.h b/MagickCore/version.h
index 87fbb85..f713407 100644
--- a/MagickCore/version.h
+++ b/MagickCore/version.h
@@ -34,7 +34,7 @@
#define MagickLibAddendum "-0"
#define MagickLibInterface 7
#define MagickLibMinInterface 7
-#define MagickReleaseDate "2012-03-22"
+#define MagickReleaseDate "2012-03-25"
#define MagickChangeDate "20110801"
#define MagickAuthoritativeURL "http://www.imagemagick.org"
#if defined(MAGICKCORE_OPENMP_SUPPORT)