Я хочу использовать автоматическое понижение дискретизации и повторную отрисовку datashader при масштабировании для отображения больших изображений. Читая документы и форумы по головью, боке и даташадеру, я понимаю, что предпочтительнее делать это через Holoviews, а не напрямую с даташадером и боке (дайте мне знать, если это не так).
Приведенный ниже код отлично подходит для перерисовки разрешения изображения при масштабировании и намного быстрее, чем рендеринг полных изображений. Однако я не могу понять, как избежать изменения масштаба диапазона цветовой карты при увеличении изображения. Например, увеличение одной из черных областей в конечном итоге сделает ее такой же яркой, когда ни одна из областей с высокой интенсивностью не находится в пределах видимости.
Я хотел бы, чтобы диапазон цветовой карты фиксировался как min и max (или близко к этим значениям, в идеале я бы имел тот же контроль, что и с vmin и vmax в matplotlib) для всего массива / изображения и не обновлялся при увеличении изображения дюйм. Я не вижу никаких параметров, управляющих этим ни в regrid
, ни в hv.Image
, возможно ли этого достичь?
import holoviews as hv
from holoviews.operation.datashader import regrid
from skimage import data
hv.extension('bokeh')
im = data.coins()
hv_im = hv.Image(im).opts(active_tools=['wheel_zoom'])
regrid(hv_im)
Я также пробовал использовать datashade
вместо regrid
, но результаты были аналогичными.