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

#include <itkMultilayerNeuralNetworkBase.h>

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

Detailed Description

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

This is the itkMultilayerNeuralNetworkBase class.

Definition at line 34 of file itkMultilayerNeuralNetworkBase.h.

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 Types inherited from itk::Statistics::NeuralNetworkObject< TMeasurementVector, TTargetVector >
typedef SmartPointer< const SelfConstPointer
 
typedef LayerBase
< TMeasurementVector,
TTargetVector > 
LayerInterfaceType
 
typedef TMeasurementVector MeasurementVectorType
 
typedef Array< ValueTypeNetworkOutputType
 
typedef SmartPointer< SelfPointer
 
typedef NeuralNetworkObject Self
 
typedef DataObject Superclass
 
typedef TTargetVector TargetVectorType
 
typedef
MeasurementVectorType::ValueType 
ValueType
 

Public Member Functions

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

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 MultilayerNeuralNetworkBase ()
 
virtual void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~MultilayerNeuralNetworkBase ()
 
- Protected Member Functions inherited from itk::Statistics::NeuralNetworkObject< TMeasurementVector, TTargetVector >
 NeuralNetworkObject ()
 
virtual ~NeuralNetworkObject ()
 

Protected Attributes

LayerVectorType m_Layers
 
LearningFunctionInterfaceType::Pointer m_LearningFunction
 
ValueType m_LearningRate
 
WeightVectorType m_Weights
 
- Protected Attributes inherited from itk::Statistics::NeuralNetworkObject< TMeasurementVector, TTargetVector >
ValueType m_LearningRate
 

Member Typedef Documentation

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef SmartPointer<const Self> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::ConstPointer

Definition at line 42 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef InputFunctionBase<ValueType*, ValueType> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::InputFunctionInterfaceType

Definition at line 66 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef Superclass::LayerInterfaceType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::LayerInterfaceType

Definition at line 54 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef std::vector<typename LayerInterfaceType::Pointer> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::LayerVectorType

Definition at line 63 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename 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<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef TLearningLayer itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::LearningLayerType

Definition at line 56 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef Superclass::MeasurementVectorType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::MeasurementVectorType

Definition at line 50 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef Superclass::NetworkOutputType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::NetworkOutputType

Definition at line 52 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef SmartPointer<Self> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::Pointer

Definition at line 41 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef MultilayerNeuralNetworkBase itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::Self

Definition at line 38 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef NeuralNetworkObject<TMeasurementVector, TTargetVector> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::Superclass

Definition at line 40 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef Superclass::TargetVectorType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::TargetVectorType

Definition at line 51 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef TransferFunctionBase<ValueType> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::TransferFunctionInterfaceType

Definition at line 65 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef Superclass::ValueType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::ValueType

Definition at line 47 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
typedef std::vector<typename LayerInterfaceType::WeightSetInterfaceType::Pointer> itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::WeightVectorType

Definition at line 61 of file itkMultilayerNeuralNetworkBase.h.

Constructor & Destructor Documentation

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

Member Function Documentation

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::AddLayer ( LayerInterfaceType )
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::AddWeightSet ( typename LayerInterfaceType::WeightSetInterfaceType )
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::BackwardPropagate ( NetworkOutputType  errors)
overridevirtual
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual::itk::LightObject::Pointer itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::CreateAnother ( ) const
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual NetworkOutputType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GenerateOutput ( TMeasurementVector  samplevector)
overridevirtual
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
LayerInterfaceType* itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GetLayer ( int  layer_id)
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
const LayerInterfaceType* itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GetLayer ( int  layer_id) const
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual const char* itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GetNameOfClass ( ) const
virtual
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
int itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::GetNumOfLayers ( void  ) const
inline

Definition at line 76 of file itkMultilayerNeuralNetworkBase.h.

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

Definition at line 80 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename 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<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::InitializeWeights ( )
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
static Pointer itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::New ( )
static

New macro for creation of through a Smart Pointer.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::SetLearningFunction ( LearningFunctionInterfaceType f)
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::SetLearningRate ( ValueType  learningrate)
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::SetLearningRule ( LearningFunctionInterfaceType )
template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
virtual void itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::UpdateWeights ( ValueType  )
overridevirtual

Member Data Documentation

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
LayerVectorType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::m_Layers
protected

Definition at line 117 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
LearningFunctionInterfaceType::Pointer itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::m_LearningFunction
protected

Definition at line 119 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
ValueType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::m_LearningRate
protected

Definition at line 120 of file itkMultilayerNeuralNetworkBase.h.

template<typename TMeasurementVector, typename TTargetVector, typename TLearningLayer = LayerBase<TMeasurementVector, TTargetVector>>
WeightVectorType itk::Statistics::MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, TLearningLayer >::m_Weights
protected

Definition at line 118 of file itkMultilayerNeuralNetworkBase.h.


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