@@ -78,7 +78,7 @@ def write_label( # pylint: disable-msg=too-many-arguments
7878 images_output_dir: File path of directory to write images.
7979 """
8080 # Download image and save it
81- response = requests .get (image_url , stream = True )
81+ response = requests .get (image_url , stream = True , timeout = 1.0 )
8282 response .raw .decode_content = True
8383 image = Image .open (response .raw )
8484 image_fqn = os .path .join (
@@ -99,12 +99,9 @@ def write_label( # pylint: disable-msg=too-many-arguments
9999 for category_name , paths in labels .items ():
100100 if label_format == 'WKT' :
101101 xml_writer = _add_pascal_object_from_wkt (
102- xml_writer , img_height = height , wkt_data = paths ,
103- label = category_name )
102+ xml_writer , wkt_data = paths , label = category_name )
104103 elif label_format == 'XY' :
105- xml_writer = _add_pascal_object_from_xy (
106- xml_writer , img_height = height , polygons = paths ,
107- label = category_name )
104+ xml_writer = _add_pascal_object_from_xy (xml_writer , polygons = paths , label = category_name )
108105 else :
109106 exc = UnknownFormatError (label_format = label_format )
110107 logging .exception (exc .message )
@@ -114,7 +111,7 @@ def write_label( # pylint: disable-msg=too-many-arguments
114111 xml_writer .save (os .path .join (annotations_output_dir , '{}.xml' .format (label_id )))
115112
116113
117- def _add_pascal_object_from_wkt (xml_writer , img_height , wkt_data , label ):
114+ def _add_pascal_object_from_wkt (xml_writer , wkt_data , label ):
118115 polygons = []
119116 if isinstance (wkt_data , list ): # V3+
120117 polygons = map (lambda x : wkt .loads (x ['geometry' ]), wkt_data )
@@ -124,17 +121,17 @@ def _add_pascal_object_from_wkt(xml_writer, img_height, wkt_data, label):
124121 for point in polygons :
125122 xy_coords = []
126123 for x_val , y_val in point .exterior .coords :
127- xy_coords .extend ([x_val , img_height - y_val ])
124+ xy_coords .extend ([x_val , y_val ])
128125 # remove last polygon if it is identical to first point
129126 if xy_coords [- 2 :] == xy_coords [:2 ]:
130127 xy_coords = xy_coords [:- 2 ]
131128 xml_writer .add_object (name = label , xy_coords = xy_coords )
132129 return xml_writer
133130
134131
135- def _add_pascal_object_from_xy (xml_writer , img_height , polygons , label ):
132+ def _add_pascal_object_from_xy (xml_writer , polygons , label ):
136133 if not isinstance (polygons , list ):
137- # polygons is not [{' geometry' : [xy]}] nor [[xy]]
134+ LOGGER . warning ( ' polygons is not [{geometry: [xy]}] nor [[xy]], skipping' )
138135 return xml_writer
139136 for polygon in polygons :
140137 if 'geometry' in polygon : # V3
@@ -146,6 +143,6 @@ def _add_pascal_object_from_xy(xml_writer, img_height, polygons, label):
146143
147144 xy_coords = []
148145 for point in polygon :
149- xy_coords .extend ([point ['x' ], img_height - point ['y' ]])
146+ xy_coords .extend ([point ['x' ], point ['y' ]])
150147 xml_writer .add_object (name = label , xy_coords = xy_coords )
151148 return xml_writer
0 commit comments