|  | 
| 1 | 1 | # Data Format | 
| 2 |  | -TODO   | 
|  | 2 | + | 
|  | 3 | +Recording and annotation data are stored in a JSON format. Each recording info | 
|  | 4 | +with its corresponding annotations are stored in a separate file, with the file  | 
|  | 5 | +name corresponding to the recording ID and suffixed with `.json`. | 
|  | 6 | + | 
|  | 7 | +## Recording Info | 
|  | 8 | + | 
|  | 9 | +The recording info is stored in the top-level of the JSON file. The following | 
|  | 10 | +fields are included: | 
|  | 11 | + | 
|  | 12 | +- `id`: The recording ID, which is the file name (with the `.wav` suffix). | 
|  | 13 | +- `duration`: The duration of the recording in seconds. | 
|  | 14 | +- `class_name`: A field to store a file level class name. | 
|  | 15 | +- `time_exp`: The time expansion factor used to generate the recording. If not | 
|  | 16 | +  specified, the default value is 1. | 
|  | 17 | +- `annotated`: A boolean field (true/false) to indicate whether the recording | 
|  | 18 | +  has been fully annotated. | 
|  | 19 | +- `issues`: A boolean field (true/false) to flag any issues with the recording. | 
|  | 20 | +  This is used to indicate that the recording or annotations should be reviewed. | 
|  | 21 | +- `notes`: A field to store any notes about the recording. | 
|  | 22 | +- `annotation`: A list of annotations for the recording. | 
|  | 23 | + | 
|  | 24 | +## Annotation | 
|  | 25 | + | 
|  | 26 | +Annotations are made in the form of bounding boxes. Each annotation is stored as | 
|  | 27 | +a dictionary with the following fields: | 
|  | 28 | + | 
|  | 29 | +- `class`: The class name associated to the annotation. | 
|  | 30 | +- `start_time`: The start time of the annotation in seconds. | 
|  | 31 | +- `end_time`: The end time of the annotation in seconds. | 
|  | 32 | +- `individual`: The individual ID associated to the annotation. | 
|  | 33 | +- `event`: The event type associated to the annotation. | 
|  | 34 | +- `low_freq`: The low frequency of the annotation in Hz. | 
|  | 35 | +- `high_freq`: The high frequency of the annotation in Hz. | 
|  | 36 | + | 
|  | 37 | +## Example | 
|  | 38 | + | 
|  | 39 | +```json | 
|  | 40 | +{ | 
|  | 41 | +  "id": "20170701_213954-MYOMYS-LR_0_0.5.wav", | 
|  | 42 | +  "duration": 0.5, | 
|  | 43 | +  "class_name": "Myotis mystacinus", | 
|  | 44 | +  "annotated": true, | 
|  | 45 | +  "issues": false, | 
|  | 46 | +  "notes": "", | 
|  | 47 | +  "time_exp": 1, | 
|  | 48 | +  "annotation": [ | 
|  | 49 | +    { | 
|  | 50 | +      "class": "Myotis mystacinus", | 
|  | 51 | +      "end_time": 0.151696, | 
|  | 52 | +      "event": "Echolocation", | 
|  | 53 | +      "high_freq": 105957.03125, | 
|  | 54 | +      "individual": "0", | 
|  | 55 | +      "low_freq": 28564.453125, | 
|  | 56 | +      "start_time": 0.146366 | 
|  | 57 | +    }, | 
|  | 58 | +    { | 
|  | 59 | +      "class": "Myotis mystacinus", | 
|  | 60 | +      "end_time": 0.028696, | 
|  | 61 | +      "event": "Echolocation", | 
|  | 62 | +      "high_freq": 95214.84375, | 
|  | 63 | +      "individual": "0", | 
|  | 64 | +      "low_freq": 34667.96875, | 
|  | 65 | +      "start_time": 0.025006 | 
|  | 66 | +    }, | 
|  | 67 | +    { | 
|  | 68 | +      "class": "Myotis mystacinus", | 
|  | 69 | +      "end_time": 0.059036, | 
|  | 70 | +      "event": "Echolocation", | 
|  | 71 | +      "high_freq": 107910.15625, | 
|  | 72 | +      "individual": "0", | 
|  | 73 | +      "low_freq": 30517.578125, | 
|  | 74 | +      "start_time": 0.053296 | 
|  | 75 | +    } | 
|  | 76 | +  ] | 
|  | 77 | +} | 
|  | 78 | +``` | 
0 commit comments