]> mj.ucw.cz Git - libucw.git/blob - images/config.c
experiment - store relative centroid position for each image region
[libucw.git] / images / config.c
1 /*
2  *      Image Library -- Configuration
3  *
4  *      (c) 2006 Pavel Charvat <pchar@ucw.cz>
5  */
6
7 #undef LOCAL_DEBUG
8
9 #include "lib/lib.h"
10 #include "lib/conf.h"
11 #include "images/images.h"
12 #include "images/signature.h"
13
14 #include <string.h>
15
16 uns image_sig_min_width;
17 uns image_sig_min_height;
18 uns *image_sig_prequant_thresholds;
19 uns image_sig_postquant_min_steps;
20 uns image_sig_postquant_max_steps;
21 uns image_sig_postquant_threshold;
22 double image_sig_border_size;
23 int image_sig_border_bonus;
24 double image_sig_inertia_scale[3];
25 double image_sig_textured_threshold;
26 int image_sig_compare_method;
27 uns image_sig_cmp_features_weights[IMAGE_REG_F + IMAGE_REG_H];
28
29 static struct cf_section sig_config = {
30   CF_ITEMS{
31     CF_UNS("MinWidth", &image_sig_min_width),
32     CF_UNS("MinHeight", &image_sig_min_height),
33     CF_UNS_DYN("PreQuantThresholds", &image_sig_prequant_thresholds, CF_ANY_NUM),
34     CF_UNS("PostQuantMinSteps", &image_sig_postquant_min_steps),
35     CF_UNS("PostQuantMaxSteps", &image_sig_postquant_max_steps),
36     CF_UNS("PostQuantThreshold", &image_sig_postquant_threshold),
37     CF_DOUBLE("BorderSize", &image_sig_border_size),
38     CF_INT("BorderBonus", &image_sig_border_bonus),
39     CF_DOUBLE_ARY("InertiaScale", image_sig_inertia_scale, 3),
40     CF_DOUBLE("TexturedThreshold", &image_sig_textured_threshold),
41     CF_LOOKUP("CompareMethod", &image_sig_compare_method, ((byte *[]){"integrated", "fuzzy", "average", NULL})),
42     CF_UNS_ARY("CompareFeaturesWeights", image_sig_cmp_features_weights, IMAGE_REG_F + IMAGE_REG_H),
43     CF_END
44   }
45 };
46
47 static void CONSTRUCTOR
48 images_init_config(void)
49 {
50   cf_declare_section("ImageSig", &sig_config, 0);
51 }