def makeCenters(self, howMany): # While we need more centers, centers = [] while self.eligibleCenters and len(centers) < howMany: # Get new center center = random.choice(self.eligibleCenters) centerFrame = image_store.centerPixelFrame(center, *self.windowDimensions) # If the center is good, if self.isGoodFrame(centerFrame): # Append centers.append(center) # Mark self.markBadFrame(centerFrame) # Remove self.eligibleCenters.remove(center) # Return return centers
def labelPixelCenters(pixelCenters, actualPixelPointMachine): # Initialize positivePixelCenters = [] negativePixelCenters = [] # For each pixelCenter, for pixelCenter in pixelCenters: # Build frame patchWindowFrame = image_store.centerPixelFrame(pixelCenter, *actualPixelPointMachine.getWindowDimensions()) # If there are points in the frame, if actualPixelPointMachine.getPointsInsideFrame(patchWindowFrame): # Label it positive positivePixelCenters.append(pixelCenter) # Otherwise, else: # Label it negative negativePixelCenters.append(pixelCenter) # Return return positivePixelCenters, negativePixelCenters
def markBadCenter(self, center): self.markBadFrame(image_store.centerPixelFrame(center, *self.windowDimensions))