Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Private Member Functions | Private Attributes
rgrl_matcher_pseudo< PixelType > Class Template Reference

For each "from" pseudo / weak feature, use intensity based matching to construct the "to" features. More...

#include <rgrl_matcher_pseudo.h>

Inheritance diagram for rgrl_matcher_pseudo< PixelType >:
Inheritance graph
[legend]

List of all members.

Classes

class  rgrl_mapped_pixel_type

Public Types

typedef vcl_vector
< rgrl_mapped_pixel_type
rgrl_mapped_pixel_vector_type

Public Member Functions

 rgrl_matcher_pseudo (vil_image_view< PixelType > from_image, vil_image_view< PixelType > to_image, rgrl_evaluator_sptr evaluator, rgrl_mask_sptr from_mask=0, rgrl_mask_sptr to_mask=0)
 Initialize the matcher using 2d images.
rgrl_match_set_sptr compute_matches (rgrl_feature_set const &from_features, rgrl_feature_set const &to_features, rgrl_view const &current_view, rgrl_transformation const &current_xform, rgrl_scale const &current_scale, rgrl_match_set_sptr const &old_matches=0)
 Match the features in the "from" image to the intensity in the "to" image.
 rgrl_type_macro (rgrl_matcher_pseudo, rgrl_matcher)
rgrl_match_set_sptr compute_matches (rgrl_feature_set const &from_features, rgrl_feature_set const &to_features, rgrl_view const &current_view, rgrl_scale const &current_scale, rgrl_match_set_sptr const &old_matches=0)
 Build the matches with a view (new interface).
rgrl_match_set_sptr compute_matches (rgrl_feature_set const &from_features, rgrl_feature_set const &to_features, rgrl_transformation const &current_xform, rgrl_mask_box const &from_region, rgrl_mask_box const &to_region, rgrl_scale const &current_scale, rgrl_match_set_sptr const &old_matches=0)
 Build the matches without a view.
virtual rgrl_match_set_sptr invert_matches (rgrl_match_set const &current_set, rgrl_view const &current_view)
 invert the matches according to inverse transformation.
 rgrl_type_macro (rgrl_matcher, rgrl_object)
virtual bool is_type (const vcl_type_info &type) const
void set_debug_flag (unsigned int debugFlag) const
 Set the value of the debug flag. A non-zero value turns debugging on.
unsigned int debug_flag () const
 Get the value of the debug flag.
void set_warning (bool) const
 Set the flag for warning messages.
bool warning () const
 Get the warning flag.
unsigned int add_observer (rgrl_event_sptr event, rgrl_command_sptr)
 Allow people to add/remove/invoke observers (callbacks) to any rgrl object.
rgrl_command_sptr get_command (unsigned int tag)
 Get the command associated with the given tag.
void invoke_event (const rgrl_event &)
 Call execute(.) on all the rgrl_commands observing this event id.
void invoke_event (const rgrl_event &) const
 Call execute(.) on all the rgrl_commands observing this event id.
void remove_observer (unsigned int tag)
 Remove the observer with this tag value.
bool has_observer (const rgrl_event &event) const
 Return true if an observer is registered for this event.
void ref ()
void unref ()
int get_references () const
bool is_referenced () const

Static Public Member Functions

static const vcl_type_info & type_id ()

Protected Types

typedef vcl_vector< flip_node >
::const_iterator 
nodes_vec_iterator

Protected Member Functions

virtual void add_one_flipped_match (rgrl_match_set_sptr &inv_set, rgrl_view const &current_view, nodes_vec_iterator const &begin_iter, nodes_vec_iterator const &end_iter)

Private Member Functions

void map_region_intensities (rgrl_transformation const &trans, rgrl_feature_sptr feature_sptr, rgrl_mapped_pixel_vector_type &mapped_pixels) const
 Map the intensities of the image region.
void map_region_intensities (vcl_vector< vnl_vector< int > > const &pixel_locations, rgrl_transformation const &trans, rgrl_feature_sptr feature_sptr, rgrl_mapped_pixel_vector_type &mapped_pixels) const
 The actual work of mapping the region intensities.
void match_mapped_region (rgrl_feature_sptr mapped_feature, rgrl_mapped_pixel_vector_type const &mapped_pixels, rgrl_scale const &current_scale, vcl_vector< rgrl_feature_sptr > &matched_to_features, vcl_vector< double > &match_weights) const
double compute_response (vnl_double_2 const &mapped_location, rgrl_mapped_pixel_vector_type const &mapped_pixels, vnl_double_2 const &shift) const

Private Attributes

vil_image_view< PixelType > from_image_
vil_image_view< PixelType > to_image_
rgrl_mask_sptr from_mask_
rgrl_mask_sptr to_mask_
rgrl_evaluator_sptr evaluator_

Detailed Description

template<class PixelType>
class rgrl_matcher_pseudo< PixelType >

For each "from" pseudo / weak feature, use intensity based matching to construct the "to" features.

This will map the "from" feature and its surrounding region using the current transformation, and search for the best intensity-region match to construct the "to" feature.

EvaluatorType, which perhaps should be a base class, takes two voxel lists and calculates a similarity measure between them. This says how well two subregions match. (F in notes)

Definition at line 33 of file rgrl_matcher_pseudo.h.


Member Typedef Documentation

typedef vcl_vector<flip_node>::const_iterator rgrl_matcher::nodes_vec_iterator [protected, inherited]

Definition at line 81 of file rgrl_matcher.h.

template<class PixelType >
typedef vcl_vector< rgrl_mapped_pixel_type > rgrl_matcher_pseudo< PixelType >::rgrl_mapped_pixel_vector_type

Definition at line 47 of file rgrl_matcher_pseudo.h.


Constructor & Destructor Documentation

template<class PixelType >
rgrl_matcher_pseudo< PixelType >::rgrl_matcher_pseudo ( vil_image_view< PixelType >  from_image,
vil_image_view< PixelType >  to_image,
rgrl_evaluator_sptr  evaluator,
rgrl_mask_sptr  from_mask = 0,
rgrl_mask_sptr  to_mask = 0 
)

Initialize the matcher using 2d images.

Definition at line 51 of file rgrl_matcher_pseudo.txx.


Member Function Documentation

unsigned int rgrl_object::add_observer ( rgrl_event_sptr  event,
rgrl_command_sptr  cmd 
) [inherited]

Allow people to add/remove/invoke observers (callbacks) to any rgrl object.

This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an rgrl_command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command.

Definition at line 47 of file rgrl_object.cxx.

void rgrl_matcher::add_one_flipped_match ( rgrl_match_set_sptr inv_set,
rgrl_view const &  current_view,
nodes_vec_iterator const &  begin_iter,
nodes_vec_iterator const &  end_iter 
) [protected, virtual, inherited]

Reimplemented in rgrl_matcher_k_nearest, and rgrl_matcher_k_nearest_pick_one.

Definition at line 58 of file rgrl_matcher.cxx.

rgrl_match_set_sptr rgrl_matcher::compute_matches ( rgrl_feature_set const &  from_features,
rgrl_feature_set const &  to_features,
rgrl_view const &  current_view,
rgrl_scale const &  current_scale,
rgrl_match_set_sptr const &  old_matches = 0 
) [inherited]

Build the matches with a view (new interface).

Current xform is embedded in the view

Definition at line 24 of file rgrl_matcher.cxx.

rgrl_match_set_sptr rgrl_matcher::compute_matches ( rgrl_feature_set const &  from_features,
rgrl_feature_set const &  to_features,
rgrl_transformation const &  current_xform,
rgrl_mask_box const &  from_region,
rgrl_mask_box const &  to_region,
rgrl_scale const &  current_scale,
rgrl_match_set_sptr const &  old_matches = 0 
) [inherited]

Build the matches without a view.

Definition at line 36 of file rgrl_matcher.cxx.

template<class PixelType >
rgrl_match_set_sptr rgrl_matcher_pseudo< PixelType >::compute_matches ( rgrl_feature_set const &  from_features,
rgrl_feature_set const &  to_features,
rgrl_view const &  current_view,
rgrl_transformation const &  current_xform,
rgrl_scale const &  current_scale,
rgrl_match_set_sptr const &  old_matches = 0 
) [virtual]

Match the features in the "from" image to the intensity in the "to" image.

Implements rgrl_matcher.

Definition at line 67 of file rgrl_matcher_pseudo.txx.

template<class PixelType >
double rgrl_matcher_pseudo< PixelType >::compute_response ( vnl_double_2 const &  mapped_location,
rgrl_mapped_pixel_vector_type const &  mapped_pixels,
vnl_double_2 const &  shift 
) const [private]

Definition at line 688 of file rgrl_matcher_pseudo.txx.

unsigned int rgrl_object::debug_flag ( ) const [inherited]

Get the value of the debug flag.

Definition at line 26 of file rgrl_object.cxx.

rgrl_command_sptr rgrl_object::get_command ( unsigned int  tag) [inherited]

Get the command associated with the given tag.

Definition at line 57 of file rgrl_object.cxx.

bool rgrl_object::has_observer ( const rgrl_event event) const [inherited]

Return true if an observer is registered for this event.

Definition at line 107 of file rgrl_object.cxx.

rgrl_match_set_sptr rgrl_matcher::invert_matches ( rgrl_match_set const &  current_set,
rgrl_view const &  current_view 
) [virtual, inherited]

invert the matches according to inverse transformation.

Definition at line 88 of file rgrl_matcher.cxx.

void rgrl_object::invoke_event ( const rgrl_event event) [inherited]

Call execute(.) on all the rgrl_commands observing this event id.

Definition at line 69 of file rgrl_object.cxx.

void rgrl_object::invoke_event ( const rgrl_event event) const [inherited]

Call execute(.) on all the rgrl_commands observing this event id.

The actions triggered by this call doesn't modify this object.

Definition at line 83 of file rgrl_object.cxx.

virtual bool rgrl_object::is_type ( const vcl_type_info &  type) const [inline, virtual, inherited]

Reimplemented in rgrl_scale_estimator.

Definition at line 66 of file rgrl_object.h.

template<class PixelType >
void rgrl_matcher_pseudo< PixelType >::map_region_intensities ( rgrl_transformation const &  trans,
rgrl_feature_sptr  feature_sptr,
rgrl_mapped_pixel_vector_type mapped_pixels 
) const [private]

Map the intensities of the image region.

Definition at line 202 of file rgrl_matcher_pseudo.txx.

template<class PixelType >
void rgrl_matcher_pseudo< PixelType >::map_region_intensities ( vcl_vector< vnl_vector< int > > const &  pixel_locations,
rgrl_transformation const &  trans,
rgrl_feature_sptr  feature_sptr,
rgrl_mapped_pixel_vector_type mapped_pixels 
) const [private]

The actual work of mapping the region intensities.

Definition at line 235 of file rgrl_matcher_pseudo.txx.

template<class PixelType >
void rgrl_matcher_pseudo< PixelType >::match_mapped_region ( rgrl_feature_sptr  mapped_feature,
rgrl_mapped_pixel_vector_type const &  mapped_pixels,
rgrl_scale const &  current_scale,
vcl_vector< rgrl_feature_sptr > &  matched_to_features,
vcl_vector< double > &  match_weights 
) const [private]

Definition at line 387 of file rgrl_matcher_pseudo.txx.

void rgrl_object::remove_observer ( unsigned int  tag) [inherited]

Remove the observer with this tag value.

Definition at line 97 of file rgrl_object.cxx.

rgrl_matcher::rgrl_type_macro ( rgrl_matcher  ,
rgrl_object   
) [inherited]
template<class PixelType >
rgrl_matcher_pseudo< PixelType >::rgrl_type_macro ( rgrl_matcher_pseudo< PixelType >  ,
rgrl_matcher   
)
void rgrl_object::set_debug_flag ( unsigned int  debugFlag) const [inherited]

Set the value of the debug flag. A non-zero value turns debugging on.

Definition at line 19 of file rgrl_object.cxx.

void rgrl_object::set_warning ( bool  flag) const [inherited]

Set the flag for warning messages.

Definition at line 33 of file rgrl_object.cxx.

static const vcl_type_info& rgrl_object::type_id ( ) [inline, static, inherited]

Reimplemented in rgrl_scale_estimator.

Definition at line 63 of file rgrl_object.h.

bool rgrl_object::warning ( ) const [inherited]

Get the warning flag.

Definition at line 40 of file rgrl_object.cxx.


Member Data Documentation

template<class PixelType >
rgrl_evaluator_sptr rgrl_matcher_pseudo< PixelType >::evaluator_ [private]

Definition at line 113 of file rgrl_matcher_pseudo.h.

template<class PixelType >
vil_image_view<PixelType> rgrl_matcher_pseudo< PixelType >::from_image_ [private]

Definition at line 102 of file rgrl_matcher_pseudo.h.

template<class PixelType >
rgrl_mask_sptr rgrl_matcher_pseudo< PixelType >::from_mask_ [private]

Definition at line 111 of file rgrl_matcher_pseudo.h.

template<class PixelType >
vil_image_view<PixelType> rgrl_matcher_pseudo< PixelType >::to_image_ [private]

Definition at line 103 of file rgrl_matcher_pseudo.h.

template<class PixelType >
rgrl_mask_sptr rgrl_matcher_pseudo< PixelType >::to_mask_ [private]

Definition at line 112 of file rgrl_matcher_pseudo.h.


The documentation for this class was generated from the following files: