continue;
if ((blur_traits & CopyPixelTrait) != 0)
{
- q[channel]=p[center+i];
+ SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
}
k=kernel[j];
}
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
continue;
}
/*
}
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
q+=GetPixelChannels(blur_image);
r+=GetPixelChannels(edge_image);
continue;
if ((sharp_traits & CopyPixelTrait) != 0)
{
- q[channel]=p[center+i];
+ SetPixelChannel(sharp_image,channel,p[center+i],q);
continue;
}
k=kernel[j];
}
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(sharp_image,channel,ClampToQuantum(gamma*pixel),q);
continue;
}
/*
}
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(sharp_image,channel,ClampToQuantum(gamma*pixel),q);
}
q+=GetPixelChannels(sharp_image);
r+=GetPixelChannels(edge_image);
continue;
if ((blur_traits & CopyPixelTrait) != 0)
{
- q[channel]=p[center+i];
+ SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
}
k=kernel;
k++;
pixels+=GetPixelChannels(image);
}
- q[channel]=ClampToQuantum(pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(pixel),q);
continue;
}
/*
pixels+=GetPixelChannels(image);
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
p+=GetPixelChannels(image);
q+=GetPixelChannels(blur_image);
continue;
if ((blur_traits & CopyPixelTrait) != 0)
{
- q[channel]=p[center+i];
+ SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
}
k=kernel;
k++;
pixels+=GetPixelChannels(blur_image);
}
- q[channel]=ClampToQuantum(pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(pixel),q);
continue;
}
/*
pixels+=GetPixelChannels(blur_image);
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
p+=GetPixelChannels(blur_image);
q+=GetPixelChannels(blur_image);
}
message=DestroyString(message);
}
+ status=AccelerateConvolveImage(image,kernel_info,convolve_image,exception);
+ if (status == MagickTrue)
+ return(convolve_image);
/*
Convolve image.
*/
continue;
if ((convolve_traits & CopyPixelTrait) != 0)
{
- q[channel]=p[center+i];
+ SetPixelChannel(convolve_image,channel,p[center+i],q);
continue;
}
k=kernel_info->values;
}
pixels+=image->columns*GetPixelChannels(image);
}
- q[channel]=ClampToQuantum(pixel);
+ SetPixelChannel(convolve_image,channel,ClampToQuantum(pixel),q);
continue;
}
/*
pixels+=image->columns*GetPixelChannels(image);
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(convolve_image,channel,ClampToQuantum(gamma*pixel),q);
}
p+=GetPixelChannels(image);
q+=GetPixelChannels(convolve_image);
j++;
for (x=0; x < (ssize_t) image->columns; x++)
{
- q[channel]=pixel[j++];
+ SetPixelChannel(despeckle_image,channel,pixel[j++],q);
q+=GetPixelChannels(despeckle_image);
}
sync=SyncCacheViewAuthenticPixels(despeckle_view,exception);
}
}
kernel_info->values[i/2]=(double) (width*width-1.0);
- kernel_info->bias=image->bias;
+ 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);
}
k--;
}
- kernel_info->bias=image->bias;
+ 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)
(void) ResetMagickMemory(kernel_info,0,sizeof(*kernel_info));
kernel_info->width=width;
kernel_info->height=width;
- kernel_info->bias=bias;
+ kernel_info->bias=bias; /* FUTURE: user bias on Gaussian Blur! non-sense */
kernel_info->signature=MagickSignature;
kernel_info->values=(double *) AcquireAlignedMemory(kernel_info->width,
kernel_info->width*sizeof(*kernel_info->values));
continue;
if ((blur_traits & CopyPixelTrait) != 0)
{
- q[channel]=p[i];
+ SetPixelChannel(blur_image,channel,p[i],q);
continue;
}
k=kernel;
pixel+=(*k)*r[i];
k++;
}
- q[channel]=ClampToQuantum(pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(pixel),q);
continue;
}
alpha=0.0;
k++;
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
p+=GetPixelChannels(image);
q+=GetPixelChannels(blur_image);
break;
(void) SetImageProgressMonitor(thumbnail,(MagickProgressMonitor) NULL,
(void *) NULL);
- (void) SetImageProperty(thumbnail,"label",DefaultTileLabel);
+ (void) SetImageProperty(thumbnail,"label",DefaultTileLabel,exception);
if (i == (NumberTiles/2))
{
- (void) QueryColorDatabase("#dfdfdf",&thumbnail->matte_color,exception);
+ (void) QueryColorCompliance("#dfdfdf",AllCompliance,
+ &thumbnail->matte_color,exception);
AppendImageToList(&images,thumbnail);
continue;
}
}
case SharpenPreview:
{
+ /* FUTURE: user bias on sharpen! This is non-sensical! */
preview_image=SharpenImage(thumbnail,radius,sigma,image->bias,
exception);
(void) FormatLocaleString(label,MaxTextExtent,"sharpen %gx%g",
}
case BlurPreview:
{
+ /* FUTURE: user bias on blur! This is non-sensical! */
preview_image=BlurImage(thumbnail,radius,sigma,image->bias,exception);
(void) FormatLocaleString(label,MaxTextExtent,"blur %gx%g",radius,
sigma);
preview_image=CloneImage(thumbnail,0,0,MagickTrue,exception);
if (preview_image == (Image *) NULL)
break;
- (void) BilevelImage(thumbnail,
- (double) (percentage*((MagickRealType) QuantumRange+1.0))/100.0);
+ (void) BilevelImage(thumbnail,(double) (percentage*((MagickRealType)
+ QuantumRange+1.0))/100.0,exception);
(void) FormatLocaleString(label,MaxTextExtent,"threshold %g",
(double) (percentage*((MagickRealType) QuantumRange+1.0))/100.0);
break;
}
case CharcoalDrawingPreview:
{
+ /* FUTURE: user bias on charcoal! This is non-sensical! */
preview_image=CharcoalImage(thumbnail,(double) radius,(double) sigma,
image->bias,exception);
(void) FormatLocaleString(label,MaxTextExtent,"charcoal %gx%g",
if (preview_image == (Image *) NULL)
break;
(void) DeleteImageProperty(preview_image,"label");
- (void) SetImageProperty(preview_image,"label",label);
+ (void) SetImageProperty(preview_image,"label",label,exception);
AppendImageToList(&images,preview_image);
proceed=SetImageProgress(image,PreviewImageTag,(MagickOffsetType) i,
NumberTiles);
continue;
if ((blur_traits & CopyPixelTrait) != 0)
{
- q[channel]=p[i];
+ SetPixelChannel(blur_image,channel,p[i],q);
continue;
}
gamma=0.0;
gamma++;
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
continue;
}
for (j=0; j < (ssize_t) n; j+=(ssize_t) step)
gamma+=GetPixelAlpha(image,r);
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
p+=GetPixelChannels(image);
q+=GetPixelChannels(blur_image);
i;
size_t
- center,
width;
ssize_t
+ center,
j,
u,
v,
*/
status=MagickTrue;
progress=0;
- center=(ssize_t) GetPixelChannels(image)*(image->columns+width)*(width/2L)+
- GetPixelChannels(image)*(width/2L);
+ center=(ssize_t) (GetPixelChannels(image)*(image->columns+width)*(width/2L)+
+ GetPixelChannels(image)*(width/2L));
image_view=AcquireCacheView(image);
blur_view=AcquireCacheView(blur_image);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
continue;
if ((blur_traits & CopyPixelTrait) != 0)
{
- q[channel]=p[center+i];
+ SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
}
k=kernel;
pixel=bias;
pixels=p;
- intensity=GetPixelIntensity(image,p+center);
+ intensity=(MagickRealType) GetPixelIntensity(image,p+center);
gamma=0.0;
if ((blur_traits & BlendPixelTrait) == 0)
{
}
if (fabs((double) gamma) < MagickEpsilon)
{
- q[channel]=p[center+i];
+ SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
continue;
}
for (v=0; v < (ssize_t) width; v++)
}
if (fabs((double) gamma) < MagickEpsilon)
{
- q[channel]=p[center+i];
+ SetPixelChannel(blur_image,channel,p[center+i],q);
continue;
}
gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma);
- q[channel]=ClampToQuantum(gamma*pixel);
+ SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q);
}
p+=GetPixelChannels(image);
q+=GetPixelChannels(blur_image);
continue;
if ((shade_traits & CopyPixelTrait) != 0)
{
- q[channel]=center[i];
+ SetPixelChannel(shade_image,channel,center[i],q);
continue;
}
if (gray != MagickFalse)
{
- q[channel]=ClampToQuantum(shade);
+ SetPixelChannel(shade_image,channel,ClampToQuantum(shade),q);
continue;
}
- q[channel]=ClampToQuantum(QuantumScale*shade*center[i]);
+ SetPixelChannel(shade_image,channel,ClampToQuantum(QuantumScale*shade*
+ center[i]),q);
}
pre+=GetPixelChannels(image);
center+=GetPixelChannels(image);
(void) ResetMagickMemory(kernel_info,0,sizeof(*kernel_info));
kernel_info->width=width;
kernel_info->height=width;
- kernel_info->bias=bias;
+ kernel_info->bias=bias; /* FUTURE: user bias - non-sensical! */
kernel_info->signature=MagickSignature;
kernel_info->values=(double *) AcquireAlignedMemory(kernel_info->width,
kernel_info->width*sizeof(*kernel_info->values));
continue;
if ((statistic_traits & CopyPixelTrait) != 0)
{
- q[channel]=p[center+i];
+ SetPixelChannel(statistic_image,channel,p[center+i],q);
continue;
}
pixels=p;
break;
}
}
- q[channel]=pixel;
+ SetPixelChannel(statistic_image,channel,pixel,q);
}
p+=GetPixelChannels(image);
q+=GetPixelChannels(statistic_image);
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
assert(exception != (ExceptionInfo *) NULL);
+
+
+ /* FUTURE: use of bias on sharpen is non-sensical */
unsharp_image=BlurImage(image,radius,sigma,image->bias,exception);
+
if (unsharp_image == (Image *) NULL)
return((Image *) NULL);
quantum_threshold=(MagickRealType) QuantumRange*threshold;
continue;
if ((unsharp_traits & CopyPixelTrait) != 0)
{
- q[channel]=p[i];
+ SetPixelChannel(unsharp_image,channel,p[i],q);
continue;
}
- pixel=p[i]-(MagickRealType) q[channel];
+ pixel=p[i]-(MagickRealType) GetPixelChannel(unsharp_image,channel,q);
if (fabs(2.0*pixel) < quantum_threshold)
pixel=(MagickRealType) p[i];
else
pixel=(MagickRealType) p[i]+amount*pixel;
- q[channel]=ClampToQuantum(pixel);
+ SetPixelChannel(unsharp_image,channel,ClampToQuantum(pixel),q);
}
p+=GetPixelChannels(image);
q+=GetPixelChannels(unsharp_image);