X-Git-Url: http://plrg.eecs.uci.edu/git/?p=IRC.git;a=blobdiff_plain;f=Robust%2Fsrc%2FBenchmarks%2FSSJava%2FEyeTrackingInfer%2FDeviationScanner.java;h=412d9e23a4e67ff61ff5b9b77028441ca9d9f79a;hp=4cc353e02d7ba3f92b068672561ef7e8d442c553;hb=d45bb251bdc1196d7848094fa2ccd566b39e021c;hpb=9d767c1f5cef3242ff67473368e5ad327c340bfa;ds=sidebyside diff --git a/Robust/src/Benchmarks/SSJava/EyeTrackingInfer/DeviationScanner.java b/Robust/src/Benchmarks/SSJava/EyeTrackingInfer/DeviationScanner.java index 4cc353e0..412d9e23 100644 --- a/Robust/src/Benchmarks/SSJava/EyeTrackingInfer/DeviationScanner.java +++ b/Robust/src/Benchmarks/SSJava/EyeTrackingInfer/DeviationScanner.java @@ -23,11 +23,10 @@ * @author Florian Frankenberger */ - public class DeviationScanner { - - private EyePosition eyePositions[]; + private int x[]; + private int y[]; // LEFT_UP(+1, -1), UP(0, -1), RIGHT_UP(-1, -1), LEFT(+1, 0), NONE(0, 0), // RIGHT(-1, 0), LEFT_DOWN( @@ -44,55 +43,47 @@ public class DeviationScanner { public static final int RIGHT_DOWN = 8; public DeviationScanner() { - eyePositions = new EyePosition[3]; + x = new int[3]; + y = new int[3]; + SSJAVA.arrayinit(x, -1); + SSJAVA.arrayinit(y, -1); } - - public void addEyePosition( EyePosition eyePosition) { - - // for ( int i = 1; i < 3; i++) { - // eyePositions[i - 1] = eyePositions[i]; - // eyePositions[i] = null; - // } - // eyePositions[eyePositions.length - 1] = eyePosition; - - SSJAVA.append(eyePositions, eyePosition); - + public void addEyePosition(int inx, int iny) { + SSJAVA.append(x, inx); + SSJAVA.append(y, iny); } - // - - - public int scanForDeviation( Rectangle2D faceRect) { + public int scanForDeviation(Rectangle2D faceRect) { - int deviation = NONE; + int deviation = NONE; - for ( int i = 0; i < 3; i++) { - if (eyePositions[i] == null) { + for (int i = 0; i < 3; i++) { + if (x[i] == -1) { return deviation; } } - double deviationX = 0; - double deviationY = 0; + double deviationX = 0; + double deviationY = 0; - int lastIdx = -1; - for ( int i = 0; i < 3; ++i) { + int lastIdx = -1; + for (int i = 0; i < 3; ++i) { if (lastIdx != -1) { - deviationX += (eyePositions[i].getX() - eyePositions[lastIdx].getX()); - deviationY += (eyePositions[i].getY() - eyePositions[lastIdx].getY()); + deviationX += (x[i] - x[lastIdx]); + deviationY += (y[i] - y[lastIdx]); } lastIdx = i; } - final double deviationPercentX = 0.04; - final double deviationPercentY = 0.04; + final double deviationPercentX = 0.04; + final double deviationPercentY = 0.04; deviationX /= faceRect.getWidth(); deviationY /= faceRect.getWidth(); - int deviationAbsoluteX = 0; - int deviationAbsoluteY = 0; + int deviationAbsoluteX = 0; + int deviationAbsoluteY = 0; if (deviationX > deviationPercentX) deviationAbsoluteX = 1; if (deviationX < -deviationPercentX) @@ -105,17 +96,14 @@ public class DeviationScanner { deviation = getDirectionFor(deviationAbsoluteX, deviationAbsoluteY); if (deviation != NONE) { - eyePositions = new EyePosition[3]; + SSJAVA.arrayinit(x, -1); + SSJAVA.arrayinit(y, -1); } - // System.out.println(String.format("%.2f%% | %.2f%% => %d and %d >>> %s", - // deviationX*100, deviationY*100, deviationAbsoluteX, deviationAbsoluteY, - // deviation.toString())); return deviation; } - - public int getDirectionFor( int directionX, int directionY) { + public int getDirectionFor(int directionX, int directionY) { if (directionX == +1 && directionY == -1) { return LEFT_UP; @@ -140,12 +128,7 @@ public class DeviationScanner { return -1; } - public void clear() { - System.out.println("CLEAR"); - eyePositions = new EyePosition[3]; - } - - public String toStringDeviation( int dev) { + public String toStringDeviation(int dev) { if (dev == LEFT_UP) { return "LEFT_UP"; } else if (dev == UP) {