A method of tracking touch contacts, the method comprising: resolving a first touch contact to a first centroid for a frame; resolving a second touch contact, distinct from the first touch contact, to a second centroid for the frame; responsive to the first touch contact and the second touch contact merging into a merged touch contact in a frame (N+1), resolving the merged touch contact to a first centroid (N+1) and a second centroid (N+1), wherein said resolving includes calculation of mean and covariance values for each of the touch contacts based on the pixels that belong to the respective touch contact and using said mean and covariance values from frame to calculate a current likelihood that a particular pixel from the merged contact belongs to a particular touch contact; wherein said resolving the merged touch contact further includes assigning a first weight (N+1) and a second weight (N+1) to each particular pixel of the merged contact in frame (N+1), and wherein the first weight (N+1) of each pixel is calculated by multiplying an intensity of the merged touch contact observed at that pixel in frame (N+1) by the first probabilistic likelihood that the particular pixel belongs to the first touch contact; and the second weight (N+1) of each pixel is calculated by multiplying an intensity of the merged touch contact observed at that pixel in frame (N+1) by the second probabilistic likelihood that the particular pixel belongs to the second touch contact; and wherein the first weight (N+1) and the second weight (N+1) of each pixel are normalized such that a sum of the first weight (N+1) and the second weight (N+1) for that pixel equals 1; and each pixel is further normalized for the probabilistic likelihood of the first touch contact such that a sum of first weights (N+1) of all pixels of the merged touch contact equals 1; and wherein each pixel is further normalized for the probabilistic likelihood of the second touch contact such that a sum of second weights (N+1) of all pixels of the merged touch contact equals 1, whereby said first centroid (N+1) is calculated as the weighted mean of the normalized first weights (N +1) for the set of pixel locations belonging to the first touch contact and said second centroid (N +1) is calculated as the weighted mean of the normalized second weights (N+1) for the set of pixel locations belonging to the second touch contact. resolving a first touch contact to a first centroid for a frame; resolving a second touch contact, distinct from the first touch contact, to a second centroid for the frame; responsive to the first touch contact and the second touch contact merging into a merged touch contact in a frame (N+1), resolving the merged touch contact to a first centroid (N+1) and a second centroid (N+1), wherein said resolving includes calculation of mean and covariance values for each of the touch contacts based on the pixels that belong to the respective touch contact and using said mean and covariance values from frame to calculate a current likelihood that a particular pixel from the merged contact belongs to a particular touch contact; wherein said resolving the merged touch contact further includes assigning a first weight (N+1) and a second weight (N+1) to each particular pixel of the merged contact in frame (N+1), and wherein the first weight (N+1) of each pixel is calculated by multiplying an intensity of the merged touch contact observed at that pixel in frame (N+1) by the first probabilistic likelihood that the particular pixel belongs to the first touch contact; and the second weight (N+1) of each pixel is calculated by multiplying an intensity of the merged touch contact observed at that pixel in frame (N+1) by the second probabilistic likelihood that the particular pixel belongs to the second touch contact; and wherein the first weight (N+1) and the second weight (N+1) of each pixel are normalized such that a sum of the first weight (N+1) and the second weight (N+1) for that pixel equals 1; and each pixel is further normalized for the probabilistic likelihood of the first touch contact such that a sum of first weights (N+1) of all pixels of the merged touch contact equals 1; and wherein each pixel is further normalized for the probabilistic likelihood of the second touch contact such that a sum of second weights (N+1) of all pixels of the merged touch contact equals 1, whereby said first centroid (N+1) is calculated as the weighted mean of the normalized first weights (N +1) for the set of pixel locations belonging to the first touch contact and said second centroid (N +1) is calculated as the weighted mean of the normalized second weights (N+1) for the set of pixel locations belonging to the second touch contact.