Skip to content

vlt.image.spatialPowerSpectralDensityNull

  SPATIALPOWERSPECTRALDENSITYNULL - Generates a null distribution for a 1D power spectrum.

    [SF, POWER_DIST] = vlt.image.spatialPowerSpectralDensityNull(IMAGE, Name, Value, ...)

    Calculates a null distribution for a 1D radially-averaged power spectrum
    by using phase randomization. This method creates surrogate images that have
    the same power spectrum as the original image but with all spatial structure
    destroyed. This function uses the Parallel Computing Toolbox.

    Inputs:
      IMAGE          - A 2D matrix (e.g., an image) of double-precision values.

    Name-Value Pairs:
      'num_shuffles'  - The number of surrogate images to generate for the
                        null distribution. (Default: 1000)
      'meters_per_pixel' - The physical size of each pixel in meters.
                        (Default: 1)
      'mask'          - A logical matrix of the same size as IMAGE. Pixels
                        where the mask is `false` are excluded.
      'window'        - Windowing function to apply. ('hanning' or 'none').
                        (Default: 'hanning')
      'fft_padding_factor' - Factor to increase FFT resolution. (Default: 1)
      'verbose'       - If true, prints progress every 10 simulations.
                        (Default: true)

    Outputs:
      spatialFrequency - A 1D vector of the spatial frequency axis (cycles/meter).
      power_distribution - A [num_freq_bins x num_shuffles] matrix where each
                           column is the 1D power spectrum of a single
                           phase-randomized surrogate image.