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_

Generated on Mon Mar 20 21:59:49 2006 for GT2005 by doxygen 1.3.6