/// <summary>
        ///     Sets the value of intensity pixel at a specific location
        /// </summary>
        /// <param name="x">The horizontal location.</param>
        /// <param name="y">The vertical location.</param>
        /// <param name="pixel">An instance of <see cref="IntensityTexturePixel" />.</param>
        public void SetPixel(int x, int y, IntensityTexturePixel pixel)
        {
            var index  = y * Width + x;
            var floats = pixel.ToFloatArray();

            for (var i = 0; i < Math.Min(Channels, floats.Length); i++)
            {
                UnderlyingArray[index + i] = floats[i];
            }
        }
 /// <summary>
 ///     Gets the value of intensity pixel at a specific location.
 /// </summary>
 /// <param name="x">The horizontal location.</param>
 /// <param name="y">The vertical location.</param>
 /// <returns>An instance of <see cref="IntensityTexturePixel" />.</returns>
 public IntensityTexturePixel GetPixel(int x, int y)
 {
     return(IntensityTexturePixel.FromFloatArray(UnderlyingArray, y * Width + x));
 }