|
180 | 180 | "nested_radio_annotation_ndjson = {\n",
|
181 | 181 | " \"name\": \"nested_radio_question\",\n",
|
182 | 182 | " \"answer\": {\n",
|
183 |
| - " \"name\": \"first_radio_answer\",\n", |
184 |
| - " \"classifications\": [{\n", |
185 |
| - " \"name\": \"sub_radio_question\",\n", |
186 |
| - " \"answer\": {\n", |
187 |
| - " \"name\": \"first_sub_radio_answer\"\n", |
188 |
| - " }\n", |
189 |
| - " }]\n", |
190 |
| - " }\n", |
| 183 | + " \"name\": \"first_radio_answer\"\n", |
| 184 | + " },\n", |
| 185 | + " \"classifications\": [{\n", |
| 186 | + " \"name\": \"sub_radio_question\",\n", |
| 187 | + " \"answer\": {\n", |
| 188 | + " \"name\": \"first_sub_radio_answer\"\n", |
| 189 | + " }\n", |
| 190 | + " }]\n", |
191 | 191 | "}\n",
|
192 | 192 | "\n",
|
193 | 193 | "\n",
|
|
431 | 431 | "metadata": {},
|
432 | 432 | "source": [
|
433 | 433 | "# Identifying what values in the numpy array correspond to the mask annotation\n",
|
434 |
| - "color = (255, 255, 255)\n", |
435 |
| - "mask_data = lb_types.MaskData(url=\"https://storage.googleapis.com/labelbox-datasets/image_sample_data/raster_seg.png\")\n", |
| 434 | + "color = (0, 0, 0)\n", |
| 435 | + "\n", |
| 436 | + "# convert a polygon to mask\n", |
| 437 | + "im_height, im_width = 100,100 # need to provide the height and width of image\n", |
| 438 | + "mask_data = lb_types.MaskData(arr=\n", |
| 439 | + " polygon_annotation.value.draw(height=im_height,width=im_width,color=color))\n", |
| 440 | + "\n", |
| 441 | + "# convert a 2D array to 3D array\n", |
| 442 | + "arr_2d = np.zeros((100,100), dtype=\"uint8\")\n", |
| 443 | + "mask_data = lb_types.MaskData.from_2D_arr(arr_2d)\n", |
| 444 | + "\n", |
| 445 | + "# a 3D array where 3rd axis is RGB values\n", |
| 446 | + "mask_data = lb_types.MaskData(arr=np.zeros([400,450,3],dtype=\"uint8\"))\n", |
436 | 447 | "\n",
|
437 | 448 | "# Python annotation\n",
|
438 | 449 | "mask_annotation = lb_types.ObjectAnnotation(\n",
|
|
444 | 455 | "mask_annotation_ndjson = {\n",
|
445 | 456 | " \"name\": \"mask\",\n",
|
446 | 457 | " \"classifications\": [],\n",
|
447 |
| - " \"mask\": {\"instanceURI\": \"https://storage.googleapis.com/labelbox-datasets/image_sample_data/raster_seg.png\",\n", |
448 |
| - " \"colorRGB\": (255, 255, 255)}\n", |
| 458 | + " \"mask\": {\"instanceURI\": \"https://storage.labelbox.com/cjhfn5y6s0pk507024nz1ocys%2F1d60856c-59b7-3060-2754-83f7e93e0d01-1?Expires=1666901963361&KeyName=labelbox-assets-key-3&Signature=t-2s2DB4YjFuWEFak0wxYqfBfZA\",\n", |
| 459 | + " \"colorRGB\": (0, 0, 0)}\n", |
449 | 460 | "}"
|
450 | 461 | ],
|
451 | 462 | "cell_type": "code",
|
|
735 | 746 | " options=[lb.Option(value=\"first_sub_radio_answer\")]),\n",
|
736 | 747 | " ]),\n",
|
737 | 748 | " lb.Tool(tool=lb.Tool.Type.POLYGON, name=\"polygon\"),\n",
|
738 |
| - " lb.Tool(tool=lb.Tool.Type.RASTER_SEGMENTATION, name=\"mask\"),\n", |
| 749 | + " lb.Tool(tool=lb.Tool.Type.SEGMENTATION, name=\"mask\"),\n", |
739 | 750 | " lb.Tool(tool=lb.Tool.Type.POINT, name=\"point\"),\n",
|
740 | 751 | " lb.Tool(tool=lb.Tool.Type.LINE, name=\"polyline\"),\n",
|
741 | 752 | " lb.Tool(tool=lb.Tool.Type.RELATIONSHIP, name=\"relationship\")\n",
|
|
820 | 831 | {
|
821 | 832 | "metadata": {},
|
822 | 833 | "source": [
|
823 |
| - "label = []\n", |
| 834 | + "labels = []\n", |
824 | 835 | "annotations = [\n",
|
825 | 836 | " radio_annotation,\n",
|
826 | 837 | " nested_radio_annotation,\n",
|
|
837 | 848 | " bbox_target,\n",
|
838 | 849 | " relationship,\n",
|
839 | 850 | "]\n",
|
840 |
| - "label.append(\n", |
| 851 | + "labels.append(\n", |
841 | 852 | " lb_types.Label(data=lb_types.ImageData(global_key=global_key),\n",
|
842 | 853 | " annotations=annotations))"
|
843 | 854 | ],
|
|
856 | 867 | {
|
857 | 868 | "metadata": {},
|
858 | 869 | "source": [
|
859 |
| - "ndjson_label = []\n", |
| 870 | + "ndjson_labels = []\n", |
860 | 871 | "annotations = [\n",
|
861 | 872 | " radio_annotation_ndjson,\n",
|
862 | 873 | " nested_radio_annotation_ndjson,\n",
|
|
879 | 890 | " \"globalKey\": global_key\n",
|
880 | 891 | " },\n",
|
881 | 892 | " })\n",
|
882 |
| - " ndjson_label.append(annotation)" |
| 893 | + " ndjson_labels.append(annotation)" |
883 | 894 | ],
|
884 | 895 | "cell_type": "code",
|
885 | 896 | "outputs": [],
|
|
908 | 919 | " client=client,\n",
|
909 | 920 | " project_id=project.uid,\n",
|
910 | 921 | " name=\"mal_job\" + str(uuid.uuid4()),\n",
|
911 |
| - " predictions=label\n", |
| 922 | + " predictions=labels\n", |
912 | 923 | ")\n",
|
913 | 924 | "upload_job.wait_until_done()\n",
|
914 | 925 | "\n",
|
|
937 | 948 | "# client = client, \n",
|
938 | 949 | "# project_id = project.uid, \n",
|
939 | 950 | "# name=\"label_import_job\"+str(uuid.uuid4()), \n",
|
940 |
| - "# labels=label)\n", |
| 951 | + "# labels=ndjson_labels)\n", |
941 | 952 | "\n",
|
942 | 953 | "# print(\"Errors:\", upload_job.errors)\n",
|
943 |
| - "# print(\"Status of uploads: \", upload_job.statuses)" |
| 954 | + "# print(\"Status of uploads: \", upload_job.statuses)\n", |
| 955 | + "# print(\" \")" |
944 | 956 | ],
|
945 | 957 | "cell_type": "code",
|
946 | 958 | "outputs": [],
|
|
0 commit comments