Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ffd8aa7
Add an option in the GCOV workflow to assign values to regions with m…
gshiroma Jun 30, 2025
d20b793
Merge branch 'isce-framework:develop' into gcov_fill_no_data
gshiroma Jul 1, 2025
a68b4d0
Merge branch 'isce-framework:develop' into gcov_fill_no_data
gshiroma Aug 11, 2025
2043827
Merge branch 'isce-framework:develop' into gcov_fill_no_data
gshiroma Aug 10, 2026
d33f91f
Add parameter to the module
gshiroma Aug 12, 2026
8f08f5d
Add parameter to the module
gshiroma Aug 12, 2026
317c12a
Add parameter to the module
gshiroma Aug 12, 2026
e0d5c44
Add parameter to the module
gshiroma Aug 12, 2026
5271c94
Set layover/shadow mask layer fill value to 255.
gshiroma Aug 12, 2026
9acf85f
Merge remote-tracking branch 'refs/remotes/origin/fill_no_data' into …
gshiroma Aug 12, 2026
eb45442
Set layover/shadow mask layer fill value to 255.
gshiroma Aug 12, 2026
06d1c5b
update data type
gshiroma Aug 12, 2026
25d2808
add `radar_grid` parameter to L2 metadata cubes
gshiroma Aug 13, 2026
22c9874
add `radar_grid` parameter to L2 metadata cubes
gshiroma Aug 13, 2026
93c7a1c
add `radar_grid` parameter to L2 metadata cubes
gshiroma Aug 13, 2026
2cc4af2
add `radar_grid` parameter to L2 metadata cubes
gshiroma Aug 13, 2026
e4891c3
add `radar_grid` parameter to L2 metadata cubes
gshiroma Aug 13, 2026
e380388
add `radar_grid` parameter to L2 metadata cubes
gshiroma Aug 13, 2026
8091ba8
add `radar_grid` parameter to L2 metadata cubes
gshiroma Aug 13, 2026
396a448
add `radar_grid` parameter to L2 metadata cubes
gshiroma Aug 13, 2026
f6e6692
add `radar_grid` parameter to L2 metadata cubes
gshiroma Aug 13, 2026
3a2ce6a
Merge branch 'isce-framework:develop' into add_option_to_compute_l2_c…
gshiroma Aug 13, 2026
7001119
revert unnecessary changes
gshiroma Aug 17, 2026
0ddf3fc
Merge remote-tracking branch 'refs/remotes/origin/add_option_to_compu…
gshiroma Aug 17, 2026
a350e17
revert unnecessary changes
gshiroma Aug 17, 2026
9edc33f
Merge branch 'isce-framework:develop' into add_option_to_compute_l2_c…
gshiroma Aug 17, 2026
384d070
Merge branch 'isce-framework:develop' into add_option_to_compute_l2_c…
gshiroma Aug 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 24 additions & 4 deletions cxx/isce3/geogrid/getRadarGrid.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ void getRadarGrid(isce3::core::LookSide lookside,
isce3::io::Raster* ground_track_velocity_raster,
isce3::io::Raster* local_incidence_angle_raster,
isce3::io::Raster* projection_angle_raster,
isce3::io::Raster* simulated_radar_brightness_raster)
isce3::io::Raster* simulated_radar_brightness_raster,
isce3::product::RadarGridParameters* radar_grid)
{

pyre::journal::info_t info("isce.geogrid.getRadarGrid");
Expand Down Expand Up @@ -167,12 +168,18 @@ void getRadarGrid(isce3::core::LookSide lookside,
const isce3::core::Vec3 input_dem =
GetDemCoords(pos_x, pos_y, dem_interp, proj.get());

if (interpolated_dem_raster != nullptr) {
// Populate the DEM raster if the radar grid has not been provided.
// If the radar grid has been provided, first verify whether
// the point is inside the radar grid.
if (interpolated_dem_raster != nullptr && radar_grid == nullptr) {
interpolated_dem_array(i, j) = input_dem[2];
}

// If nothing else to save, skip
if (slant_range_raster == nullptr &&
// Skip if there is nothing else to save.
// For the DEM raster, the only condition that prevents skipping is when
// both `interpolated_dem_raster` and `radar_grid` are provided.
if (!(interpolated_dem_raster != nullptr && radar_grid != nullptr) &&
slant_range_raster == nullptr &&
azimuth_time_raster == nullptr &&
incidence_angle_raster == nullptr &&
los_unit_vector_x_raster == nullptr &&
Expand Down Expand Up @@ -207,6 +214,19 @@ void getRadarGrid(isce3::core::LookSide lookside,
continue;
}

// If the radar grid has been provided, check whether the
// point is inside the radar grid.
if (radar_grid != nullptr) {
// If not inside, continue to the next pixel
if (!radar_grid->contains(azimuth_time, slant_range)) {
continue;
}
// Otherwise, check if DEM raster needs to be populated
if (interpolated_dem_raster != nullptr) {
interpolated_dem_array(i, j) = input_dem[2];
}
}

// save grid Doppler slant-range position
if (slant_range_raster != nullptr) {
slant_range_array(i, j) = slant_range;
Expand Down
4 changes: 3 additions & 1 deletion cxx/isce3/geogrid/getRadarGrid.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ namespace isce3 { namespace geogrid {
* @param[out] projection_angle_raster Projection angle raster
* @param[out] simulated_radar_brightness_raster Simulated radar brightness
* raster
* @param[in] radar_grid Radar grid
*/
void getRadarGrid(
isce3::core::LookSide lookside,
Expand All @@ -74,6 +75,7 @@ void getRadarGrid(
isce3::io::Raster* ground_track_velocity_raster = nullptr,
isce3::io::Raster* local_incidence_angle_raster = nullptr,
isce3::io::Raster* projection_angle_raster = nullptr,
isce3::io::Raster* simulated_radar_brightness_raster = nullptr);
isce3::io::Raster* simulated_radar_brightness_raster = nullptr,
isce3::product::RadarGridParameters* radar_grid = nullptr);

}}
3 changes: 3 additions & 0 deletions python/extensions/pybind_isce3/geogrid/getRadarGrid.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ void addbinding_get_radar_grid(pybind11::module& m)
py::arg("local_incidence_angle_raster") = nullptr,
py::arg("projection_angle_raster") = nullptr,
py::arg("simulated_radar_brightness_raster") = nullptr,
py::arg("radar_grid") = nullptr,
R"(Get radar grid from L2 products

Each output layer is saved onto the first band of its
Expand Down Expand Up @@ -90,6 +91,8 @@ void addbinding_get_radar_grid(pybind11::module& m)
Projection angle raster
simulated_radar_brightness_raster : isce3.io.Raster, optional
Simulated radar brightness raster
radar_grid : isce3.product.RadarGridParameters
Grid of the SAR data in slant-range
)");

}
5 changes: 5 additions & 0 deletions python/packages/nisar/static/geometry_layers.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@


def compute_geometry_layers(
radar_grid: isce3.product.RadarGridParameters,
geo_grid: isce3.product.GeoGridParameters,
dem_raster: Raster,
orbit: isce3.core.Orbit,
Expand All @@ -37,6 +38,9 @@ def compute_geometry_layers(

Parameters
----------
radar_grid : isce3.product.RadarGridParameters
Grid of the SAR data in slant-range, used to ensure that all layers have
the same extents (radar grid).
geo_grid : isce3.product.GeoGridParameters
The geocoded coordinate grid on which to compute each of the output layers.
dem_raster : isce3.io.Raster
Expand Down Expand Up @@ -132,6 +136,7 @@ def make_output_raster(prefix: str) -> Raster:
los_unit_vector_x_raster=los_east,
los_unit_vector_y_raster=los_north,
local_incidence_angle_raster=local_inc_angle,
radar_grid=radar_grid,
)

return reprojected_dem, los_east, los_north, local_inc_angle
1 change: 1 addition & 0 deletions python/packages/nisar/workflows/static.py
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,7 @@ def run_static_layers_workflow(config_file: os.PathLike | str) -> None:
geo2rdr_params = processing_params["geo2rdr"]
with log_elapsed_time(logger.info, "Computing static geometry layers"):
geometry_layers = compute_geometry_layers(
radar_grid=radar_grid,
geo_grid=geo_grid,
dem_raster=dem_raster,
orbit=orbit,
Expand Down
Loading