Begin refactor
This commit is contained in:
42
src/ImageManipulation/ImageManipulation.py
Normal file
42
src/ImageManipulation/ImageManipulation.py
Normal 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
|
||||
Reference in New Issue
Block a user