@@ -2113,7 +2113,7 @@ static double GetSimilarityMetric(const Image *image,
2113
2113
geometry ;
2114
2114
2115
2115
size_t
2116
- length = MaxPixelChannels + 1UL ;
2116
+ length = CompositeChannels + 1UL ;
2117
2117
2118
2118
SetGeometry (reconstruct_image ,& geometry );
2119
2119
geometry .x = x_offset ;
@@ -2135,87 +2135,68 @@ static double GetSimilarityMetric(const Image *image,
2135
2135
case AbsoluteErrorMetric :
2136
2136
{
2137
2137
status = GetAESimilarity (similarity_image ,reconstruct_image ,
2138
- channel_similarity ,exception );
2139
- break ;
2140
- }
2141
- case DotProductCorrelationErrorMetric :
2142
- case PhaseCorrelationErrorMetric :
2143
- {
2144
- status = GetMSESimilarity (similarity_image ,reconstruct_image ,
2145
- channel_similarity ,exception );
2138
+ DefaultChannels ,channel_similarity ,exception );
2146
2139
break ;
2147
2140
}
2148
2141
case FuzzErrorMetric :
2149
2142
{
2150
2143
status = GetFUZZSimilarity (similarity_image ,reconstruct_image ,
2151
- channel_similarity ,exception );
2144
+ DefaultChannels , channel_similarity ,exception );
2152
2145
break ;
2153
2146
}
2154
2147
case MeanAbsoluteErrorMetric :
2155
2148
{
2156
2149
status = GetMAESimilarity (similarity_image ,reconstruct_image ,
2157
- channel_similarity ,exception );
2150
+ DefaultChannels , channel_similarity ,exception );
2158
2151
break ;
2159
2152
}
2160
- case MeanErrorPerPixelErrorMetric :
2153
+ case MeanErrorPerPixelMetric :
2161
2154
{
2162
2155
status = GetMEPPSimilarity (similarity_image ,reconstruct_image ,
2163
- channel_similarity ,exception );
2156
+ DefaultChannels , channel_similarity ,exception );
2164
2157
break ;
2165
2158
}
2166
2159
case MeanSquaredErrorMetric :
2167
2160
{
2168
2161
status = GetMSESimilarity (similarity_image ,reconstruct_image ,
2169
- channel_similarity ,exception );
2162
+ DefaultChannels , channel_similarity ,exception );
2170
2163
break ;
2171
2164
}
2172
2165
case NormalizedCrossCorrelationErrorMetric :
2173
2166
{
2174
2167
status = GetNCCSimilarity (similarity_image ,reconstruct_image ,
2175
- channel_similarity ,exception );
2168
+ DefaultChannels , channel_similarity ,exception );
2176
2169
break ;
2177
2170
}
2178
2171
case PeakAbsoluteErrorMetric :
2179
2172
{
2180
2173
status = GetPASimilarity (similarity_image ,reconstruct_image ,
2181
- channel_similarity ,exception );
2174
+ DefaultChannels , channel_similarity ,exception );
2182
2175
break ;
2183
2176
}
2184
- case PeakSignalToNoiseRatioErrorMetric :
2177
+ case PeakSignalToNoiseRatioMetric :
2185
2178
{
2186
2179
status = GetPSNRSimilarity (similarity_image ,reconstruct_image ,
2187
- channel_similarity ,exception );
2180
+ DefaultChannels , channel_similarity ,exception );
2188
2181
break ;
2189
2182
}
2190
2183
case PerceptualHashErrorMetric :
2191
2184
{
2192
2185
status = GetPHASHSimilarity (similarity_image ,reconstruct_image ,
2193
- channel_similarity ,exception );
2186
+ DefaultChannels , channel_similarity ,exception );
2194
2187
break ;
2195
2188
}
2196
2189
case RootMeanSquaredErrorMetric :
2197
2190
case UndefinedErrorMetric :
2198
2191
default :
2199
2192
{
2200
2193
status = GetRMSESimilarity (similarity_image ,reconstruct_image ,
2201
- channel_similarity ,exception );
2202
- break ;
2203
- }
2204
- case StructuralDissimilarityErrorMetric :
2205
- {
2206
- status = GetDSSIMSimilarity (similarity_image ,reconstruct_image ,
2207
- channel_similarity ,exception );
2208
- break ;
2209
- }
2210
- case StructuralSimilarityErrorMetric :
2211
- {
2212
- status = GetSSIMSimularity (similarity_image ,reconstruct_image ,
2213
- channel_similarity ,exception );
2194
+ DefaultChannels ,channel_similarity ,exception );
2214
2195
break ;
2215
2196
}
2216
2197
}
2217
2198
similarity_image = DestroyImage (similarity_image );
2218
- similarity = channel_similarity [CompositePixelChannel ];
2199
+ similarity = channel_similarity [CompositeChannels ];
2219
2200
channel_similarity = (double * ) RelinquishMagickMemory (channel_similarity );
2220
2201
if (status == MagickFalse )
2221
2202
return (NAN );
0 commit comments