diff options
| author | Mike Wey | 2011-01-08 17:48:30 +0100 |
|---|---|---|
| committer | Mike Wey | 2011-01-08 17:48:30 +0100 |
| commit | cbac78bbec726017355cb455a776f193e7fc3022 (patch) | |
| tree | a41c564c7ef5aec9dd2b18e58e94b213193044be /dmagick/c/statistic.d | |
initial checkin
Diffstat (limited to 'dmagick/c/statistic.d')
| -rw-r--r-- | dmagick/c/statistic.d | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/dmagick/c/statistic.d b/dmagick/c/statistic.d new file mode 100644 index 0000000..b63a184 --- /dev/null +++ b/dmagick/c/statistic.d @@ -0,0 +1,86 @@ +module dmagick.c.statistic; + +import dmagick.c.exception; +import dmagick.c.image; +import dmagick.c.magickType; + +extern(C) +{ + struct ChannelStatistics + { + size_t + depth; + + double + minima, + maxima, + sum, + sum_squared, + sum_cubed, + sum_fourth_power, + mean, + variance, + standard_deviation, + kurtosis, + skewness; + } + + enum MagickEvaluateOperator + { + UndefinedEvaluateOperator, + AddEvaluateOperator, + AndEvaluateOperator, + DivideEvaluateOperator, + LeftShiftEvaluateOperator, + MaxEvaluateOperator, + MinEvaluateOperator, + MultiplyEvaluateOperator, + OrEvaluateOperator, + RightShiftEvaluateOperator, + SetEvaluateOperator, + SubtractEvaluateOperator, + XorEvaluateOperator, + PowEvaluateOperator, + LogEvaluateOperator, + ThresholdEvaluateOperator, + ThresholdBlackEvaluateOperator, + ThresholdWhiteEvaluateOperator, + GaussianNoiseEvaluateOperator, + ImpulseNoiseEvaluateOperator, + LaplacianNoiseEvaluateOperator, + MultiplicativeNoiseEvaluateOperator, + PoissonNoiseEvaluateOperator, + UniformNoiseEvaluateOperator, + CosineEvaluateOperator, + SineEvaluateOperator, + AddModulusEvaluateOperator, + MeanEvaluateOperator, + AbsEvaluateOperator + } + + enum MagickFunction + { + UndefinedFunction, + PolynomialFunction, + SinusoidFunction, + ArcsinFunction, + ArctanFunction + } + + ChannelStatistics* GetImageChannelStatistics(const Image*, ExceptionInfo*); + + Image* EvaluateImages(const Image*, const MagickEvaluateOperator, ExceptionInfo*); + + MagickBooleanType EvaluateImage(Image*, const MagickEvaluateOperator, const double, ExceptionInfo*); + MagickBooleanType EvaluateImageChannel(Image*, const ChannelType, const MagickEvaluateOperator, const double, ExceptionInfo*); + MagickBooleanType FunctionImage(Image*, const MagickFunction, const size_t, const double*, ExceptionInfo*); + MagickBooleanType FunctionImageChannel(Image*, const ChannelType, const MagickFunction, const size_t, const double*, ExceptionInfo*); + MagickBooleanType GetImageChannelExtrema(const Image*, const ChannelType, size_t*, size_t*, ExceptionInfo*); + MagickBooleanType GetImageChannelMean(const Image*, const ChannelType, double*, double*, ExceptionInfo*); + MagickBooleanType GetImageChannelKurtosis(const Image*, const ChannelType, double*, double*, ExceptionInfo*); + MagickBooleanType GetImageChannelRange(const Image*, const ChannelType, double*, double*, ExceptionInfo*); + MagickBooleanType GetImageExtrema(const Image*, size_t*, size_t*, ExceptionInfo*); + MagickBooleanType GetImageRange(const Image*, double*, double*, ExceptionInfo*); + MagickBooleanType GetImageMean(const Image*, double*, double*, ExceptionInfo*); + MagickBooleanType GetImageKurtosis(const Image*, double*, double*, ExceptionInfo*); +} |
