ITK  4.8.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 Types inherited from itk::DataObject
typedef SmartPointer< const SelfConstPointer
 
typedef std::string DataObjectIdentifierType
 
typedef std::vector< Pointer >
::size_type 
DataObjectPointerArraySizeType
 
typedef SmartPointer< SelfPointer
 
typedef DataObject Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

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::WeightSetInterfaceType * GetWeightSet (unsigned int id)
 
void InitializeWeights ()
 
void SetLearningFunction (LearningFunctionInterfaceType *f)
 
void SetLearningRate (ValueType learningrate)
 
void SetLearningRule (LearningFunctionInterfaceType *)
 
virtual void UpdateWeights (ValueType) override
 
- Public Member Functions inherited from itk::Statistics::NeuralNetworkObject< TMeasurementVector, TTargetVector >
virtual void BackwardPropagate (NetworkOutputType errors)=0
 
- Public Member Functions inherited from itk::DataObject
virtual void CopyInformation (const DataObject *)
 
virtual void DataHasBeenGenerated ()
 
void DisconnectPipeline ()
 
bool GetDataReleased () const
 
virtual const bool & GetReleaseDataFlag () const
 
SmartPointerForwardReference
< ProcessObject
GetSource () const
 
DataObjectPointerArraySizeType GetSourceOutputIndex () const
 
const DataObjectIdentifierTypeGetSourceOutputName () const
 
virtual ModifiedTimeType GetUpdateMTime () const
 
virtual void Graft (const DataObject *)
 
virtual void Initialize ()
 
virtual void PrepareForNewData ()
 
virtual void PropagateRequestedRegion ()
 
void ReleaseData ()
 
virtual void ReleaseDataFlagOff ()
 
virtual void ReleaseDataFlagOn ()
 
virtual bool RequestedRegionIsOutsideOfTheBufferedRegion ()
 
virtual void ResetPipeline ()
 
void SetReleaseDataFlag (bool flag)
 
virtual void SetRequestedRegion (const DataObject *)
 
virtual void SetRequestedRegionToLargestPossibleRegion ()
 
bool ShouldIReleaseData () const
 
virtual void Update ()
 
virtual void UpdateOutputData ()
 
virtual void UpdateOutputInformation ()
 
virtual bool VerifyRequestedRegion ()
 
void SetPipelineMTime (ModifiedTimeType time)
 
virtual const ModifiedTimeTypeGetPipelineMTime () const
 
virtual void SetRealTimeStamp (RealTimeStamp _arg)
 
virtual const RealTimeStampGetRealTimeStamp () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetReferenceCount (int) override
 
virtual void UnRegister () const noexceptoverride
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::DataObject
static bool GetGlobalReleaseDataFlag ()
 
static void GlobalReleaseDataFlagOff ()
 
static void GlobalReleaseDataFlagOn ()
 
static void SetGlobalReleaseDataFlag (bool val)
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
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 Member Functions inherited from itk::DataObject
 DataObject ()
 
virtual void PropagateResetPipeline ()
 
 ~DataObject ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

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
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

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
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.

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
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

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