AForge.Imaging.Filters.BilateralSmoothing.InitSpatialFunc C# (CSharp) Method

InitSpatialFunc() private method

private InitSpatialFunc ( ) : void
return void
        private void InitSpatialFunc( )
        {
            if ( ( spatialFunc == null ) || ( spatialFunc.Length != kernelSize * kernelSize ) ||
                 ( spatialPropertiesChanged ) )
            {
                if ( ( spatialFunc == null ) || ( spatialFunc.Length != kernelSize * kernelSize ) )
                {
                    spatialFunc = new double[kernelSize, kernelSize];
                }

                int kernelRadius = kernelSize / 2;

                for ( int i = 0; i < kernelSize; i++ )
                {
                    int ti  = i - kernelRadius;
                    int ti2 = ti * ti;

                    for ( int k = 0; k < kernelSize; k++ )
                    {
                        int tk = k - kernelRadius;
                        int tk2 = tk * tk;

                        spatialFunc[i, k] = M.Exp( -0.5 * M.Pow( M.Sqrt( ( ti2 + tk2 ) / spatialFactor ), spatialPower ) );
                    }
                }

                spatialPropertiesChanged = false;
            }
        }