ScreenToGif.Encoding.NeuQuant.AlterNeighbour C# (CSharp) Method

AlterNeighbour() private method

Move adjacent neurons by precomputed alpha*(1-((i-j)^2/[r]^2)) in _radpower[|i-j|]
private AlterNeighbour ( int radValue, int bestBias, int b, int g, int r ) : void
radValue int Biased Radius
bestBias int Biased Position
b int Blue
g int Green
r int Red
return void
        private void AlterNeighbour(int radValue, int bestBias, int b, int g, int r)
        {
            #region Low and High

            int low = bestBias - radValue;

            if (low < -1)
                low = -1;

            int high = bestBias + radValue;

            if (high > Netsize)
                high = Netsize;

            #endregion

            int j = bestBias + 1;
            int k = bestBias - 1;
            int m = 1;

            while (j < high || k > low)
            {
                int rad = _radPower[m++];

                if (j < high)
                {
                    try
                    {
                        _network[j][0] -= (rad * (_network[j][0] - b)) / AlphaRadBias;
                        _network[j][1] -= (rad * (_network[j][1] - g)) / AlphaRadBias;
                        _network[j][2] -= (rad * (_network[j][2] - r)) / AlphaRadBias;
                    }
                    catch (Exception e)
                    {
                        //Console.WriteLine(e.Message);
                    }

                    j++;
                }

                if (k > low)
                {
                    try
                    {
                        _network[k][0] -= (rad * (_network[k][0] - b)) / AlphaRadBias;
                        _network[k][1] -= (rad * (_network[k][1] - g)) / AlphaRadBias;
                        _network[k][2] -= (rad * (_network[k][2] - r)) / AlphaRadBias;
                    }
                    catch (Exception e)
                    {
                        //Console.WriteLine(e.Message);
                    }

                    k--;
                }
            }
        }