Preserve levels when switching between mono and rgba modes

This commit is contained in:
Luke Campagnola 2017-10-04 08:30:38 -07:00
parent a04db63775
commit f1de464c46

View File

@ -288,9 +288,21 @@ class HistogramLUTItem(GraphicsWidget):
Options are 'mono' or 'rgba'. Options are 'mono' or 'rgba'.
""" """
assert mode in ('mono', 'rgba') assert mode in ('mono', 'rgba')
oldLevels = self.getLevels()
self.levelMode = mode self.levelMode = mode
self._showRegions() self._showRegions()
self.imageChanged() self.imageChanged()
# do our best to preserve old levels
if mode == 'mono':
levels = np.array(oldLevels).mean(axis=0)
self.setLevels(*levels)
else:
levels = [oldLevels] * 4
self.setLevels(rgba=levels)
self.update() self.update()
def _showRegions(self): def _showRegions(self):