sen2sr / base.py
RhodWeo's picture
Add SEN2SRLite RGBN x4 with WEO standard interface
83a44e8 verified
from abc import ABC, abstractmethod
from typing import List, Optional
import numpy as np
class BaseModel(ABC):
@abstractmethod
def predict(self, image: np.ndarray) -> np.ndarray:
"""
Run super-resolution inference on a single image.
Args:
image: (C, H, W) float32 numpy array, values in [0, 1]
C must match in_channels (4 for RGBN variant)
Returns:
(C, H*scaling_factor, W*scaling_factor) float32 numpy array
in the same radiometric range as the input
"""
pass
@abstractmethod
def predict_tif(
self,
input_path: str,
output_path: str,
bands: Optional[List[int]] = None,
) -> None:
"""
Full GeoTIFF super-resolution pipeline.
Args:
input_path : path to input GeoTIFF
output_path : output path for super-resolved GeoTIFF
bands : 0-based band indices to read (default: [0,1,2,3])
"""
pass