public void FromRGBByteArray(byte[] pixelData, int pixelOffset, Action<int, int, Color, double> setPixel)
{
int readPos = 0;
int pixelCount = pixelData.Length / 3;
for (int i = 0; i < pixelCount; i++)
{
int x = this.lookupX[pixelOffset + i];
int y = this.lookupY[pixelOffset + i];
var color = Color.FromArgb(pixelData[readPos++], pixelData[readPos++], pixelData[readPos++]);
setPixel(x, y, color, 1.0);
}
}