The help output of solve-field describes --odds-to-solve as "odds ratio at which to consider a field solved (default: 1e9)".My first question is, what does it exactly mean? Which 'odds'? My feeling is the higher the odds, the higher the quality of the solve.
The second question is about the mechanism itself: If I set it to 1e50, it will search until it finds such solution or gives up. Whereas if I leave it at 1e9, it can happen that it finds a 1e10 solution and quits even if it could have also found a 1e60 solution if it spent some more time searching, right?
I also observed that even if I set it to 1e50 and no solve was found, it still writes the wcs file of the best solve it found so far. Is that right as well?
Good questions!The help output of solve-field describes --odds-to-solve as "odds ratio at which to consider a field solved (default: 1e9)".My first question is, what does it exactly mean? Which 'odds'? My feeling is the higher the odds, the higher the quality of the solve.
Yes, exactly, to a point. The code works by finding quadrangles of stars in your image, computing their shapes, and finding matching shapes in the index files. Each of those is a proposed match between your image and a part of the sky. Since there can be false matches (four-star features can look the same within error), it then predicts where *else* it should expect to find stars. The "odds" threshold is how much better than random chance that prediction has to be.
Note that there is no "tweaking" at this point -- the prediction is evaluated entirely based on the four-star match. The default 1e9 threshold is high enough that we basically never accept a false positive (except for cases where the stars in the image aren't randomly distributed in 2D -- eg, when there are sources in a straight line, or things like globular clusters). But it could be that by rotating an initial solution by 0.001 degrees, we get a much better solution, so setting the odds higher doesn't guarantee you get a better final answer.
(there is an "odds-to-tune-up" option, to try to tweak up an ok-but-not-good-enough solution to see if that helps.)
Also, note that if the odds threshold is very high, then the index needs to have a lot of stars in the image to be able to hit the threshold -- the odds increase by a maximum amount per star, so a given odds threshold is also a threshold on the number of stars required, and since the density of stars is related to the size of the features in the index, that means that if you set the odds very high, it will only be able to get solutions from index files with small quads, and these will generally have more relative noise in the solution.
Given all that, I don't know if I would recommend your proposed approach!
The second question is about the mechanism itself: If I set it to 1e50, it will search until it finds such solution or gives up. Whereas if I leave it at 1e9, it can happen that it finds a 1e10 solution and quits even if it could have also found a 1e60 solution if it spent some more time searching, right?
Correct.
I also observed that even if I set it to 1e50 and no solve was found, it still writes the wcs file of the best solve it found so far. Is that right as well?
Hmm, I am surprised at that! Is it possible the wcs file was from a previous run? I would have expected that if it never gets a solution above the threshold, it shouldn't write a wcs file.
Thanks! This helps me a lot in understanding everything.This quadrangle, can I see it in the results somewhere? I am wondering what the triangle in the ..-indx.png file is about.
The attached an.pdf are some slides from my talk about astrometry.net. It doesn't include the "tweak" part, but it's a start.
This quadrangle, can I see it in the results somewhere? I am wondering what the triangle in the ..-indx.png file is about.
Exactly, it's drawn in the indx.png file. (But not on the web version)
One thing I will suggest. At the moment, it "tweaks" using only the stars in the index containing the matching quad. This means that for large quads (large in the image), there are few stars so the tweak might not be very good. However, if you re-run solve-field using the "--verify" option on the wcs file you get, it will then check that WCS file against ALL the index files, and tune up the best one. Doing that can often produce improved results.
> Well, it could make sense I guess, as long as the .solved file isn't written which it is not.The problem is that solve-field just calls the "astrometry-engine" (formerly "backend") program, and when that program completes and there is a *.wcs file, solve-field believes solving completed successfully. It's ugly. If there was an X.wcs file from a previous run, solve-field will probably claim that solving succeeded regardless of what really happened.