Поиск

Colormaps


Что-то не могу найти вменяемых формул для определения разных палитр. Глянул в ds9 — а там через таблицы задается, что неудобно (да еще и значений полно)…
Гугол молчит, ничего мне говорить не хочет.. Или я разучился правильно гуглить. Вылезает какой-то бред на пхытоне, из которого ничего путного понять невозможно…

Где найти нормальные формулы для красивых палитр? Вот пример палитры, которую я использовал в fitsview для раскрашивания превьюшек фитсов при открывании файлов:

static void palette_BR(double gray, uint8_t *rgb){ int i = (int)(gray * 4.); double x = 4.*gray - (double)i; uint8_t r = 0, g = 0, b = 0; switch(i){ case 0: g = (uint8_t)(255. * x); b = 255; break; case 1: g = 255; b = (uint8_t)(255. * (1. - x)); break; case 2: r = (uint8_t)(255. * x); g = 255; break; case 3: r = 255; g = (uint8_t)(255. * (1. - x)); break; default: r = 255; } rgb[0] = r; rgb[1] = g; rgb[2] = b;
}


А вот так выглядит тупая «серая» палитра:

static void palette_gray(double gray, uint8_t *rgb){ rgb[0] = rgb[1] = rgb[2] = (uint8_t)(255.*gray);
}


Хочу еще штук пять популярных в библиотеку добавить.

Вот какие палитры пока у меня получились:

Просто серый

От синего к красному (из кода выше)

«Hot»

«Jet»

eddy_em.livejournal.com

Добавить комментарий