Files
IKT213-photo-app/src/ImageManipulation/ImageManipulation.py

39 lines
986 B
Python

from abc import ABC, abstractmethod
from typing import Any
from ImageContainer import ImageContainer
class ImageManipulation(ABC):
"""Abstract base class for image manipulation operations."""
@abstractmethod
def manipulateImage(self, image: ImageContainer, parameters: Any) -> None:
"""
Manipulate the given image using the provided parameters.
Args:
image: The image to manipulate
parameters: Parameters for the manipulation
"""
pass
@abstractmethod
def getParameters(self) -> list[str]:
"""
Get the list of parameters required for this manipulation.
Returns:
List of parameter names
"""
pass
@abstractmethod
def getManipulationName(self) -> str:
"""
Get the name of this manipulation operation.
Returns:
The name of the manipulation
"""
pass