//TODO: This should store results in dna
        public static void AssignCameras(BrainRGBRecognizer[] recognizers, CameraColorRGB[] cameras)
        {
            if (cameras != null)
            {
                foreach (CameraColorRGB camera in cameras)
                {
                    camera.NeuronContainerType = NeuronContainerType.Sensor;
                }
            }

            if (recognizers == null || recognizers.Length == 0)
            {
                return;
            }

            foreach (BrainRGBRecognizer recognizer in recognizers)
            {
                recognizer.SetCamera(null);
            }

            if (cameras == null || cameras.Length == 0)
            {
                return;
            }

            // Call linker
            LinkItem[] recogItems = recognizers.
                Select(o => new LinkItem(o.Position, o.Radius)).
                ToArray();

            LinkItem[] cameraItems = cameras.
                Select(o => new LinkItem(o.Position, o.Radius)).
                ToArray();

            Tuple<int, int>[] links = ItemLinker.Link_1_2(cameraItems, recogItems, new ItemLinker_OverflowArgs());

            // Assign cameras
            foreach (var link in links)
            {
                recognizers[link.Item2].SetCamera(cameras[link.Item1]);
                cameras[link.Item1].NeuronContainerType = NeuronContainerType.None;     // this recognizer will now be this camera's output
            }
        }