Example #1
0
		addPhotometry(colourObject, colour, o.exposures)
		masterObjectList.append(colourObject)

	distanceThreshold = float(config.MINPIXELDISTANCE)
	print "Threshold", distanceThreshold

	colour = 'g'
	objects = allObjects[colour]
	for o in objects:
		""" First see if we have a position match in our existing objects
		"""
		position = o.meanPosition
		closestDistance = 1000
		closestObject = None
		for m in masterObjectList:
			r_distance = ultracamutils.calculateDistance(position, m.meanPosition['r'])
			if r_distance < closestDistance: 
				closestDistance = r_distance
				closestObject = m
		if closestDistance > distanceThreshold:
			closestObject = None   # Reject the match if it is too far away
		
		if closestObject == None:
			newIDNumber = ultracamutils.getUniqueID(masterObjectList)
			colourObject = ucamObjectClass.colourObject(newIDNumber)
			debug.write("Could find no match to this green object!")
			debug.write("Created a new colourObject with id: %d"%(newIDNumber))
			colourObject.setMeanPosition(colour, o.meanPosition)
			colourObject.colourID[colour] = o.id
			addPhotometry(colourObject, colour, o.exposures)
			masterObjectList.append(colourObject)
Example #2
0
		firstColourList = copy.copy(firstColourObjects)
		for o in firstColourObjects:
			id = ultracamutils.getUniqueID(colourObjects)
			colourObject = classes.combined3ColourObject(id)
			colourObject.setColourID(currentColour, o.id)
			firstColourList.remove(o)
			allObjectsCopy[currentColour] = firstColourList
			originalCoords = (o.ra, o.dec)
			for othercolour in threeColours:
				objects = allObjectsCopy[othercolour]
				debug.write("Looking for %s objects to match the current %s object"%(channelDescriptions[othercolour], channelDescriptions[currentColour]))
				closestDistance = 1
				closestObject = None
				for p in objects:
					objectCoords = (p.ra, p.dec)
					distance = ultracamutils.calculateDistance(originalCoords, objectCoords)
					if distance < closestDistance:
						closestDistance = distance
						closestObject = p
				if closestDistance < distanceThresholdDegrees:
					colourObject.setColourID(othercolour, closestObject.id)
					objects.remove(closestObject)
					allObjectsCopy[othercolour] = objects
				else: 
					debug.write("No match... to far from threshold")
				
			debug.write(colourObject)
			colourObjects.append(colourObject)
			
		debug.write("Objects remaining:")	
		for c in channels: