void ExtendedBallPercept::serialize(In* in, Out* out)
{
  STREAM_REGISTER_BEGIN();
    STREAM(positionInImage);
    STREAM(radiusInImage);
    STREAM(relativePositionOnField);
    STREAM(projectedBallRadius);
    STREAM(levenbergMarquardtResult);
    STREAM(couldBeBallPart);
    STREAM(couldBeRobotPart);
    STREAM(isValidBallPercept);
    STREAM(centerTopLeft);
    STREAM(centerDownRight);
    STREAM(middleTopLeft);
    STREAM(middleDownRight);
    STREAM(outerTopLeft);
    STREAM(outerDownRight);
    STREAM_ARRAY(centerArea);
    STREAM_ARRAY(middleArea);
    STREAM_ARRAY(outerArea);
    STREAM(centerResult);
    STREAM(middleResult);
    STREAM(outerResult);
    STREAM(outerResult);
    STREAM(distanceCheckResult);
    STREAM(validity);
    STREAM(deviationOfBallPoints);
    STREAM(durabilityOfBallPoints);
    STREAM(eccentricity);
  STREAM_REGISTER_FINISH();
}
void NaturalLandmarkPercept::serialize(In *in, Out *out)
{
  //Sending a vector of matchedkeypoints
  STREAM_REGISTER_BEGIN();
  STREAM(matchedPoints);
  STREAM(matchingScore);
  STREAM(matchFound);
  STREAM_REGISTER_FINISH();

}