ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer > Class Template Reference

This is the itkMultilayerNeuralNetworkBase class. More...

#include <itkMultilayerNeuralNetworkBase.h>

Inheritance diagram for itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >:
Collaboration diagram for itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef InputFunctionBase
< ValueType *, ValueType
InputFunctionInterfaceType
typedef
Superclass::LayerInterfaceType 
LayerInterfaceType
typedef std::vector< typename
LayerInterfaceType::Pointer > 
LayerVectorType
typedef LearningFunctionBase
< typename
TLearningLayer::LayerInterfaceType,
TTargetVector > 
LearningFunctionInterfaceType
typedef TLearningLayer LearningLayerType
typedef
Superclass::MeasurementVectorType 
MeasurementVectorType
typedef
Superclass::NetworkOutputType 
NetworkOutputType
typedef SmartPointer< SelfPointer
typedef MultilayerNeuralNetworkBase Self
typedef NeuralNetworkObject
< TMeasurementVector,
TTargetVector > 
Superclass
typedef
Superclass::TargetVectorType 
TargetVectorType
typedef TransferFunctionBase
< ValueType
TransferFunctionInterfaceType
typedef Superclass::ValueType ValueType
typedef std::vector< typename
LayerInterfaceType::WeightSetInterfaceType::Pointer > 
WeightVectorType

Public Member Functions

void AddLayer (LayerInterfaceType *)
void AddWeightSet (typename LayerInterfaceType::WeightSetInterfaceType *)
virtual void BackwardPropagate (NetworkOutputType errors)
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual NetworkOutputType GenerateOutput (TMeasurementVector samplevector)
LayerInterfaceTypeGetLayer (int layer_id)
const LayerInterfaceTypeGetLayer (int layer_id) const
virtual const char * GetNameOfClass () const
int GetNumOfLayers (void) const
int GetNumOfWeightSets (void) const
LayerInterfaceType::WeightSetInterfaceType * GetWeightSet (unsigned int id)
void InitializeWeights ()
void SetLearningFunction (LearningFunctionInterfaceType *f)
void SetLearningRate (ValueType learningrate)
void SetLearningRule (LearningFunctionInterfaceType *)
virtual void UpdateWeights (ValueType)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 MultilayerNeuralNetworkBase ()
virtual void PrintSelf (std::ostream &os, Indent indent) const
 ~MultilayerNeuralNetworkBase ()

Protected Attributes

LayerVectorType m_Layers
LearningFunctionInterfaceType::Pointer m_LearningFunction
ValueType m_LearningRate
WeightVectorType m_Weights

Detailed Description

template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
class itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >

This is the itkMultilayerNeuralNetworkBase class.

Definition at line 34 of file itkMultilayerNeuralNetworkBase.h.


Member Typedef Documentation

template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef SmartPointer<const Self> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::ConstPointer
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef InputFunctionBase<ValueType*, ValueType> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::InputFunctionInterfaceType
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef Superclass::LayerInterfaceType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::LayerInterfaceType
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef std::vector<typename LayerInterfaceType::Pointer> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::LayerVectorType
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef LearningFunctionBase<typename TLearningLayer::LayerInterfaceType, TTargetVector> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::LearningFunctionInterfaceType

Definition at line 58 of file itkMultilayerNeuralNetworkBase.h.

template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef TLearningLayer itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::LearningLayerType
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef Superclass::MeasurementVectorType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::MeasurementVectorType
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef Superclass::NetworkOutputType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::NetworkOutputType
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef SmartPointer<Self> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::Pointer
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef MultilayerNeuralNetworkBase itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::Self
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef NeuralNetworkObject<TMeasurementVector, TTargetVector> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::Superclass
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef Superclass::TargetVectorType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::TargetVectorType
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef TransferFunctionBase<ValueType> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::TransferFunctionInterfaceType
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef Superclass::ValueType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::ValueType
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef std::vector<typename LayerInterfaceType::WeightSetInterfaceType::Pointer> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::WeightVectorType

Constructor & Destructor Documentation

template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::MultilayerNeuralNetworkBase ( ) [protected]
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::~MultilayerNeuralNetworkBase ( ) [protected]

Member Function Documentation

template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::AddLayer ( LayerInterfaceType )
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::AddWeightSet ( typename LayerInterfaceType::WeightSetInterfaceType *  )
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::BackwardPropagate ( NetworkOutputType  errors) [virtual]
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual::itk::LightObject::Pointer itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::OneHiddenLayerBackPropagationNeuralNetwork< TMeasurementVector, TTargetVector >, itk::Statistics::RBFNetwork< TMeasurementVector, TTargetVector >, and itk::Statistics::TwoHiddenLayerBackPropagationNeuralNetwork< TMeasurementVector, TTargetVector >.

template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual NetworkOutputType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GenerateOutput ( TMeasurementVector  samplevector) [virtual]
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
const LayerInterfaceType* itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GetLayer ( int  layer_id) const
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
LayerInterfaceType* itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GetLayer ( int  layer_id)
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual const char* itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GetNameOfClass ( ) const [virtual]
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
int itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GetNumOfLayers ( void  ) const [inline]

Definition at line 76 of file itkMultilayerNeuralNetworkBase.h.

template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
int itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GetNumOfWeightSets ( void  ) const [inline]

Definition at line 80 of file itkMultilayerNeuralNetworkBase.h.

template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
LayerInterfaceType::WeightSetInterfaceType* itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GetWeightSet ( unsigned int  id) [inline]

Definition at line 92 of file itkMultilayerNeuralNetworkBase.h.

template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::InitializeWeights ( )
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
static Pointer itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::New ( ) [static]
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::SetLearningFunction ( LearningFunctionInterfaceType f)
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::SetLearningRate ( ValueType  learningrate)
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::SetLearningRule ( LearningFunctionInterfaceType )
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::UpdateWeights ( ValueType  ) [virtual]

Member Data Documentation

template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
LayerVectorType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::m_Layers [protected]
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
LearningFunctionInterfaceType::Pointer itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::m_LearningFunction [protected]

Definition at line 119 of file itkMultilayerNeuralNetworkBase.h.

template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
ValueType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::m_LearningRate [protected]
template<class TMeasurementVector, class TTargetVector, class TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
WeightVectorType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::m_Weights [protected]

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