alezanai / term-annotator

Super-fast image annotation using terminal and keyboard
0 stars 0 forks source link

add export/import annotation results abilty #13

Open TaniaPash opened 5 years ago

TaniaPash commented 5 years ago

Actual

no Export/Import abily in term-annotator app

Expected

Import categories from json (open a directory and a json, and move the images corresponding to the json content) One export -> export a json from the categories

TaniaPash commented 5 years ago

hi Pierre,

i have a few questions:

  1. Does exported file look good for you? I added dir name prop
    {
    "epoch": "2019-10-22T19:54:55.960Z",
    "categories": {
    "notClean": [
      {
        "filenames": [
          "111111_23_24-2-1570481465386-person-528f5.gif",
          "111111_23_24-2-1570481465386-person-5a342.gif",
          "111111_23_24-2-1570481465386-person-88dc9.gif"
        ],
        "thumbnail": null,
        "dir": "not-clean"
      }
    ],
    "players": [
      {
        "choices": [
          {
            "thumbnail": "111111_23_24-2-1570481465385-person-b137d.png",
            "filenames": [
              "111111_23_24-2-1570481465385-person-b137d.gif"
            ],
            "dir": "1-1"
          },
          {
            "thumbnail": "111111_23_24-2-1570481465385-person-c9d90.png",
            "filenames": [
              "111111_23_24-2-1570481465385-person-c9d90.gif"
            ],
            "dir": "1-2"
          },
          {
            "thumbnail": "111111_23_24-2-1570481465385-person-d08c9.png",
            "filenames": [
              "111111_23_24-2-1570481465385-person-d08c9.gif"
            ],
            "dir": "1-3"
          },
          {
            "thumbnail": "111111_23_24-2-1570481465386-person-c19b8.png",
            "filenames": [
              "111111_23_24-2-1570481465386-person-c19b8.gif"
            ],
            "dir": "1-4"
          },
          {
            "thumbnail": "111111_23_24-2-1570481465386-person-cbf68.png",
            "filenames": [
              "111111_23_24-2-1570481465386-person-cbf68.gif"
            ],
            "dir": "1-5"
          },
          {
            "thumbnail": "111111_23_24-2-1570481465388-person-562cc.png",
            "filenames": [
              "111111_23_24-2-1570481465388-person-562cc.gif"
            ],
            "dir": "2-1"
          },
          {
            "thumbnail": "111111_23_24-2-1570481465386-person-bf17f.png",
            "filenames": [
              "111111_23_24-2-1570481465386-person-bf17f.gif",
              "111111_23_24-2-1570481465386-person-ff853.gif"
            ],
            "dir": "2-2"
          },
          {
            "thumbnail": "111111_23_24-2-1570481465388-person-02e03.png",
            "filenames": [
              "111111_23_24-2-1570481465388-person-02e03.gif"
            ],
            "dir": "2-3"
          },
          {
            "thumbnail": "111111_23_24-2-1570481465388-person-31514.png",
            "filenames": [
              "111111_23_24-2-1570481465388-person-31514.gif"
            ],
            "dir": "2-4"
          },
          {
            "thumbnail": null,
            "filenames": [],
            "dir": "2-5"
          }
        ]
      }
    ],
    "mixed": [
      {
        "filenames": [
          "111111_23_24-2-1570481465385-person-e44b7.gif",
          "111111_23_24-2-1570481465386-person-20e10.gif"
        ],
        "thumbnail": null,
        "dir": "mixed"
      }
    ],
    "notPlayer": [
      {
        "filenames": [],
        "thumbnail": null,
        "dir": "not-a-player"
      }
    ]
    }
    }
  2. in case user wants to import annotation file. should user be able to continue annotation into the directory were images were moved after import ? Or this feature can be used only for import/sorting files?
piercus commented 5 years ago

Hello Tania,

Can you show me the corresponding config ?

TaniaPash commented 5 years ago

config file looks like this :

{
    "sort": true,
    "mediaType": "gif",
    "source": {
        "dir": "",  // will be added by user
        "recursive": false
    },
    "classes": {
        "players": {
            "key": "p",
            "dir": "../annotated/<%=team%>-<%=number%>",
            "params": [
                {
                    "label": "team",
                    "name": "team",
                    "choices": [
                        {
                            "key": "1",
                            "label": "1",
                            "value": "1"
                        },
                        {
                            "key": "2",
                            "label": "2",
                            "value": "2"
                        }
                    ]
                },
                {
                    "label": "number",
                    "name": "number",
                    "choices": [
                        {
                            "key": "1",
                            "label": "player1",
                            "value": "1"
                        },
                        {
                            "key": "2",
                            "label": "player2",
                            "value": "2"
                        },
                        {
                            "key": "3",
                            "label": "player3",
                            "value": "3"
                        },
                        {
                            "key": "4",
                            "label": "player4",
                            "value": "4"
                        },
                        {
                            "key": "5",
                            "label": "player5",
                            "value": "5"
                        }
                    ]
                }
            ]
        },
        "notClean": {
            "key": "n",
            "dir": "../annotated/not-clean"
        },
        "mixed": {
            "key": "m",
            "dir": "../annotated/mixed"
        },
        "notPlayer": {
            "key": "r",
            "dir": "../annotated/not-a-player"
        }
    }
}
piercus commented 5 years ago
  1. exported file looks good to me
  1. should user be able to continue annotation into the directory were images were moved after import ?

Yes

TaniaPash commented 4 years ago

done, closing