SampleApp.MainForm.UpdateMap C# (CSharp) Method

UpdateMap() private method

private UpdateMap ( ) : void
return void
        private void UpdateMap()
        {
            // lock
            Monitor.Enter(this);

            // lock bitmap
            BitmapData mapData = mapBitmap.LockBits(new Rectangle(0, 0, 200, 200),
                ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);

            int stride = mapData.Stride;
            int offset = stride - 200 * 3;
            Layer layer = network.Layers[0];

            unsafe
            {
                byte* ptr = (byte*)mapData.Scan0;

                // for all rows
                for (int y = 0, i = 0; y < 100; y++)
                {
                    // for all pixels
                    for (int x = 0; x < 100; x++, i++, ptr += 6)
                    {
                        Neuron neuron = layer.Neurons[i];

                        // red
                        ptr[2] = ptr[2 + 3] = ptr[2 + stride] = ptr[2 + 3 + stride] =
                            (byte)Math.Max(0, Math.Min(255, neuron.Weights[0]));

                        // green
                        ptr[1] = ptr[1 + 3] = ptr[1 + stride] = ptr[1 + 3 + stride] =
                            (byte)Math.Max(0, Math.Min(255, neuron.Weights[1]));

                        // blue
                        ptr[0] = ptr[0 + 3] = ptr[0 + stride] = ptr[0 + 3 + stride] =
                            (byte)Math.Max(0, Math.Min(255, neuron.Weights[2]));
                    }

                    ptr += offset;
                    ptr += stride;
                }
            }

            // unlock image
            mapBitmap.UnlockBits(mapData);

            // unlock
            Monitor.Exit(this);

            // invalidate maps panel
            mapPanel.Invalidate();
        }

Same methods

MainForm::UpdateMap ( DistanceNetwork network ) : void
MainForm