Add corrmap operator for windowed correlation maps#1194
Conversation
Add the corrmap() operator, which computes 1D or 2D correlation maps. corrmap produces a per-sample or per-pixel measure of correlation between two signals or images (or, generically, tensors) over a small window local to each output sample. The output is the same size as the input. The 1D and 2D corrmap operators are differentiated by the rank of the window lengths provided to the operator. 2D correlation maps are common in SAR. For that use case, use the MAGNITUDE normalization type and take the abs() of the output to get the real-valued correlation values in the range [0, 1]. See the MatX documentation for full details of the corrmap() operator and normalization modes. Signed-off-by: Thomas Benson <tbenson@nvidia.com>
Greptile SummaryThis PR adds
Confidence Score: 5/5Safe to merge — the operator is purely additive, the math is correct for all three modes and both real/complex types, and the test suite independently validates the implementation. All three normalization modes are mathematically sound. The Welford online algorithm for ZNCC is correctly applied for both real and complex inputs. JIT code generation uses enum-derived format arguments. Alias detection is properly configured. No existing operators or APIs are changed. No files require special attention. Important Files Changed
Reviews (2): Last reviewed commit: "Update JIT generation to pass CorrMapNor..." | Re-trigger Greptile |
Signed-off-by: Thomas Benson <tbenson@nvidia.com>
|
/build |
Add the corrmap() operator, which computes 1D or 2D correlation maps. corrmap produces a per-sample or per-pixel measure of correlation between two signals or images (or, generically, tensors) over a small window local to each output sample. The output is the same size as the input. The 1D and 2D corrmap operators are differentiated by the rank of the window lengths provided to the operator. 2D correlation maps are common in SAR. For that use case, use the MAGNITUDE normalization type and take the abs() of the output to get the real-valued correlation values in the range [0, 1].
See the MatX documentation for full details of the corrmap() operator and normalization modes.