def _rgb_to_identifier(array): ydim, xdim, zdim = array.shape id_array = np.zeros((ydim, xdim), dtype=np.uint64) for y in range(ydim): for x in range(xdim): id_array[y, x] = identifier_from_unique_color(array[y, x]) return id_array
def test_identifier_from_unique_color_edge_cases(self): from jicbioimage.core.util.color import identifier_from_unique_color self.assertEqual(identifier_from_unique_color((0, 0, 0)), 0) self.assertEqual(identifier_from_unique_color((0, 0, 1)), 1) self.assertEqual(identifier_from_unique_color((0, 0, 255)), 255) self.assertEqual(identifier_from_unique_color((0, 1, 0)), 256) self.assertEqual(identifier_from_unique_color((0, 1, 1)), 257) self.assertEqual(identifier_from_unique_color((0, 1, 255)), 511) self.assertEqual(identifier_from_unique_color((0, 2, 0)), 512) self.assertEqual(identifier_from_unique_color((0, 255, 255)), 65536 - 1) self.assertEqual(identifier_from_unique_color((1, 0, 0)), 65536) self.assertEqual(identifier_from_unique_color((1, 0, 1)), 65536 + 1) self.assertEqual(identifier_from_unique_color((1, 1, 0)), 65536 + 256) self.assertEqual(identifier_from_unique_color((1, 1, 1)), 65536 + 256 + 1) self.assertEqual(identifier_from_unique_color((255, 254, 255)), 16777215 - 256) self.assertEqual(identifier_from_unique_color((255, 255, 254)), 16777215 - 1) self.assertEqual(identifier_from_unique_color((255, 255, 255)), 16777215)
def test_identifier_from_unique_color(self): from jicbioimage.core.util.color import identifier_from_unique_color identifier = identifier_from_unique_color((0, 0, 0)) self.assertEqual(identifier, 0)