1 // This is gel/vifa/vifa_image_histogram.h
2 #ifndef VIFA_IMAGE_HISTOGRAM_H
3 #define VIFA_IMAGE_HISTOGRAM_H
4 
5 //-----------------------------------------------------------------------------
6 //:
7 // \file
8 // \brief Histogram of an image's overall intensity values.
9 //
10 // The vifa_image_histogram class is used to construct intensity histograms of
11 // the pixels in an image.
12 //
13 // \author Jim Farley, Constantinos Marinos
14 //
15 // \verbatim
16 //  Modifications:
17 //   MPP Jun 2003, Ported to VXL from TargetJr
18 // \endverbatim
19 //-----------------------------------------------------------------------------
20 
21 #include <vil/vil_image_view_base.h>
22 #include <vifa/vifa_histogram.h>
23 
24 
25 class vifa_image_histogram : public vifa_histogram
26 {
27  protected:
28   enum vil_pixel_format  form_;
29   unsigned int      byte_depth_;
30 
31  public:
32   vifa_image_histogram(const vil_image_view_base_sptr&  image,
33                        double                    percentage = 100.0
34                       );
35 
36  protected:
37    void init();
38    void fill_histogram(const vil_image_view_base_sptr &src_buf,
39                        double percentage = 100.0);
40 };
41 
42 
43 #endif  // VIFA_IMAGE_HISTOGRAM_H
44