My current approach to visualization is to take the number of roots in the region represented by a pixel and take the ratio of the log of that number to the log of the maximum number of roots any pixel has:
value_at_pixel = log(num_roots_at_pixel) / log(max_roots)
I then generate an RGB value from an HSV of
(value_at_pixel / 4, 1 - value_at_pixel, 0.5 + value_at_pixel)
with colorsys.hsv_to_rgb
.