src/qvip/qvipp/qvippworkers.h

00001 /*
00002  *      Copyright (C) 2007, 2008. PARP Research Group.
00003  *      <http://perception.inf.um.es>
00004  *      University of Murcia, Spain.
00005  *
00006  *      This file is part of the QVision library.
00007  *
00008  *      QVision is free software: you can redistribute it and/or modify
00009  *      it under the terms of the GNU Lesser General Public License as
00010  *      published by the Free Software Foundation, version 3 of the License.
00011  *
00012  *      QVision is distributed in the hope that it will be useful,
00013  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  *      GNU Lesser General Public License for more details.
00016  *
00017  *      You should have received a copy of the GNU Lesser General Public
00018  *      License along with QVision. If not, see <http://www.gnu.org/licenses/>.
00019  */
00020 
00024 
00025 #include <QVWorker>
00026 #include <qvipp.h>
00027 #include <QVIndexedStringList>
00028 
00029 #ifndef QVIPPWORKERS_H
00030 #define QVIPPWORKERS_H
00031 
00032 #ifndef DOXYGEN_IGNORE_THIS
00033 const QStringList getQvippWorkersNames();
00034 QVPropertyContainer *newQvippWorker(QString type, QString name);
00035 
00036 // CopyP3C3 Worker
00037 template <typename TYPE> class qvippCopyP3C3Worker: public QVWorker
00038         {
00039         public:
00040                 qvippCopyP3C3Worker(QString name);
00041                 void iterate();
00042         };
00043 
00044 // CopyC3P3 Worker
00045 template <typename TYPE> class qvippCopyC3P3Worker: public QVWorker
00046         {
00047         public:
00048                 qvippCopyC3P3Worker(QString name);
00049                 void iterate();
00050         };
00051 // Dilate3x3 Worker
00052 template <typename TYPE, int C> class qvippDilate3x3Worker: public QVWorker
00053         {
00054         public:
00055                 qvippDilate3x3Worker(QString name);
00056                 void iterate();
00057         };
00058 
00059 // Erode3x3 Worker
00060 template <typename TYPE, int C> class qvippErode3x3Worker: public QVWorker
00061         {
00062         public:
00063                 qvippErode3x3Worker(QString name);
00064                 void iterate();
00065         };
00066 // ComputeThreshold_Otsu Worker
00067 template <typename TYPE, int C> class qvippComputeThreshold_OtsuWorker: public QVWorker
00068         {
00069         public:
00070                 qvippComputeThreshold_OtsuWorker(QString name);
00071                 void iterate();
00072         };
00073 
00074 // AddRandUniform_Direct Worker
00075 template <typename TYPE, int C> class qvippAddRandUniform_DirectWorker: public QVWorker
00076         {
00077         private:
00078                 unsigned int seed;
00079 
00080         public:
00081                 qvippAddRandUniform_DirectWorker(QString name);
00082                 void iterate();
00083         };
00084 
00085 // FilterBox Worker
00086 template <typename TYPE, int C> class qvippFilterBoxWorker: public QVWorker
00087         {
00088         public:
00089                 qvippFilterBoxWorker(QString name);
00090                 void iterate();
00091         };
00092 
00093 // FilterMedian Worker
00094 template <typename TYPE, int C> class qvippFilterMedianWorker: public QVWorker
00095         {
00096         public:
00097                 qvippFilterMedianWorker(QString name);
00098                 void iterate();
00099         };
00100 
00101 // FilterMax Worker
00102 template <typename TYPE, int C> class qvippFilterMaxWorker: public QVWorker
00103         {
00104         public:
00105                 qvippFilterMaxWorker(QString name);
00106                 void iterate();
00107         };
00108 
00109 // FilterMin Worker
00110 template <typename TYPE, int C> class qvippFilterMinWorker: public QVWorker
00111         {
00112         public:
00113                 qvippFilterMinWorker(QString name);
00114                 void iterate();
00115         };
00116 
00117 // FilterGauss Worker
00118 template <typename TYPE, int C> class qvippFilterGaussWorker: public QVWorker
00119         {
00120         public:
00121                 qvippFilterGaussWorker(QString name);
00122                 void iterate();
00123         };
00124 
00125 // FilterHipass Worker
00126 template <typename TYPE, int C> class qvippFilterHipassWorker: public QVWorker
00127         {
00128         public:
00129                 qvippFilterHipassWorker(QString name);
00130                 void iterate();
00131         };
00132 
00133 // Add Worker
00134 template <typename TYPE, int C> class qvippAddWorker: public QVWorker
00135         {
00136         public:
00137                 qvippAddWorker(QString name);
00138                 void iterate();
00139         };
00140 
00141 // AddC Worker
00142 template <typename TYPE, int C> class qvippAddCWorker: public QVWorker
00143         {
00144         public:
00145                 qvippAddCWorker(QString name);
00146                 void iterate();
00147         };
00148 
00149 // CompareC Worker
00150 template <typename TYPE, int C> class qvippCompareCWorker: public QVWorker
00151         {
00152         public:
00153                 qvippCompareCWorker(QString name);
00154                 void iterate();
00155         };
00156 
00157 #endif
00158 
00159 #endif