ivoflipse / Pawlabeling

Tool for processing and analyzing pressure measurements
Other
18 stars 1 forks source link

The tracking doesn't work for ALL dogs #10

Closed ivoflipse closed 11 years ago

ivoflipse commented 11 years ago

Here's an example of a rather large dog (Zeff), where one of the toes apparently is quite separated from the rest of this toes and its causing the tracking to make an error.

image

ivoflipse commented 11 years ago

This was to be expected given how the parameters are determined. Because the dog is walking along the side of the plate, he's skewing the average size of the paw, which I suspect tricks the euclidean distance check into using smaller distances.

ivoflipse commented 11 years ago

I added these configurable values to merge_contacts in the tracking algorithm.

frame_threshold = np.mean(lengths) * configuration.tracking_temporal
euclidean_distance = np.mean(sides) * configuration.tracking_spatial
average_surface = np.mean(surfaces) * configuration.tracking_surface

This seems to solve the problem we saw in big dogs: image

I actually think it won't hurt it small animals either, because the frame_threshold will still filter out any contacts that don't overlap considerably over time.