Esempio n. 1
0
        //calculate number of Basal connections to create
        public int CalcNumBasalSynapsesToCreate(Layer lr, double zoneSizePerc, double zoneCoveragePerc)
        {
            double        radius           = lr.CalcRadius(zoneSizePerc);
            List <Column> potentialColumns = lr.GetColumnsFromCentre(this.X, this.Y, radius, false);
            int           numToConnect     = (int)(potentialColumns.Count * zoneCoveragePerc);

            return(numToConnect);
        }
Esempio n. 2
0
        //create Basal connections from each Cell to other Columns in same Layer
        public void CreateBasalSynapses(Layer lr, double radius, double zoneCoveragePerc)
        {
            //create random list of columns to connect - Exclusive of centre
            List <Column> potentialColumns = lr.GetColumnsFromCentre(this.X, this.Y, radius, false);

            foreach (Cell cell in Cells)
            {
                cell.CreateBasalSynapses(potentialColumns, zoneCoveragePerc);
            }
        }
Esempio n. 3
0
        //create Proximal connections from this Column to Columns in Input Layer/Plane
        public void CreateProximalSynapses(Layer lr, Layer ip, double radius, double zoneCoveragePerc)
        {
            //scale layer locations	to InputPlane
            lr.MapPoint(X, Y, ip, out int scaledX, out int scaledY);

            //create random list of columns to connect - Inclusive of centre
            List <Column> potentialColumns = ip.GetColumnsFromCentre(scaledX, scaledY, radius, true);

            ProximalDendrite.CreateSynapses(potentialColumns, zoneCoveragePerc);
        }