Цветные карты для визуализации разреженных точек на черном фоне

Aug 20 2020

Я хотел бы визуализировать разреженные трехмерные точки на черном фоне. Каждая точка связана со значением яркости. Я хотел бы, чтобы цветовая карта отображала эти точки визуально привлекательным образом, чтобы:

  • очевидно, что цвет соответствует яркости
  • точки с низким значением яркости остаются видимыми на черном фоне
  • яркие точки легко отличить от темных даже для дальтоников
  • вышеизложенное остается верным даже при сжатии с помощью сжатия JPEG или h264 (например, при создании видео на YouTube)

Мне хорошо известны известные цветные карты, такие как Viridis, Parula, Cubehelix, Magma и т. Д. Однако они не предназначены для отображения разреженных точек на черном фоне, поэтому более темные точки слишком темные и их нелегко увидеть.

Это базовое черно-белое необработанное изображение:

Это текущая цветовая карта, которую я использую:

Это цветовая карта "Plasma" из matplotlib:

Я разработал инструмент, помогающий выбирать цвета с помощью библиотеки HSLuv.

Видимо, для моей цветовой карты синие точки слишком плохо различимы на черном фоне. Кроме того, при сжатии видео YouTube синие точки часто вообще исчезают.

Он хорош для плотных облаков точек, но не для разреженных.

Мне бы хотелось сделать несколько идей, чтобы сделать темные точки более заметными на черном фоне в разреженном облаке точек, при этом соблюдая все 4 ограничения, упомянутые ранее.

Ответы

1 Alith7 Aug 20 2020 at 20:52

Во-первых, ПОЛЮБИТЕ этот инструмент, с которым было действительно весело играть!

в качестве ответа: как насчет того, чтобы добавить 5-й цвет к градиенту и получить самый темный цвет на линии 10% и немного более светлый цвет на 0? Как это:

Играя с вашим онлайн-инструментом, когда я это сделал, он не слишком сильно изменил кривую для всего остального, но он как бы выдавил мельчайшие точки немного более заметными.