9#if !defined (Magick_ChannelMoments_header)
10#define Magick_ChannelMoments_header
12#include "Magick++/Include.h"
33 double centroidX(
void)
const;
36 double centroidY(
void)
const;
39 PixelChannel channel(
void)
const;
42 double ellipseAxisX(
void)
const;
45 double ellipseAxisY(
void)
const;
48 double ellipseAngle(
void)
const;
51 double ellipseEccentricity(
void)
const;
54 double ellipseIntensity(
void)
const;
57 double huInvariants(
const size_t index_)
const;
67 const MagickCore::ChannelMoments *channelMoments_);
70 PixelChannel _channel;
71 std::vector<double> _huInvariants;
77 double _ellipseEccentricity;
78 double _ellipseIntensity;
93 const std::string &hash_);
99 operator std::string()
const;
102 PixelChannel channel(
void)
const;
105 bool isValid()
const;
108 double sumSquaredDifferences(
112 double srgbHuPhash(
const size_t index_)
const;
115 double hclpHuPhash(
const size_t index_)
const;
122 const MagickCore::ChannelPerceptualHash *channelPerceptualHash_);
125 PixelChannel _channel;
126 std::vector<double> _srgbHuPhash;
127 std::vector<double> _hclpHuPhash;
150 PixelChannel channel(
void)
const;
153 size_t depth()
const;
156 double entropy()
const;
159 bool isValid()
const;
162 double kurtosis()
const;
165 double maxima()
const;
171 double minima()
const;
174 double skewness()
const;
177 double standardDeviation()
const;
183 double sumCubed()
const;
186 double sumFourthPower()
const;
189 double sumSquared()
const;
192 double variance()
const;
199 const MagickCore::ChannelStatistics *channelStatistics_);
202 PixelChannel _channel;
211 double _standardDeviation;
214 double _sumFourthPower;
241 std::vector<ChannelMoments> _channels;
261 operator std::string()
const;
267 bool isValid()
const;
270 double sumSquaredDifferences(
279 std::vector<ChannelPerceptualHash> _channels;
304 std::vector<ChannelStatistics> _channels;