Yamaguchi 4-Component decomposition (yamaguchi_4c)#
- polsartools.yamaguchi_4c(in_dir, model='', win=1, fmt='tif', cog=False, ovr=[2, 4, 8, 16], comp=False, max_workers=None, block_size=(512, 512), progress_callback=None)[source]
Perform Yamaguchi 4-Component Decomposition for full-pol SAR data.
This function implements the Yamaguchi 4-component decomposition with three different model options: original (Y4O), rotation-corrected (Y4R), and extended volume scattering model (Y4S). The decomposition separates the total power into surface, double-bounce, volume, and helix scattering components.
Examples
>>> # Original Yamaguchi decomposition >>> yamaguchi_4c("/path/to/fullpol_data")
>>> # Rotation-corrected decomposition >>> yamaguchi_4c( ... in_dir="/path/to/fullpol_data", ... model="y4cr", ... win=5, ... fmt="tif", ... cog=True ... )
>>> # Extended volume model decomposition >>> yamaguchi_4c( ... in_dir="/path/to/fullpol_data", ... model="y4cs", ... win=5 ... )
- Parameters:
in_dir (str) – Path to the input folder containing full-pol T3 or C3 matrix files.
model ({'', 'y4cr', 'y4cs'}, default='') – Decomposition model to use: - ‘’: Original Yamaguchi 4-component (Y4O) - ‘y4cr’: Rotation-corrected Yamaguchi (Y4R) - ‘y4cs’: Extended volume scattering model (Y4S)
win (int, default=1) – Size of the spatial averaging window. Larger windows reduce speckle noise but decrease spatial resolution.
fmt ({'tif', 'bin'}, default='tif') – Output file format: - ‘tif’: GeoTIFF format with georeferencing information - ‘bin’: Raw binary format
cog (bool, default=False) – If True, creates Cloud Optimized GeoTIFF (COG) outputs with internal tiling and overviews for efficient web access.
ovr (list[int], default=[2, 4, 8, 16]) – Overview levels for COG creation. Each number represents the decimation factor for that overview level.
comp (bool, default=False) – If True, uses LZW compression for GeoTIFF outputs.
max_workers (int | None, default=None) – Maximum number of parallel processing workers. If None, uses CPU count - 1 workers.
block_size (tuple[int, int], default=(512, 512)) – Size of processing blocks (rows, cols) for parallel computation. Larger blocks use more memory but may be more efficient.
- Returns:
Writes four output files to disk for the selected model: 1. {prefix}_odd: Surface scattering power 2. {prefix}_dbl: Double-bounce scattering power 3. {prefix}_vol: Volume scattering power 4. {prefix}_hlx: Helix scattering power where prefix is ‘Yam4co’, ‘Yam4cr’, or ‘Yam4csr’ based on model choice.
- Return type:
None