Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

GT2005CenterCircleFinder Class Reference

#include <GT2005CenterCircleFinder.h>

Collaboration diagram for GT2005CenterCircleFinder:

Collaboration graph
[legend]
List of all members.

Public Types

enum  {
  maxNumberOfCandidatesPossible = 90, houghDimensionX = 100, houghDimensionY = 50,
  radius = 180, areaOfInterestX = 3000, areaOfInterestY = 2000,
  mEntry = 4, mEntry2 = 15, mEntry3 = 11,
  scanLength = 140, minNumberOfPositives = 7, minNumberOfPositivesForDistanceCheck = 4,
  enoughPros = 45, maximalDistanceAllowedBetweenMidAndBorder = 290, maxNumberOfCandidatesMaxEntry = 150,
  acceptedAvgDistance = 200, onlyWhiteAllowed = 2, numberOfScanLines = 8,
  neededWhiteCount = 2
}

Public Member Functions

 GT2005CenterCircleFinder (const ColorCorrector &colorCorrector, const ColorTable &cTable)
void reset ()
void addCandidate (Vector2< int > &candiOnField, Vector2< int > &candiOfImage)
void determineCirclePoint (const CameraMatrix &cameraMatrix, const Image &image, const RobotPose &robotPose, const CameraMatrix &prevCameraMatrix)
bool getCircle (Vector2< double > &mid)
bool circle (Vector2< double > &mid)

Public Attributes

bool circleFound

Private Member Functions

void transformArrayToField (int arrayIndex, bool xDirection, int &fieldPosition)
void transformFieldToArray (double fieldPos, bool xDirection, int &arrayIndex)
void checkCircleMidpoint (Vector2< double > candidate, int absMaxEntry, const CameraMatrix &cameraMatrix, const Image &image, const RobotPose &robotPose, const CameraMatrix &prevCameraMatrix)
void checkCircleMidpoint2 (int maxEntry, int NumberOfEntriesMaxEntry, multipleCandidate maxEntryFieldCoord[maxNumberOfCandidatesMaxEntry], const CameraMatrix &cameraMatrix, const Image &image, const RobotPose &robotPose, const CameraMatrix &prevCameraMatrix)
bool scanSurrounding (Vector2< int > start, Vector2< double > startOnField, const CameraMatrix &cameraMatrix, const Image &image, const RobotPose &robotPose, const CameraMatrix &prevCameraMatrix)
void scan (Vector2< int > start, Vector2< double > startOnField, Vector2< int > end, Vector2< int > step, int &positiveInNumberOfDirection, const CameraMatrix &cameraMatrix, const Image &image, const RobotPose &robotPose, const CameraMatrix &prevCameraMatrix, double &distance, bool &positiv)

Private Attributes

Vector2< double > midPoint
Candidate candidatePoints [maxNumberOfCandidatesPossible]
int numberOfCandidates
int houghSpace [houghDimensionX][houghDimensionY]
bool flagY [houghDimensionY]
int houghStepX
int houghStepY
double maxQuantizationErrorX
double maxQuantizationErrorY
int timeTillLastSeen
Vector2< double > midPointLastSeenField
Vector2< int > midPointLastSeenFieldInt
double lineThicknessRateAllowed
const ColorCorrectorcolorCorrector
const ColorTablecolorTable

Member Enumeration Documentation

anonymous enum
 

Enumeration values:
maxNumberOfCandidatesPossible 
houghDimensionX 
houghDimensionY 
radius 
areaOfInterestX 
areaOfInterestY 
mEntry 
mEntry2 
mEntry3 
scanLength 
minNumberOfPositives 
minNumberOfPositivesForDistanceCheck 
enoughPros 
maximalDistanceAllowedBetweenMidAndBorder 
maxNumberOfCandidatesMaxEntry 
acceptedAvgDistance 
onlyWhiteAllowed 
numberOfScanLines 
neededWhiteCount 

Definition at line 14 of file GT2005CenterCircleFinder.h.


Constructor & Destructor Documentation

GT2005CenterCircleFinder::GT2005CenterCircleFinder const ColorCorrector colorCorrector,
const ColorTable cTable
 

Definition at line 6 of file GT2005CenterCircleFinder.cpp.

References areaOfInterestX, areaOfInterestY, circleFound, flagY, houghDimensionX, houghDimensionY, houghSpace, houghStepX, houghStepY, lineThicknessRateAllowed, maxQuantizationErrorX, maxQuantizationErrorY, numberOfCandidates, and timeTillLastSeen.


Member Function Documentation

void GT2005CenterCircleFinder::reset  ) 
 

Definition at line 26 of file GT2005CenterCircleFinder.cpp.

References circleFound, flagY, houghDimensionX, houghDimensionY, houghSpace, numberOfCandidates, and timeTillLastSeen.

Referenced by GT2005ImageProcessor::execute().

void GT2005CenterCircleFinder::addCandidate Vector2< int > &  candiOnField,
Vector2< int > &  candiOfImage
 

Definition at line 41 of file GT2005CenterCircleFinder.cpp.

References areaOfInterestX, areaOfInterestY, candidatePoints, circleFound, idText, maxNumberOfCandidatesPossible, numberOfCandidates, OUTPUT, GT2005CenterCircleFinder::Candidate::pointOfImage, GT2005CenterCircleFinder::Candidate::pointOnField, Vector2< double >::x, Vector2< V >::x, Vector2< double >::y, and Vector2< V >::y.

void GT2005CenterCircleFinder::determineCirclePoint const CameraMatrix cameraMatrix,
const Image image,
const RobotPose robotPose,
const CameraMatrix prevCameraMatrix
 

Definition at line 149 of file GT2005CenterCircleFinder.cpp.

References areaOfInterestX, GT2005CenterCircleFinder::multipleCandidate::avgDistance, candidatePoints, checkCircleMidpoint(), checkCircleMidpoint2(), CIRCLE, circleFound, GT2005CenterCircleFinder::multipleCandidate::count, flagY, houghDimensionY, houghSpace, idText, maxNumberOfCandidatesMaxEntry, mEntry, midPointLastSeenField, numberOfCandidates, OUTPUT, GT2005CenterCircleFinder::multipleCandidate::pointOnField, sqr, timeTillLastSeen, transformArrayToField(), transformFieldToArray(), Vector2< double >::x, and Vector2< double >::y.

Here is the call graph for this function:

bool GT2005CenterCircleFinder::getCircle Vector2< double > &  mid  ) 
 

Definition at line 330 of file GT2005CenterCircleFinder.cpp.

References circleFound, and midPoint.

Referenced by GT2005ImageProcessor::execute().

bool GT2005CenterCircleFinder::circle Vector2< double > &  mid  )  [inline]
 

Definition at line 54 of file GT2005CenterCircleFinder.h.

References circleFound, and midPoint.

void GT2005CenterCircleFinder::transformArrayToField int  arrayIndex,
bool  xDirection,
int &  fieldPosition
[private]
 

Definition at line 67 of file GT2005CenterCircleFinder.cpp.

References areaOfInterestX, areaOfInterestY, houghDimensionX, houghDimensionY, houghStepX, and houghStepY.

Referenced by determineCirclePoint().

void GT2005CenterCircleFinder::transformFieldToArray double  fieldPos,
bool  xDirection,
int &  arrayIndex
[private]
 

Definition at line 106 of file GT2005CenterCircleFinder.cpp.

References areaOfInterestX, areaOfInterestY, houghDimensionX, houghDimensionY, houghStepX, and houghStepY.

Referenced by determineCirclePoint().

void GT2005CenterCircleFinder::checkCircleMidpoint Vector2< double >  candidate,
int  absMaxEntry,
const CameraMatrix cameraMatrix,
const Image image,
const RobotPose robotPose,
const CameraMatrix prevCameraMatrix
[private]
 

Definition at line 343 of file GT2005CenterCircleFinder.cpp.

References Geometry::calculatePointInImage(), Image::cameraInfo, candidatePoints, CIRCLE, circleFound, enoughPros, idText, max, maxQuantizationErrorX, maxQuantizationErrorY, mEntry, midPoint, midPointLastSeenField, numberOfCandidates, OUTPUT, Geometry::relative2FieldCoord(), scanSurrounding(), sqr, timeTillLastSeen, Vector2< V >::x, and Vector2< V >::y.

Referenced by determineCirclePoint().

Here is the call graph for this function:

void GT2005CenterCircleFinder::checkCircleMidpoint2 int  maxEntry,
int  NumberOfEntriesMaxEntry,
multipleCandidate  maxEntryFieldCoord[maxNumberOfCandidatesMaxEntry],
const CameraMatrix cameraMatrix,
const Image image,
const RobotPose robotPose,
const CameraMatrix prevCameraMatrix
[private]
 

Definition at line 407 of file GT2005CenterCircleFinder.cpp.

References Geometry::calculatePointInImage(), Image::cameraInfo, CIRCLE, circleFound, idText, max, maxQuantizationErrorX, maxQuantizationErrorY, mEntry2, midPoint, midPointLastSeenField, OUTPUT, Geometry::relative2FieldCoord(), sqr, and timeTillLastSeen.

Referenced by determineCirclePoint().

Here is the call graph for this function:

bool GT2005CenterCircleFinder::scanSurrounding Vector2< int >  start,
Vector2< double >  startOnField,
const CameraMatrix cameraMatrix,
const Image image,
const RobotPose robotPose,
const CameraMatrix prevCameraMatrix
[private]
 

Definition at line 553 of file GT2005CenterCircleFinder.cpp.

References Image::cameraInfo, idText, max, minNumberOfPositives, numberOfScanLines, OUTPUT, CameraInfo::resolutionHeight, CameraInfo::resolutionWidth, scan(), scanLength, Vector2< V >::x, and Vector2< V >::y.

Referenced by checkCircleMidpoint().

Here is the call graph for this function:

void GT2005CenterCircleFinder::scan Vector2< int >  start,
Vector2< double >  startOnField,
Vector2< int >  end,
Vector2< int >  step,
int &  positiveInNumberOfDirection,
const CameraMatrix cameraMatrix,
const Image image,
const RobotPose robotPose,
const CameraMatrix prevCameraMatrix,
double &  distance,
bool &  positiv
[private]
 

Definition at line 1275 of file GT2005CenterCircleFinder.cpp.

References Geometry::calculatePointOnField(), Image::cameraInfo, CIRCLE, COLOR_CLASS, ColorCorrector::correct(), idText, Image::image, LINE, maximalDistanceAllowedBetweenMidAndBorder, neededWhiteCount, onlyWhiteAllowed, OUTPUT, CameraInfo::resolutionHeight, CameraInfo::resolutionWidth, sqr, Vector2< V >::x, and Vector2< V >::y.

Referenced by scanSurrounding().

Here is the call graph for this function:


Member Data Documentation

bool GT2005CenterCircleFinder::circleFound
 

Definition at line 49 of file GT2005CenterCircleFinder.h.

Referenced by addCandidate(), checkCircleMidpoint(), checkCircleMidpoint2(), circle(), determineCirclePoint(), getCircle(), GT2005CenterCircleFinder(), and reset().

Vector2<double> GT2005CenterCircleFinder::midPoint [private]
 

Definition at line 77 of file GT2005CenterCircleFinder.h.

Referenced by checkCircleMidpoint(), checkCircleMidpoint2(), circle(), and getCircle().

Candidate GT2005CenterCircleFinder::candidatePoints[maxNumberOfCandidatesPossible] [private]
 

Definition at line 80 of file GT2005CenterCircleFinder.h.

Referenced by addCandidate(), checkCircleMidpoint(), and determineCirclePoint().

int GT2005CenterCircleFinder::numberOfCandidates [private]
 

Definition at line 83 of file GT2005CenterCircleFinder.h.

Referenced by addCandidate(), checkCircleMidpoint(), determineCirclePoint(), GT2005CenterCircleFinder(), and reset().

int GT2005CenterCircleFinder::houghSpace[houghDimensionX][houghDimensionY] [private]
 

Definition at line 87 of file GT2005CenterCircleFinder.h.

Referenced by determineCirclePoint(), GT2005CenterCircleFinder(), and reset().

bool GT2005CenterCircleFinder::flagY[houghDimensionY] [private]
 

Definition at line 91 of file GT2005CenterCircleFinder.h.

Referenced by determineCirclePoint(), GT2005CenterCircleFinder(), and reset().

int GT2005CenterCircleFinder::houghStepX [private]
 

Definition at line 94 of file GT2005CenterCircleFinder.h.

Referenced by GT2005CenterCircleFinder(), transformArrayToField(), and transformFieldToArray().

int GT2005CenterCircleFinder::houghStepY [private]
 

Definition at line 95 of file GT2005CenterCircleFinder.h.

Referenced by GT2005CenterCircleFinder(), transformArrayToField(), and transformFieldToArray().

double GT2005CenterCircleFinder::maxQuantizationErrorX [private]
 

Definition at line 99 of file GT2005CenterCircleFinder.h.

Referenced by checkCircleMidpoint(), checkCircleMidpoint2(), and GT2005CenterCircleFinder().

double GT2005CenterCircleFinder::maxQuantizationErrorY [private]
 

Definition at line 100 of file GT2005CenterCircleFinder.h.

Referenced by checkCircleMidpoint(), checkCircleMidpoint2(), and GT2005CenterCircleFinder().

int GT2005CenterCircleFinder::timeTillLastSeen [private]
 

Definition at line 103 of file GT2005CenterCircleFinder.h.

Referenced by checkCircleMidpoint(), checkCircleMidpoint2(), determineCirclePoint(), GT2005CenterCircleFinder(), and reset().

Vector2<double> GT2005CenterCircleFinder::midPointLastSeenField [private]
 

Definition at line 104 of file GT2005CenterCircleFinder.h.

Referenced by checkCircleMidpoint(), checkCircleMidpoint2(), and determineCirclePoint().

Vector2<int> GT2005CenterCircleFinder::midPointLastSeenFieldInt [private]
 

Definition at line 105 of file GT2005CenterCircleFinder.h.

double GT2005CenterCircleFinder::lineThicknessRateAllowed [private]
 

Definition at line 107 of file GT2005CenterCircleFinder.h.

Referenced by GT2005CenterCircleFinder().

const ColorCorrector& GT2005CenterCircleFinder::colorCorrector [private]
 

Definition at line 132 of file GT2005CenterCircleFinder.h.

const ColorTable& GT2005CenterCircleFinder::colorTable [private]
 

Definition at line 133 of file GT2005CenterCircleFinder.h.


The documentation for this class was generated from the following files:
Generated on Mon Mar 20 22:13:38 2006 for GT2005 by doxygen 1.3.6