Changed neighbour similarity calculation to average RGB and cosine similarity, many minor changes especially in getColourDifference (formerly getSmoothness)