CacheInfo
*cache_info;
+ IndexPacket
+ virtual_index;
+
MagickOffsetType
offset;
region;
register const IndexPacket
- *restrict nexus_indexes;
+ *restrict virtual_indexes;
register const PixelPacket
*restrict p;
break;
}
}
+ virtual_index=0;
for (v=0; v < (long) rows; v++)
{
for (u=0; u < (long) columns; u+=length)
case WhiteVirtualPixelMethod:
{
p=(&virtual_pixel);
+ virtual_indexes=(&virtual_index);
break;
}
case EdgeVirtualPixelMethod:
p=GetVirtualPixelsFromNexus(image,virtual_pixel_method,
EdgeX(x+u,cache_info->columns),EdgeY(y+v,cache_info->rows),
1UL,1UL,virtual_nexus[0],exception);
+ virtual_indexes=GetVirtualIndexesFromNexus(cache_info,
+ virtual_nexus[0]);
break;
}
case RandomVirtualPixelMethod:
RandomX(cache_info->random_info,cache_info->columns),
RandomY(cache_info->random_info,cache_info->rows),1UL,1UL,
virtual_nexus[0],exception);
+ virtual_indexes=GetVirtualIndexesFromNexus(cache_info,
+ virtual_nexus[0]);
break;
}
case DitherVirtualPixelMethod:
p=GetVirtualPixelsFromNexus(image,virtual_pixel_method,
DitherX(x+u,cache_info->columns),DitherY(y+v,cache_info->rows),
1UL,1UL,virtual_nexus[0],exception);
+ virtual_indexes=GetVirtualIndexesFromNexus(cache_info,
+ virtual_nexus[0]);
break;
}
case TileVirtualPixelMethod:
p=GetVirtualPixelsFromNexus(image,virtual_pixel_method,
x_modulo.remainder,y_modulo.remainder,1UL,1UL,virtual_nexus[0],
exception);
+ virtual_indexes=GetVirtualIndexesFromNexus(cache_info,
+ virtual_nexus[0]);
break;
}
case MirrorVirtualPixelMethod:
p=GetVirtualPixelsFromNexus(image,virtual_pixel_method,
x_modulo.remainder,y_modulo.remainder,1UL,1UL,virtual_nexus[0],
exception);
+ virtual_indexes=GetVirtualIndexesFromNexus(cache_info,
+ virtual_nexus[0]);
break;
}
case CheckerTileVirtualPixelMethod:
if (((x_modulo.quotient ^ y_modulo.quotient) & 0x01) != 0L)
{
p=(&virtual_pixel);
+ virtual_indexes=(&virtual_index);
break;
}
p=GetVirtualPixelsFromNexus(image,virtual_pixel_method,
x_modulo.remainder,y_modulo.remainder,1UL,1UL,virtual_nexus[0],
exception);
+ virtual_indexes=GetVirtualIndexesFromNexus(cache_info,
+ virtual_nexus[0]);
break;
}
case HorizontalTileVirtualPixelMethod:
if (((y+v) < 0) || ((y+v) >= (long) cache_info->rows))
{
p=(&virtual_pixel);
+ virtual_indexes=(&virtual_index);
break;
}
x_modulo=VirtualPixelModulo(x+u,cache_info->columns);
p=GetVirtualPixelsFromNexus(image,virtual_pixel_method,
x_modulo.remainder,y_modulo.remainder,1UL,1UL,virtual_nexus[0],
exception);
+ virtual_indexes=GetVirtualIndexesFromNexus(cache_info,
+ virtual_nexus[0]);
break;
}
case VerticalTileVirtualPixelMethod:
if (((x+u) < 0) || ((x+u) >= (long) cache_info->columns))
{
p=(&virtual_pixel);
+ virtual_indexes=(&virtual_index);
break;
}
x_modulo=VirtualPixelModulo(x+u,cache_info->columns);
p=GetVirtualPixelsFromNexus(image,virtual_pixel_method,
x_modulo.remainder,y_modulo.remainder,1UL,1UL,virtual_nexus[0],
exception);
+ virtual_indexes=GetVirtualIndexesFromNexus(cache_info,
+ virtual_nexus[0]);
break;
}
case HorizontalTileEdgeVirtualPixelMethod:
p=GetVirtualPixelsFromNexus(image,virtual_pixel_method,
x_modulo.remainder,EdgeY(y+v,cache_info->rows),1UL,1UL,
virtual_nexus[0],exception);
+ virtual_indexes=GetVirtualIndexesFromNexus(cache_info,
+ virtual_nexus[0]);
break;
}
case VerticalTileEdgeVirtualPixelMethod:
p=GetVirtualPixelsFromNexus(image,virtual_pixel_method,
EdgeX(x+u,cache_info->columns),y_modulo.remainder,1UL,1UL,
virtual_nexus[0],exception);
+ virtual_indexes=GetVirtualIndexesFromNexus(cache_info,
+ virtual_nexus[0]);
break;
}
}
if (p == (const PixelPacket *) NULL)
break;
*q++=(*p);
- if (indexes != (IndexPacket *) NULL)
- {
- nexus_indexes=GetVirtualIndexesFromNexus(cache_info,
- virtual_nexus[0]);
- if (nexus_indexes != (const IndexPacket *) NULL)
- *indexes++=(*nexus_indexes);
- }
+ if ((indexes != (IndexPacket *) NULL) &&
+ (virtual_indexes != (const IndexPacket *) NULL))
+ *indexes++=(*virtual_indexes);
continue;
}
/*
(unsigned long) length,1UL,virtual_nexus[0],exception);
if (p == (const PixelPacket *) NULL)
break;
+ virtual_indexes=GetVirtualIndexesFromNexus(cache_info,virtual_nexus[0]);
(void) CopyMagickMemory(q,p,(size_t) length*sizeof(*p));
q+=length;
- if (indexes != (IndexPacket *) NULL)
+ if ((indexes != (IndexPacket *) NULL) &&
+ (virtual_indexes != (const IndexPacket *) NULL))
{
- nexus_indexes=GetVirtualIndexesFromNexus(cache_info,virtual_nexus[0]);
- if (nexus_indexes != (const IndexPacket *) NULL)
- {
- (void) CopyMagickMemory(indexes,nexus_indexes,(size_t) length*
- sizeof(*nexus_indexes));
- indexes+=length;
- }
+ (void) CopyMagickMemory(indexes,virtual_indexes,(size_t) length*
+ sizeof(*virtual_indexes));
+ indexes+=length;
}
}
}
" Information Measure of Correlation 2:\n" \
" %.*g, %.*g, %.*g, %.*g, %.*g\n" \
" Maximum Correlation Coefficient:\n" \
- " %.*g, %.*g, %.*g, %.*g, %.*g\n"
+ " %.*g, %.*g, %.*g, %.*g, %.*g\n"
int
status;
int
status;
+ if (channel == AlphaChannel)
+ {
+ status=fprintf(file,StatisticsFormat,name,ClampToQuantum(scale*
+ (QuantumRange-channel_statistics[channel].minima)),
+ (QuantumRange-channel_statistics[channel].minima)/(double) QuantumRange,
+ ClampToQuantum(scale*(QuantumRange-channel_statistics[channel].maxima)),
+ (QuantumRange-channel_statistics[channel].maxima)/(double) QuantumRange, scale*(QuantumRange-channel_statistics[channel].mean),
+ (QuantumRange-channel_statistics[channel].mean)/(double) QuantumRange,
+ scale*channel_statistics[channel].standard_deviation,
+ channel_statistics[channel].standard_deviation/(double) QuantumRange,
+ channel_statistics[channel].kurtosis,
+ channel_statistics[channel].skewness);
+ return(status);
+ }
status=fprintf(file,StatisticsFormat,name,ClampToQuantum(scale*
channel_statistics[channel].minima),channel_statistics[channel].minima/
(double) QuantumRange,ClampToQuantum(scale*
if (pixel.matte != MagickFalse)
{
(void) ConcatenateMagickString(tuple,",",MaxTextExtent);
- ConcatenateColorComponent(&pixel,OpacityChannel,X11Compliance,
+ ConcatenateColorComponent(&pixel,AlphaChannel,X11Compliance,
tuple);
}
(void) ConcatenateMagickString(tuple,")",MaxTextExtent);