# Extracting annotations from database

**URL:** <https://support.prodi.gy/t/extracting-annotations-from-database/1693>\
**Category:** Uncategorized\
**Tags:** usage, image\
**Created:** [June 21, 2019, 1:39pm UTC](https://support.prodi.gy/t/extracting-annotations-from-database/1693 "2019-06-21T13:39:40Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rosa](https://avatars.discourse-cdn.com/v4/letter/r/ce7236/32.png) [@Rosa](https://support.prodi.gy/u/Rosa)\
**Post date:** [June 21, 2019, 1:39pm UTC](https://support.prodi.gy/t/extracting-annotations-from-database/1693/1 "2019-06-21T13:39:40Z")

</div>

Hi,

I have a dataset I have been annotating with image.manual in the following way:

```
prodigy image.manual test2 Downloads/images --label DOG,CAT,HAMSTER

```

For the different categories I press 1, 2 or 3 depending on the class and then press a to get the next sample to label. I don’t care about polygons etc.  
When finished, I press Ctrl+S and the annotations are saved. Now I want to load these annotations and use  
`prodigy db-out test2 > out.jsonl`

I open the jsonl, but I cannot find the assigned label? I find the following keys:

`dict_keys(['image', 'text', 'meta', '_input_hash', '_task_hash', '_session_id', '_view_id', 'width', 'height', 'answer'])`

Answer always contain accept.  
Aren’t the labels saved?

---

<div class="post-metadata">

**Author:** ![ines](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ines/32/3_2.png) [@ines](https://support.prodi.gy/u/ines)\
**Post date:** [June 21, 2019, 1:54pm UTC](https://support.prodi.gy/t/extracting-annotations-from-database/1693/2 "2019-06-21T13:54:50Z")

</div>

If you’re annotating with `image.manual`, you’re adding bounding boxes to the text – so the bounding boxes you drew on the image should be available as the key `"spans"`. Each entry in the spans will contain a `"label"` and the `"points"`, describing the x/y pixel coordinates of the bounding boxes. Since single image can contain multiple spans with different labels – so there won’t be a global “label” value.

If all you want to do is assign a global label to an image, you probably don’t want to be using the `image.manual` recipe. Instead, you probably want to be doing something similar to this example recipe using the `"choice"` interface, just with `"image"` instead of `"text"`: [https://prodi.gy/docs/workflow-custom-recipes#example-choice](https://prodi.gy/docs/workflow-custom-recipes#example-choice) Alternatively, you could also stream in your images and a `"label"` and click accept/reject in the `"classification"` UI.
