00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef FINDPIPETTE_H
00015 #define FINDPIPETTE_H
00016
00017 #include <iostream>
00018 #include <cmath>
00019 #include <values.h>
00020
00021 #include "image.h"
00022 #include "image_funcs.h"
00023 #include "cartesian.h"
00024
00025 namespace mimas {
00026
00027 class findPipette
00028 {
00029 private:
00030 int skipXboundaries;
00031 int skipYboundaries;
00032 int ySearchRange;
00033 int thresval;
00034 int linesDiffRange;
00035 int holdPositionCondition;
00036 bool firstrecog;
00037 int scanliney;
00038
00039 Cartesian<int> prevdepth, currdepth;
00040 void searchDown(int x, int y, int colour, image<int> &imagein, Cartesian<int> &d);
00041
00042 protected:
00043
00044 public:
00045 void find(image<int> &imageprev, image<int> &imagecurrent, int &x, int &y);
00046 void setSkipXboundaries(int tempval);
00047 void setSkipYboundaries(int tempval);
00048 int getSkipYboundaries(void);
00049 void setYSearchRange(int tempval);
00050 void setFirstRunFlag(bool tempval);
00051 void setHJThresholdVal(int tempval);
00052 void setLinesDiffRange(int tempval);
00053 void setHoldPositionCondition(int tempval);
00054
00055 findPipette()
00056 {
00057 skipXboundaries=20;
00058 skipYboundaries=10;
00059 ySearchRange=20;
00060 thresval=5;
00061 linesDiffRange=20;
00062 holdPositionCondition=30;
00063 firstrecog=true;
00064 scanliney=skipYboundaries;
00065 }
00066
00067 ~findPipette()
00068 {
00069 }
00070
00071 };
00072 };
00073
00074 #endif