Closed rtburns-jpl closed 2 years ago
@leiyangleon is there anything that we need highgui for?
@alex-s-gardner and @rtburns-jpl I suspect it's not needed as its to visualize results in the opencv framework: https://docs.opencv.org/3.4/d7/dfc/group__highgui.html
Likely was used/useful for development, but isn't needed for releases/production.
@rtburns-jpl if you have a dev build with dependencies removed pushed to conda-forge or some channel, I can run it in our pipelines and compare the results.
@jhkennedy conda doesn't break up the opencv into separate packages, but Ubuntu does. I noticed this while working on https://github.com/isce-framework/isce2/pull/442, but that only tests the isce2 module part of autoRIFT.
@rtburns-jpl ah yeah, everything we do is based on the conda-forge package. I suspect you'd be fine removing it.
@rtburns-jpl @jhkennedy @alex-s-gardner Although I am not 100% sure where it got used, if you google "opencv2 highgui.hpp matchTemplate", you would find many examples of including it for opencv2's matchTemplate function, which is used for autoRIFT's core NCC component. I would keep it if not causing conflicts with other dependencies. Also, before removing it, it would be good to verify the netcdf output(s) on a pixel-by-pixel basis to make sure we don't deteriorate the accuracy.
Quick question, is the opencv highgui module not actually needed?
I was able to remove this include and still build isce2's autoRIFT module without any errors:
https://github.com/nasa-jpl/autoRIFT/blob/611ff6921c9d989d6b14c52927c9afd44caabe37/geo_autoRIFT/autoRIFT/bindings/autoriftcoremodule.cpp#L45
Removing this would slim down the dependencies a bit, as we'd then only need the core and imgproc modules.