satorbis_kit.patch_generation module¶
Patch generation module using object-oriented design.
Follows SOLID principles and design patterns.
- class satorbis_kit.patch_generation.PatchConfig(input_tif: str, output_folder: str, patch_size: int = 2048, overlap: int = 0, downsample_factor: float | None = 1.0, driver: str = 'GTiff', rasterio_env: dict | None = None)[source]¶
Bases:
objectConfiguration for patch generation.
- downsample_factor: float | None = 1.0¶
- driver: str = 'GTiff'¶
- input_tif: str¶
- output_folder: str¶
- overlap: int = 0¶
- patch_size: int = 2048¶
- rasterio_env: dict | None = None¶
- class satorbis_kit.patch_generation.PatchGenerator(config: PatchConfig, backend: Backend | None = None)[source]¶
Bases:
objectMain class for generating patches from GeoTIFF files.
Follows OOP principles: - Encapsulation: All patch generation logic in one class - Single Responsibility: Only responsible for patch generation - Dependency Injection: Accepts Backend for flexibility
- class satorbis_kit.patch_generation.PatchProcessor[source]¶
Bases:
objectUtility class for patch processing operations (SRP).
- class satorbis_kit.patch_generation.PatchWriter(config: PatchConfig)[source]¶
Bases:
objectUtility class for writing patches to disk (SRP).
- satorbis_kit.patch_generation.create_patches(input_tif: str, output_folder: str, patch_size: int = 2048, overlap: int = 0, downsample_factor: float | None = 1.0, rasterio_env: dict | None = None, backend: str = 'dask', scheduler_address: str | None = None, n_workers: int = 4, threads_per_worker: int = 1, processes: bool = True, show_progress: bool = True) int[source]¶
High-level wrapper that manages the backend lifecycle internally.
- Parameters:
input_tif – Path to input GeoTIFF file
output_folder – Path to output folder for patches
patch_size – Size of each patch in pixels
overlap – Overlap between patches in pixels
downsample_factor – Downsampling factor (0-1, 1.0 = no downsampling)
rasterio_env – Rasterio environment settings
backend – Backend name (‘dask’ or ‘sedona’)
scheduler_address – Dask scheduler address (for ‘dask’ backend)
n_workers – Number of workers (for ‘dask’ backend)
threads_per_worker – Threads per worker (for ‘dask’ backend)
processes – Use processes instead of threads (for ‘dask’ backend)
show_progress – Show progress bar
- Returns:
Number of patches created
- satorbis_kit.patch_generation.create_patches_dask(input_tif: str, output_folder: str, patch_size: int = 2048, overlap: int = 0, downsample_factor: float | None = 1.0, show_progress: bool = True, rasterio_env: dict | None = None, backend: Backend | None = None) int[source]¶
Create patches using the specified backend. Returns number of patches written.
- Parameters:
input_tif – Path to input GeoTIFF file
output_folder – Path to output folder for patches
patch_size – Size of each patch in pixels
overlap – Overlap between patches in pixels
downsample_factor – Downsampling factor (0-1, 1.0 = no downsampling)
show_progress – Show progress bar
rasterio_env – Rasterio environment settings
backend – Backend instance (if None, uses Dask directly)
- Returns:
Number of patches created