Non-negative Eigen Value decomposition (nnedfp)#

polsartools.nnedfp(infolder, window_size=1, outType='tif', cog_flag=False, cog_overviews=[2, 4, 8, 16], write_flag=True, max_workers=None, block_size=(512, 512), progress_callback=None)[source]

Perform Non-Negative Eigenvalue Decomposition (NNED) for full-pol SAR data.

This function implements the Non-Negative Eigenvalue Decomposition for full-polarimetric SAR data, ensuring physically meaningful decomposition results by constraining eigenvalues to be non-negative. The method decomposes the total power into odd-bounce (surface), double-bounce, and volume scattering components.

Examples

>>> # Basic usage with default parameters
>>> nnedfp("/path/to/fullpol_data")
>>> # Advanced usage with custom parameters
>>> nnedfp(
...     infolder="/path/to/fullpol_data",
...     window_size=5,
...     outType="tif",
...     cog_flag=True,
...     block_size=(1024, 1024)
... )
Parameters:
  • infolder (str) – Path to the input folder containing full-pol T3 or C3 matrix files.

  • window_size (int, default=1) – Size of the spatial averaging window. Larger windows reduce speckle noise but decrease spatial resolution.

  • outType ({'tif', 'bin'}, default='tif') – Output file format: - ‘tif’: GeoTIFF format with georeferencing information - ‘bin’: Raw binary format

  • cog_flag (bool, default=False) – If True, creates Cloud Optimized GeoTIFF (COG) outputs with internal tiling and overviews for efficient web access.

  • cog_overviews (list[int], default=[2, 4, 8, 16]) – Overview levels for COG creation. Each number represents the decimation factor for that overview level.

  • write_flag (bool, default=True) – If True, writes results to disk. If False, only processes data in memory.

  • 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 three output files to disk: 1. NNED_odd: Odd-bounce (surface) scattering component 2. NNED_dbl: Double-bounce scattering component 3. NNED_vol: Volume scattering component

Return type:

None

Notes

The NNED method ensures physical realizability by: 1. Maintaining non-negative eigenvalues 2. Preserving total power conservation 3. Ensuring positive semi-definite coherency matrices