def testCenterMachine(self): # Initialize windowDimensions = 3, 3 canvasFrame = -10, -10, 11, 11 badFrame = -10, -10, 0, 0 centerMachine = sample_process.CenterMachine(canvasFrame, windowDimensions, badFrames=[badFrame]) centers = centerMachine.makeCenters(10000) frames = [image_store.centerPixelFrame(x, *windowDimensions) for x in centers] # Make sure that none of the good frames overlap each other groups_good = [set((x, y) for x in xrange(left, right) for y in xrange(top, bottom)) for left, top, right, bottom in frames] overlap = reduce(lambda x, y: x.intersection(y), groups_good) self.assertEqual(overlap, set()) # Make sure that none of the good frames overlap bad frames points_bad = [(x, y) for x in xrange(badFrame[0], badFrame[2]) for y in xrange(badFrame[1], badFrame[3])] points_good = reduce(lambda x, y: x.union(y), groups_good) self.assertEqual(set(points_good).intersection(set(points_bad)), set())
def testCenterPixelFrame(self): self.assertEqual(image_store.centerPixelFrame((1, 1), 3, 3), (0, 0, 3, 3)) self.assertEqual(image_store.centerPixelFrame((2, 2), 4, 4), (0, 0, 4, 4))