18 #ifndef itkRBFNetwork_h
19 #define itkRBFNetwork_h
46 template<
typename TMeasurementVector,
typename TTargetVector>
77 itkSetMacro(Classes,
unsigned int);
78 itkGetConstReferenceMacro(Classes,
unsigned int);
79 void SetCenter(TMeasurementVector c);
82 void InitializeWeights();
92 void Initialize() ITK_OVERRIDE;
94 itkSetMacro(NumOfInputNodes,
unsigned int);
95 itkGetConstReferenceMacro(NumOfInputNodes,
unsigned int);
97 itkSetMacro(NumOfFirstHiddenNodes,
unsigned int);
98 itkGetConstReferenceMacro(NumOfFirstHiddenNodes,
unsigned int);
100 itkSetMacro(NumOfOutputNodes,
unsigned int);
101 itkGetConstReferenceMacro(NumOfOutputNodes,
unsigned int);
103 itkSetMacro(FirstHiddenLayerBias,
ValueType);
104 itkGetConstReferenceMacro(FirstHiddenLayerBias, ValueType);
107 #ifdef __USE_OLD_INTERFACE
109 inline void SetNumOfHiddenNodes(
const unsigned int & x) { SetNumOfFirstHiddenNodes(x); }
110 inline unsigned int GetNumOfHiddenNodes(
void)
const {
return GetNumOfFirstHiddenNodes(); }
111 inline void SetHiddenLayerBias(
const ValueType & bias) { SetFirstHiddenLayerBias(bias); }
112 ValueType GetHiddenLayerBias(
void)
const {
return GetFirstHiddenLayerBias();}
114 itkSetMacro(OutputLayerBias, ValueType);
115 itkGetConstReferenceMacro(OutputLayerBias, ValueType);
117 virtual NetworkOutputType GenerateOutput(TMeasurementVector samplevector) ITK_OVERRIDE;
119 void SetInputFunction(InputFunctionInterfaceType* f);
120 void SetInputTransferFunction(TransferFunctionInterfaceType* f);
121 #ifdef __USE_OLD_INTERFACE
123 inline void SetHiddenTransferFunction(TransferFunctionInterfaceType* f) { SetFirstHiddenTransferFunction (f); }
125 void SetFirstHiddenTransferFunction(TransferFunctionInterfaceType* f);
126 void SetOutputTransferFunction(TransferFunctionInterfaceType* f);
134 virtual void PrintSelf( std::ostream& os,
Indent indent )
const ITK_OVERRIDE;
159 #ifndef ITK_MANUAL_INSTANTIATION
160 #include "itkRBFNetwork.hxx"
Array class with size defined at construction time.
Superclass::MeasurementVectorType MeasurementVectorType
unsigned int m_NumOfOutputNodes
MultilayerNeuralNetworkBase< TMeasurementVector, TTargetVector, BackPropagationLayer< TMeasurementVector, TTargetVector > > Superclass
Superclass::WeightVectorType WeightVectorType
Array< ValueType > ArrayType
std::vector< double > m_Radii
This is the itkRBFLayer class.
RadialBasisFunctionBase< ValueType > RBFTransferFunctionType
Superclass::LearningLayerType LearningLayerType
SmartPointer< Self > Pointer
Euclidean distance function.
virtual ~RBFNetwork() override
Superclass::ValueType ValueType
unsigned int m_NumOfInputNodes
TransferFunctionInterfaceType::Pointer m_InputTransferFunction
Superclass::LayerVectorType LayerVectorType
ValueType m_FirstHiddenLayerBias
RBFTransferFunctionType::Pointer m_FirstHiddenTransferFunction
MeasurementVectorType::ValueType ValueType
Superclass::NetworkOutputType NetworkOutputType
unsigned int m_NumOfFirstHiddenNodes
This is the itkMultilayerNeuralNetworkBase class.
std::vector< TMeasurementVector > m_Centers
TransferFunctionInterfaceType::Pointer m_OutputTransferFunction
EuclideanDistanceMetric< ArrayType > DistanceMetricType
SmartPointer< const Self > ConstPointer
Control indentation during Print() invocation.
Superclass::TargetVectorType TargetVectorType
This is the itkRBFNetwork class.
DistanceMetricType::Pointer m_DistanceMetric
Superclass::InputFunctionInterfaceType InputFunctionInterfaceType
Superclass::TransferFunctionInterfaceType TransferFunctionInterfaceType
InputFunctionInterfaceType::Pointer m_InputFunction
Base class for all data objects in ITK.
ValueType m_OutputLayerBias
RBFLayer< TMeasurementVector, TTargetVector > HiddenLayerType
This is the itkRadialBasisFunctionBase class.
Superclass::LayerInterfaceType LayerInterfaceType