18 #ifndef itkOneHiddenLayerBackPropagationNeuralNetwork_h
19 #define itkOneHiddenLayerBackPropagationNeuralNetwork_h
43 template<
typename TMeasurementVector,
typename TTargetVector>
65 typedef typename Superclass::TransferFunctionInterfaceType
67 typedef typename Superclass::InputFunctionInterfaceType
78 void Initialize() ITK_OVERRIDE;
80 itkSetMacro(NumOfInputNodes,
unsigned int);
81 itkGetConstReferenceMacro(NumOfInputNodes,
unsigned int);
83 itkSetMacro(NumOfFirstHiddenNodes,
unsigned int);
84 itkGetConstReferenceMacro(NumOfFirstHiddenNodes,
unsigned int);
86 itkSetMacro(NumOfOutputNodes,
unsigned int);
87 itkGetConstReferenceMacro(NumOfOutputNodes,
unsigned int);
89 itkSetMacro(FirstHiddenLayerBias,
ValueType);
90 itkGetConstReferenceMacro(FirstHiddenLayerBias, ValueType);
93 #ifdef __USE_OLD_INTERFACE
95 inline void SetNumOfHiddenNodes(
const unsigned int & x) { SetNumOfFirstHiddenNodes(x); }
96 inline unsigned int GetNumOfHiddenNodes(
void)
const {
return GetNumOfFirstHiddenNodes(); }
97 inline void SetHiddenLayerBias(
const ValueType & bias) { SetFirstHiddenLayerBias(bias); }
98 ValueType GetHiddenLayerBias(
void)
const {
return GetFirstHiddenLayerBias();}
100 itkSetMacro(OutputLayerBias, ValueType);
101 itkGetConstReferenceMacro(OutputLayerBias, ValueType);
103 virtual NetworkOutputType GenerateOutput(TMeasurementVector samplevector) ITK_OVERRIDE;
105 void SetInputFunction(InputFunctionInterfaceType* f);
106 void SetInputTransferFunction(TransferFunctionInterfaceType* f);
107 #ifdef __USE_OLD_INTERFACE
109 inline void SetHiddenTransferFunction(TransferFunctionInterfaceType* f) { SetFirstHiddenTransferFunction (f); }
111 void SetFirstHiddenTransferFunction(TransferFunctionInterfaceType* f);
112 void SetOutputTransferFunction(TransferFunctionInterfaceType* f);
116 OneHiddenLayerBackPropagationNeuralNetwork();
120 virtual void PrintSelf( std::ostream& os,
Indent indent )
const ITK_OVERRIDE;
140 #ifndef ITK_MANUAL_INSTANTIATION
141 #include "itkOneHiddenLayerBackPropagationNeuralNetwork.hxx"
unsigned int m_NumOfFirstHiddenNodes
Superclass::MeasurementVectorType MeasurementVectorType
InputFunctionInterfaceType::Pointer m_InputFunction
MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, BackPropagationLayer< TMeasurementVector, TTargetVector > > Superclass
Superclass::TransferFunctionInterfaceType TransferFunctionInterfaceType
unsigned int m_NumOfOutputNodes
SmartPointer< Self > Pointer
OneHiddenLayerBackPropagationNeuralNetwork Self
TransferFunctionInterfaceType::Pointer m_OutputTransferFunction
ValueType m_OutputLayerBias
Superclass::TargetVectorType TargetVectorType
ValueType m_FirstHiddenLayerBias
Superclass::LayerVectorType LayerVectorType
virtual ~OneHiddenLayerBackPropagationNeuralNetwork() override
MeasurementVectorType::ValueType ValueType
This is the itkMultilayerNeuralNetworkBase class.
Superclass::LayerInterfaceType LayerInterfaceType
Superclass::WeightVectorType WeightVectorType
Superclass::ValueType ValueType
Control indentation during Print() invocation.
This is the itkOneHiddenLayerBackPropagationNeuralNetwork class.
unsigned int m_NumOfInputNodes
SmartPointer< const Self > ConstPointer
Superclass::LearningLayerType LearningLayerType
TransferFunctionInterfaceType::Pointer m_FirstHiddenTransferFunction
Base class for all data objects in ITK.
TransferFunctionInterfaceType::Pointer m_InputTransferFunction
Superclass::InputFunctionInterfaceType InputFunctionInterfaceType
Superclass::NetworkOutputType NetworkOutputType