Skip to content

Commit 8836691

Browse files
committed
refactor: fix useless type ignore from mypy error + add ty type checker
1 parent 122380d commit 8836691

File tree

8 files changed

+50
-21
lines changed

8 files changed

+50
-21
lines changed

otary/geometry/discrete/point.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"""
44

55
import numpy as np
6-
from numpy.typing import NDArray
6+
from numpy.typing import NDArray, ArrayLike
77
from shapely import Point as SPoint
88

99
from otary.geometry.discrete.entity import DiscreteGeometryEntity
@@ -12,12 +12,12 @@
1212
class Point(DiscreteGeometryEntity):
1313
"""Point class"""
1414

15-
def __init__(self, point: NDArray, is_cast_int: bool = False) -> None:
15+
def __init__(self, point: ArrayLike, is_cast_int: bool = False) -> None:
1616
point = self._ensure_transform_point_array(point=point)
1717
super().__init__(points=point, is_cast_int=is_cast_int)
1818

1919
@staticmethod
20-
def _ensure_transform_point_array(point: NDArray) -> NDArray:
20+
def _ensure_transform_point_array(point: ArrayLike) -> NDArray:
2121
point = np.asarray(point)
2222
if point.shape == (2,):
2323
point = point.reshape((1, 2))
@@ -58,7 +58,7 @@ def shapely_edges(self) -> SPoint:
5858
return SPoint(self.asarray)
5959

6060
@property
61-
def shapely_surface(self) -> SPoint:
61+
def shapely_surface(self) -> None:
6262
"""Returns None since a point has no surface
6363
6464
Returns:

otary/image/components/drawer/drawer.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,18 @@ def draw_circles(
5050
"""
5151
im_array = self._pre_draw(n_objects=len(circles), render=render)
5252
for circle, color in zip(circles, render.colors_processed):
53-
cv2.circle( # type: ignore[call-overload]
53+
cv2.circle(
5454
img=im_array,
55-
center=circle.center.astype(int),
55+
center=tuple(circle.center.astype(int)),
5656
radius=int(circle.radius),
5757
color=color,
5858
thickness=render.thickness if not render.is_filled else -1,
5959
lineType=render.line_type,
6060
)
6161
if render.is_draw_center_point_enabled:
62-
cv2.circle( # type: ignore[call-overload]
62+
cv2.circle(
6363
img=im_array,
64-
center=circle.center.astype(int),
64+
center=tuple(circle.center.astype(int)),
6565
radius=1,
6666
color=color,
6767
thickness=render.thickness,
@@ -83,9 +83,9 @@ def draw_ellipses(
8383
im_array = self._pre_draw(n_objects=len(ellipses), render=render)
8484
for ellipse, color in zip(ellipses, render.colors_processed):
8585
axes = (int(ellipse.semi_major_axis), int(ellipse.semi_minor_axis))
86-
cv2.ellipse( # type: ignore[call-overload]
86+
cv2.ellipse(
8787
img=im_array,
88-
center=ellipse.centroid.astype(int),
88+
center=tuple(ellipse.centroid.astype(int)),
8989
axes=axes,
9090
angle=ellipse.angle(degree=True),
9191
startAngle=0,
@@ -95,19 +95,19 @@ def draw_ellipses(
9595
lineType=render.line_type,
9696
)
9797
if render.is_draw_center_point_enabled:
98-
cv2.circle( # type: ignore[call-overload]
98+
cv2.circle(
9999
img=im_array,
100-
center=ellipse.centroid.astype(int),
100+
center=tuple(ellipse.centroid.astype(int)),
101101
radius=1,
102102
color=color,
103103
thickness=render.thickness,
104104
lineType=render.line_type,
105105
)
106106
if render.is_draw_focis_enabled:
107107
for foci in [ellipse.foci1, ellipse.foci2]:
108-
cv2.circle( # type: ignore[call-overload]
108+
cv2.circle(
109109
img=im_array,
110-
center=foci.astype(int),
110+
center=tuple(foci.astype(int)),
111111
radius=1,
112112
color=color,
113113
thickness=render.thickness,

otary/image/components/drawer/utils/tools.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ def color_str_to_tuple(
2525
Optional[tuple]: color tuple or None if not possible
2626
"""
2727
try:
28-
color_tuple = ImageColor.getrgb(color_str)
29-
if len(color_tuple) != 3:
30-
raise ValueError
28+
color_tuple = ImageColor.getrgb(color_str)[:3] # in case of RGBA format
3129
if is_bgr:
3230
color_tuple = color_tuple[::-1]
3331
except ValueError:

otary/image/components/io/utils/readfile.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ def read_pdf_document(
3535
raise ValueError(f"The filepath is not in any valid format {valid_format}")
3636
pages = pymupdf.open(filename=filepath_or_stream)
3737

38+
# turns open document type into list of pages
39+
pages = [pages[i] for i in range(len(pages))]
40+
3841
# set pages if page_nb
3942
if page_nb is not None:
4043
if page_nb < 0:

otary/image/components/transformer/components/geometrizer/geometrizer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def shift(self, shift: NDArray, fill_value: Sequence[float] = (0.0,)) -> None:
4242
flags=cv2.INTER_LINEAR,
4343
borderMode=cv2.BORDER_CONSTANT,
4444
borderValue=fill_value,
45-
) # type: ignore[call-overload]
45+
)
4646

4747
def rotate(
4848
self,
@@ -106,7 +106,7 @@ def rotate(
106106
flags=cv2.INTER_LINEAR,
107107
borderMode=cv2.BORDER_CONSTANT,
108108
borderValue=fill_value,
109-
) # type: ignore[call-overload]
109+
)
110110

111111
def center_to_point(self, point: NDArray) -> NDArray:
112112
"""Shift the image so that the input point ends up in the middle of the

otary/image/components/transformer/components/morphologyzer/morphologyzer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ def add_border(self, size: int, fill_value: int = 0) -> None:
232232
right=size,
233233
borderType=cv2.BORDER_CONSTANT,
234234
value=fill_value,
235-
) # type: ignore[call-overload]
235+
)
236236

237237
def add_noise_salt_and_pepper(self, amount: float = 0.05) -> None:
238238
"""Add salt and pepper noise to the image.

poetry.lock

Lines changed: 28 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ pylint-exit = "^1.2.0"
2626
ruff = "^0.4.4"
2727
black = "^24.4.2"
2828
pre-commit = "^3.7.1"
29+
ty = "^0.0.14"
2930

3031
[tool.poetry.group.dev.dependencies]
3132
setuptools = "^70.0.0"

0 commit comments

Comments
 (0)