Classes
contrib/brl/bseg/sdet/sdet_edgel_regions.h File Reference

generation of regions bounded by sdet_edgel chains More...

#include <vcl_vector.h>
#include <vcl_map.h>
#include <vbl/vbl_array_2d.h>
#include <vil1/vil1_image.h>
#include <vil/vil_image_resource.h>
#include <vtol/vtol_edge_2d_sptr.h>
#include <gevd/gevd_bufferxy.h>
#include <vtol/vtol_intensity_face_sptr.h>
#include <sdet/sdet_region_edge_sptr.h>

Go to the source code of this file.

Classes

class  sdet_edgel_regions

Detailed Description

generation of regions bounded by sdet_edgel chains

       Inputs:  vil1_image, vector<vtol_edge_2d_sptr>
       Output: vector<gevd_intensity_face_sptr>
   

The idea is to generate regions by inserting boundaries into an array. The boundaries are defined by a set of edgel chains and a boundary location is inserted at each edgel. The array is assumed to have a boundary at the perimeter of the ROI.

The array is scanned with a 2x2 neighborhood to form connected components in the usual way. Each of the connected component labels are reduced to the lowest equivalent label id by a transitive closure on the equivalence table.

A second scan of the label array is made to determine adjacency to a given edge. This process is enabled by a companion class, the gevd_region_edge which has storage for two labels, corresponding to each side of the edge.

The region edges are then used to collect the input edges which are adjacent to a given region. The set of edges adjacent to a region are used to construct a multiply-connected sub-class of vtol_face_2d, the vtol_intensity_face. The vtol_intensity_face contains a vdgl_digtial_region which holds arrays of pixel coordinates and values within the face boundaries.

Author:
Author J. L. Mundy - January 14, 1999
   Modifications
    25 April 2000 - collinsr@cs.rpi.edu - switched region_edges_
                    to key on the Id() rather than the pointer value
                    to avoid different hash tables (and different
                    segmentations) for identical inputs (leaving the
                    question of why the hash table order matters for
                    another day)
   24 April 2002 - Peter Vanroose - replaced GetLeftLabel and GetRightLabel
                    by GetLabel, in accordance with sdet_region_edge change
  
   19 November 2002 - J.L. Mundy moved to brl for further evolution
   09 January 2003  - J.L. Mundy implemented expanded array resolution
                      for more accurate connection neighborhoods
   

Definition in file sdet_edgel_regions.h.