(reconstruct_traits == UndefinedPixelTrait) ||
((reconstruct_traits & UpdatePixelTrait) == 0))
continue;
- distance=Sa*p[i]-Da*GetPixelChannel(reconstruct_image,channel,q);
+ if (channel == AlphaPixelChannel)
+ distance=p[i]-GetPixelChannel(reconstruct_image,channel,q);
+ else
+ distance=Sa*p[i]-Da*GetPixelChannel(reconstruct_image,channel,q);
if ((distance*distance) > fuzz)
{
difference=MagickTrue;
(reconstruct_traits == UndefinedPixelTrait) ||
((reconstruct_traits & UpdatePixelTrait) == 0))
continue;
- distance=Sa*p[i]-Da*GetPixelChannel(reconstruct_image,channel,q);
+ if (channel == AlphaPixelChannel)
+ distance=p[i]-GetPixelChannel(reconstruct_image,channel,q);
+ else
+ distance=Sa*p[i]-Da*GetPixelChannel(reconstruct_image,channel,q);
if ((distance*distance) > fuzz)
{
channel_distortion[i]++;
q+=GetPixelChannels(reconstruct_image);
}
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp critical (MagickCore_GetAbsoluteError)
+ #pragma omp critical (MagickCore_GetAbsoluteDistortion)
#endif
for (j=0; j <= MaxPixelChannels; j++)
distortion[j]+=channel_distortion[j];
(reconstruct_traits == UndefinedPixelTrait) ||
((reconstruct_traits & UpdatePixelTrait) == 0))
continue;
- distance=QuantumScale*(Sa*p[i]-Da*GetPixelChannel(reconstruct_image,
- channel,q));
+ if (channel == AlphaPixelChannel)
+ distance=QuantumScale*(p[i]-GetPixelChannel(reconstruct_image,
+ channel,q));
+ else
+ distance=QuantumScale*(Sa*p[i]-Da*GetPixelChannel(reconstruct_image,
+ channel,q));
channel_distortion[i]+=distance*distance;
channel_distortion[CompositePixelChannel]+=distance*distance;
}
(reconstruct_traits == UndefinedPixelTrait) ||
((reconstruct_traits & UpdatePixelTrait) == 0))
continue;
- distance=QuantumScale*fabs(Sa*p[i]-Da*GetPixelChannel(reconstruct_image,
- channel,q));
+ if (channel == AlphaPixelChannel)
+ distance=QuantumScale*fabs(p[i]-GetPixelChannel(reconstruct_image,
+ channel,q));
+ else
+ distance=QuantumScale*fabs(Sa*p[i]-Da*GetPixelChannel(
+ reconstruct_image,channel,q));
channel_distortion[i]+=distance;
channel_distortion[CompositePixelChannel]+=distance;
}
(reconstruct_traits == UndefinedPixelTrait) ||
((reconstruct_traits & UpdatePixelTrait) == 0))
continue;
- distance=fabs(Sa*p[i]-Da*GetPixelChannel(reconstruct_image,channel,q));
+ if (channel == AlphaPixelChannel)
+ distance=fabs(p[i]-GetPixelChannel(reconstruct_image,channel,q));
+ else
+ distance=fabs(Sa*p[i]-Da*GetPixelChannel(reconstruct_image,channel,
+ q));
distortion[i]+=distance;
distortion[CompositePixelChannel]+=distance;
mean_error+=distance*distance;
(reconstruct_traits == UndefinedPixelTrait) ||
((reconstruct_traits & UpdatePixelTrait) == 0))
continue;
- distance=QuantumScale*(Sa*p[i]-Da*GetPixelChannel(reconstruct_image,
- channel,q));
+ if (channel == AlphaPixelChannel)
+ distance=QuantumScale*(p[i]-GetPixelChannel(reconstruct_image,
+ channel,q));
+ else
+ distance=QuantumScale*(Sa*p[i]-Da*GetPixelChannel(reconstruct_image,
+ channel,q));
channel_distortion[i]+=distance*distance;
channel_distortion[CompositePixelChannel]+=distance*distance;
}
(reconstruct_traits == UndefinedPixelTrait) ||
((reconstruct_traits & UpdatePixelTrait) == 0))
continue;
- distance=QuantumScale*fabs(Sa*p[i]-Da*GetPixelChannel(reconstruct_image,
- channel,q));
+ if (channel == AlphaPixelChannel)
+ distance=QuantumScale*fabs(p[i]-GetPixelChannel(reconstruct_image,
+ channel,q));
+ else
+ distance=QuantumScale*fabs(Sa*p[i]-Da*GetPixelChannel(
+ reconstruct_image,channel,q));
if (distance > channel_distortion[i])
channel_distortion[i]=distance;
if (distance > channel_distortion[CompositePixelChannel])