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:

[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 ColorCorrector & | colorCorrector
const ColorTable & | colorTable

## 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:

- Modules/ImageProcessor/GT2005ImageProcessor/GT2005CenterCircleFinder.h
- Modules/ImageProcessor/GT2005ImageProcessor/GT2005CenterCircleFinder.cpp