ASFHyP3 / hyp3-testing

BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Burst InSAR Golden Tests are Broken #88

Closed AndrewPlayer3 closed 1 month ago

AndrewPlayer3 commented 1 month ago

Jira: https://asfdaac.atlassian.net/browse/TOOL-2961

Note: The above link is accessible only to members of ASF.


Describe the bug Burst InSAR Golden Tests currently fail with the following error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/asplayer/Downloads/hyp3-testing/hyp3_testing/compare.py", line 102, in images_are_within_offset_threshold
    _assert_within_offset_distance(reference=reference, secondary=secondary, pixel_size=pixel_size,
  File "/Users/asplayer/Downloads/hyp3-testing/hyp3_testing/compare.py", line 89, in _assert_within_offset_distance
    result = mgs_obj.calculate(data_main.data, data_deve.data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cv2.error: OpenCV(4.8.1) :-1: error: (-5:Bad argument) in function 'calculate'
> Overload resolution failed:
>  - img1 data type = 14 is not supported
>  - Expected Ptr<cv::UMat> for argument 'img1'

This failure is a result of the introduction of wrapped_phase_rdr.tif images in the products. These images contain complex float32 data, which is not supported by OpenCV. This can be reproduced by manually running compare.images_are_within_offset_threshold on wrapped_phase_rdr.tif images.

Solution Ideally, we split the real and imag components into two seperate real valued arrays and then compare. We could also manually exclude the wrapped_phase_rdr.tif images from comparisons using OpenCV. This could also be fixed by catching the error and passing.

AndrewPlayer3 commented 1 month ago

Fixed in #90