Add SAR backprojection example using real data#1158
Conversation
Signed-off-by: Thomas Benson <tbenson@nvidia.com>
Signed-off-by: Thomas Benson <tbenson@nvidia.com>
Signed-off-by: Thomas Benson <tbenson@nvidia.com>
Signed-off-by: Thomas Benson <tbenson@nvidia.com>
Greptile SummaryThis PR adds a complete end-to-end SAR backprojection example using real spaceborne CPHD data: a Python preprocessing script ( Confidence Score: 5/5Safe to merge; all prior P0/P1 concerns are resolved and only minor P2 observations remain. Every critical issue raised in previous review rounds (stack overflow, bad fallback size, byteswap correctness, TOA intersection, vel_enu post-trim mismatch) has been addressed. The two remaining comments are P2 quality-of-life items (silent write-error and an unvectorised Python loop) that do not affect correctness or security. No files require special attention; sarbp.cu output-write error handling is a minor hardening opportunity. Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant Python as cphd_to_sarbp_input.py
participant CPHD as CPHD File (sarpy)
participant SARBP as .sarbp File
participant CUDA as sarbp.cu (GPU)
participant RAW as .raw Output
User->>Python: run with .cphd path
Python->>CPHD: open_phase_history() + read_pvp_array()
CPHD-->>Python: metadata, PVP, signal data
Python->>Python: aperture trim, ENU conversion, resolution auto-sizing
Python->>SARBP: write header + per-pulse records (int16 or complex64)
User->>CUDA: run sarbp executable
CUDA->>SARBP: read 256-byte file header
CUDA->>SARBP: stream per-pulse headers + samples
CUDA->>CUDA: ifft-shift + zero-pad + IFFT/FFT (range compression)
CUDA->>CUDA: sar_bp accumulate blocks → image tensor
CUDA->>RAW: write complex float image
User->>Python: view_sarbp_image.py output.raw
Reviews (6): Last reviewed commit: "Fix viewer orientation; update example S..." | Re-trigger Greptile |
Signed-off-by: Thomas Benson <tbenson@nvidia.com>
|
/build |
Signed-off-by: Thomas Benson <tbenson@nvidia.com>
|
/build |
Signed-off-by: Thomas Benson <tbenson@nvidia.com>
Signed-off-by: Thomas Benson <tbenson@nvidia.com>
|
Want your agent to iterate on Greptile's feedback? Try greploops. |
|
/build |
Signed-off-by: Thomas Benson <tbenson@nvidia.com>
|
/build |
Add an example using the sar_bp and other MatX operators to reconstruct a real data set. Several commercial spaceborne SAR companies provide data sets with permissive licensing. This example includes supporting scripts and code to read and process one such data set. See the example README.md file for detailed instructions.
This example will download and install additional third-party open-source software projects and data sets. Review the license terms of these open-source projects and data sets before use.