Follow this link to skip to the main content

claraty::Non_Maxima_Sup_Op Class Reference

#include <non_maxima_sup_op.h>

List of all members.

Public Member Functions

 Non_Maxima_Sup_Op ()
template<class TS, class TD>
void filter (Image< TS > src_image, Image< TD > &dest_image)


Detailed Description

Definition at line 27 of file non_maxima_sup_op.h.


Constructor & Destructor Documentation

claraty::Non_Maxima_Sup_Op::Non_Maxima_Sup_Op (  )  [inline]

Definition at line 31 of file non_maxima_sup_op.h.

00031 {};


Member Function Documentation

template<class TS, class TD>
void claraty::Non_Maxima_Sup_Op::filter ( Image< TS >  src_image,
Image< TD > &  dest_image 
)

Definition at line 41 of file non_maxima_sup_op.h.

References claraty::N_2D_Array< T >::get_num_of_cols(), claraty::N_2D_Array< T >::get_num_of_rows(), and claraty::N_2D_Array< T >::resize().

00042                                                       {
00043 
00044   dest_image.resize(src_image.get_num_of_rows(), src_image.get_num_of_cols());
00045   /*
00046   if((src_image(0,1) < src_image(0,0)) &&
00047      (src_image(1,0) < src_image(0,0))) {
00048     dest_image(0,0) = (TD) 1;
00049   }
00050   else {
00051     dest_image(0,0) = (TD) 0;
00052   }
00053 
00054   if((src_image(dest_image.get_num_of_rows()-1,1) < src_image(dest_image.get_num_of_rows()-1,0)) &&
00055      (src_image(dest_image.get_num_of_rows()-2,0) < src_image(dest_image.get_num_of_rows()-1,0))) {
00056     dest_image(dest_image.get_num_of_rows()-1,0) = (TD) 1;
00057   }
00058   else {
00059     dest_image(dest_image.get_num_of_rows()-1,0) = (TD) 0;
00060   }
00061 
00062   if((src_image(dest_image.get_num_of_rows()-1,dest_image.get_num_of_cols()-2) < 
00063       src_image(dest_image.get_num_of_rows()-1,dest_image.get_num_of_cols()-1)) &&
00064      (src_image(dest_image.get_num_of_rows()-2,dest_image.get_num_of_cols()-1) < 
00065       src_image(dest_image.get_num_of_rows()-1,dest_image.get_num_of_cols()-1))) {     
00066     dest_image(dest_image.get_num_of_rows()-1,dest_image.get_num_of_cols()-1) = (TD) 1;
00067   }
00068   else {
00069     dest_image(dest_image.get_num_of_rows()-1,dest_image.get_num_of_cols()-1) = (TD) 0;
00070   }
00071       
00072   if((src_image(0,dest_image.get_num_of_cols()-2) < src_image(0,dest_image.get_num_of_cols()-1)) &&      
00073      (src_image(1,dest_image.get_num_of_cols()-1) < src_image(0,dest_image.get_num_of_cols()-1))) {     
00074     dest_image(0,dest_image.get_num_of_cols()-1) = (TD) 1;
00075   }
00076   else {
00077     dest_image(0,dest_image.get_num_of_cols()-1) = (TD) 0;
00078   }
00079       
00080 
00081   for(int r=1; r<dest_image.get_num_of_rows()-2; r++) {
00082     
00083     if((src_image(r-1,0) < src_image(r,0)) &&
00084        (src_image(r+1,0) < src_image(r,0)) &&
00085        (src_image(r,1) < src_image(r,0))) {
00086       dest_image(r,0) = (TD) 1;
00087     }
00088     else {
00089       dest_image(r,0) = (TD) 0;
00090     }
00091 
00092     if((src_image(r-1,dest_image.get_num_of_cols()-1) < src_image(r,dest_image.get_num_of_cols()-1)) &&
00093        (src_image(r+1,dest_image.get_num_of_cols()-1) < src_image(r,dest_image.get_num_of_cols()-1)) &&
00094        (src_image(r,dest_image.get_num_of_cols()-2) < src_image(r,dest_image.get_num_of_cols()-1))) {
00095       dest_image(r,dest_image.get_num_of_cols()-1) = (TD) 1;
00096     }
00097     else {
00098       dest_image(r,dest_image.get_num_of_cols()-1) = (TD) 0;
00099     }
00100   }
00101 
00102   for(int c=1; c<dest_image.get_num_of_cols()-2; c++) {
00103     
00104     if((src_image(0,c-1) < src_image(0,c)) &&
00105        (src_image(0,c+1) < src_image(0,c)) &&
00106        (src_image(1,c) < src_image(0,c))) {
00107       dest_image(0,c) = (TD) 1;
00108     }
00109     else {
00110       dest_image(0,c) = (TD) 0;
00111     }
00112 
00113     if((src_image(dest_image.get_num_of_rows()-1,c-1) < src_image(dest_image.get_num_of_cols()-1,c)) &&
00114        (src_image(dest_image.get_num_of_cols()-1,c+1) < src_image(dest_image.get_num_of_cols()-1,c)) &&
00115        (src_image(dest_image.get_num_of_cols()-2,c) < src_image(dest_image.get_num_of_cols()-1,c))) {
00116       dest_image(dest_image.get_num_of_cols()-1,c) = (TD) 1;
00117     }
00118     else {
00119       dest_image(dest_image.get_num_of_cols()-1,c) = (TD) 0;
00120     }
00121   }
00122   */
00123   for(int r=1; r<dest_image.get_num_of_rows()-2; r++) {
00124     for(int c=1; c<dest_image.get_num_of_cols()-2; c++) {
00125 
00126       if((src_image(r-1, c) < src_image(r,c)) &&
00127          (src_image(r+1, c) < src_image(r,c)) &&
00128          (src_image(r, c+1) < src_image(r,c)) &&
00129          (src_image(r, c-1) < src_image(r,c))) {
00130         dest_image(r,c) = (TD) 1;
00131       }
00132       else {
00133         dest_image(r,c) = (TD) 0;
00134       }
00135     }
00136   }
00137 }

Here is the call graph for this function:


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