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

# Modules/ImageProcessor/ImageProcessor.h

Go to the documentation of this file.

    00001 /**
    00002 * @file ImageProcessor.h
    00003 *
    00004 * This file contains a generic class for ImageProcessor.
    00005 *
    00006 * @author Matthias Jüngel
    00007 * @author Martin Lötzsch
    00008 */
    00009
    00010 #ifndef __ImageProcessor_h_
    00011 #define __ImageProcessor_h_
    00012
    00013 #ifdef _WIN32
    00014 #pragma warning(disable:4786)
    00015 // the constructor with all it's long parameter type names results in a too
    00016 // long debug identifier
    00017 #endif
    00018
    00019 #include "Tools/Module/Module.h"
    00020
    00021 #include "Representations/Perception/Image.h"
    00022 #include "Representations/Perception/CameraMatrix.h"
    00023 #include "Representations/Perception/ColorTable.h"
    00024 #include "Representations/Perception/LandmarksPercept.h"
    00025 #include "Representations/Perception/BallPercept.h"
    00026 #include "Representations/Perception/LinesPercept.h"
    00027 #include "Representations/Perception/EdgesPercept.h"
    00028 #include "Representations/Perception/PlayersPercept.h"
    00029 #include "Representations/Perception/ObstaclesPercept.h"
    00030 #include "Representations/Perception/SpecialPercept.h"
    00031 #include "Representations/Perception/CalibrationRequest.h"
    00032 #include "Representations/Cognition/RobotPose.h"
    00033 #include "Representations/Cognition/BallModel.h"
    00034 #include "Representations/Cognition/PlayerPoseCollection.h"
    00035 #include "Representations/Cognition/RobotState.h"
    00036
    00037 /**
    00038 * @class ImageProcessorInterfaces
    00039 *
    00040 * The interfaces of the ImageProcessor module.
    00041 */
    00042 class ImageProcessorInterfaces
    00043 {
    00044 public:
    00045   /** Constructor. */
    00046   ImageProcessorInterfaces(
    00047     const Image& image,
    00048     const CameraMatrix& cameraMatrix,
    00049     ColorTable& colorTable,
    00050     const RobotPose& robotPose,
    00051     const BallModel& ballModel,
    00052     const PlayerPoseCollection& playerPoseCollection,
    00053     const RobotState& robotState,
    00054     const CalibrationRequest& calibrationRequest,
    00055     LandmarksPercept& landmarksPercept,
    00056     BallPercept& ballPercept,
    00057     LinesPercept& linesPercept,
    00058     EdgesPercept& edgesPercept,
    00059     PlayersPercept& playersPercept,
    00060     ObstaclesPercept& obstaclesPercept,
    00061     SpecialPercept& specialPercept)
    00062     : image(image),
    00063     cameraMatrix(cameraMatrix),
    00064     colorTable(colorTable),
    00065     robotPose(robotPose),
    00066     ballModel(ballModel),
    00067     playerPoseCollection(playerPoseCollection),
    00068     robotState(robotState),
    00069     calibrationRequest(calibrationRequest),
    00070     landmarksPercept(landmarksPercept),
    00071     ballPercept(ballPercept),
    00072     linesPercept(linesPercept),
    00073     edgesPercept(edgesPercept),
    00074     playersPercept(playersPercept),
    00075     obstaclesPercept(obstaclesPercept),
    00076     specialPercept(specialPercept)
    00077   {}
    00078
    00079   /** The image to be processed */
    00080   const Image& image;
    00081
    00082   /** The offset and the rotation of the camera */
    00083   const CameraMatrix& cameraMatrix;
    00084
    00085   /** The color table */
    00086   ColorTable& colorTable;
    00087
    00088   /** The last calculated ball robot pose */
    00089   const RobotPose& robotPose;
    00090
    00091   /** The last calculated ball position */
    00092   const BallModel& ballModel;
    00093
    00094   /** The last calculated player pose collection */
    00095   const PlayerPoseCollection& playerPoseCollection;
    00096
    00097   /** The last calculated robot state */
    00098   const RobotState& robotState;
    00099
    00100   /** The calibration request */
    00101   const CalibrationRequest& calibrationRequest;
    00102
    00103   /** The landmarks percept to be generated */
    00104   LandmarksPercept& landmarksPercept;
    00105
    00106   /** The ball percept to be generated */
    00107   BallPercept& ballPercept;
    00108
    00109   /** The lines percept to be generated */
    00110   LinesPercept& linesPercept;
    00111
    00112   /** The edges percept to be generated */
    00113   EdgesPercept& edgesPercept;
    00114
    00115   /** The players percept to be generated */
    00116   PlayersPercept& playersPercept;
    00117
    00118   /** The obstacles percept to be generated */
    00119   ObstaclesPercept& obstaclesPercept;
    00120
    00121   /** */
    00122   SpecialPercept& specialPercept;
    00123 };
    00124
    00125
    00126 /**
    00127 * @class ImageProcessor
    00128 *
    00129 * The base class for image processors.
    00130 * ImageProcessors calculate percepts.
    00131 *
    00132 * @author Matthias Jüngel
    00133 * @author Martin Lötzsch
    00134 */
    00135 class ImageProcessor : public Module, public ImageProcessorInterfaces
    00136 {
    00137 public:
    00138 /*
    00139 * Constructor.
    00140 * @param interfaces The parameters of the ImageProcessor module.
    00141   */
    00142   ImageProcessor(const ImageProcessorInterfaces& interfaces)
    00143     : ImageProcessorInterfaces(interfaces)
    00144   {}
    00145
    00146   /** Destructor */
    00147   virtual ~ImageProcessor() {}
    00148 };
    00149
    00150 #endif // __ImageProcessor_h_