-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No way of linking media and events? #377
Comments
I’ve also just encountered this issue as our labelling is done at the sequence/event level, and for validation & visualisation purposes, we need to identify the media related to the event. As I understand it, when an observation is made at an event level, the Two methods could work... Method 1 (Extension) - Creating Events CSVCreate a new
This method gives the advantage that it isn’t breaking the current specification but can be optionally utilised as an extension. However, if considered to be adopted by the core specification, it would be great if it became a required table in the case event-level annotations are incorporated. Method 2
|
I actually went with Method 1 in my implementation of camera trap DP export and mentioned in the datapackage.json. I feel this is the simplest solution. Having an eventID column in the media table would of course be even simpler, but will not work in situations where a media item is used in multiple events.. |
Hi (and sorry for the late answer)
Indeed, that is by design. We have gone back and forth on multiple ways to express events, but settled on the current model because:
That flexibility does put a bit of burden on software that reads Camtrap DP, since events need to be extracted or created. Create your own events from media-based observations
Extract (predefined) events:
For R users, we plan to incorporate this functionality in camtraptor. This file could indeed be saved as an |
Hi @peterdesmet, Today I ran into an issue with the same origin as @bencevans and @jevansbio: absence of event (sequence) information in the Media. I have many videofiles of which Agouti cannot reliably obtain the timestamp from the metadata. All timestamps are therefore floored to 01-01-1970 00:00:00. The method you suggest, where you create eventes from media-based observations is unfeasible in this way. Every event will be merged to every media. Hence: building something up from Media is impossible. I've been a user of Agouti for a very long time now, and this has not always been an issue. Secondly, not every one has programmer-level experience and can build their own event data (like you suggest). Therefore your suggested solution is absolutely not user-oriented and user-friendly. It would solve many issues with users if eventID would be added to the media information. Just like it was before this year. Please contact me if you would like to discuss this further. |
Dear @peterdesmet, I've looked a little further into this issue myself. It seems that it originates from an assumption that is made in the code that all timestamps are unique within a deployment. "https://inbo.github.io/camtrapdp/reference/read_camtrapdp.html#assign-eventids". This would make sense, but does not hold, since time stamps from for example video's cannot be read reliably from the video meta data (pers comm. agouti staff). Yet, every video is an event, but can not be connected to it's own meta data with absence of eventID. Secondly eventID is a Key variable in de structure LocationID > deploymentID > eventID (i.e. trigger (formerly referred to as sequenceID)) > (observationID(s) >) mediaID. Hence it should not be created using the method you propose: "eventStart <= media.timestamp <= eventEnd" but should always be present in the data export. In camera trapping, the trigger would be the event (animal passing by OR time lapse/standardized photo taken). These two cannot be regarded as one event (the suggestion in the readme states) since the trigger originates from a different cause. My main concern is that this has never been an issue, until the beginning of this year, and i fear that using the current approach issues will remain coming up. |
As far as I can tell the current media csv file, there is no key linking the event to the media. In event based observation, this means media is less useful. The only way to work out what event a media item belongs to is to use the start/end time of the event and the deployment ID. I feel having at least the option to provide an event ID in the media file would be useful?
The text was updated successfully, but these errors were encountered: