You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
318 lines
12 KiB
Plaintext
318 lines
12 KiB
Plaintext
2 years ago
|
{
|
||
|
"cells": [
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 1,
|
||
|
"id": "aecab081-a69a-4e38-9a30-cfc95661e56b",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"from urllib.request import urlopen\n",
|
||
|
"import json"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"id": "9538705e-e51e-49da-b4fe-e6c4c6f6c435",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"Area Map:\n",
|
||
|
"Give a string with the name of the image-file that was annotated with the Annotation Compass; Select a specific area of the image, return a list of all labels in that specific area."
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 2,
|
||
|
"id": "13246f4a-81ac-4b68-b974-ae04064d10cc",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# function for the project!\n",
|
||
|
"# please, kamo, put it in the flask app! thxxxx\n",
|
||
|
"# (combined with html_tag_list)\n",
|
||
|
"\n",
|
||
|
"url = \"https://hub.xpub.nl/soupboat/generic-labels/get-labels/?image=rejection_map.jpg/\"\n",
|
||
|
"response = urlopen(url)\n",
|
||
|
"data_json = json.loads(response.read()) \n",
|
||
|
"\n",
|
||
|
"def area_map_list(labels: list, left: int, right: int, top: int, bottom: int ) -> list: \n",
|
||
|
" \n",
|
||
|
" filtered_map = []\n",
|
||
|
" for label in labels:\n",
|
||
|
" if left <= (label['position']['x']) <= right and top <= (label['position']['y']) <= bottom:\n",
|
||
|
" filtered_map.append(label)\n",
|
||
|
" \n",
|
||
|
" return filtered_map\n",
|
||
|
"\n",
|
||
|
"#area_map_list(data_json['labels'], 0, 10, 30, 70)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"id": "34b43aae-0830-47ca-86c9-5827bfa44cef",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"Ghost Map:\n",
|
||
|
"Give a string with the name of the image-file that was annotated with the Annotation Compass; Replace all characters of all annotation-texts with a ghost-glyph and return a string that includes all replaced annotation-texts plus html-tags that place them back into their original position."
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 4,
|
||
|
"id": "dcbe893c-d00a-4933-9a18-8216a5f7459a",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# function for the project!\n",
|
||
|
"# please, kamo, put it in the flask app! thxxxx\n",
|
||
|
"# this function links to jian.css\n",
|
||
|
"\n",
|
||
|
"url = \"https://hub.xpub.nl/soupboat/generic-labels/get-labels/?image=rejection_map.jpg/\"\n",
|
||
|
"response = urlopen(url)\n",
|
||
|
"data_json = json.loads(response.read()) \n",
|
||
|
"\n",
|
||
|
"def ghost_map_list(labels: list, ghost_glyph: str ) -> str:\n",
|
||
|
" \n",
|
||
|
" filtered_map = '<link rel=\"stylesheet\" href=\"/soupboat/si16-app/static/css/jian.css\">'\n",
|
||
|
" for label in labels:\n",
|
||
|
" replaced_text = ''\n",
|
||
|
" for char in label['text']:\n",
|
||
|
" replaced_char = char\n",
|
||
|
" if not char.isspace():\n",
|
||
|
" replaced_char = ghost_glyph\n",
|
||
|
" replaced_text = replaced_text + replaced_char\n",
|
||
|
" html_tag = f'<p class=\"ghost\" style=\"left: {label[\"position\"][\"x\"]}%; top: {label[\"position\"][\"y\"]}%; position: absolute;\">{ replaced_text }</p>'\n",
|
||
|
" filtered_map = filtered_map + html_tag\n",
|
||
|
" return filtered_map\n",
|
||
|
"\n",
|
||
|
"#ghost_map_list(data_json['labels'], '.')"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"id": "863a6716-d9e4-413f-a597-a16cc0f04d6d",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"Highlight Map:\n",
|
||
|
"Give a string with the name of the image-file that was annotated with the Annotation Compass; Give a target-word; Return a string that includes all annotation-texts plus html-tags that place them back into their original position while highlighting the annotation-texts that include the target."
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 5,
|
||
|
"id": "18cfc4fa-4039-49fe-8b29-5bbec0e89b6f",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# function for the project!\n",
|
||
|
"# please, kamo, put it in the flask app! thxxxx\n",
|
||
|
"# this function links to jian.css\n",
|
||
|
"\n",
|
||
|
"url = \"https://hub.xpub.nl/soupboat/generic-labels/get-labels/?image=rejection_map.jpg/\"\n",
|
||
|
"response = urlopen(url)\n",
|
||
|
"data_json = json.loads(response.read()) \n",
|
||
|
"\n",
|
||
|
"def highlight_map_list(labels: list, target: str ) -> str:\n",
|
||
|
"\n",
|
||
|
" filtered_map = '<link rel=\"stylesheet\" href=\"/soupboat/si16-app/static/css/jian.css\">'\n",
|
||
|
" for label in labels:\n",
|
||
|
" if target in label['text']:\n",
|
||
|
" highlight_tag = f'<p class=\"highlight\" style=\"left: {label[\"position\"][\"x\"]}%; top: {label[\"position\"][\"y\"]}%; position: absolute;\">{ label[\"text\"] }</p>'\n",
|
||
|
" filtered_map = filtered_map + highlight_tag\n",
|
||
|
" else:\n",
|
||
|
" html_tag = f'<p class=\"lowlight\" style=\"left: {label[\"position\"][\"x\"]}%; top: {label[\"position\"][\"y\"]}%; position: absolute;\">{ label[\"text\"] }</p>'\n",
|
||
|
" filtered_map = filtered_map + html_tag\n",
|
||
|
" \n",
|
||
|
" return filtered_map\n",
|
||
|
"\n",
|
||
|
"#highlight_map_list(data_json['labels'], 'tunnel')"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"id": "9c41f5fd-1071-43b3-88bc-41a8e5907fdb",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"html-tag:\n",
|
||
|
"Give a string with the name of the image-file that was annotated with the Annotation Compass; Return a string that can include the position, text, timestamp and/or userID of all labels plus html-tags that place them back into their original position."
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 6,
|
||
|
"id": "a7ee1bdf-a356-4a66-aa01-ef1dad8738ca",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# function for the project!\n",
|
||
|
"# please, kamo, put it in the flask app! thxxxx\n",
|
||
|
"# this function links to jian.css\n",
|
||
|
"\n",
|
||
|
"url = \"https://hub.xpub.nl/soupboat/generic-labels/get-labels/?image=rejection_map.jpg/\"\n",
|
||
|
"response = urlopen(url)\n",
|
||
|
"data_json = json.loads(response.read()) \n",
|
||
|
"\n",
|
||
|
"def html_tag_list(labels: list, position: bool, text: bool, timestamp: bool, userID: bool ) -> str: \n",
|
||
|
" \n",
|
||
|
" html_tags = '<link rel=\"stylesheet\" href=\"/soupboat/si16-app/static/css/jian.css\">'\n",
|
||
|
" for label in labels:\n",
|
||
|
" html_tags = html_tags + f'<p style=\"left: {label[\"position\"][\"x\"]}%; top: {label[\"position\"][\"y\"]}%; position: absolute;\">'\n",
|
||
|
" if position == True:\n",
|
||
|
" html_position = f'{ label[\"position\"] } '\n",
|
||
|
" html_tags = html_tags + html_position\n",
|
||
|
" if text == True:\n",
|
||
|
" html_text = f'{ label[\"text\"] } '\n",
|
||
|
" html_tags = html_tags + html_text\n",
|
||
|
" if timestamp == True:\n",
|
||
|
" html_timestamp = f'{ label[\"timestamp\"] } '\n",
|
||
|
" html_tags = html_tags + html_timestamp\n",
|
||
|
" if userID == True:\n",
|
||
|
" html_userID = f'{ label[\"userID\"] } '\n",
|
||
|
" html_tags = html_tags + html_userID\n",
|
||
|
" html_tags = html_tags + '</p>'\n",
|
||
|
" \n",
|
||
|
" return html_tags\n",
|
||
|
"\n",
|
||
|
"#html_tag_list(data_json['labels'], True, False, False, False)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"id": "d05dd98e-0cdb-4a50-839a-7a67cdc22010",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"Individual Map:\n",
|
||
|
"give a string with the name of the image-file that was annotated with the Annotation Compass; Select one or more specific targets and return a list of all labels that include these targetsselect one or more specific users and return a list of all labels from these users."
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 9,
|
||
|
"id": "e8d7824d-4523-46f7-b89f-0e8f2d98e564",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# function for the project!\n",
|
||
|
"# hei kamo! is it already in the flask? should be?\n",
|
||
|
"# (combined with html_tag_list)\n",
|
||
|
"\n",
|
||
|
"url = \"https://hub.xpub.nl/soupboat/generic-labels/get-labels/?image=rejection_map.jpg/\"\n",
|
||
|
"response = urlopen(url)\n",
|
||
|
"data_json = json.loads(response.read()) \n",
|
||
|
"\n",
|
||
|
"def individual_map_list(labels: list, users: list ) -> list: \n",
|
||
|
" \n",
|
||
|
" filtered_map = []\n",
|
||
|
" for label in labels:\n",
|
||
|
" for user in users:\n",
|
||
|
" if label['userID'] == user:\n",
|
||
|
" filtered_map.append(label)\n",
|
||
|
" return filtered_map\n",
|
||
|
"\n",
|
||
|
"#individual_map_list(data_json['labels'], ['5058763759', '5941298752'])"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"id": "0f3febed-e702-4585-a7a1-e62d1a16d1c0",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"Target Map:\n",
|
||
|
"Give a string with the name of the image-file that was annotated with the Annotation Compass; Select one or more specific targets and return a list of all labels that include these targets"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 7,
|
||
|
"id": "9d263750-bab0-4989-9074-a58eba21b2c5",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# function for the project!\n",
|
||
|
"# please, kamo, put it in the flask app! thxxxx\n",
|
||
|
"# (combined with html_tag_list)\n",
|
||
|
"\n",
|
||
|
"url = \"https://hub.xpub.nl/soupboat/generic-labels/get-labels/?image=rejection_map.jpg/\"\n",
|
||
|
"response = urlopen(url)\n",
|
||
|
"data_json = json.loads(response.read()) \n",
|
||
|
"\n",
|
||
|
"def target_map_list(labels: list, targets: list ) -> list: \n",
|
||
|
" \n",
|
||
|
" filter_map = []\n",
|
||
|
" for label in labels:\n",
|
||
|
" for target in targets:\n",
|
||
|
" if target in label['text']:\n",
|
||
|
" filter_map.append(label)\n",
|
||
|
" return filter_map\n",
|
||
|
"\n",
|
||
|
"#target_map_list(data_json['labels'], ['tunnel', 'happy'])"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "markdown",
|
||
|
"id": "a8e5a256-b9e6-4f0f-b395-690c36d88a7e",
|
||
|
"metadata": {},
|
||
|
"source": [
|
||
|
"Vernacular Map:\n",
|
||
|
"Give a string with the name of the image-file that was annotated with the Annotation Compass; Return a string that includes all annotation-texts plus html-tags that place them back into their original position."
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 8,
|
||
|
"id": "d78dca69-5f1e-408d-85b5-6cc594f2f875",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"# function for the project!\n",
|
||
|
"# please, kamo, put it in the flask app! thxxxx\n",
|
||
|
"# this function links to jian.css\n",
|
||
|
"\n",
|
||
|
"url = \"https://hub.xpub.nl/soupboat/generic-labels/get-labels/?image=rejection_map.jpg/\"\n",
|
||
|
"response = urlopen(url)\n",
|
||
|
"data_json = json.loads(response.read()) \n",
|
||
|
"\n",
|
||
|
"def vernacular_map_list(labels: list) -> str: \n",
|
||
|
"\n",
|
||
|
" filtered_map = '<link rel=\"stylesheet\" href=\"/soupboat/si16-app/static/css/jian.css\">'\n",
|
||
|
" for label in labels:\n",
|
||
|
" html_tag = f'<p style=\"left: {label[\"position\"][\"x\"]}%; top: {label[\"position\"][\"y\"]}%; position: absolute;\">{ label[\"text\"] }</p>'\n",
|
||
|
" filtered_map = filtered_map + html_tag\n",
|
||
|
" \n",
|
||
|
" return filtered_map\n",
|
||
|
"\n",
|
||
|
"#vernacular_map_list(data_json['labels'])"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": null,
|
||
|
"id": "6a207852-701e-48ef-8469-96c245aea6a4",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
}
|
||
|
],
|
||
|
"metadata": {
|
||
|
"kernelspec": {
|
||
|
"display_name": "Python 3 (ipykernel)",
|
||
|
"language": "python",
|
||
|
"name": "python3"
|
||
|
},
|
||
|
"language_info": {
|
||
|
"codemirror_mode": {
|
||
|
"name": "ipython",
|
||
|
"version": 3
|
||
|
},
|
||
|
"file_extension": ".py",
|
||
|
"mimetype": "text/x-python",
|
||
|
"name": "python",
|
||
|
"nbconvert_exporter": "python",
|
||
|
"pygments_lexer": "ipython3",
|
||
|
"version": "3.7.3"
|
||
|
}
|
||
|
},
|
||
|
"nbformat": 4,
|
||
|
"nbformat_minor": 5
|
||
|
}
|