Closed jlaura closed 1 year ago
I agree that the inclusion of PROJ has been problematic. Not sure how to move forward, perhaps make PROJ optional? But requiring the proj library (which also needs sqlite and curl) along-side the usgscsm and ale libraries has a large potential to conflict with applications like GXP. GXP has its own version of PROJ already.
I recall that when installing ISIS with conda the proj library gets installed as well, so ISIS depends on it too through some library. So do GDAL and ASP, and each GDAL version is tied to just a range of PROJ versions.
So I agree that if one can avoid using PROJ in usgscsm, that should make things easier for everybody. Or at least it should be quite a recent version so that a recent GDAL can be used with it. I guess one could check what version GXP uses and if it is being kept up-to-date.
Not sure what PROJ is used for. I recall in CSM one normally would just use ECEF rather than any particular projection.
On Mon, Aug 7, 2023 at 8:29 AM Trent Hare @.***> wrote:
I agree that the inclusion of PROJ has been problematic. Not sure how to move forward, perhaps make PROJ optional? But requiring the proj library (which also needs sqlite and curl) along-side the usgscsm and ale libraries has a large potential to conflict with applications like GXP. GXP has its own version of PROJ already.
— Reply to this email directly, view it on GitHub https://github.com/DOI-USGS/usgscsm/issues/444#issuecomment-1668094023, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKDU3G4GBC5TGF4MC2UTEDXUECWPANCNFSM6AAAAAA3G6AMGM . You are receiving this because you are subscribed to this thread.Message ID: @.***>
PROJ was included to allow for "map projected" stereo. This was tested as a "just in case" need for Europa Clipper EIS (imaging pushbroom). Given that Europa Clipper is a fly-by mission, single images will be widely varying in spatial resolution (e.g., Cassini SAR). To collect stereo, the images might need to be map projected on a sphere. For the initial usgscsm test, PROJ was used to support the Oblique Cylindrical projection. The Obl. Cylindrical project "could" be hard-wired I guess. Now, I am a fan of using PROJ for this use case, but perhaps not currently how it is released.
I don't think the impact for a temporary removal of PROJ from usgscsm would be a large impact as EIS is still under development and we are awaiting synthetic data for testing. The mission is going to take a several more years to get there!
@jlaura @thareUSGS @oleg-alexandrov can this be considered finished once that ASP release goes out?
On my side I can confirm that newly-minted usgscsm version 1.7 built with proj 9.1.0 plays nice with ISIS 8.0.0 and ASP, and I tested with linescan, frame, pushframe, and SAR datasets.
I'm not sure the Windows build is getting created. Perhaps that action was never merged with Jay's testing? I can see the last build here: https://github.com/DOI-USGS/usgscsm/actions/runs/5467455000
@acpaquette Yes. I opened this issue specifically for a linux release.
@thareUSGS I will get back onto #442 now to get a windows release rolled. I think that ale
is integrated now, so it should be even easier than before. 🚀
@jlaura ALE isn't integrated yet but I can get that PR rolling and fixed on linux. Is that something we want to see happen?
@acpaquette I don't know that we need to rush it. Right now the windows CI builds ALE and USGSCSM and then uploads them as build artifacts. That should be working for @thareUSGS (can you please confirm?).
Is the plan to get all usgscsm
dependencies in the binary? If so, I think waiting to roll that for all platforms makes sense.
Also - I am going to close because this is done from my perspective. We are tracking the windows build in #441 and the M1/M2 architecture in #443. Please reopen if anyone disagrees!
The USGSCSM needs to be released. There are have been multiple updates to the library that fix issues with the Kaguya sensor model that have not been released. Other libraries link against the CSM (statically and dynamically, I believe) and those libraries do not have access to these fixes.
Additionally, the inclusion of a
proj
dependency breaks usage by these libraries. So, prior to release, theproj
dependency needs to be fixed.This is exceptionally time critical.