Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

strk_tracking_face_2d Class Reference

#include <strk_tracking_face_2d.h>

Inheritance diagram for strk_tracking_face_2d:

Inheritance graph
[legend]
List of all members.

Detailed Description

Definition at line 39 of file strk_tracking_face_2d.h.

Public Member Functions

 strk_tracking_face_2d (vtol_face_2d_sptr const &face, vil1_memory_image_of< float > const &image, vil1_memory_image_of< float > const &Ix, vil1_memory_image_of< float > const &Iy, vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat, const float min_gradient, const float parzen_sigma, const unsigned int intensity_hist_bins, const unsigned int gradient_dir_hist_bins, const unsigned int color_hist_bins, const float max_intensity=255.0f)
 strk_tracking_face_2d (vtol_intensity_face_sptr const &intf, const unsigned int intensity_hist_bins, const unsigned int gradient_dir_hist_bins, const unsigned int color_hist_bins, const float max_intensity=255.0f)
 strk_tracking_face_2d (strk_tracking_face_2d_sptr const &tf)
 strk_tracking_face_2d (strk_tracking_face_2d const &tf)
 ~strk_tracking_face_2d ()
vtol_intensity_face_sptr face () const
 accessors.
bool gradient_needed () const
bool color_needed () const
float Ix (int i) const
float Iy (int i) const
float hue (int i) const
float sat (int i) const
float int_mutual_info () const
float grad_mutual_info () const
float color_mutual_info () const
float total_info () const
vnl_matrix_fixed< double, 3, 3 > & trans ()
void set_min_gradient (float min_gradient)
 mutators.
void set_parzen_sigma (float parzen_sigma)
void set_Ix (int i, float Ix)
void set_Iy (int i, float Iy)
void set_hue (int i, float Ix)
void set_sat (int i, float Iy)
void set_int_mutual_info (float mi)
void set_grad_mutual_info (float mi)
void set_color_mutual_info (float mi)
void set_max_intensity (float max_intensity)
void set_renyi_joint_entropy ()
 controls.
void unset_renyi_joint_entropy ()
void set_intensity_hist_bins (const unsigned int n_bins)
 histogram properties.
void set_gradient_dir_bins (const unsigned int n_bins)
void set_color_dir_bins (const unsigned int n_bins)
unsigned int intensity_hist_bins () const
unsigned int gradient_dir_hist_bins () const
unsigned int color_hist_bins () const
float model_intensity_entropy () const
 internal entropies for debugging purposes.
float intensity_entropy () const
float intensity_joint_entropy () const
float model_gradient_entropy () const
float gradient_entropy () const
float gradient_joint_entropy () const
float model_color_entropy () const
float color_entropy () const
float color_joint_entropy () const
float intensity_info_diff () const
float color_info_diff () const
float total_info_diff ()
bool compute_mutual_information (vil1_memory_image_of< float > const &image, vil1_memory_image_of< float > const &Ix, vil1_memory_image_of< float > const &Iy, vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat)
bool compute_mutual_information (vcl_vector< vcl_vector< vgl_point_2d< int > > > region_map, int base_x, int base_y, vil1_memory_image_of< float > const &image, vil1_memory_image_of< float > const &Ix, vil1_memory_image_of< float > const &Iy, vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat)
 take a map from pixels of face in image_0_ to the pixels of face in image_i_.
bool compute_only_gradient_mi (vil1_memory_image_of< float > const &Ix, vil1_memory_image_of< float > const &Iy)
void centroid (double &x, double &y) const
 from the face vertices.
void reset () const
 copy of intf interface.
bool next () const
float Xo () const
float Yo () const
void set_X (float x)
void set_Y (float y)
int Npix () const
float X () const
float Y () const
unsigned short I () const
void transform (double tx, double ty, double theta, double scale)
 transformation: translate by (tx,ty), rotate by theta, zoom by scale.
void transform (vnl_matrix_fixed< double, 3, 3 > const &T)
 Note this transform call does not currently transform gradient directions.
vcl_vector< float > random_intensities (int &n_pix)
 select a random set of intensities from the interior.
bool random_colors (int &n_pix, vcl_vector< float > &hue, vcl_vector< float > &sat)
 select a random set of colors from the interior.
float intensity_mutual_info_diff (strk_tracking_face_2d_sptr const &other, vil1_memory_image_of< float > const &image, bool verbose=false)
 an alternative model for explaining current intensity values inside *this.
float color_mutual_info_diff (strk_tracking_face_2d_sptr const &other, vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat, bool verbose=false)
 Difference in mutual information due to color.
float intensity_mutual_info_diff (vcl_vector< strk_tracking_face_2d_sptr > const &others, vil1_memory_image_of< float > const &image, bool verbose=false)
 a background model consisting of cloned faces surrounding *this face.
float color_mutual_info_diff (vcl_vector< strk_tracking_face_2d_sptr > const &others, vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat, bool verbose=false)
void print_pixels (vil1_memory_image_of< float > const &image)
 for debugging.
void face_points (vcl_vector< vtol_topology_object_sptr > &points)
void print_intensity_histograms (vil1_memory_image_of< float > const &image)
void print_gradient_histograms (vil1_memory_image_of< float > const &Ix, vil1_memory_image_of< float > const &Iy)
void print_color_histograms (vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat)
bsta_histogram< float > intensity_histogram (vil1_memory_image_of< float > const &image)
bsta_histogram< float > gradient_histogram (vil1_memory_image_of< float > const &Ix, vil1_memory_image_of< float > const &Iy)
bsta_histogram< float > color_histogram (vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat)
void ref ()
void unref ()
int get_references () const
bool is_referenced () const

Private Member Functions

void init_bins ()
void set_gradient (vil1_memory_image_of< float > const &Ix, vil1_memory_image_of< float > const &Iy)
void set_color (vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat)
void init_intensity_info (vtol_face_2d_sptr const &face, vil1_memory_image_of< float > const &image)
void init_gradient_info (vil1_memory_image_of< float > const &Ix, vil1_memory_image_of< float > const &Iy)
 fill the gradient values in the face.
void init_color_info (vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat)
 fill the color values in the face.
float compute_intensity_mutual_information (vil1_memory_image_of< float > const &image)
float compute_intensity_mutual_information (vcl_vector< vcl_vector< vgl_point_2d< int > > > region_map, int base_x, int base_y, vil1_memory_image_of< float > const &image)
float compute_gradient_mutual_information (vil1_memory_image_of< float > const &Ix, vil1_memory_image_of< float > const &Iy)
float compute_gradient_mutual_information (vcl_vector< vcl_vector< vgl_point_2d< int > > > region_map, int base_x, int base_y, vil1_memory_image_of< float > const &Ix, vil1_memory_image_of< float > const &Iy)
float compute_color_mutual_information (vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat)
float compute_color_mutual_information (vcl_vector< vcl_vector< vgl_point_2d< int > > > region_map, int base_x, int base_y, vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat)
float compute_intensity_joint_entropy (strk_tracking_face_2d_sptr const &other, vil1_memory_image_of< float > const &image)
 compute the intensity joint entropy between the pixels in the image under *this face and the "model" pixels of the other face.
float compute_model_intensity_joint_entropy (strk_tracking_face_2d_sptr const &other)
 compute the intensity joint entropy between the model pixels of this face and the model pixels of the "other" face.
float compute_color_joint_entropy (strk_tracking_face_2d_sptr const &other, vil1_memory_image_of< float > const &hue, vil1_memory_image_of< float > const &sat)
void transform_gradients (double theta)
 helper function for transform(): transformation: rotate gradients by theta.

Private Attributes

float min_gradient_
float parzen_sigma_
vtol_intensity_face_sptr intf_
bool gradient_info_
bool color_info_
bool renyi_joint_entropy_
float intensity_mi_
float gradient_dir_mi_
float color_mi_
float total_info_
float * Ix_
float * Iy_
float * hue_
float * sat_
unsigned int intensity_hist_bins_
unsigned int gradient_dir_hist_bins_
unsigned int color_hist_bins_
float model_intensity_entropy_
float model_gradient_dir_entropy_
float model_color_entropy_
float intensity_entropy_
float gradient_dir_entropy_
float color_entropy_
float intensity_joint_entropy_
float model_intensity_joint_entropy_
float gradient_joint_entropy_
float color_joint_entropy_
float intensity_info_diff_
float color_info_diff_
vnl_matrix_fixed< double, 3, 3 > trans_
float max_intensity_


Constructor & Destructor Documentation

strk_tracking_face_2d::strk_tracking_face_2d vtol_face_2d_sptr const &  face,
vil1_memory_image_of< float > const &  image,
vil1_memory_image_of< float > const &  Ix,
vil1_memory_image_of< float > const &  Iy,
vil1_memory_image_of< float > const &  hue,
vil1_memory_image_of< float > const &  sat,
const float  min_gradient,
const float  parzen_sigma,
const unsigned int  intensity_hist_bins,
const unsigned int  gradient_dir_hist_bins,
const unsigned int  color_hist_bins,
const float  max_intensity = 255.0f
 

Definition at line 53 of file strk_tracking_face_2d.cxx.

strk_tracking_face_2d::strk_tracking_face_2d vtol_intensity_face_sptr const &  intf,
const unsigned int  intensity_hist_bins,
const unsigned int  gradient_dir_hist_bins,
const unsigned int  color_hist_bins,
const float  max_intensity = 255.0f
 

Definition at line 105 of file strk_tracking_face_2d.cxx.

strk_tracking_face_2d::strk_tracking_face_2d strk_tracking_face_2d_sptr const &  tf  ) 
 

Definition at line 141 of file strk_tracking_face_2d.cxx.

strk_tracking_face_2d::strk_tracking_face_2d strk_tracking_face_2d const &  tf  ) 
 

Definition at line 202 of file strk_tracking_face_2d.cxx.

strk_tracking_face_2d::~strk_tracking_face_2d  ) 
 

Definition at line 264 of file strk_tracking_face_2d.cxx.


Member Function Documentation

void strk_tracking_face_2d::centroid double &  x,
double &  y
const
 

from the face vertices.

Definition at line 23 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::color_entropy  )  const [inline]
 

Definition at line 113 of file strk_tracking_face_2d.h.

unsigned int strk_tracking_face_2d::color_hist_bins  )  const [inline]
 

Definition at line 101 of file strk_tracking_face_2d.h.

bsta_histogram< float > strk_tracking_face_2d::color_histogram vil1_memory_image_of< float > const &  hue,
vil1_memory_image_of< float > const &  sat
 

Definition at line 1525 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::color_info_diff  )  const [inline]
 

Definition at line 117 of file strk_tracking_face_2d.h.

float strk_tracking_face_2d::color_joint_entropy  )  const [inline]
 

Definition at line 114 of file strk_tracking_face_2d.h.

float strk_tracking_face_2d::color_mutual_info  )  const [inline]
 

Definition at line 75 of file strk_tracking_face_2d.h.

float strk_tracking_face_2d::color_mutual_info_diff vcl_vector< strk_tracking_face_2d_sptr > const &  others,
vil1_memory_image_of< float > const &  hue,
vil1_memory_image_of< float > const &  sat,
bool  verbose = false
 

Definition at line 1332 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::color_mutual_info_diff strk_tracking_face_2d_sptr const &  other,
vil1_memory_image_of< float > const &  hue,
vil1_memory_image_of< float > const &  sat,
bool  verbose = false
 

Difference in mutual information due to color.

MI(this:obs, this:model)-MI(this:obs, other:model)

the stored model color information from the other face is compared with the observation colors of *this face. It is assumed that there is no intersection of the two pixel sets.

The other face has been constructed on the current image and so its model data reflects the current intensity statistics outside *this observation region

Definition at line 1258 of file strk_tracking_face_2d.cxx.

bool strk_tracking_face_2d::color_needed  )  const [inline]
 

Definition at line 68 of file strk_tracking_face_2d.h.

float strk_tracking_face_2d::compute_color_joint_entropy strk_tracking_face_2d_sptr const &  other,
vil1_memory_image_of< float > const &  hue,
vil1_memory_image_of< float > const &  sat
[private]
 

Definition at line 1164 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::compute_color_mutual_information vcl_vector< vcl_vector< vgl_point_2d< int > > >  region_map,
int  base_x,
int  base_y,
vil1_memory_image_of< float > const &  hue,
vil1_memory_image_of< float > const &  sat
[private]
 

Definition at line 881 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::compute_color_mutual_information vil1_memory_image_of< float > const &  hue,
vil1_memory_image_of< float > const &  sat
[private]
 

Definition at line 838 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::compute_gradient_mutual_information vcl_vector< vcl_vector< vgl_point_2d< int > > >  region_map,
int  base_x,
int  base_y,
vil1_memory_image_of< float > const &  Ix,
vil1_memory_image_of< float > const &  Iy
[private]
 

Definition at line 761 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::compute_gradient_mutual_information vil1_memory_image_of< float > const &  Ix,
vil1_memory_image_of< float > const &  Iy
[private]
 

Definition at line 700 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::compute_intensity_joint_entropy strk_tracking_face_2d_sptr const &  other,
vil1_memory_image_of< float > const &  image
[private]
 

compute the intensity joint entropy between the pixels in the image under *this face and the "model" pixels of the other face.

Definition at line 1063 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::compute_intensity_mutual_information vcl_vector< vcl_vector< vgl_point_2d< int > > >  region_map,
int  base_x,
int  base_y,
vil1_memory_image_of< float > const &  image
[private]
 

region_map starts from (0,0).

read corresponding region 2 pixel from map.

Definition at line 628 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::compute_intensity_mutual_information vil1_memory_image_of< float > const &  image  )  [private]
 

Definition at line 578 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::compute_model_intensity_joint_entropy strk_tracking_face_2d_sptr const &  other  )  [private]
 

compute the intensity joint entropy between the model pixels of this face and the model pixels of the "other" face.

The pixels from the "other" face are randomly selected and equal in number to the pixels inside *this face. It is assumed that there is no spatial intersection of the two pixel sets.

Definition at line 1104 of file strk_tracking_face_2d.cxx.

bool strk_tracking_face_2d::compute_mutual_information vcl_vector< vcl_vector< vgl_point_2d< int > > >  region_map,
int  base_x,
int  base_y,
vil1_memory_image_of< float > const &  image,
vil1_memory_image_of< float > const &  Ix,
vil1_memory_image_of< float > const &  Iy,
vil1_memory_image_of< float > const &  hue,
vil1_memory_image_of< float > const &  sat
 

take a map from pixels of face in image_0_ to the pixels of face in image_i_.

Definition at line 967 of file strk_tracking_face_2d.cxx.

bool strk_tracking_face_2d::compute_mutual_information vil1_memory_image_of< float > const &  image,
vil1_memory_image_of< float > const &  Ix,
vil1_memory_image_of< float > const &  Iy,
vil1_memory_image_of< float > const &  hue,
vil1_memory_image_of< float > const &  sat
 

Definition at line 939 of file strk_tracking_face_2d.cxx.

bool strk_tracking_face_2d::compute_only_gradient_mi vil1_memory_image_of< float > const &  Ix,
vil1_memory_image_of< float > const &  Iy
 

Definition at line 996 of file strk_tracking_face_2d.cxx.

vtol_intensity_face_sptr strk_tracking_face_2d::face  )  const [inline]
 

accessors.

Definition at line 66 of file strk_tracking_face_2d.h.

void strk_tracking_face_2d::face_points vcl_vector< vtol_topology_object_sptr > &  points  ) 
 

Definition at line 1026 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::grad_mutual_info  )  const [inline]
 

Definition at line 74 of file strk_tracking_face_2d.h.

unsigned int strk_tracking_face_2d::gradient_dir_hist_bins  )  const [inline]
 

Definition at line 100 of file strk_tracking_face_2d.h.

float strk_tracking_face_2d::gradient_entropy  )  const [inline]
 

Definition at line 109 of file strk_tracking_face_2d.h.

bsta_histogram< float > strk_tracking_face_2d::gradient_histogram vil1_memory_image_of< float > const &  Ix,
vil1_memory_image_of< float > const &  Iy
 

Definition at line 1500 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::gradient_joint_entropy  )  const [inline]
 

Definition at line 110 of file strk_tracking_face_2d.h.

bool strk_tracking_face_2d::gradient_needed  )  const [inline]
 

Definition at line 67 of file strk_tracking_face_2d.h.

float strk_tracking_face_2d::hue int  i  )  const [inline]
 

Definition at line 71 of file strk_tracking_face_2d.h.

unsigned short strk_tracking_face_2d::I  )  const [inline]
 

Definition at line 150 of file strk_tracking_face_2d.h.

void strk_tracking_face_2d::init_bins  )  [private]
 

Definition at line 45 of file strk_tracking_face_2d.cxx.

void strk_tracking_face_2d::init_color_info vil1_memory_image_of< float > const &  hue,
vil1_memory_image_of< float > const &  sat
[private]
 

fill the color values in the face.

Assumes that the intensity face parent has already been initialized.

Definition at line 402 of file strk_tracking_face_2d.cxx.

void strk_tracking_face_2d::init_gradient_info vil1_memory_image_of< float > const &  Ix,
vil1_memory_image_of< float > const &  Iy
[private]
 

fill the gradient values in the face.

Assumes that the intensity face parent has already been initialized.

Definition at line 368 of file strk_tracking_face_2d.cxx.

void strk_tracking_face_2d::init_intensity_info vtol_face_2d_sptr const &  face,
vil1_memory_image_of< float > const &  image
[private]
 

Definition at line 301 of file strk_tracking_face_2d.cxx.

float strk_tracking_face_2d::int_mutual_info  )  const [inline]
 

Definition at line 73 of file strk_tracking_face_2d.h.

float strk_tracking_face_2d::intensity_entropy  )  const [inline]
 

Definition at line 105 of file strk_tracking_face_2d.h.

unsigned int strk_tracking_face_2d::intensity_hist_bins  )  const [inline]
 

Definition at line 99 of file strk_tracking_face_2d.h.

bsta_histogram< float > strk_tracking_face_2d::intensity_histogram vil1_memory_image_of< float > const &  image  ) 
 

Definition at line 1480 of file strk_tracking_face_2d.cxx.