public void UpdateColourMapFrequency()
{
if (mOutput == null || ColourMap == null) return;
ColourMap.ClearFrequencies(); // M
Bitmap b = mOutput;
for (int x = 0; x < b.Width; x++) // this loop iterates N times
for (int y = 0; y < b.Height; y++)
{
Color c = b.GetPixel(x, y);
ColourMap.Colours[c].Frequency++; // Dictionary access is log(M)?
}
}