cvgenericplane.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. By
00003 downloading, copying, installing or using the software you agree to this
00004 license. If you do not agree to this license, do not download, install, copy or
00005 use the software.
00006 
00007 Contributors License Agreement
00008 
00009 Copyright© 2007, Akhmed Umyarov. All rights reserved.
00010 
00011 Redistribution and use in source and binary forms, with or without modification,
00012 are permitted provided that the following conditions are met:
00013 - Redistributions of source code must retain the above copyright notice, this
00014 list of conditions and the following disclaimer.
00015 - Redistributions in binary form must reproduce the above copyright notice, this
00016 list of conditions and the following disclaimer in the documentation and/or
00017 other materials provided with the distribution.
00018 - The name of Contributor may not be used to endorse or promote products derived
00019 from this software without specific prior written permission.
00020 
00021 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
00022 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00023 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00024 DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
00025 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00026 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00027 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00028 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
00029 OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
00030 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031 All information provided related to future Intel products and plans is
00032 preliminary and subject to change at any time, without notice.
00033 *****************************************************************************/
00034 
00041 #ifndef CVGENERICPLANE_H
00042 #define CVGENERICPLANE_H
00043 
00044 #include <opencv/cv.h>
00045 #include <string>
00046 #include <vector>
00047 
00049 
00056 class CvGenericPlane
00057 {
00058 public:
00059 
00060                 // Constructors/Destructors
00061                 //  
00063                 CvGenericPlane (std::string id, CvSize fmapsz, CvSize neurosz);
00064                 
00066                 virtual ~CvGenericPlane ( );
00067 
00069                 int connto(std::vector<CvGenericPlane *> &pplane);
00070 
00072                 int connchild(CvGenericPlane *cplane);
00073 
00075                 int disconn();
00076 
00078                 virtual CvMat * fprop ( ) = 0;
00079 
00080                 // Do backward error propagation
00081 //              virtual CvMat * bprop ( ) = 0;
00082 
00084                 virtual std::string toString ( ) = 0;
00085 
00087                 virtual int setweight(std::vector<double> &weights);
00088 
00090                 CvMat * getfmap ( );
00091 
00093                 int setfmap ( CvArr * source );
00094 
00096                 std::string getid();
00097 
00098 protected:
00099                 std::string m_id; 
00100                 std::vector<CvGenericPlane *> m_pplane; 
00101                 std::vector<CvGenericPlane *> m_cplane; 
00102                 std::vector<CvMat *> m_pfmap; 
00103                 std::vector<double> m_delta; 
00104         
00105                 CvMat *m_fmap; 
00106                 CvSize m_fmapsz; 
00107                 CvSize m_neurosz;
00108 
00109                 std::vector<double> m_weight; 
00110                 int m_connected; 
00111 };
00112 
00113 #endif // CVGENERICPLANE_H

Generated on Fri Aug 3 16:17:27 2007 for ConvNet by  doxygen 1.5.0