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

Modules/ImageProcessor/ImageProcessorSelector.h

Go to the documentation of this file.
00001 /**
00002 * @file ImageProcessorSelector.h
00003 *
00004 * Definition of class ImageProcessorSelector
00005 *
00006 * @author Max Risler
00007 * @author Martin Lötzsch
00008 * @author Matthias Jüngel
00009 */
00010 
00011 #ifndef __ImageProcessorSelector_h_
00012 #define __ImageProcessorSelector_h_
00013 
00014 #include "Tools/Module/ModuleSelector.h"
00015 
00016 #include "GT2004ImageProcessor/GT2004ImageProcessor.h"
00017 #include "CheckerboardDetector.h"
00018 #include "RasterImageProcessor/RasterImageProcessor.h"
00019 
00020 /**
00021 * ImageProcessor selection module.
00022 *
00023 * A selector for image processor modules.
00024 */
00025 class ImageProcessorSelector : public ModuleSelector, public ImageProcessorInterfaces
00026 {
00027 public:
00028 /**
00029 * Constructor.
00030 * @param handler The module handler of the process.
00031 * @param interfaces The parameters of the ImageProcessor module.
00032   */
00033   ImageProcessorSelector(
00034     ModuleHandler &handler,
00035     const ImageProcessorInterfaces& interfaces)
00036     : ModuleSelector(SolutionRequest::imageProcessor),
00037     ImageProcessorInterfaces(interfaces)
00038   {
00039     handler.setModuleSelector(SolutionRequest::imageProcessor, this);
00040   }
00041 
00042   /** 
00043   * Is called on start and when the selected solution changes
00044   * to create a specific solution.
00045   * @param id The id of the solution to create
00046   * @return The created solution or 0
00047   */
00048   virtual Module* createSolution(SolutionRequest::ModuleSolutionID id)
00049   {
00050     switch(id)
00051     {
00052     case SolutionRequest::gt2004ImageProcessor:
00053       return new GT2004ImageProcessor(*this);
00054     
00055     case SolutionRequest::checkerboardDetector:
00056       return new CheckerboardDetector(*this);
00057 
00058     case SolutionRequest::rasterImageProcessor:
00059       return new RasterImageProcessor(*this);
00060     
00061     default:
00062       return 0;
00063     }
00064   }
00065 };
00066 
00067 #endif // ImageProcessorSelector_h_
00068 
00069 /*
00070 * Change log :
00071 * 
00072 * $Log: ImageProcessorSelector.h,v $
00073 * Revision 1.8  2004/09/02 07:59:30  schmidtb
00074 * Added RasterImageProcessor to repository, because we used it for the OpenChallenge.
00075 *
00076 * Revision 1.7  2004/07/20 20:44:18  spranger
00077 * removed slam and regiongrowing-imageprocessors
00078 *
00079 * Revision 1.6  2004/07/10 00:13:58  spranger
00080 * renaming for coderelease and preparations for gt2005
00081 *
00082 * Revision 1.5  2004/07/02 10:11:47  nistico
00083 * Cloned main image processor and created
00084 * SpecialLandmarks specialist for SLAM challenge
00085 *
00086 * Revision 1.4  2004/06/17 11:24:04  roefer
00087 * Added RGIP and GT2004SL
00088 *
00089 * Revision 1.3  2004/05/29 18:21:27  dueffert
00090 * walk parameter evolution, measurement and calibration stuff ported to GT2004_WM
00091 *
00092 * Revision 1.2  2004/05/22 18:47:42  juengel
00093 * Removed some solutions.
00094 *
00095 * Revision 1.1.1.1  2004/05/22 17:19:27  cvsadm
00096 * created new repository GT2004_WM
00097 *
00098 * Revision 1.16  2004/05/04 13:56:23  tim
00099 * added GT2004ImageProcessor
00100 *
00101 * Revision 1.15  2004/04/18 11:57:46  nistico
00102 * Removed MSH2004ImageProcessor2 (integrated all changes into MSH2004ImageProcessor)
00103 *
00104 * Revision 1.14  2004/04/08 15:33:05  wachter
00105 * GT04 checkin of Microsoft-Hellounds
00106 *
00107 * Revision 1.13  2004/03/28 18:35:18  nistico
00108 * Temporarily created MSH2004ImageProcessor2, it has some important advancements compared to
00109 * the MSH2004ImageProcessor1 but it is untested on real robots yet, hence the creation of the
00110 * new module.
00111 * It will be removed soon, don't use it!
00112 *
00113 * Revision 1.12  2004/03/20 14:43:09  pg_thki
00114 * - removed unused image processors.
00115 *
00116 * Revision 1.11  2004/03/19 11:31:55  nistico
00117 * ColorTable32KImageProcessor removed
00118 *
00119 * Revision 1.10  2004/03/16 14:16:06  risler
00120 * cloned GT2003ImageProcessor to DDD2004ImageProcessor
00121 *
00122 * Revision 1.9  2004/03/08 01:38:57  roefer
00123 * Interfaces should be const
00124 *
00125 * Revision 1.8  2004/02/16 18:52:57  tim
00126 * Added BB2004ImageProcessor
00127 *
00128 * Revision 1.7  2004/01/21 14:31:58  loetzsch
00129 * Module Selectors create only the selected solution.
00130 * When the solution changes, the old solution is erased and the new
00131 * one ist created using createSolution(..)
00132 *
00133 * Revision 1.6  2004/01/20 12:40:08  nistico
00134 * - Added support for ColorTable32K (65K elements in packed format)
00135 * - RobotControl can now convert GT *.log files into AIBOVision (external ColorTable32K calibration tool) *.amv file format
00136 *
00137 * Revision 1.5  2004/01/15 15:43:00  kindler
00138 * Added ComboImageProcessor (only temporarily, for debugging only..)
00139 *
00140 * Revision 1.4  2003/12/08 15:01:42  schmidtb
00141 * reactivated RIP
00142 *
00143 * Revision 1.3  2003/12/06 06:31:19  loetzsch
00144 * no message
00145 *
00146 * Revision 1.2  2003/11/20 10:28:59  schmidtb
00147 * Ball Detection added
00148 *
00149 * Revision 1.1  2003/10/06 14:10:13  cvsadm
00150 * Created GT2004 (M.J.)
00151 *
00152 * Revision 1.2  2003/07/30 14:50:02  dueffert
00153 * CheckerboardDetector added
00154 *
00155 * Revision 1.1.1.1  2003/07/02 09:40:23  cvsadm
00156 * created new repository for the competitions in Padova from the 
00157 * tamara CVS (Tuesday 2:00 pm)
00158 *
00159 * removed unused solutions
00160 *
00161 * Revision 1.14  2003/05/20 15:52:42  deutsch
00162 * Added GridImageProcessorTSL.
00163 *
00164 * Revision 1.13  2003/05/01 13:24:24  roefer
00165 * Copied LinesImageProcessor2 to GT2003ImageProcessor
00166 *
00167 * Revision 1.12  2003/04/15 17:19:43  risler
00168 * moved DDDGO2003 ImageProcessor to own module
00169 * removed ContinuousBasicBehaviorTester
00170 *
00171 * Revision 1.11  2003/04/04 17:18:03  juengel
00172 * AddedHUGO2003ImageProcessor
00173 *
00174 * Revision 1.10  2003/03/12 22:26:22  roefer
00175 * LinesImageProcessor2 added
00176 *
00177 * Revision 1.9  2003/03/05 14:07:09  roefer
00178 * LinesPerceptor2 is now LinesImageProcessor
00179 *
00180 * Revision 1.8  2003/03/04 15:02:39  osterhues
00181 * Changed GridImageProcessorDo to GridImageProcessor3
00182 *
00183 * Revision 1.7  2003/01/22 15:00:03  dueffert
00184 * checkerboard stuff added
00185 *
00186 * Revision 1.6  2003/01/09 14:10:39  jhoffman
00187 * no message
00188 *
00189 * Revision 1.5  2003/01/03 17:22:07  deutsch
00190 * added class GridmageProcesserDo
00191 *
00192 * Revision 1.4  2002/11/26 14:19:41  juengel
00193 * GridImageProcessor2 added.
00194 *
00195 * Revision 1.3  2002/11/25 14:50:12  jhoffman
00196 * added motion detector
00197 *
00198 * Revision 1.2  2002/09/12 09:45:58  juengel
00199 * continued change of module/solution mechanisms
00200 *
00201 * Revision 1.1  2002/09/10 15:36:14  cvsadm
00202 * Created new project GT2003 (M.L.)
00203 * - Cleaned up the /Src/DataTypes directory
00204 * - Removed challenge related source code
00205 * - Removed processing of incoming audio data
00206 * - Renamed AcousticMessage to SoundRequest
00207 *
00208 * Revision 1.4  2002/09/07 13:36:55  loetzsch
00209 * unified the vision modules into one module "ImageProcessor"
00210 * - FloodFillRLEImageProcessor, BallPerceptor, LandmarksPerceptor
00211 *   and PlayersPerceptor were are combined to the new solution
00212 *   "BlobImageProcessor"
00213 * - The GridImageProcessor and the SubPixelGradientCalculator became
00214 *   a solution of "ImageProcessor"
00215 *
00216 * Revision 1.3  2002/08/22 14:41:04  risler
00217 * added some doxygen comments
00218 *
00219 * Revision 1.2  2002/06/02 23:21:09  roefer
00220 * Single color table and progress in LinesSelfLocator
00221 *
00222 * Revision 1.1.1.1  2002/05/10 12:40:14  cvsadm
00223 * Moved GT2002 Project from ute to tamara.
00224 *
00225 * Revision 1.6  2002/04/24 10:35:55  jhoffman
00226 * made the sub pixel thing a imagetoperceptcollection rather than an image processor
00227 *
00228 * Revision 1.5  2002/04/23 14:16:47  jhoffman
00229 * added gradient image processor
00230 *
00231 * Revision 1.4  2002/04/02 13:10:19  dueffert
00232 * big change: odometryData and cameraMatrix in image now, old logfiles may be obsolete
00233 *
00234 * Revision 1.3  2002/02/05 20:02:16  risler
00235 * handleDebugMessage now returns bool, added debug message handling to ImageProcessor
00236 *
00237 * Revision 1.2  2002/02/05 04:00:08  loetzsch
00238 * added a few new module selectors
00239 *
00240 * Revision 1.1  2002/01/31 19:41:24  risler
00241 * ImageProcessorSelector added
00242 *
00243 *
00244 */

Generated on Thu Sep 23 19:57:29 2004 for GT2004 by doxygen 1.3.6