projects
/
IRC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changes: now Inference engine works fine with the EyeTracking benchmark.
[IRC.git]
/
Robust
/
src
/
Benchmarks
/
SSJava
/
EyeTrackingInfer
/
DeviationScanner.java
diff --git
a/Robust/src/Benchmarks/SSJava/EyeTrackingInfer/DeviationScanner.java
b/Robust/src/Benchmarks/SSJava/EyeTrackingInfer/DeviationScanner.java
index 4cc353e02d7ba3f92b068672561ef7e8d442c553..412d9e23a4e67ff61ff5b9b77028441ca9d9f79a 100644
(file)
--- a/
Robust/src/Benchmarks/SSJava/EyeTrackingInfer/DeviationScanner.java
+++ b/
Robust/src/Benchmarks/SSJava/EyeTrackingInfer/DeviationScanner.java
@@
-23,11
+23,10
@@
* @author Florian Frankenberger
\r
*/
\r
\r
* @author Florian Frankenberger
\r
*/
\r
\r
-
\r
public class DeviationScanner {
\r
\r
public class DeviationScanner {
\r
\r
-
\r
- private
EyePosition eyePositions
[];
\r
+ private int x[];
\r
+ private
int y
[];
\r
\r
// LEFT_UP(+1, -1), UP(0, -1), RIGHT_UP(-1, -1), LEFT(+1, 0), NONE(0, 0),
\r
// RIGHT(-1, 0), LEFT_DOWN(
\r
\r
// LEFT_UP(+1, -1), UP(0, -1), RIGHT_UP(-1, -1), LEFT(+1, 0), NONE(0, 0),
\r
// RIGHT(-1, 0), LEFT_DOWN(
\r
@@
-44,55
+43,47
@@
public class DeviationScanner {
public static final int RIGHT_DOWN = 8;
\r
\r
public DeviationScanner() {
\r
public static final int RIGHT_DOWN = 8;
\r
\r
public DeviationScanner() {
\r
- eyePositions = new EyePosition[3];
\r
+ x = new int[3];
\r
+ y = new int[3];
\r
+ SSJAVA.arrayinit(x, -1);
\r
+ SSJAVA.arrayinit(y, -1);
\r
}
\r
\r
}
\r
\r
-
\r
- public void addEyePosition( EyePosition eyePosition) {
\r
-
\r
- // for ( int i = 1; i < 3; i++) {
\r
- // eyePositions[i - 1] = eyePositions[i];
\r
- // eyePositions[i] = null;
\r
- // }
\r
- // eyePositions[eyePositions.length - 1] = eyePosition;
\r
-
\r
- SSJAVA.append(eyePositions, eyePosition);
\r
-
\r
+ public void addEyePosition(int inx, int iny) {
\r
+ SSJAVA.append(x, inx);
\r
+ SSJAVA.append(y, iny);
\r
}
\r
\r
}
\r
\r
- //
\r
-
\r
-
\r
- public int scanForDeviation( Rectangle2D faceRect) {
\r
+ public int scanForDeviation(Rectangle2D faceRect) {
\r
\r
\r
-
int deviation = NONE;
\r
+ int deviation = NONE;
\r
\r
\r
- for (
int i = 0; i < 3; i++) {
\r
- if (
eyePositions[i] == null
) {
\r
+ for (int i = 0; i < 3; i++) {
\r
+ if (
x[i] == -1
) {
\r
return deviation;
\r
}
\r
}
\r
\r
return deviation;
\r
}
\r
}
\r
\r
-
double deviationX = 0;
\r
-
double deviationY = 0;
\r
+ double deviationX = 0;
\r
+ double deviationY = 0;
\r
\r
\r
-
int lastIdx = -1;
\r
- for (
int i = 0; i < 3; ++i) {
\r
+ int lastIdx = -1;
\r
+ for (int i = 0; i < 3; ++i) {
\r
if (lastIdx != -1) {
\r
if (lastIdx != -1) {
\r
- deviationX += (
eyePositions[i].getX() - eyePositions[lastIdx].getX()
);
\r
- deviationY += (
eyePositions[i].getY() - eyePositions[lastIdx].getY()
);
\r
+ deviationX += (
x[i] - x[lastIdx]
);
\r
+ deviationY += (
y[i] - y[lastIdx]
);
\r
}
\r
lastIdx = i;
\r
}
\r
\r
}
\r
lastIdx = i;
\r
}
\r
\r
-
final double deviationPercentX = 0.04;
\r
-
final double deviationPercentY = 0.04;
\r
+ final double deviationPercentX = 0.04;
\r
+ final double deviationPercentY = 0.04;
\r
\r
deviationX /= faceRect.getWidth();
\r
deviationY /= faceRect.getWidth();
\r
\r
\r
deviationX /= faceRect.getWidth();
\r
deviationY /= faceRect.getWidth();
\r
\r
-
int deviationAbsoluteX = 0;
\r
-
int deviationAbsoluteY = 0;
\r
+ int deviationAbsoluteX = 0;
\r
+ int deviationAbsoluteY = 0;
\r
if (deviationX > deviationPercentX)
\r
deviationAbsoluteX = 1;
\r
if (deviationX < -deviationPercentX)
\r
if (deviationX > deviationPercentX)
\r
deviationAbsoluteX = 1;
\r
if (deviationX < -deviationPercentX)
\r
@@
-105,17
+96,14
@@
public class DeviationScanner {
deviation = getDirectionFor(deviationAbsoluteX, deviationAbsoluteY);
\r
\r
if (deviation != NONE) {
\r
deviation = getDirectionFor(deviationAbsoluteX, deviationAbsoluteY);
\r
\r
if (deviation != NONE) {
\r
- eyePositions = new EyePosition[3];
\r
+ SSJAVA.arrayinit(x, -1);
\r
+ SSJAVA.arrayinit(y, -1);
\r
}
\r
}
\r
- // System.out.println(String.format("%.2f%% | %.2f%% => %d and %d >>> %s",
\r
- // deviationX*100, deviationY*100, deviationAbsoluteX, deviationAbsoluteY,
\r
- // deviation.toString()));
\r
\r
return deviation;
\r
}
\r
\r
\r
return deviation;
\r
}
\r
\r
-
\r
- public int getDirectionFor( int directionX, int directionY) {
\r
+ public int getDirectionFor(int directionX, int directionY) {
\r
\r
if (directionX == +1 && directionY == -1) {
\r
return LEFT_UP;
\r
\r
if (directionX == +1 && directionY == -1) {
\r
return LEFT_UP;
\r
@@
-140,12
+128,7
@@
public class DeviationScanner {
return -1;
\r
}
\r
\r
return -1;
\r
}
\r
\r
- public void clear() {
\r
- System.out.println("CLEAR");
\r
- eyePositions = new EyePosition[3];
\r
- }
\r
-
\r
- public String toStringDeviation( int dev) {
\r
+ public String toStringDeviation(int dev) {
\r
if (dev == LEFT_UP) {
\r
return "LEFT_UP";
\r
} else if (dev == UP) {
\r
if (dev == LEFT_UP) {
\r
return "LEFT_UP";
\r
} else if (dev == UP) {
\r