histogram.c File Reference

#include "magick/studio.h"
#include "magick/cache-view.h"
#include "magick/color-private.h"
#include "magick/enhance.h"
#include "magick/exception.h"
#include "magick/exception-private.h"
#include "magick/hashmap.h"
#include "magick/histogram.h"
#include "magick/image.h"
#include "magick/list.h"
#include "magick/memory_.h"
#include "magick/monitor-private.h"
#include "magick/pixel-private.h"
#include "magick/prepress.h"
#include "magick/quantize.h"
#include "magick/registry.h"
#include "magick/semaphore.h"
#include "magick/splay-tree.h"
#include "magick/statistic.h"
#include "magick/string_.h"
Include dependency graph for histogram.c:

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 MagickPixelPacket *pixel, size_t index)
static CubeInfo * ClassifyImageColors (const Image *image, ExceptionInfo *exception)
static void DefineImageHistogram (const Image *image, NodeInfo *node_info, ColorPacket **histogram)
static CubeInfo * DestroyCubeInfo (const Image *image, CubeInfo *cube_info)
MagickExport ColorPacket * 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, ExceptionInfo *exception)
MagickExport MagickBooleanType MinMaxStretchImage (Image *image, const ChannelType channel, const double black_value, const double white_value)
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 MagickPixelPacket *  pixel,
size_t  index 
) [inline, static]
static void DefineImageHistogram ( const Image *  image,
NodeInfo *  node_info,
ColorPacket **  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 ColorPacket* 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,
ExceptionInfo *  exception 
)
MagickExport MagickBooleanType MinMaxStretchImage ( Image *  image,
const ChannelType  channel,
const double  black_value,
const double  white_value 
)
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 29 Jun 2020 for MagickCore by  doxygen 1.6.1