def step_06_third_clustering_by_hamming_distance(self): from uuid import UUID def distance_hamming_group(g1, g2): distances = [ img1.pd_hamming_distance(img2) for img1 in g1.members for img2 in g2.members ] return min(distances) group_cnt = 0 for group1 in self.result: img = Image() img.phash = UUID(b'0' * 32) img.dhash = 0 m_value = Group() m_value.members = [img] cluster = Clustering(group1, IMG_PD_HDIST_THREASHOLD, distance_hamming_group, m_value, False) cluster.run() group1.members = cluster.result group_cnt += len(cluster.result) print('step_06:group_cnt == %d' % group_cnt) return True