def set_image_mpl_cmap(image: PIL.Image.Image, cmap: str): """ Set a PIL.Image to use a matplotlib colour map See https://matplotlib.org/3.1.1/gallery/color/colormap_reference.html Args: image: Image to modify cmap: Matplotlib colour map name """ image = image.copy() cmap = plt.get_cmap(cmap) value_levels = numpy.linspace(0, 1, 2**8) pallet = to_bytes(cmap(value_levels))[:, 0:3] image.putpalette(pallet, "RGB") return image.convert("RGB")
def setFrame(self, index: QtC.QModelIndex, image: PIL.Image.Image) -> None: direction = index.row() frame = index.column() leftMostChange = frame if len(self.state.icons[direction]) <= frame: leftMostChange = len(self.state.icons[direction]) self.state.icons[direction].extend( [None] * (frame - len(self.state.icons[direction]) + 1)) self.state.icons[direction][frame] = image.copy() self.dataChanged.emit(self.index(direction, leftMostChange), self.index(direction, frame), [QtC.Qt.DecorationRole])