24 #ifndef __FIREVISION_UTILS_HISTOGRAM_H_
25 #define __FIREVISION_UTILS_HISTOGRAM_H_
27 #include <fvutils/base/types.h>
40 Histogram(
unsigned int width,
unsigned int height,
41 unsigned int depth = 1,
unsigned int num_undos = 1);
48 unsigned int * get_histogram();
50 void get_dimensions(
unsigned int& width,
unsigned int& height,
unsigned int& depth);
51 unsigned int get_value(
unsigned int x,
unsigned int y);
52 unsigned int get_value(
unsigned int x,
unsigned int y,
unsigned int z);
53 void set_value(
unsigned int x,
unsigned int y,
unsigned int value);
54 void set_value(
unsigned int x,
unsigned int y,
unsigned int z,
unsigned int value);
55 void inc_value(
unsigned int x,
unsigned int y,
unsigned int z = 0);
56 void add(
unsigned int x,
unsigned int y,
unsigned int z,
unsigned int value);
57 void sub(
unsigned int x,
unsigned int y,
unsigned int z,
unsigned int value);
59 unsigned int get_median();
60 unsigned int get_average();
62 unsigned int get_sum()
const;
66 unsigned int switch_undo(
unsigned int undo_id );
67 unsigned int get_num_undos();
69 void print_to_stream(std::ostream &s);
70 void save(
const char * filename,
bool formatted_output =
false);
71 bool load(
const char * filename);
77 unsigned int dimension;
78 unsigned int histogram_size;
79 unsigned int* histogram;
81 unsigned int number_of_values;
83 unsigned int **undo_overlay;
84 unsigned int *undo_num_vals;
85 unsigned int undo_num;
86 unsigned int undo_current;
Point with cartesian coordinates as unsigned integers.
This class defines a file block for histograms.