Dual-pol Radar Vegetation Index (dprvi) — PolSARtools 0.9 documentation

Skip to main content
`Ctrl`+`K`

# Dual-pol Radar Vegetation Index (`dprvi`)

polsartools.dprvi(in_dir, win=1, fmt='tif', cog=False, ovr=[2, 4, 8, 16], comp=False, max_workers=None, block_size=(512, 512), progress_callback=None)

  Compute dual-pol Radar Vegetation Index (DpRVI) from C2 matrix data.

  This function processes dual-polarization SAR data to generate the DpRVI, which is useful for vegetation monitoring and biomass estimation. The processing is done in parallel blocks for improved performance.

  Examples

      >>> # Basic usage with default parameters
      >>> dprvi("/path/to/c2_data")

      >>> # Advanced usage with custom parameters
      >>> dprvi(
      ...     in_dir="/path/to/c2_data",
      ...     win=3,
      ...     fmt="tif",
      ...     cog=True,
      ...     block_size=(1024, 1024)
      ... )

  Parameters:

    - in_dir (str) – Path to the input folder containing C2 matrix files.

    - 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 a Cloud Optimized GeoTIFF (COG) 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, applies LZW compression to the output GeoTIFF files.

    - 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:

    Results are written to disk as either ‘dprvi.tif’ or ‘dprvi.bin’ in the input folder.

  Return type:

    None

The formulation of DpRVI is as follows:

\[\text{DpRVI} = 1- \text{DOP}_{dp}\Big(\frac{\lambda_1}{\lambda_1+\lambda_2}\Big)\]

where,

\[\text{DOP}_{dp} = \sqrt{1-\frac{4\times \text{det ([C2])}}{\text{(Trace [C2])}^2}}\]

\(\text{[C2]}\) is co-variance matrix, and \(\lambda_1, \lambda_2\) are the eigen values of \(\langle\mathbf{[C2]}\rangle\) matrix in descending order. Further details on DpRVI can be obtained from [[5]](#5)