Urbi SDK Remote for Java  2.7.5
MedianFilter.java
00001 package urbi;
00002 
00003 import java.util.Vector;
00004 
00005 public class    MedianFilter
00006 {
00007         private Vector  tab;
00008 
00009         private double          size = 0;
00010 
00011         public MedianFilter(int size)
00012         {
00013                 this.size = size;
00014                 tab = new Vector();
00015         }
00016 
00017         public boolean  checkSize()
00018         {
00019                 if (tab.size() == size)
00020                         return true;
00021                 return false;
00022         }
00023 
00024         public double           getMedian()
00025         {
00026                 Double median = (Double)tab.get((int)(size / 2));
00027                 tab.removeAllElements();
00028                 return median.doubleValue();
00029         }
00030 
00031         public void             addElement(double elt)
00032         {
00033                 if (tab.size() == 0)
00034                         tab.add(new Double(elt));
00035                 else
00036                         {
00037                                 int             i;
00038 
00039                                 for (i = 0; i < tab.size() && elt > ((Double)tab.get(i)).doubleValue(); i++)
00040                                         ;
00041 
00042                                 tab.add(i, new Double(elt));
00043                         }
00044         }
00045 
00046         public String toString()
00047         {
00048                 return tab.toString();
00049         }
00050 }