neuralnetiterator.h
1 /********************************************************************************
2  * FARSA Experimentes Library *
3  * Copyright (C) 2007-2013 *
4  * Gianluca Massera <emmegian@yahoo.it> *
5  * Stefano Nolfi <stefano.nolfi@istc.cnr.it> *
6  * Tomassino Ferrauto <tomassino.ferrauto@istc.cnr.it> *
7  * *
8  * This program is free software; you can redistribute it and/or modify *
9  * it under the terms of the GNU General Public License as published by *
10  * the Free Software Foundation; either version 2 of the License, or *
11  * (at your option) any later version. *
12  * *
13  * This program is distributed in the hope that it will be useful, *
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16  * GNU General Public License for more details. *
17  * *
18  * You should have received a copy of the GNU General Public License *
19  * along with this program; if not, write to the Free Software *
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
21  ********************************************************************************/
22 
23 #ifndef NEURALNETITERATOR_H
24 #define NEURALNETITERATOR_H
25 
26 #include "neuroninterfaces.h"
27 #include "neuralnet.h"
28 #include <QString>
29 #include <QColor>
30 
31 namespace farsa {
32 
37 class FARSA_EXPERIMENTS_API NeuralNetIterator : public NeuronsIterator {
38 public:
42  virtual ~NeuralNetIterator();
44  void setNeuralNet( farsa::NeuralNet* neuralnet );
51  bool setCurrentBlock( QString blockName );
57  bool nextNeuron();
59  void setInput( double value );
61  double getInput();
63  double getOutput();
70  void setGraphicProperties( QString label, double minValue, double maxValue, QColor color );
71 private:
77  void checkCurrentStatus( const QString& funcName = QString() ) const;
79  farsa::NeuralNet* neuralnet;
81  farsa::Cluster* cluster;
83  int currIndex;
84 };
85 
86 } // end namespace farsa
87 
88 #endif
This class iterate over the neurons of a NNFW neural network.
The base abstract class for iterating over neurons of a neural network.