-
Notifications
You must be signed in to change notification settings - Fork 171
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
Fail to jisgaw Io Images (Galileo/Voyage mission) #5564
Comments
Please provide your command line for jigsaw (what are you solving for?). Also, what do you think about the quality of the control network you have created? It doesn't take much for jigsaw to catastrophically fail on fly-by data, particularly if there are points along or even off image limbs, and/or poorly registered points. I have successfully bundled (via jigsaw) Galileo and Voyager data for Europa, but it was not a a simple, straightforward experience. In Astrogeology cartographers have also bundled and updated images of Io from the Galileo mission in the past (not sure about Voyager, but possible) and there are updated camera kernels available for some images. You can see if your images pick up the updated spice by running then check the on-screen results and/or the image label for |
After basic processing, I followed like this: footprintinit -batchlist=tr.lis from=$1 maxemission=85 maxincidence=85 Anyway, kind thanks for your reply. |
Thanks for the details @zhouxuanxiao. By default you are solving camera angles and twist which is fine for framing camera images. The most likely scenario is there are poorly registered measures in your network (very common). In order to identify these, you should try running jigsaw setting maximum iterations to something much smaller than the default 50, maybe just 2 or 3 to start. Since you said it ran to 50 iterations without convergence, you are effectively forcing it to give you some sort of output by making it stop sooner. I do not recommend setting update=yes until you have a clean network and jigsaw reports sigma0 < 1.0 during it's final iteration. Once it seems the network is clean and jigsaw is producing stable results, then you can update your images. Until then, run with update=No. You might wait to turn on errorpropagation until you have better results as well. I would also solve for radius (radius=true) to help with solution. Since you are likely to have to run jigsaw multiple times you might explicitly name the output network and file_prefix to keep track of things like my example below.
Be sure to look at the output file jig1_residuals.csv to identify measures with poor residuals to either remove or fix manually. You could/should also look at the output network in qnet where you can sort or high residuals and visually identify problems to fix manually there. If you have a very high sigma0 (>>1) and many measures that have very high residual (>>4-5) and with very visible mis-registrations, then you should really go back pointreg and improve the deffile settings. In fact, it looks like you just used the system default which is not likely to work on these data. See pattern matching suggestions in this document. The process of creating a good network can be quite complicated and the default settings in the software rarely work for the outer planets. They tend to be based on high resolution mapping data that are already fairly well registered. See the Control Networks section here for additional information, though much of this is generic. There is a lot of trial and error with control networks. |
Kind thanks for your careful help, I will try first to improve my pointreg and jigsaw results. Same as what you mentioned, there is a high sigma0 and I am trying to use Io global DEM as a shape model in spiceinit to improve camera pointing. Anyway, I will follow your nice advice. Best Regards! |
Hi fxf1=iodem.cub equation=f1+1821500 to=iodem radius.cubmap2map from=iodem radius.cub map=iodem,map matchmap=true to=iodem map.cubdemprep from=jodem map.cub to=iodem demprep.cub gllssi2isis -batchlist=root lis from=$1.lbl to=$1 t8.cubspiceinit -batchlist=t8.lis from=$1.cub shape=user model=iodem demprep.cubcamstats -batchlist=t8.lis from=$1.cub attach=truegllssical -batchlist=t8.lis from=$1.cub to=$1 cal.cubnoisefilter -batchlist=t8.lis from=$1 cal.cub to=$1_nfil.cub toldef-stddey tolmin-3tolmax=2.2 samples=5 lines=5trim -katchlist=t8.lis from=$1 nfil.cub to=$1 tr.cub top=2 bottom=2 left=2 right=2Is* trcub>trlis |
Hi @zhouxuanxiao, after talking with a colleague yesterday we'd like to learn more about the DEM you used via spiceinit and see your bundleout results. What's the DEM source and did you verify that the radius values make sense (it's better I ask and not make assumptions). I'm also wondering if you are removing any of the high residual measures between runs of jigsaw. If not, you are essentially bundling the same network repeatedly and not actually making progress (jigsaw will calculate the apriori lat/lon/radius for FREE points (using the average of the measures) every run and not use the adjusted values from a previous run at all). Using the onet from jigsaw as the cnet in the next run is not uncommon and I do it all of the time, but only after I have cleaned out the high residual measures either manually or via cnedit (using a deffile to identify and remove measure with residual greater than some value). Just want to check if there were undocumented steps between jigsaw runs in you method above. Before we ask for your data (and only if it's a very small dataset), would you mind uploading the files bundleout.txt and residuals.csv so we can see some results? Since bundleout.txt can be somewhat large, please use "Attach files" instead of copying and pasting everything in a reply. If that doesn't work I will give you my email address so you can send it that way. FYI - since you didn't specify anything for the jigsaw parameter FILE_PREFIX, the bundle out report files are being written over with every successive run of jigsaw. In the future, I recommend you use the FILE_PREFIX to uniquely name your output. For instance in your first run, setting file_prefix=jig1 would generate the files jig1_bundleout.txt, jig1_residuals.csv, jig1_bundleout_points.csv and so on. Edit: Any chance the DEM you used was downloaded from the supporting information for this paper by White et al., 2014? |
Many thanks for your kind reply and follow up. I did use the DEM from the paper you mentioned in your edit, while the radius value was obtained from https://nssdc.gsfc.nasa.gov/planetary/factsheet/joviansatfact.html. For the jigsaw runs, from the residuals.csv file, it seems to me that all points have a very high residual, so I am not sure what to do with it. Attached are the bundleout.txt and residuals.csv files from my first jigsaw run. By the way, actually I did specify the file prefix during my jigsaw runs, but thank you for your reminder once again. |
Hi @zhouxuanxiao, I processed the 3 images recorded in your bundleout.txt file (sorry I missed the fact that you did create unique output via file_prefix) in a similar manner as you did (minus using the DEM in spiceinit) and created a small network of 6 points that I manually selected and registered via qnet. (I spent a few minutes trying autoseed/pointreg and moved on because the spice is so poor between at least two of the images (offsets of hundreds of samples and lines) that it was going to take a bit more time finding the pointreg deffile that would get good registration. I knew I could pick a few points between the overlaps quicker and more accurately.) When I ran jigsaw the same way you did I got very similar results - sigma0=1405597 in 10 iterations (maxits I used) and my maximum residual was 1894688.66438425. There are some key parameters that need to be set to get this bundle under control that I noticed when I looked at your bundleout.txt report. This is how I recommend running jigsaw for these images (assuming the measures on the points are well registered (features match)):
This converged in 4 iterations ending up with a sigma0=0.333 and maximum residual of 0.47. Note that I am solving for radius(I recommend this), camera angles and twist and placed constraints on the radius and camera angles via the parameters point_radius_sigma and camera_angles_sigma. The above sigma settings were ones I used for creating a global control network of Europa using SSI data so I thought it would work here as well. You don't have to solve for radius, but you should expect your sigma0 and residuals to go up some. I always solve for radius in my networks because it seems to help reduce the overall error. After looking at the bundleout.txt output for these 3 images, you could make the camera angle sigmas smaller (maybe 0.5 decimal degrees) because all of the corrections were <0.3, but 1.0 is fine and might be best if/when you work with more images. The radius corrections on my points were < 500 meters. Give the new settings a try and let us know how it goes. I've uploaded my bundleout.txt and residuals.csv for reference |
Thank you very much for your suggestions and time to help. I followed your procedures and jigsaw successfully ran (at least for these 3 images). |
Hi Guys,
I am trying to mosaic some Io images, but it fails to jigsaw these images, here is the report:
USER ERROR Unable to bundle adjust network [xxxxx .net]
ERROR Bundle did not converge within MAXITS [50] iterations [xxxxx. net]
when I process the Io images, I follow this: gllssi2isis, spiceinit, gllssical, noisefilte, trim, footprintinit , findimageoverlaps, autoseed, pointreg, jigsaw, cam2map and automos.
But the test 3 or 4 images do not seem to mosaic together and I find that it fails when doing jigsaw (haven't good control networks to improve camera pointing), so does anyone have some solutions?
Kind thanks.
The text was updated successfully, but these errors were encountered: