Robotsystem of the Robot Group Leipzig: Inspectable Class Reference

- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages
- Examples

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Inspectable Class Reference

Interface for inspectable objects. More...

`#include <inspectable.h>`

Inherited by AbstractController, AbstractModel, AbstractWiring, and StatisticTools.

Inheritance diagram for Inspectable:

[legend]
List of all members.

## Public Types
typedef std::string | iparamkey
| TYPEDEFS BEGIN.
typedef double | iparamval
typedef std::pair< iparamkey, iparamval * > | iparampair
typedef std::pair< iparamkey, matrix::Matrix * > | imatrixpair
typedef std::list< iparamkey > | iparamkeylist
typedef std::list< iparamval > | iparamvallist
typedef std::list< iparampair > | iparampairlist
typedef std::list< imatrixpair > | imatrixpairlist
typedef Inspectable::ILayer | ILayer
typedef Inspectable::IConnection | IConnection
typedef std::list< ILayer > | ilayerlist
typedef std::list< IConnection > | iconnectionlist
## Public Member Functions
| Inspectable ()
| TYPEDEFS END.
virtual | ~Inspectable ()
virtual iparamkeylist | getInternalParamNames () const
| The list of the names of all internal parameters given by getInternalParams().
virtual iparamvallist | getInternalParams () const
virtual ilayerlist | getStructuralLayers () const
| Specifies which parameter vector forms a structural layer (in terms of a neural network) The ordering is important.
virtual iconnectionlist | getStructuralConnections () const
| Specifies which parameter matrix forms a connection between layers (in terms of a neural network) The orderning is not important.
virtual void | addInspectableValue (const iparamkey key, iparamval *val)
| This is the new style for adding inspectable values.
virtual void | addInspectableMatrix (const iparamkey key, matrix::Matrix *m)
| This is the new style for adding inspectable values.
## Classes
struct | IConnection
struct | ILayer
struct | matchName
| nice predicate function for finding a Layer with its vectorname More...

## Detailed Description

Interface for inspectable objects.

That means that one can read out some internal parameters indentified by string keys

## Member Typedef Documentation

typedef struct Inspectable::IConnection IConnection

typedef std::list<IConnection> iconnectionlist

typedef struct Inspectable::ILayer ILayer

typedef std::list<ILayer> ilayerlist

typedef std::pair<iparamkey,matrix::Matrix*> imatrixpair

typedef std::list<imatrixpair> imatrixpairlist

typedef std::string iparamkey

TYPEDEFS BEGIN.

typedef std::list<iparamkey> iparamkeylist

typedef std::pair<iparamkey,iparamval*> iparampair

typedef std::list<iparampair> iparampairlist

typedef double iparamval

typedef std::list<iparamval> iparamvallist

## Constructor & Destructor Documentation

Inspectable | ( |  | ) |

TYPEDEFS END.

~Inspectable | ( |  | ) | `[virtual]`

## Member Function Documentation

void addInspectableMatrix | ( | const iparamkey | key,
|  | matrix::Matrix * | m |
| ) |  |  | `[virtual]`

This is the new style for adding inspectable values.

Just call this function for each parameter and you are done. inspects all elements of the given matrix given through the functions store4x4AndDiagonalFieldNames(Matrix& m,string& matrixName); defined in <selforg/controller_misc.h>

Parameters:

  | key | the name of the matrix, shown e.g. in guilogger
  | m | the address of the matrix to inspect

Note:
  that you can change the structure of the matrix while being inspected.

void addInspectableValue | ( | const iparamkey | key,
|  | iparamval * | val |
| ) |  |  | `[virtual]`

This is the new style for adding inspectable values.

Just call this function for each parameter and you are done. registers a single value

Parameters:

  | key | the name of the inspectable, shown e.g. in guilogger
  | val | the address of the value to inspect

Inspectable::iparamkeylist getInternalParamNames | ( |  | ) | const`[virtual]`

The list of the names of all internal parameters given by getInternalParams().

The naming convention is "v[i]" for vectors and "A[i][j]" for matrices, where i, j start at 0.

Returns:
  : list of keys

Reimplemented in AbstractControllerAdapter, AbstractMultiController, BasicController, ClassicReinforce, DiscreteControllerAdapter, Elman, FFNNController, InvertMotorBigModel, InvertMotorNStep, InvertMotorSpace, InvertNChannelController, MeasureAdapter, MultiLayerFFNN, MutualInformationController, OneActiveMultiPassiveController, ReplayController, SineController, use_java_controller, AbstractWiring, FeedbackWiring, and One2OneWiring.

Inspectable::iparamvallist getInternalParams | ( |  | ) | const`[virtual]`

Returns:
  : list of values

Reimplemented in AbstractControllerAdapter, AbstractMultiController, BasicController, ClassicReinforce, DiscreteControllerAdapter, Elman, FFNNController, InvertMotorBigModel, InvertMotorNStep, InvertMotorSpace, InvertNChannelController, MeasureAdapter, MultiLayerFFNN, MutualInformationController, OneActiveMultiPassiveController, ReplayController, SineController, use_java_controller, AbstractWiring, FeedbackWiring, and One2OneWiring.

Examples:
  directconnect/directconnect.cpp.

Inspectable::iconnectionlist getStructuralConnections | ( |  | ) | const`[virtual]`

Specifies which parameter matrix forms a connection between layers (in terms of a neural network) The orderning is not important.

Returns:
  : list of layer names with dimension

Reimplemented in BasicController, ClassicReinforce, Elman, InvertMotorBigModel, InvertMotorNStep, InvertMotorSpace, InvertNChannelController, and MultiLayerFFNN.

Inspectable::ilayerlist getStructuralLayers | ( |  | ) | const`[virtual]`

Specifies which parameter vector forms a structural layer (in terms of a neural network) The ordering is important.

The first entry is the input layer and so on.

Returns:
  : list of layer names with dimension

Reimplemented in BasicController, ClassicReinforce, Elman, InvertMotorBigModel, InvertMotorNStep, InvertMotorSpace, InvertNChannelController, and MultiLayerFFNN.

The documentation for this class was generated from the following files:

- inspectable.h
- inspectable.cpp