Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HRSC support in socetlinescankeywords #5465

Closed
ReddingUSGS opened this issue Apr 17, 2024 · 0 comments · Fixed by #5669
Closed

HRSC support in socetlinescankeywords #5465

ReddingUSGS opened this issue Apr 17, 2024 · 0 comments · Fixed by #5669
Assignees
Labels
bug Something isn't working

Comments

@ReddingUSGS
Copy link

ISIS version(s) affected: x.y.z
All isis versions affected. Would like it working in isisi6.0.0 or newer if that's easier.

Description
HRSC support in socetlinescankeywords​ was never official added. It will not generate the keyword files necessary to import the images into socetset.
How to reproduce
Using the .img images from directory /usgs/shareall/bredding/HRSC/ run /usgs/cdev/contrib/bin/hrsc4socet_2013_11_04.pl
conda activate APPL-Tools
/usgs/cdev/contrib/bin/hrsc4socet_2013_11_04.pl img.lis h4235_0001_nd2.img
For the crop section enter
min lat -5.0
max lat -4.0
min lon 136.5
max lon138.0

Possible Solution
See "Additional context"

Additional context
email from dpmayer
Hi Bonnie,
I took a closer look at trying to run the custom version of socetlinescankeywords​ that's being called by the Perl script and determined that it's not going to work.

The old custom build of ISIS 3.4.5 in Ken E's work directory appears to be missing several libraries that socetlinescankeywords_noExtrapolate​ requires. This isn't as simple as hacking environment variables like $ISISROOT​ or $LD_LIBRARY_PATH​ . The executable is binary-incompatible with any version of ISIS I can find (the oldest I found was ISIS 3.5.0). I actually tried to fake out the application by setting up symbolic links to slightly newer versions of the libraries that the application is looking for, but they're not backwards compatible.

I don't think it's realistic to try and compile ISIS 3.4.5 from source on modern systems. The only thing the Perl script is doing that requires something not available in any of the official releases of ISIS is call that custom version of socetlinescankeywords​ . The good news is that the source code for that custom version appears to be sitting alongside the executable. I've compared the customized source code against the current official version and the differences are pretty modest. The custom version comments out several large blocks and uncomments others, plus adds a few bits of HRSC-specific logic.

Rather than trying to compile ISIS 3.4.5 (which may not even be possible), it might be worth asking someone on the software team for help compiling the custom socetlinescankeywords​ code against ISIS 6.0.0 (or even a newer version if that's easier).

That being said, the fact that HRSC support in socetlinescankeywords​ was never official added, but the current official source code contains lots of comments like "//TO DO: UNCOMMENT THESE LINES ONCE HRSC IS WORKING IN SS" makes me question whether running the custom version was ever a good idea for production work. I'm vaguely aware that part of the need for a custom version for HRSC was due to the fact that HRSC is effectively a variable line rate camera but the default logic in socetlinescankeywords​ assumes the line rate is constant. The custom "*_noExtrapolate" version of the program comments out the portion of the code that performs a linear extrapolation of the ephemeris for 11 lines before and after the image data and instead tries to compute them directly from the SPICE blobs attached to the input images.

If the workaround is known to yield acceptable results for HRSC, why not open an issue and formally add that logic to socetlinescankeywords​? Maybe it's just one of those things that no one got around to implementing so it's sat for >10 years. On the other hand, maybe there are caveats to the workaround that are not documented anywhere but would be reason for us to not use it in production work?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Development

Successfully merging a pull request may close this issue.

3 participants