Graphviz 13.0.0~dev.20241220.2304
|
#include <stdbool.h>
Go to the source code of this file.
Enumerations | |
enum | { COLOR_RGB , COLOR_GRAY , COLOR_LAB } |
enum | { ERROR_BAD_COLOR_SCHEME = -9 } |
Functions | |
int | node_distinct_coloring (const char *color_scheme, int *lightness, bool weightedQ, SparseMatrix A, double accuracy, int seed, int *cdim, double **colors) |
anonymous enum |
Enumerator | |
---|---|
COLOR_RGB | |
COLOR_GRAY | |
COLOR_LAB |
Definition at line 15 of file node_distinct_coloring.h.
anonymous enum |
Enumerator | |
---|---|
ERROR_BAD_COLOR_SCHEME |
Definition at line 16 of file node_distinct_coloring.h.
int node_distinct_coloring | ( | const char * | color_scheme, |
int * | lightness, | ||
bool | weightedQ, | ||
SparseMatrix | A, | ||
double | accuracy, | ||
int | seed, | ||
int * | cdim, | ||
double ** | colors | ||
) |
for a graph A, get a distinctive color of its nodes so that the color distance among all neighboring nodes are maximized
Here color distance on a node is defined as the minimum of color differences between a node and its neighbors (or the minimum of weighted color differences if weightedQ = true, where weights are stored as entries of A0. Accuracy is the threshold given so that when finding the coloring for each node, the optimal is with in "accuracy" of the true global optimal.
color_scheme | rgb, gray, lab, or one of the color palettes in color_palettes.h, or a list of hex rgb colors separated by comma like "#ff0000,#00ff00" |
lightness | of the form 0,70, specifying the range of lightness of LAB color. Ignored if scheme is not COLOR_LAB. |
A | the graph of n nodes |
accuracy | how accurate to find the optimal |
seed | random_seed. If negative, consider -seed as the number of random start iterations |
cdim | dimension of the color space |
color | On input an array of size n*cdim, if NULL, will be allocated. On exit the final color assignment for node i is [cdim*i,cdim*(i+1)), in RGB (between 0 to 1) |
Definition at line 179 of file node_distinct_coloring.c.
References A, B, color_blend_rgb2lab(), COLOR_GRAY, COLOR_LAB, color_palettes_get(), COLOR_RGB, ERROR_BAD_COLOR_SCHEME, free(), gv_calloc(), lab_gamut_quadtree(), node_distinct_coloring_internal(), NULL, QuadTree_delete(), QuadTree_new_from_point_list(), seed, SparseMatrix_delete(), SparseMatrix_get_submatrix(), SparseMatrix_symmetrize(), SparseMatrix_weakly_connected_components(), and Verbose.
Referenced by edge_distinct_coloring(), and map_palette_optimal_coloring().