Skip to content

Commit 4b2819c

Browse files
refactor: Linter comments
1 parent ced39af commit 4b2819c

File tree

3 files changed

+79
-66
lines changed

3 files changed

+79
-66
lines changed

src/safeds/data/image/containers/_image.py

Lines changed: 34 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,21 @@
33
import io
44
import warnings
55
from pathlib import Path
6-
from typing import Any
6+
from typing import Any, TYPE_CHECKING
77

88
import torch
9-
import torch.nn.functional as F
9+
import torch.nn.functional as func
1010
from PIL.Image import open as pil_image_open
1111
from torch import Tensor
12-
from torch.types import Device
12+
13+
if TYPE_CHECKING:
14+
from torch.types import Device
1315
import torchvision
1416

15-
# Disable torchvision V2 beta warnings
16-
torchvision.disable_beta_transforms_warning()
17-
from torchvision.transforms.v2 import PILToTensor, functional as F2
17+
# Disables torchvision V2 beta warnings
18+
# Disabled because of RUFF Linter E402 (Module level import not at top of file)
19+
# torchvision.disable_beta_transforms_warning()
20+
from torchvision.transforms.v2 import PILToTensor, functional as func2
1821
from torchvision.utils import save_image
1922

2023
from safeds.exceptions import OutOfBoundsError, ClosedBound, IllegalFormatError
@@ -34,7 +37,7 @@ class Image:
3437
_default_device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
3538

3639
@staticmethod
37-
def from_file(path: str | Path, device: Device = _default_device):
40+
def from_file(path: str | Path, device: Device = _default_device) -> Image:
3841
"""
3942
Create an image from a file.
4043
@@ -53,7 +56,7 @@ def from_file(path: str | Path, device: Device = _default_device):
5356
return Image(image_tensor=Image._pil_to_tensor(pil_image_open(path)), device=device)
5457

5558
@staticmethod
56-
def from_bytes(data: bytes, device: Device = _default_device):
59+
def from_bytes(data: bytes, device: Device = _default_device) -> Image:
5760
"""
5861
Create an image from bytes.
5962
@@ -227,7 +230,7 @@ def resize(self, new_width: int, new_height: int) -> Image:
227230
result : Image
228231
The image with the given width and height.
229232
"""
230-
return Image(F.interpolate(self._image_tensor.unsqueeze(dim=1), size=(new_height, new_width)).squeeze(dim=1),
233+
return Image(func.interpolate(self._image_tensor.unsqueeze(dim=1), size=(new_height, new_width)).squeeze(dim=1),
231234
device=self._image_tensor.device)
232235

233236
def convert_to_grayscale(self) -> Image:
@@ -243,11 +246,11 @@ def convert_to_grayscale(self) -> Image:
243246
"""
244247
if self.channel == 4:
245248
return Image(torch.cat(
246-
[F2.rgb_to_grayscale(self._image_tensor[0:3], num_output_channels=3),
249+
[func2.rgb_to_grayscale(self._image_tensor[0:3], num_output_channels=3),
247250
self._image_tensor[3].unsqueeze(dim=0)]),
248251
device=self.device)
249252
else:
250-
return Image(F2.rgb_to_grayscale(self._image_tensor[0:3], num_output_channels=3), device=self.device)
253+
return Image(func2.rgb_to_grayscale(self._image_tensor[0:3], num_output_channels=3), device=self.device)
251254

252255
def crop(self, x: int, y: int, width: int, height: int) -> Image:
253256
"""
@@ -267,7 +270,7 @@ def crop(self, x: int, y: int, width: int, height: int) -> Image:
267270
result : Image
268271
The cropped image.
269272
"""
270-
return Image(F2.crop(self._image_tensor, x, y, height, width), device=self.device)
273+
return Image(func2.crop(self._image_tensor, x, y, height, width), device=self.device)
271274

272275
def flip_vertically(self) -> Image:
273276
"""
@@ -280,7 +283,7 @@ def flip_vertically(self) -> Image:
280283
result : Image
281284
The flipped image.
282285
"""
283-
return Image(F2.vertical_flip(self._image_tensor), device=self.device)
286+
return Image(func2.vertical_flip(self._image_tensor), device=self.device)
284287

285288
def flip_horizontally(self) -> Image:
286289
"""
@@ -293,7 +296,7 @@ def flip_horizontally(self) -> Image:
293296
result : Image
294297
The flipped image.
295298
"""
296-
return Image(F2.horizontal_flip(self._image_tensor), device=self.device)
299+
return Image(func2.horizontal_flip(self._image_tensor), device=self.device)
297300

298301
def adjust_brightness(self, factor: float) -> Image:
299302
"""
@@ -330,10 +333,11 @@ def adjust_brightness(self, factor: float) -> Image:
330333
)
331334
if self.channel == 4:
332335
return Image(torch.cat(
333-
[F2.adjust_brightness(self._image_tensor[0:3], factor * 1.0), self._image_tensor[3].unsqueeze(dim=0)]),
336+
[func2.adjust_brightness(self._image_tensor[0:3], factor * 1.0),
337+
self._image_tensor[3].unsqueeze(dim=0)]),
334338
device=self.device)
335339
else:
336-
return Image(F2.adjust_brightness(self._image_tensor, factor * 1.0), device=self.device)
340+
return Image(func2.adjust_brightness(self._image_tensor, factor * 1.0), device=self.device)
337341

338342
def add_noise(self, standard_deviation: float) -> Image:
339343
"""
@@ -396,13 +400,13 @@ def adjust_contrast(self, factor: float) -> Image:
396400
)
397401
if self.channel == 4:
398402
return Image(torch.cat(
399-
[F2.adjust_contrast(self._image_tensor[0:3], factor * 1.0), self._image_tensor[3].unsqueeze(dim=0)]),
403+
[func2.adjust_contrast(self._image_tensor[0:3], factor * 1.0), self._image_tensor[3].unsqueeze(dim=0)]),
400404
device=self.device)
401405
else:
402-
return Image(F2.adjust_contrast(self._image_tensor, factor * 1.0), device=self.device)
406+
return Image(func2.adjust_contrast(self._image_tensor, factor * 1.0), device=self.device)
403407

404-
def adjust_color_balance(self, factor: float) -> Image:
405-
pass
408+
# def adjust_color_balance(self, factor: float) -> Image:
409+
# pass
406410

407411
def blur(self, radius: int) -> Image:
408412
"""
@@ -421,7 +425,7 @@ def blur(self, radius: int) -> Image:
421425
result : Image
422426
The blurred image.
423427
"""
424-
return Image(F2.gaussian_blur(self._image_tensor, [radius * 2 + 1, radius * 2 + 1]), device=self.device)
428+
return Image(func2.gaussian_blur(self._image_tensor, [radius * 2 + 1, radius * 2 + 1]), device=self.device)
425429

426430
def sharpen(self, factor: float) -> Image:
427431
"""
@@ -457,10 +461,11 @@ def sharpen(self, factor: float) -> Image:
457461
)
458462
if self.channel == 4:
459463
return Image(torch.cat(
460-
[F2.adjust_sharpness(self._image_tensor[0:3], factor * 1.0), self._image_tensor[3].unsqueeze(dim=0)]),
464+
[func2.adjust_sharpness(self._image_tensor[0:3], factor * 1.0),
465+
self._image_tensor[3].unsqueeze(dim=0)]),
461466
device=self.device)
462467
else:
463-
return Image(F2.adjust_sharpness(self._image_tensor, factor * 1.0), device=self.device)
468+
return Image(func2.adjust_sharpness(self._image_tensor, factor * 1.0), device=self.device)
464469

465470
def invert_colors(self) -> Image:
466471
"""
@@ -475,10 +480,10 @@ def invert_colors(self) -> Image:
475480
"""
476481
if self.channel == 4:
477482
return Image(torch.cat(
478-
[F2.invert(self._image_tensor[0:3]), self._image_tensor[3].unsqueeze(dim=0)]),
483+
[func2.invert(self._image_tensor[0:3]), self._image_tensor[3].unsqueeze(dim=0)]),
479484
device=self.device)
480485
else:
481-
return Image(F2.invert(self._image_tensor), device=self.device)
486+
return Image(func2.invert(self._image_tensor), device=self.device)
482487

483488
def rotate_right(self) -> Image:
484489
"""
@@ -491,7 +496,7 @@ def rotate_right(self) -> Image:
491496
result : Image
492497
The image rotated 90 degrees clockwise.
493498
"""
494-
return Image(F2.rotate(self._image_tensor, -90, expand=True), device=self.device)
499+
return Image(func2.rotate(self._image_tensor, -90, expand=True), device=self.device)
495500

496501
def rotate_left(self) -> Image:
497502
"""
@@ -504,7 +509,7 @@ def rotate_left(self) -> Image:
504509
result : Image
505510
The image rotated 90 degrees counter-clockwise.
506511
"""
507-
return Image(F2.rotate(self._image_tensor, 90, expand=True), device=self.device)
512+
return Image(func2.rotate(self._image_tensor, 90, expand=True), device=self.device)
508513

509-
def find_edges(self) -> Image:
510-
pass
514+
# def find_edges(self) -> Image:
515+
# pass

src/safeds/exceptions/_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ def __init__(self, column_name: str) -> None:
159159

160160

161161
class IllegalFormatError(Exception):
162-
"""Exception raised when a format is not legal"""
162+
"""Exception raised when a format is not legal."""
163163

164164
def __init__(self, formats: list[str] | str, reason: str = "") -> None:
165165
super().__init__(f"This format is illegal. {reason}Use one of the following formats: {formats}")

0 commit comments

Comments
 (0)