/// <summary>
        /// Creates training vectors.
        /// </summary>
        /// <param name="experimentCode"></param>
        /// <param name="inputBits"></param>
        /// <returns></returns>
        private List <int[]> GetTrainingvectors(int experimentCode, int inputBits, int width)
        {
            if (experimentCode == 0)
            {
                //
                // We create here 2 vectors.
                List <int[]> inputValues = new List <int[]>();

                for (int i = 0; i < 10; i += 1)
                {
                    inputValues.Add(NeoCortexUtils.CreateVector(inputBits, i, i + width));
                }


                return(inputValues);
            }
            else if (experimentCode == 1)
            {
                // todo. create or load other test vectors/images here
                // We create here 2 vectors.
                List <int[]> inputValues = new List <int[]>();

                for (int i = 0; i < 10; i += 1)
                {
                    inputValues.Add(NeoCortexUtils.CreateVector(inputBits, i, i + width));
                }


                return(inputValues);
            }
            else
            {
                throw new ApplicationException("Invalid experimentCode");
            }
        }