//Constructors /// <summary> /// Creates an initialized instance /// </summary> /// <param name="name">Name of the neuron group</param> /// <param name="relShare">Specifies how big relative portion of pool's neurons is formed by this group of the neurons</param> /// <param name="activationCfg">Common activation function settings of the groupped neurons</param> /// <param name="homogenousExcitabilityCfg">Configuration of the neuron's homogenous excitability</param> /// <param name="biasCfg">Each neuron within the group receives constant input bias. Value of the neuron's bias is driven by this random settings</param> /// <param name="predictorsCfg">Configuration of the predictors</param> public SpikingNeuronGroupSettings(string name, double relShare, RCNetBaseSettings activationCfg, HomogenousExcitabilitySettings homogenousExcitabilityCfg = null, RandomValueSettings biasCfg = null, PredictorsSettings predictorsCfg = null ) { Name = name; RelShare = relShare; ActivationCfg = activationCfg.DeepClone(); HomogenousExcitabilityCfg = homogenousExcitabilityCfg == null ? new HomogenousExcitabilitySettings() : (HomogenousExcitabilitySettings)homogenousExcitabilityCfg.DeepClone(); BiasCfg = biasCfg == null ? null : (RandomValueSettings)biasCfg.DeepClone(); PredictorsCfg = predictorsCfg == null ? null : (PredictorsSettings)predictorsCfg.DeepClone(); Check(); return; }
/// <summary> /// The deep copy constructor. /// </summary> /// <param name="source">The source instance.</param> public HomogenousExcitabilitySettings(HomogenousExcitabilitySettings source) : this(source.ExcitatoryStrength, source.InputRatio, source.InhibitoryRatio) { return; }