-
Notifications
You must be signed in to change notification settings - Fork 168
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
findFeaturesSegment.py Error #5416
Comments
What do you mean you were not able to capture what was going to the screen? The logger should be outputting to stdout, did redirecting output not work? e.g. |
The specific errors in my original post are not captured in the print.prt so I tried using 'tee' This would normally allow for standard output capture to a file while watching the process run in real time, but instead all that was captured in the tee output was "PathRemoved/isis8.1.0-RC2/bin/xml/findFeaturesSegment.xml". Tee normally works for isis applications and I guess it's not working as expected here because this is a python script? I just used your command (which I was not familiar with) and it worked (but nothing went to screen, only file) - thanks. |
Yeah that command won't let you monitor it while it's released, usually I just output to file, background it and run |
Alrighty, looking at it, it seems like it's a simple bug of the app trying to merge non-existing networks after a failure. MinThickness doesn't seem to be a very useful metric? I included it originally as it seemed like a simple way to filter out these issues, but it seems letting findfeatures naturally fail is just as good rather than tuning a parameter. The error from setting minthickness>0 is because of how small the values are. Even in images with good overlaps. Adding some simple error checking seemed to fix it, PR up in a bit. |
Had the opportunity to test the updates and we are very good to go. Awesome work - thanks! |
I just tested findFeaturesSegment.py under isis8.2.0-RC1 and got the following error:
Run on a local VM. |
I tested these updates under a isis8.2.0 (locally on an astrovm) and get the following error (leading path info removed):
I copied the script into my working area and commented out line 389 to get it to run. I get a similar SyntaxError under 8.3.0-RC1. Please let me know if additional information is needed (or if this needs to be a new post). |
@lwellerastro we didn't update that script, the changes haven't gone in yet, are you running the script from the install or running a local copy of it? |
This issue was merged back in April and made it to 8.2.0 - an install that was done locally by IT (not me - I don't ever install versions of isis to work with ), as described above. I saw the update in a recent announcement and thought I would test it. The issue in this post has been addressed (when I copy the script into my directory and comment out the creating the error) except for the new Syntax Error above (something that we encountered a long time ago so I was surprised to see it here in the astrovm version). Not sure else how to make this clearer. I guess I'll make a new post since it's a new error? Version of python if it helps:
|
ISIS version(s) affected: isis8.1.0-RC2
Description
The newly available findFeaturesSegment script errors when working on overlapping images when not all segments overlap, even when new parameters minarea and/or minthickness are set to values greater than 0.
I tested on images noted in here and displayed in the qmos figure.
Initially I ran the test without any new script parameters assuming the script would test for zero overlap while working on segments, but that failed. I'm having a difficult time isolating the most relevant error message(s) because of all the output (and various warnings for deprecated/unsupported things), but I think the problem is mostly near the end of the script when it is trying to merge expected segment networks that don't exist. Here's a snippet with leading path info removed:
I do get some basic findfeatures output despite the above errors and get a segment1.net file (see more below on that).
When I chose values>0 for minarea and minthickness I got somewhat different errors. I thought using minarea and minthickness would help in that the script would completely avoid the segments that had zero overlap and avoiding the expectation, but I don't think it even got that far.
The above is right after overlapstats output. There is no call to findfeatures that I can see.
It seems the new parameters don't work as intended or I don't understand how to use them.
I was not able to capture what was going to screen (using 'tee' and running the command directly in my shell), so I had to copy and paste all of it into a text file. (Although the amount of information going to screen is a lot, not having it is a problem - ideas on how to capture it? Essential for debugging.). It's clear from findfeatures program output (via Defaults/) that there are segments it could not find points for (normal 'no points' output and clean exit), but it did find some points for overlapping segments and that should be valid output for this script.
How to reproduce
See my user work area Isis3Tests/FFSegmentScript/Defaults/ for input images, fromlist and command (run.cmd) along with what went to screen in Stdout.txt.
See Isis3Tests/FFSegmentScript/PolyConstraints/ for similar but with values entered for minarea and minthickness. See Stdout.txt there for that screen grab.
The attached qmos screengrab is under the Defaults/ directory. The purple footprint is the 'match' image and the blue and green footprints are in the fromlist. Segment 1 for all images was the successful chunk and are the darker portions of the footprints and have the resulting segment1.net overlain on top. Segment 2 seems to be the problem, but I can't tell if it's across the board or just for green seg 2 and match seg 2 poly's.
Possible Solution
In the Defaults/ case, I can see the findfeatures call for M156671044LE_ff_1_from_images_segment2.net and that "No control points found!!", so maybe it is just the script having the expectation that there will be success and the output network will be created when that is not always going to be the case. So that might need to be a test if not already one.
But I also see via the findfeatures log (M156671044LE_ff.log) that it is indeed trying to work on segments that do not overlap at all which I think we should completely be avoiding. So if not already testing on valid overlaps via the overlapstats info (don't know what is being passed since it's going to /tmp), then for sure via the minarea/minthickness parameters, but test two shows that has some issues still.
Additional Context
I first tested the updated script on a different 3 image set where all segments overlapped completely and a final network was produced. I then ran a test on a larger set of data (dozens of images) that blew up and the above images came from that larger set (plus these are the same images in the mentioned PR). So currently, the script seems to run in default mode for the most ideal situation but not the more realistic complex situations.
The text was updated successfully, but these errors were encountered: