Browse Source

fixed error in computation of Haar3*3D features

Sven Sickert 11 years ago
parent
commit
7e19504ab8
1 changed files with 60 additions and 60 deletions
  1. 60 60
      semseg/operations/Operations3D.cpp

+ 60 - 60
semseg/operations/Operations3D.cpp

@@ -286,114 +286,114 @@ double BiIntegralCenteredOps3D::getVal ( const Features &feats, const int &x, co
 
 double HaarHorizontal3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
 {
-  int tlx = x - abs(x1);
-  int tly = y - abs(y1);
-  int tlz = z - abs(z1);
-  int lrx = x + abs(x1);
-  int lry = y + abs(y1);
-  int lrz = z + abs(z1);
+  int tlx = x - x1;
+  int tly = y - y1;
+  int tlz = z - z1;
+  int lrx = x + x1;
+  int lry = y + y1;
+  int lrz = z + z1;
 
   return feats.feats->getIntegralValue(tlx, tly, tlz, lrx, y, lrz, channel1 ) - feats.feats->getIntegralValue(tlx, y, tlz, lrx, lry, lrz, channel1);
 }
 
 double HaarVertical3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
 {
-  int tlx = x - abs(x1);
-  int tly = y - abs(y1);
-  int tlz = z - abs(z1);
-  int lrx = x + abs(x1);
-  int lry = y + abs(y1);
-  int lrz = z + abs(z1);
+  int tlx = x - x1;
+  int tly = y - y1;
+  int tlz = z - z1;
+  int lrx = x + x1;
+  int lry = y + y1;
+  int lrz = z + z1;
 
   return feats.feats->getIntegralValue(tlx, tly, tlz, x, lry, lrz, channel1) - feats.feats->getIntegralValue(x, tly, tlz, lrx, lry, lrz, channel1);
 }
 
 double HaarStacked3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
 {
-  int tlx = x - abs(x1);
-  int tly = y - abs(y1);
-  int tlz = z - abs(z1);
-  int lrx = x + abs(x1);
-  int lry = y + abs(y1);
-  int lrz = z + abs(z1);
+  int tlx = x - x1;
+  int tly = y - y1;
+  int tlz = z - z1;
+  int lrx = x + x1;
+  int lry = y + y1;
+  int lrz = z + z1;
 
   return feats.feats->getIntegralValue(tlx, tly, tlz, lrx, lry, z, channel1) - feats.feats->getIntegralValue(tlx, tly, z, lrx, lry, lrz, channel1);
 }
 
 double HaarDiagXY3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
 {
-  int tlx = x - abs(x1);
-  int tly = y - abs(y1);
-  int tlz = z - abs(z1);
-  int lrx = x + abs(x1);
-  int lry = y + abs(y1);
-  int lrz = z + abs(z1);
+  int tlx = x - x1;
+  int tly = y - y1;
+  int tlz = z - z1;
+  int lrx = x + x1;
+  int lry = y + y1;
+  int lrz = z + z1;
 
   return feats.feats->getIntegralValue(tlx, tly, tlz, x, y, lrz, channel1) + feats.feats->getIntegralValue(x, y, tlz, lrx, lry, lrz, channel1) - feats.feats->getIntegralValue(tlx, y, tlz, x, lry, lrz, channel1) - feats.feats->getIntegralValue(x, tly, tlz, lrx, y, lrz, channel1);
 }
 
 double HaarDiagXZ3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
 {
-  int tlx = x - abs(x1);
-  int tly = y - abs(y1);
-  int tlz = z - abs(z1);
-  int lrx = x + abs(x1);
-  int lry = y + abs(y1);
-  int lrz = z + abs(z1);
+  int tlx = x - x1;
+  int tly = y - y1;
+  int tlz = z - z1;
+  int lrx = x + x1;
+  int lry = y + y1;
+  int lrz = z + z1;
 
   return feats.feats->getIntegralValue(tlx, tly, tlz, x, lry, z, channel1) + feats.feats->getIntegralValue(x, tly, z, lrx, lry, lrz, channel1) - feats.feats->getIntegralValue(tlx, tly, z, x, lry, lrz, channel1) - feats.feats->getIntegralValue(x, tly, tlz, lrx, lry, z, channel1);
 }
 
 double HaarDiagYZ3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
 {
-  int tlx = x - abs(x1);
-  int tly = y - abs(y1);
-  int tlz = z - abs(z1);
-  int lrx = x + abs(x1);
-  int lry = y + abs(y1);
-  int lrz = z + abs(z1);
+  int tlx = x - x1;
+  int tly = y - y1;
+  int tlz = z - z1;
+  int lrx = x + x1;
+  int lry = y + y1;
+  int lrz = z + z1;
 
   return feats.feats->getIntegralValue(tlx, tly, tlz, lrx, y, z, channel1) + feats.feats->getIntegralValue(tlx, y, z, lrx, lry, lrz, channel1) - feats.feats->getIntegralValue(tlx, tly, z, lrx, y, lrz, channel1) - feats.feats->getIntegralValue(tlx, y, tlz, lrx, lry, z, channel1);
 }
 
 double Haar3Horiz3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
 {
-  int tlx = x - abs(x1);
-  int tly = y - abs(y1);
-  int tlz = z - abs(z1);
-  int lrx = x + abs(x1);
-  int lry = y + abs(y1);
-  int lrz = z + abs(z1);
-  int mtly = y - abs(y1);
-  int mlry = y + abs(y1);
+  int tlx = x - x2;
+  int tly = y - y2;
+  int tlz = z - z2;
+  int mtly = y - y1;
+  int mlry = y + y1;
+  int lrx = x + x2;
+  int lry = y + y2;
+  int lrz = z - z2;
 
   return feats.feats->getIntegralValue(tlx, tly, tlz, lrx, mtly, lrz, channel1) - feats.feats->getIntegralValue(tlx, mtly, tlz, lrx, mlry, lrz, channel1) + feats.feats->getIntegralValue(tlx, mlry, tlz, lrx, lry, lrz, channel1);
 }
 
 double Haar3Vert3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
 {
-  int tlx = x - abs(x1);
-  int tly = y - abs(y1);
-  int tlz = z - abs(z1);
-  int lrx = x + abs(x1);
-  int lry = y + abs(y1);
-  int lrz = z + abs(z1);
-  int mtlx = x - abs(x1);
-  int mlrx = x + abs(x1);
+  int tlx = x - x2;
+  int tly = y - y2;
+  int tlz = z - z2;
+  int mtlx = x - x1;
+  int mlrx = x + x1;
+  int lrx = x + x2;
+  int lry = y + y2;
+  int lrz = z + z2;
 
   return feats.feats->getIntegralValue(tlx, tly, tlz, mtlx, lry, lrz, channel1) - feats.feats->getIntegralValue(mtlx, tly, tlz, mlrx, lry, lrz, channel1) + feats.feats->getIntegralValue(mlrx, tly, tlz, lrx, lry, lrz, channel1);
 }
 
 double Haar3Stack3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
 {
-  int tlx = x - abs(x1);
-  int tly = y - abs(y1);
-  int tlz = z - abs(z1);
-  int lrx = x + abs(x1);
-  int lry = y + abs(y1);
-  int lrz = z + abs(z1);
-  int mtlz = z - abs(z1);
-  int mlrz = z + abs(z1);
+  int tlx = x - x2;
+  int tly = y - y2;
+  int tlz = z - z2;
+  int mtlz = z - z1;
+  int mlrz = z + z1;
+  int lrx = x + x2;
+  int lry = y + y2;
+  int lrz = z + z2;
 
   return feats.feats->getIntegralValue(tlx, tly, tlz, lrx, lry, mtlz, channel1) - feats.feats->getIntegralValue(tlx, tly, mtlz, lrx, lry, mlrz, channel1) + feats.feats->getIntegralValue(tlx, tly, mlrz, lrx, lry, lrz, channel1);
 }