Skip to content

Spatially-varying anisotropic Gaussian filter based on viewing angle #70

@nikosGeography

Description

@nikosGeography

Hello, I'm working on downscaling VIIRS nighttime lights imagery (VNP46A2) and need to apply an anisotropic Gaussian filter to high-resolution covariates (100m) to model the sensor's transfer function before aggregation to 500m.

VIIRS is a whiskbroom sensor where the viewing angle (VA) affects the PSF geometrically: when the sensor views at an angle off-nadir, the viewing cone projects an elliptical footprint with larger area compared to the circular footprint at nadir. The greater the angle off-nadir, the more pronounced the ellipse and the larger the area. This areal increase can be calculated from geometry as the elongation occurs in the cross-track direction, while the along-track direction remains relatively constant.
I have:

  • High-resolution covariate rasters (100m)
  • A viewing angle raster (500m) that varies across the cross-track direction

Need to apply Gaussian smoothing where σ_x (along-track) is constant but σ_y (cross-track) varies per pixel as a function of viewing angle

I see that raster.gaussian.smooth() applies isotropic Gaussian filtering with a single sigma parameter. Is there a way to have σ_y vary spatially based on an auxiliary raster (viewing angle) within spatialEco?

I haven't attempted an implementation yet as I'm uncertain where to begin with this type of spatially-varying anisotropic filtering (it is really something that hasn't been done before), and I wanted to first check if spatialEco has existing functionality or if you could suggest a direction.

Thank you very much for your time and for developing and maintaining this excellent package. I understand this may be beyond the current scope of spatialEco's functionality. If you feel this question is not appropriate for this forum, please feel free to close it at your discretion. However, if you believe this is worth discussing further or if you have any insights that might guide my approach, I would be grateful for the opportunity to continue this conversation, either here or through direct correspondence at your convenience.

I appreciate any guidance you can provide.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions