def testNaNColor(self): """Test Colormap.applyToData with NaN values""" colormap = Colormap(name='gray', normalization='linear') colormap.setNaNColor('red') self.assertEqual(colormap.getNaNColor(), qt.QColor(255, 0, 0)) data = numpy.array([50., numpy.nan]) image = items.ImageData() image.setData(numpy.array([[0, 100]])) value = colormap.applyToData(data, reference=image) self.assertEqual(len(value), 2) self.assertTrue(numpy.array_equal(value[0], (128, 128, 128, 255))) self.assertTrue(numpy.array_equal(value[1], (255, 0, 0, 255)))
def testStoreRestore(self): colormaps = [ Colormap(name="viridis"), Colormap(normalization=Colormap.SQRT) ] cmap = Colormap(normalization=Colormap.GAMMA) cmap.setGammaNormalizationParameter(1.2) cmap.setNaNColor('red') colormaps.append(cmap) for expected in colormaps: with self.subTest(colormap=expected): state = expected.saveState() result = Colormap() result.restoreState(state) self.assertEqual(expected, result)