Currently the contacts are already written to PyTables before we even start labeling/tracking. So if we've labeled them, we need to update the contact_labels for each paw, but we don't have to overwrite all the unchanged data.
However, what if I mess with the tracking algorithm or allow users to manually fix/change tracking, then suddenly I can no longer guarantee I still have the same number of contacts and their id's still map to the right location. So in that case it would be 'better' to just drop all the data and write the new version to PyTables.
Obviously the 'easy' solution would be to always drop the current information and store new versions, making sure everything is in sync. But its rather wasteful and in most cases completely unnecessary.
Currently the contacts are already written to PyTables before we even start labeling/tracking. So if we've labeled them, we need to update the contact_labels for each paw, but we don't have to overwrite all the unchanged data.
However, what if I mess with the tracking algorithm or allow users to manually fix/change tracking, then suddenly I can no longer guarantee I still have the same number of contacts and their id's still map to the right location. So in that case it would be 'better' to just drop all the data and write the new version to PyTables.
Obviously the 'easy' solution would be to always drop the current information and store new versions, making sure everything is in sync. But its rather wasteful and in most cases completely unnecessary.
@lynforster what do you think?