PhotoSynth bundle.out export!

February 1st, 2012 by Henri Leave a reply »

I’ve updated my Google Chrome extension to export a valid bundle.out from a PhotoSynth. The bundle.out generated need to be used with HD version of the images (not the thumbnails). Moreover I’ve removed tracks of length 2 from the bundle.out as I guess that PhotoSynth is keeping them only to get a “denser” point cloud (aesthetic purpose only)? One more thing: you can not use the bundle.out file to run a bundle adjustment as the 2d measurements are unknown (I have computed them by projecting the tracks in corresponding cameras).

I’m sure that some of you have an idea of what to do with a bundle.out file from a PhotoSynth ;-) .
BTW, this export wouldn’t have been possible without Peter Sibley help, thanks Peter! He has help me by giving me the missing information needed to do the bundle.out PhotoSynth export.



  1. I installed this, and switched off Flash, but can’t see anything happening. Any hint on how to use this Chrome app? Merci beaucoup~

  2. Henri says:

    @Jimmy: PhotoSynth is using Silverlight, not Flash ;-) You need to go to about:plugins and disable Silverlight and enable my extension at chrome://extensions. My extension only handle synth for now, not panorama.

  3. gEEvEE says:

    Hi Henri, fantastic, have been waiting for this a long time as I consider PhotoSynth still the best SfM solution out there. When you say: “you can not use the bundle.out file to run a bundle adjustment”, do you mean that the generated bundle.out file form PhotoSynth can not replace the one generated by the SFMtoolkit or Bundler toolkit?

  4. Henri says:

    @gEEvEE: you can consider the bundle.out file as a valid SFMToolkit output. But you can not improve it by running more bundle adjustment iterations with SimpleSparseBundleAdjustment (for example).

  5. gEEvEE says:

    Hi Henri,

    thanks. However, when I download the PLY and bundle.out file for a synth of 985 images and 1147 k vertices, the plugin crashes.

  6. Henri says:

    @gEEvEE: I’ve updated my extension to fix some issues. I wasn’t parsing the guid from the URL correctly and in some cases the viewer couldn’t start. I’ve also fixed the bundle.out support: multiple coord systems should be handle correctly now! BTW the new version is the version 0.0.7 ;-)

  7. gEEvEE says:

    Hi Henri,

    Many thanks for your efforts! When I checked, I already had 0.0.7 installed. To be sure I had the latest version, I de-installed and installed again. However, with this large image set of almost 1000 photographs, the plugin keeps on crashing when downloading the ply or freezes for the bundle.out file.

  8. Henri says:

    @gEEvEE: I think that chrome extension are auto-updating (this is why you already have the version 0.07). I’ve managed to fix the crashing issue with multiple coord systems in the 0.0.7 version but the bundle.out wasn’t still valid: it should be OK now in the version 0.0.8. Concerning your trouble with 1000 pictures this is normal: this is too much for your GPU memory (as I’m loading all thumbnails in GPU memory). Can you give me the link of your synth? I’ll see if I can optimize the bundle.out output with large dataset.

  9. gEEvEE says:

    OK Henri,

    now I tried with version 0.08 and still problems. I will send you the Synth address by email. BTW: my GPU is 1,5 GB large and only 500 MB is used when trying to download the ply and 750 MB when trying to download the bundle.out file. Cheers, Geert

  10. Pablo says:

    Hi there. Hey!! woah!! is coming!! sadly I had an error and got stuck… ├▒aaa

    Under W7 64. I donwloaded Chrome and your extensions. Was able to download the .out file and placed in a bundler_output folder under a folder named “test” under C:
    Placed the images under the “test” folder and when runing SFM Toolkit 3 & 2 I get the error:

    RadialUndistor.exe has stopped working


    The PMVS directory and its subfolds is create but I’ve to quit the app.

    Any clues of what might I be doing wrong?.



  11. Henri says:

    @Pablo: I’m sorry: my fixes turns out to be working only on specific type of synth (due to lexicographic order). Now I’ve fixed my c++ implementation (not public) and tested with several synth. I should be updating my extension tomorrow.

  12. Pablo says:

    Hey. Thanks! good to know that you have the issue under control!! cant wait to densify my church scene!! its very promising!! I finally do have an nvidia card!! a 560Ti with 2GB. >>>

  13. Pablo says:

    Amm just a litle detail. What will be the version number of the updated file? just to be aware of the update.

    Forgot to comment that I did run sfm toolkit and replaced the .out file with the photosynth downloaded one and it worked… just wanted to try. It took ages to compute a 8 image PMVS but finally it delivered acceptable stuff without errors. Just let you know.

  14. Henri says:

    @Pablo: I’ve updated the extension -> 0.0.9. I’ve the same output in my c++ implementation and in the JS version of the extension. It should be really working with all kind of synth now! (sorry for the previous released). Can you confirm that the output is ok for you?

  15. Pablo says:

    aaaaa!!! its working!!!! thanks!!! will post results after I get some decent ressults. I can now densify my big scenes!!!
    I was getting quite awesome cmvs dense parts at this moment using visual sfm , from one of my biggest test scenes, the ressults where sick but the matching is not as good as photosynths. The good of visual sfm is that it determines automatically the size of the clusters, something I’ve to manually determina with sfm toolkit. Dont really know if this can affect the performance… wil’ll see. thanks thanks thanks!!!!

  16. pablo says:

    Oh, nonono, mistake. I did the test quickly and I failed. I ran step one instead of 3. Im still getting the same error. My apologize for the erroneous feedback. Whant to test the scene?

  17. Dallas says:

    “@gEEvEE: you can consider the bundle.out file as a valid SFMToolkit output.”

    How is this done exactly? I have tried it but without success. Thank you for sharing your work with all of us.

  18. Pablo says:

    Hi Henri, I’m starting to think that is my OS related issue. As I’m finding myself with the sfmtoolkit hanging just in the moment of writing the .out file, after comparing all the images. With many photosets.. And also found that the downloaded .out file is perfectly working with Agisoft photoscan, all the cameras and the sparse point cloud being imported.

  19. Henri says:

    @Pablo: Great to ear that it’s working for you! I’ve tested the bundle.out export with various synth and I think that the export is working correctly now (in version 0.09)! The only drawback is that your browser may still be hanging while pressing the download button in case of a big synth. One other caveat: you have to keep the lexicographical order of the picture name. You can type the command “dir /on /b *.jpg > list.txt” to produce a “list.txt” file in lexicographical order.

    @Dallas: the bundle.out file is produced in javascript by parsing the binary files hosted on It should be working now. Can you be more explicit about your trouble?

  20. Greg Downing says:

    Henri, this is awesome!

    One think I noticed is that it is reporting a different number of coordinate systems than your photosynth toolkit. The toolkit often reports more coordinate systems in the PhotoSynthDownloader.log file than appear in the chrome plugin.

  21. Henri says:

    Hi Greg! This is normal I’ve just decided to remove coordinate systems with less than 3 pictures in the chrome extension. BTW I’ve implemented a binary ply exporter which is really much faster than the current ascii one: it should be available soon.

  22. Greg Downing says:

    Hi Henri,

    Are there changes to the way focal is being calculated in the new bundle.out? The .mel script I am using to bring the cameras into Maya are coming in w/ the wrong angle of view.

  23. Henri says:

    @Greg: No: if your script handle properly bundle.out files generated by bundler it should work. You just have to be sure to use HD pictures and not thumbs. Indeed the focal are store in pixel in bundle.out and I’ve used the HD pictures to compute the focal length.

  24. Greg Downing says:

    This was indeed the problem, I forgot I was using a python script to check the resolution. Thanks for the help! :)

  25. Marco says:

    I was also hoping to get cameras from the bundle.out file into Maya. I confidently, yet naively, looked into the documentation of the bundle.out contents, and fell into the rabbit hole of quaternians, focal length ratios, and matrices.

    Greg, have you made your .mel script available anywhere, or does anyone else have a good way of getting cameras into Maya?

Leave a Reply