Spec-Zone.ru › Matplotlib 3.3

matplotlib.colors.LightSource

class matplotlib.colors.LightSource(azdeg=315, altdeg=45, hsv_min_val=0, hsv_max_val=1, hsv_min_sat=1, hsv_max_sat=0) [source]

Bases: object

Создаёт источник света, исходящий из заданного азимута и зенита. Углы задаются в градусах, причём азимут измеряется по часовой стрелке от севера, а зенит — вверх от нулевой плоскости поверхности.

shade используется для создания «затенённых» значений rgb для массива данных. shade_rgb можно использовать для объединения цветового изображения с картой высот. hillshade создаёт карту освещённости поверхности.

Укажите азимут (измеряемый по часовой стрелке от юга) и высоту (измеряемую вверх от плоскости поверхности) источника света в градусах.

Параметры:
azdegfloat, default: 315 degrees (from the northwest)

Азимут (0-360, градусы по часовой стрелке от севера) источника света.

altdegfloat, default: 45 degrees

Высота (0-90, градусы вверх от горизонтали) источника света.

Примечания

Для обратной совместимости параметры hsv_min_val, hsv_max_val, hsv_min_sat и hsv_max_sat также могут быть переданы при инициализации. Однако эти параметры будут использоваться только в том случае, если «blend_mode='hsv'» передаётся в shade или shade_rgb. Дополнительные сведения см. в документации для blend_hsv.

__dict__ = mappingproxy({'__module__': 'matplotlib.colors', '__doc__': '\n Create a light source coming from the specified azimuth and elevation.\n Angles are in degrees, with the azimuth measured\n clockwise from north and elevation up from the zero plane of the surface.\n\n `shade` is used to produce "shaded" rgb values for a data array.\n `shade_rgb` can be used to combine an rgb image with an elevation map.\n `hillshade` produces an illumination map of a surface.\n ', '__init__': <function LightSource.__init__>, 'direction': <property object>, 'hillshade': <function LightSource.hillshade>, 'shade_normals': <function LightSource.shade_normals>, 'shade': <function LightSource.shade>, 'shade_rgb': <function LightSource.shade_rgb>, 'blend_hsv': <function LightSource.blend_hsv>, 'blend_soft_light': <function LightSource.blend_soft_light>, 'blend_overlay': <function LightSource.blend_overlay>, '__dict__': <attribute '__dict__' of 'LightSource' objects>, '__weakref__': <attribute '__weakref__' of 'LightSource' objects>})
__init__(self, azdeg=315, altdeg=45, hsv_min_val=0, hsv_max_val=1, hsv_min_sat=1, hsv_max_sat=0) [source]

Укажите азимут (измеряемый по часовой стрелке от юга) и высоту (измеряемую вверх от плоскости поверхности) источника света в градусах.

Параметры:
azdegfloat, default: 315 degrees (from the northwest)

Азимут (0-360, градусы по часовой стрелке от севера) источника света.

altdegfloat, default: 45 degrees

Высота (0-90, градусы вверх от горизонтали) источника света.

Примечания

Для обратной совместимости параметры hsv_min_val, hsv_max_val, hsv_min_sat и hsv_max_sat также могут быть переданы при инициализации. Однако эти параметры будут использоваться только в том случае, если «blend_mode='hsv'» передаётся в shade или shade_rgb. Дополнительные сведения см. в документации для blend_hsv.

__module__ = 'matplotlib.colors'
__weakref__

список слабых ссылок на объект (если определён)

blend_hsv(self, rgb, intensity, hsv_max_sat=None, hsv_max_val=None, hsv_min_val=None, hsv_min_sat=None) [source]

Принимает массив входных данных, преобразует его в значения HSV в заданной цветовой карте, затем корректирует эти цветовые значения, чтобы создать впечатление карты рельефа с затенением при заданном источнике света. Возвращаются значения RGBA, которые можно использовать для построения затенённого изображения с помощью imshow.

Цвет результирующего изображения будет затемнён, перемещая значения (s, v) (в цветовом пространстве hsv) к (hsv_min_sat, hsv_min_val) в затенённых областях, или осветлён, сдвигая (s, v) к (hsv_max_sat, hsv_max_val) в освещённых областях. По умолчанию используются крайние значения, чтобы полностью затенённые точки были почти чёрными (s = 1, v = 0), а полностью освещённые точки — почти белыми (s = 0, v = 1).

Параметры:
rgbndarray

Массив MxNx3 RGB, содержащий значения с плавающей точкой от 0 до 1 (цветное изображение).

intensityndarray

Массив MxNx1, содержащий значения с плавающей точкой от 0 до 1 (серое изображение).

hsv_max_satnumber, default: 1

Максимальное значение насыщенности, до которого карта интенсивности может сдвинуть выходное изображение.

hsv_min_satnumber, optional

Минимальное значение насыщенности, до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию равно 0.

hsv_max_valnumber, optional

Максимальное значение (v в "hsv"), до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию равно 1.

hsv_min_valnumber, optional

Минимальное значение (v в "hsv"), до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию равно 0.

Возвращает:
ndarray

Массив MxNx3 RGB, представляющий объединённые изображения.

blend_overlay(self, rgb, intensity) [source]

Объединяет цветовое изображение с картой интенсивности с использованием наложения.

Параметры:
rgbndarray

Массив MxNx3 RGB, содержащий значения с плавающей точкой от 0 до 1 (цветное изображение).

intensityndarray

Массив MxNx1, содержащий значения с плавающей точкой от 0 до 1 (серое изображение).

Возвращает:
ndarray

Массив MxNx3 RGB, представляющий объединённые изображения.

blend_soft_light(self, rgb, intensity) [source]

Объединяет цветовое изображение с картой интенсивности с использованием «мягкого света» с использованием формулы «pegtop».

Параметры:
rgbndarray

Массив MxNx3 RGB, содержащий значения с плавающей точкой от 0 до 1 (цветное изображение).

intensityndarray

Массив MxNx1, содержащий значения с плавающей точкой от 0 до 1 (серое изображение).

Возвращает:
ndarray

Массив MxNx3 RGB, представляющий объединённые изображения.

property direction

Вектор направления на источник света.

hillshade(self, elevation, vert_exag=1, dx=1, dy=1, fraction=1.0) [source]

Вычисляет интенсивность освещения поверхности, используя заданные азимут и зенит источника света.

Вычисляет нормальные векторы поверхности и затем передаёт их в shade_normals.

Параметры:
elevationarray-like

Двумерный массив (или эквивалент) значений высот, используемых для создания карты освещённости

vert_exagnumber, optional

Коэффициент усиления значений высот при вычислении освещения. Может использоваться для компенсации различий в единицах между системой координат x-y и системой координат высот (например, десятичные градусы против метров) или для усиления или ослабления топографических эффектов.

dxnumber, optional

Шаг по оси x (столбцы) входной сетки elevation.

dynumber, optional

Шаг по оси y (строки) входной сетки elevation.

fractionnumber, optional

Увеличивает или уменьшает контраст карты освещения. Значения, большие чем один, заставят промежуточные значения приблизиться к полному освещению или тени (и обрезать любые значения, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально или математически то же самое, что вертикальное преувеличение.

Возвращает:
ndarray

Двумерный массив значений освещения от 0 до 1, где 0 соответствует полной тени, а 1 — полному освещению.

END_OF_DOCUMENT_MARKER
shade(self, data, cmap, norm=None, blend_mode='overlay', vmin=None, vmax=None, vert_exag=1, dx=1, dy=1, fraction=1, **kwargs) [source]

Объединить значения, сопоставленные с цветовой шкалой, с картой интенсивности освещения (также известной как «тенирование») значений.

Параметры:
dataarray-like

Двумерный массив (или эквивалент) значений высот, используемых для создания затенённой карты.

cmapColormap

Цветовая карта, используемая для раскраски массива data. Обратите внимание, что это должен быть экземпляр Colormap. Например, вместо передачи cmap='gist_earth', используйте cmap=plt.get_cmap('gist_earth').

normNormalize instance, optional

Нормализация, используемая для масштабирования значений перед сопоставлением с цветовой шкалой. Если значение None, входные данные будут линейно масштабированы между своим минимумом и максимумом.

blend_mode{'hsv', 'overlay', 'soft'} or callable, optional

Тип смешивания, используемого для объединения значений, сопоставленных с цветовой шкалой, со значениями интенсивности освещения. По умолчанию — «overlay». Обратите внимание, что для большинства топографических поверхностей «overlay» или «soft» выглядят более реалистично с визуальной точки зрения. Если пользователь предоставляет функцию, ожидается, что она будет объединять массив MxNx3 RGB с плавающей точкой (от 0 до 1) с массивом MxNx1 hillshade (также от 0 до 1). (Подпись вызова функции func(rgb, illum, **kwargs)) Дополнительные ключевые аргументы, предоставленные этой функции, будут переданы функции blend_mode.

vminfloat or None, optional

Минимальное значение, используемое при сопоставлении data с цветовой шкалой. Если None, используется минимальное значение в data. Если задан norm, этот аргумент будет проигнорирован.

vmaxfloat or None, optional

Максимальное значение, используемое при сопоставлении data с цветовой шкалой. Если None, используется максимальное значение в data. Если задан norm, этот аргумент будет проигнорирован.

vert_exagnumber, optional

Величина преувеличения значений высоты при вычислении освещения. Это можно использовать для исправления различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров) или для преувеличения или ослабления топографии.

dxnumber, optional

Шаг по оси x (столбцы) входной сетки elevation.

dynumber, optional

Шаг по оси y (строки) входной сетки elevation.

fractionnumber, optional

Увеличивает или уменьшает контраст тени. Значения, большие чем один, приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и отсечение любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально и математически то же самое, что вертикальное преувеличение.

Дополнительные ключевые аргументы передаются функции *blend_mode*.
Возвращает:
ndarray

Массив MxNx4 с плавающей точкой, значения которого находятся в диапазоне от 0 до 1.

shade_normals(self, normals, fraction=1.0) [source]

Вычислить интенсивность освещения для нормалей поверхности, используя заданные азимут и высоту для источника света.

Представьте себе искусственное солнце, расположенное в бесконечности под определенным азимутом и высотой, освещающее нашу поверхность. Части поверхности, наклоненные к солнцу, должны становиться светлее, в то время как части, обращенные от солнца, должны становиться темнее.

Параметры:
fractionnumber, optional

Увеличивает или уменьшает контраст тени. Значения, большие чем один, приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и отсечение любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально и математически то же самое, что вертикальное преувеличение.

Возвращает:
ndarray

Двумерный массив значений освещения в диапазоне от 0 до 1, где 0 — полная тень, а 1 — полное освещение.

shade_rgb(self, rgb, elevation, fraction=1.0, blend_mode='hsv', vert_exag=1, dx=1, dy=1, **kwargs) [source]

Используйте этот источник света для изменения цветов входного массива rgb, чтобы создать впечатление карты с затенённым рельефом с заданной elevation.

Параметры:
rgbarray-like

Массив RGB (M, N, 3), предполагаемый в диапазоне от 0 до 1.

elevationarray-like

Массив (M, N) значений высот, используемых для создания затенённой карты.

fractionnumber

Увеличивает или уменьшает контраст тени. Значения, большие чем один, приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и отсечение любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально и математически то же самое, что вертикальное преувеличение.

blend_mode{'hsv', 'overlay', 'soft'} or callable, optional

Тип смешивания, используемого для объединения значений, сопоставленных с цветовой шкалой, со значениями интенсивности освещения. Для совместимости со старыми версиями по умолчанию используется «hsv». Обратите внимание, что для большинства топографических поверхностей «overlay» или «soft» выглядят более реалистично с визуальной точки зрения. Если пользователь предоставляет функцию, ожидается, что она будет объединять массив MxNx3 RGB с плавающей точкой (от 0 до 1) с массивом MxNx1 hillshade (также от 0 до 1). (Подпись вызова функции func(rgb, illum, **kwargs)) Дополнительные ключевые аргументы, предоставленные этой функции, будут переданы функции blend_mode.

vert_exagnumber, optional

Величина преувеличения значений высоты при вычислении освещения. Это можно использовать для исправления различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров) или для преувеличения или ослабления топографии.

dxnumber, optional

Шаг по оси x (столбцы) входной сетки elevation.

dynumber, optional

Шаг по оси y (строки) входной сетки elevation.

Дополнительные ключевые аргументы передаются функции *blend_mode*.
Возвращает:
ndarray

Массив (m, n, 3) с плавающей точкой, значения которого находятся в диапазоне от 0 до 1.

Примеры использования matplotlib.colors.LightSource

Shading example

Пример затенения

Shaded & power normalized rendering

Затенённое и нормализованное по мощности отображение

Frontpage 3D example

Пример 3D с главной страницы

Demo Agg Filter

Демонстрация фильтра Agg

Custom hillshading in a 3D surface plot

Настройка затенения в 3D-графике поверхности

Hillshading

Затенение

Topographic hillshading

Топографическое затенение

© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.colors.LightSource.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API