Skip to content

Commit a50ff67

Browse files
committed
-
1 parent 32acb5f commit a50ff67

File tree

5 files changed

+68
-56
lines changed

5 files changed

+68
-56
lines changed

ISAT/annotation.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,18 @@
99

1010

1111
class Object:
12+
"""
13+
A class to represent an annotation object.
14+
15+
category: The category of the object.
16+
group: The group of the object.
17+
segmentation: The vertices of the object.
18+
area: The area of the object.
19+
layer: The layer of the object.
20+
bbox: The bbox of the object.
21+
iscrowd: The crowd tag of the object.
22+
note: The note of the object.
23+
"""
1224
def __init__(self, category:str, group:int, segmentation, area, layer, bbox, iscrowd=0, note=''):
1325
self.category = category
1426
self.group = group

ISAT/widgets/annos_dock_widget.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def set_polygon_selected(self):
154154
polygon.setSelected(False)
155155

156156
def set_polygon_show(self, polygon):
157-
for vertex in polygon.vertexs:
157+
for vertex in polygon.vertices:
158158
vertex.setVisible(self.sender().checkState())
159159
polygon.setVisible(self.sender().checkState())
160160

@@ -191,10 +191,10 @@ def zoom_to_group(self):
191191
if polygon.group == int(selected_group)]
192192
if not polygons_in_group:
193193
return
194-
min_x = min(min(vertex.x() for vertex in polygon.vertexs) for polygon in polygons_in_group)
195-
min_y = min(min(vertex.y() for vertex in polygon.vertexs) for polygon in polygons_in_group)
196-
max_x = max(max(vertex.x() for vertex in polygon.vertexs) for polygon in polygons_in_group)
197-
max_y = max(max(vertex.y() for vertex in polygon.vertexs) for polygon in polygons_in_group)
194+
min_x = min(min(vertex.x() for vertex in polygon.vertices) for polygon in polygons_in_group)
195+
min_y = min(min(vertex.y() for vertex in polygon.vertices) for polygon in polygons_in_group)
196+
max_x = max(max(vertex.x() for vertex in polygon.vertices) for polygon in polygons_in_group)
197+
max_y = max(max(vertex.y() for vertex in polygon.vertices) for polygon in polygons_in_group)
198198
margin = 20
199199
bounding_rect = QtCore.QRectF(min_x - margin, min_y - margin, max_x - min_x + 2*margin, max_y - min_y + 2*margin)
200200
self.mainwindow.view.fitInView(bounding_rect, QtCore.Qt.AspectRatioMode.KeepAspectRatio)

ISAT/widgets/canvas.py

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ def finish_draw(self):
336336

337337
# 设置为最高图层
338338
self.current_graph.setZValue(len(self.mainwindow.polygons)+1)
339-
for vertex in self.current_graph.vertexs:
339+
for vertex in self.current_graph.vertices:
340340
vertex.setZValue(len(self.mainwindow.polygons)+1)
341341

342342
# 添加新polygon
@@ -388,7 +388,7 @@ def finish_draw(self):
388388

389389
# 设置为最高图层
390390
self.current_graph.setZValue(len(self.mainwindow.polygons)+1)
391-
for vertex in self.current_graph.vertexs:
391+
for vertex in self.current_graph.vertices:
392392
vertex.setZValue(len(self.mainwindow.polygons)+1)
393393

394394
# 添加新polygon
@@ -472,14 +472,14 @@ def delete_selected_graph(self):
472472
del item
473473
elif isinstance(item, Vertex):
474474
polygon = item.polygon
475-
if polygon.vertexs:
476-
index = polygon.vertexs.index(item)
475+
if polygon.vertices:
476+
index = polygon.vertices.index(item)
477477
item.polygon.removePoint(index)
478478
else:
479479
self.removeItem(item)
480480
del item
481481
# 如果剩余顶点少于三个,删除多边形
482-
if len(polygon.vertexs) < 3:
482+
if len(polygon.vertices) < 3:
483483
if polygon in self.mainwindow.polygons:
484484
self.mainwindow.polygons.remove(polygon)
485485
self.mainwindow.annos_dock_widget.listwidget_remove_polygon(polygon)
@@ -520,7 +520,7 @@ def move_polygon_to_top(self):
520520
p.setZValue(p.zValue() - 1)
521521

522522
current_polygon.setZValue(max_layer)
523-
for vertex in current_polygon.vertexs:
523+
for vertex in current_polygon.vertices:
524524
vertex.setZValue(max_layer)
525525
self.mainwindow.set_saved_state(False)
526526

@@ -540,7 +540,7 @@ def move_polygon_to_bottom(self):
540540
p.setZValue(p.zValue() + 1)
541541

542542
current_polygon.setZValue(1)
543-
for vertex in current_polygon.vertexs:
543+
for vertex in current_polygon.vertices:
544544
vertex.setZValue(1)
545545
self.mainwindow.set_saved_state(False)
546546

@@ -552,7 +552,7 @@ def copy_item(self):
552552
self.current_graph = Polygon()
553553
self.addItem(self.current_graph)
554554

555-
for point in item.vertexs:
555+
for point in item.vertices:
556556
x, y = point.x(), point.y()
557557
self.current_graph.addPoint(QtCore.QPointF(x, y))
558558

@@ -564,13 +564,13 @@ def copy_item(self):
564564
self.current_graph = None
565565
elif isinstance(item, Vertex):
566566
polygon = item.polygon
567-
index = polygon.vertexs.index(item)
567+
index = polygon.vertices.index(item)
568568
point = QtCore.QPointF(item.x(), item.y())
569569

570570
polygon.points.insert(index, point)
571571
vertex = Vertex(self, polygon.color, self.mainwindow.cfg['software']['vertex_size'] * 2)
572572
self.addItem(vertex)
573-
polygon.vertexs.insert(index, vertex)
573+
polygon.vertices.insert(index, vertex)
574574
vertex.setPos(point)
575575

576576
# 感谢[XieDeWu](https://github.com/XieDeWu)提的有关交、并、差、异或的[建议](https://github.com/yatengLG/ISAT_with_segment_anything/issues/167)。
@@ -586,8 +586,8 @@ def polygons_union(self):
586586
color = self.selected_polygons_list[0].color
587587

588588
try:
589-
polygon1_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[0].vertexs])
590-
polygon2_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[1].vertexs])
589+
polygon1_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[0].vertices])
590+
polygon2_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[1].vertices])
591591
return_shapely = polygon1_shapely.union(polygon2_shapely)
592592
except Exception as e:
593593
QtWidgets.QMessageBox.warning(self.mainwindow, 'Warning', 'Polygon warning: {}'.format(e))
@@ -629,8 +629,8 @@ def polygons_difference(self):
629629
layer = self.selected_polygons_list[0].zValue()
630630
color = self.selected_polygons_list[0].color
631631
try:
632-
polygon1_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[0].vertexs])
633-
polygon2_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[1].vertexs])
632+
polygon1_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[0].vertices])
633+
polygon2_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[1].vertices])
634634
return_shapely = polygon1_shapely.difference(polygon2_shapely)
635635
except Exception as e:
636636
QtWidgets.QMessageBox.warning(self.mainwindow, 'Warning', 'Polygon warning: {}'.format(e))
@@ -684,8 +684,8 @@ def polygons_intersection(self):
684684
layer = self.selected_polygons_list[0].zValue()
685685
color = self.selected_polygons_list[0].color
686686
try:
687-
polygon1_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[0].vertexs])
688-
polygon2_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[1].vertexs])
687+
polygon1_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[0].vertices])
688+
polygon2_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[1].vertices])
689689
return_shapely = polygon1_shapely.intersection(polygon2_shapely)
690690
except Exception as e:
691691
QtWidgets.QMessageBox.warning(self.mainwindow, 'Warning', 'Polygon warning: {}'.format(e))
@@ -739,8 +739,8 @@ def polygons_symmetric_difference(self):
739739
layer = self.selected_polygons_list[0].zValue()
740740
color = self.selected_polygons_list[0].color
741741
try:
742-
polygon1_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[0].vertexs])
743-
polygon2_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[1].vertexs])
742+
polygon1_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[0].vertices])
743+
polygon2_shapely = shapely.Polygon([(point.x(), point.y()) for point in self.selected_polygons_list[1].vertices])
744744
return_shapely = polygon1_shapely.symmetric_difference(polygon2_shapely)
745745
except Exception as e:
746746
QtWidgets.QMessageBox.warning(self.mainwindow, 'Warning', 'Polygon warning: {}'.format(e))
@@ -862,9 +862,9 @@ def mousePressEvent(self, event: 'QtWidgets.QGraphicsSceneMouseEvent'):
862862
self.current_line.addPoint(self.repaint_end_vertex.pos())
863863

864864
repaint_polygon = self.repaint_start_vertex.polygon
865-
repaint_start_index = repaint_polygon.vertexs.index(self.repaint_start_vertex)
866-
repaint_end_index = repaint_polygon.vertexs.index(self.repaint_end_vertex)
867-
replace_points = [QtCore.QPointF(vertex.pos()) for vertex in self.current_line.vertexs]
865+
repaint_start_index = repaint_polygon.vertices.index(self.repaint_start_vertex)
866+
repaint_end_index = repaint_polygon.vertices.index(self.repaint_end_vertex)
867+
replace_points = [QtCore.QPointF(vertex.pos()) for vertex in self.current_line.vertices]
868868

869869
if repaint_start_index > repaint_end_index:
870870
record = repaint_start_index
@@ -874,16 +874,16 @@ def mousePressEvent(self, event: 'QtWidgets.QGraphicsSceneMouseEvent'):
874874

875875
# 这里永远替换数量最少的顶点
876876
distance = abs(repaint_end_index - repaint_start_index)
877-
if len(repaint_polygon.vertexs) - distance < distance:
877+
if len(repaint_polygon.vertices) - distance < distance:
878878
# 替换两端的点
879879
points = ([vertex.pos() for vertex in
880-
repaint_polygon.vertexs[repaint_start_index + 1: repaint_end_index]]
880+
repaint_polygon.vertices[repaint_start_index + 1: repaint_end_index]]
881881
+ replace_points[::-1])
882882
else:
883883
# 替换中间的点
884-
points = ([vertex.pos() for vertex in repaint_polygon.vertexs[:repaint_start_index]] +
884+
points = ([vertex.pos() for vertex in repaint_polygon.vertices[:repaint_start_index]] +
885885
replace_points +
886-
[vertex.pos() for vertex in repaint_polygon.vertexs[repaint_end_index + 1:]])
886+
[vertex.pos() for vertex in repaint_polygon.vertices[repaint_end_index + 1:]])
887887
repaint_polygon.delete()
888888
for point in points:
889889
repaint_polygon.addPoint(point)

ISAT/widgets/mainwindow.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1180,7 +1180,7 @@ def change_bit_map_to_semantic(self):
11801180
# to semantic
11811181
for polygon in self.polygons:
11821182
polygon.setEnabled(False)
1183-
for vertex in polygon.vertexs:
1183+
for vertex in polygon.vertices:
11841184
vertex.setVisible(False)
11851185
polygon.change_color(QtGui.QColor(self.category_color_dict.get(polygon.category, '#6F737A')))
11861186
polygon.color.setAlpha(255)
@@ -1203,7 +1203,7 @@ def change_bit_map_to_instance(self):
12031203
# to instance
12041204
for polygon in self.polygons:
12051205
polygon.setEnabled(False)
1206-
for vertex in polygon.vertexs:
1206+
for vertex in polygon.vertices:
12071207
vertex.setVisible(False)
12081208
if polygon.group != '':
12091209
index = int(polygon.group)
@@ -1232,7 +1232,7 @@ def change_bit_map_to_label(self):
12321232
# to label
12331233
for polygon in self.polygons:
12341234
polygon.setEnabled(True)
1235-
for vertex in polygon.vertexs:
1235+
for vertex in polygon.vertices:
12361236
# vertex.setEnabled(True)
12371237
vertex.setVisible(polygon.isVisible())
12381238
polygon.change_color(QtGui.QColor(self.category_color_dict.get(polygon.category, '#6F737A')))

ISAT/widgets/polygon.py

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def itemChange(self, change: 'QtWidgets.QGraphicsItem.GraphicsItemChange', value
7272
value.setY(0)
7373
if value.y() > self.scene().height()-1:
7474
value.setY(self.scene().height()-1)
75-
index = self.polygon.vertexs.index(self)
75+
index = self.polygon.vertices.index(self)
7676
self.polygon.movePoint(index, value)
7777

7878
return super(Vertex, self).itemChange(change, value)
@@ -103,7 +103,7 @@ def __init__(self):
103103
self.hover_alpha = 150
104104
self.nohover_alpha = 80
105105
self.points = []
106-
self.vertexs = []
106+
self.vertices = []
107107
self.category = ''
108108
self.group = 0
109109
self.iscrowd = 0
@@ -129,7 +129,7 @@ def addPoint(self, point):
129129
vertex = Vertex(self, self.color, self.scene().mainwindow.cfg['software']['vertex_size'] * 2)
130130
# 添加路径点
131131
self.scene().addItem(vertex)
132-
self.vertexs.append(vertex)
132+
self.vertices.append(vertex)
133133
vertex.setPos(point)
134134

135135
def movePoint(self, index, point):
@@ -147,22 +147,22 @@ def removePoint(self, index):
147147
if not self.points:
148148
return
149149
self.points.pop(index)
150-
vertex = self.vertexs.pop(index)
150+
vertex = self.vertices.pop(index)
151151
self.scene().removeItem(vertex)
152152
del vertex
153153
self.redraw()
154154

155155
def delete(self):
156156
self.points.clear()
157-
while self.vertexs:
158-
vertex = self.vertexs.pop()
157+
while self.vertices:
158+
vertex = self.vertices.pop()
159159
self.scene().removeItem(vertex)
160160
del vertex
161161

162162
def moveVertex(self, index, point):
163-
if not 0 <= index < len(self.vertexs):
163+
if not 0 <= index < len(self.vertices):
164164
return
165-
vertex = self.vertexs[index]
165+
vertex = self.vertices[index]
166166
vertex.setEnabled(False)
167167
vertex.setPos(point)
168168
vertex.setEnabled(True)
@@ -236,7 +236,7 @@ def change_color(self, color):
236236
self.setPen(QtGui.QPen(color, self.line_width))
237237
self.color.setAlpha(self.nohover_alpha)
238238
self.setBrush(self.color)
239-
for vertex in self.vertexs:
239+
for vertex in self.vertices:
240240
vertex_color = self.color
241241
vertex_color.setAlpha(255)
242242
vertex.setPen(QtGui.QPen(vertex_color, self.line_width))
@@ -259,9 +259,9 @@ def set_drawed(self, category, group, iscrowd, note, color:QtGui.QColor, layer=N
259259
self.setBrush(self.color)
260260
if layer is not None:
261261
self.setZValue(layer)
262-
for vertex in self.vertexs:
262+
for vertex in self.vertices:
263263
vertex.setZValue(layer)
264-
for vertex in self.vertexs:
264+
for vertex in self.vertices:
265265
vertex.setColor(color)
266266

267267
def calculate_area(self):
@@ -346,7 +346,7 @@ def itemChange(self, change: 'QtWidgets.QGraphicsItem.GraphicsItemChange', value
346346
value.setY(0)
347347
if value.y() > self.scene().height()-1:
348348
value.setY(self.scene().height()-1)
349-
index = self.polygon.vertexs.index(self)
349+
index = self.polygon.vertices.index(self)
350350
self.polygon.movePoint(index, value)
351351

352352
return super(LineVertex, self).itemChange(change, value)
@@ -358,7 +358,7 @@ def __init__(self):
358358
# self.hover_alpha = 150
359359
# self.nohover_alpha = 80
360360
self.points = []
361-
self.vertexs = []
361+
self.vertices = []
362362
self.color = QtGui.QColor('#ff0000')
363363
pen = QtGui.QPen(self.color, self.line_width)
364364
pen.setStyle(QtCore.Qt.PenStyle.DotLine)
@@ -370,7 +370,7 @@ def addPoint(self, point):
370370
vertex = LineVertex(self, self.color, self.scene().mainwindow.cfg['software']['vertex_size'] * 2)
371371
# 添加路径点
372372
self.scene().addItem(vertex)
373-
self.vertexs.append(vertex)
373+
self.vertices.append(vertex)
374374
vertex.setPos(point)
375375

376376
def movePoint(self, index, point):
@@ -383,15 +383,15 @@ def removePoint(self, index):
383383
if not self.points:
384384
return
385385
self.points.pop(index)
386-
vertex = self.vertexs.pop(index)
386+
vertex = self.vertices.pop(index)
387387
self.scene().removeItem(vertex)
388388
del vertex
389389
self.redraw()
390390

391391
def delete(self):
392392
self.points.clear()
393-
while self.vertexs:
394-
vertex = self.vertexs.pop()
393+
while self.vertices:
394+
vertex = self.vertices.pop()
395395
self.scene().removeItem(vertex)
396396
del vertex
397397

@@ -454,7 +454,7 @@ def itemChange(self, change: 'QtWidgets.QGraphicsItem.GraphicsItemChange', value
454454
value.setY(0)
455455
if value.y() > self.scene().height()-1:
456456
value.setY(self.scene().height()-1)
457-
index = self.rect.vertexs.index(self)
457+
index = self.rect.vertices.index(self)
458458
self.rect.movePoint(index, value)
459459

460460
return super(RectVertex, self).itemChange(change, value)
@@ -465,15 +465,15 @@ def __init__(self):
465465
super().__init__(parent=None)
466466
self.line_width = 1
467467
self.points = []
468-
self.vertexs = []
468+
self.vertices = []
469469
self.color = QtGui.QColor('#ff0000')
470470

471471
def addPoint(self, point):
472472
self.points.append(point)
473473
vertex = RectVertex(self, self.color, self.scene().mainwindow.cfg['software']['vertex_size'] * 2)
474474
# 添加路径点
475475
self.scene().addItem(vertex)
476-
self.vertexs.append(vertex)
476+
self.vertices.append(vertex)
477477
vertex.setPos(point)
478478

479479
def movePoint(self, index, point):
@@ -486,15 +486,15 @@ def removePoint(self, index):
486486
if not self.points:
487487
return
488488
self.points.pop(index)
489-
vertex = self.vertexs.pop(index)
489+
vertex = self.vertices.pop(index)
490490
self.scene().removeItem(vertex)
491491
del vertex
492492
self.redraw()
493493

494494
def delete(self):
495495
self.points.clear()
496-
while self.vertexs:
497-
vertex = self.vertexs.pop()
496+
while self.vertices:
497+
vertex = self.vertices.pop()
498498
self.scene().removeItem(vertex)
499499
del vertex
500500

0 commit comments

Comments
 (0)