sen2sr / base.py
RhodWeo's picture
Add SEN2SRLite RGBN x4 with WEO standard interface
83a44e8 verified
Raw
History Blame Contribute Delete
1.04 kB
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