Begin refactor

This commit is contained in:
Kim André Bjørkede
2025-10-11 17:43:49 +02:00
parent 79f4313cc6
commit a32cc51fb6
6 changed files with 377 additions and 11 deletions

View File

@@ -0,0 +1,42 @@
from abc import ABC, abstractmethod
from typing import Any
import sys
sys.path.append('..')
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