histogram.c File Reference

#include "MagickCore/studio.h"
#include "MagickCore/cache-view.h"
#include "MagickCore/color-private.h"
#include "MagickCore/enhance.h"
#include "MagickCore/exception.h"
#include "MagickCore/exception-private.h"
#include "MagickCore/histogram.h"
#include "MagickCore/image.h"
#include "MagickCore/linked-list.h"
#include "MagickCore/list.h"
#include "MagickCore/memory_.h"
#include "MagickCore/monitor-private.h"
#include "MagickCore/pixel-accessor.h"
#include "MagickCore/prepress.h"
#include "MagickCore/quantize.h"
#include "MagickCore/registry.h"
#include "MagickCore/semaphore.h"
#include "MagickCore/splay-tree.h"
#include "MagickCore/statistic.h"
#include "MagickCore/string_.h"

Data Structures

struct  _NodeInfo
struct  _Nodes
struct  _CubeInfo

Defines

#define MaxTreeDepth   8
#define NodesInAList   1536
#define EvaluateImageTag   " Compute image colors... "
#define MaximumUniqueColors   1024
#define HistogramImageTag   "Histogram/Image"
#define UniqueColorsImageTag   "UniqueColors/Image"

Typedefs

typedef struct _NodeInfo NodeInfo
typedef struct _Nodes Nodes
typedef struct _CubeInfo CubeInfo

Functions

static CubeInfo * GetCubeInfo (void)
static NodeInfo * GetNodeInfo (CubeInfo *, const size_t)
static void DestroyColorCube (const Image *, NodeInfo *)
static size_t ColorToNodeId (const Image *image, const PixelInfo *pixel, size_t index)
static CubeInfo * ClassifyImageColors (const Image *image, ExceptionInfo *exception)
static void DefineImageHistogram (const Image *image, NodeInfo *node_info, PixelInfo **histogram)
static CubeInfo * DestroyCubeInfo (const Image *image, CubeInfo *cube_info)
MagickExport PixelInfo * GetImageHistogram (const Image *image, size_t *number_colors, ExceptionInfo *exception)
static MagickBooleanType CheckImageColors (const Image *image, ExceptionInfo *exception, size_t max_colors)
MagickExport MagickBooleanType IdentifyPaletteImage (const Image *image, ExceptionInfo *exception)
MagickExport MagickBooleanType IsHistogramImage (const Image *image, ExceptionInfo *exception)
MagickExport MagickBooleanType IsPaletteImage (const Image *image)
MagickExport MagickBooleanType MinMaxStretchImage (Image *image, const double black, const double white, const double gamma, ExceptionInfo *exception)
static int HistogramCompare (const void *x, const void *y)
MagickExport size_t GetNumberColors (const Image *image, FILE *file, ExceptionInfo *exception)
static void UniqueColorsToImage (Image *unique_image, CacheView *unique_view, CubeInfo *cube_info, const NodeInfo *node_info, ExceptionInfo *exception)
MagickExport Image * UniqueImageColors (const Image *image, ExceptionInfo *exception)

Define Documentation

#define EvaluateImageTag   " Compute image colors... "
#define HistogramImageTag   "Histogram/Image"

Referenced by GetNumberColors().

#define MaximumUniqueColors   1024

Referenced by IsHistogramImage().

#define MaxTreeDepth   8
#define NodesInAList   1536

Referenced by GetNodeInfo().

#define UniqueColorsImageTag   "UniqueColors/Image"

Referenced by UniqueColorsToImage().


Typedef Documentation

typedef struct _CubeInfo CubeInfo
typedef struct _NodeInfo NodeInfo
typedef struct _Nodes Nodes

Function Documentation

static MagickBooleanType CheckImageColors ( const Image *  image,
ExceptionInfo *  exception,
size_t  max_colors 
) [static]
static CubeInfo* ClassifyImageColors ( const Image *  image,
ExceptionInfo *  exception 
) [static]
static size_t ColorToNodeId ( const Image *  image,
const PixelInfo *  pixel,
size_t  index 
) [inline, static]
static void DefineImageHistogram ( const Image *  image,
NodeInfo *  node_info,
PixelInfo **  histogram 
) [static]
static void DestroyColorCube ( const Image *  image,
NodeInfo *  node_info 
) [static]
static CubeInfo* DestroyCubeInfo ( const Image *  image,
CubeInfo *  cube_info 
) [static]
static CubeInfo * GetCubeInfo ( void   )  [static]
MagickExport PixelInfo* GetImageHistogram ( const Image *  image,
size_t *  number_colors,
ExceptionInfo *  exception 
)
static NodeInfo * GetNodeInfo ( CubeInfo *  cube_info,
const size_t  level 
) [static]
MagickExport size_t GetNumberColors ( const Image *  image,
FILE *  file,
ExceptionInfo *  exception 
)
static int HistogramCompare ( const void *  x,
const void *  y 
) [static]
MagickExport MagickBooleanType IdentifyPaletteImage ( const Image *  image,
ExceptionInfo *  exception 
)
MagickExport MagickBooleanType IsHistogramImage ( const Image *  image,
ExceptionInfo *  exception 
)
MagickExport MagickBooleanType IsPaletteImage ( const Image *  image  ) 
MagickExport MagickBooleanType MinMaxStretchImage ( Image *  image,
const double  black,
const double  white,
const double  gamma,
ExceptionInfo *  exception 
)
static void UniqueColorsToImage ( Image *  unique_image,
CacheView *  unique_view,
CubeInfo *  cube_info,
const NodeInfo *  node_info,
ExceptionInfo *  exception 
) [static]
MagickExport Image* UniqueImageColors ( const Image *  image,
ExceptionInfo *  exception 
)

Generated on 3 Aug 2020 for MagickCore by  doxygen 1.6.1