Do you have an idea for an awesome feature we should add… or hate the way we’re currently doing something? Share your ideas and suggestions here.
I'd very much like to get some idea, before the long process of uploading, of how it's going to work out. If a preview is too difficult, it would greatly help to identify which pictures will be orphaned, or whether there are several groups rather than just one big one. I could then retake pictures, add more, leave some out, or whatever.
When the synther is making a synth, the first thing it does is convert your JPGs to DZIs (the zoomable image streaming image format that Seadragon uses). As soon as each DZI is converted, it asks the Photosynth website whether it already has that version of the photo or not, and if it hasn't been uploaded before it begins uploading right then - while the synther is still converting the other JPGs to DZIs.
The photos will continue to be uploaded the entire time that the synther is examining the photos for pieces that it believes it can recognize from other angles, matching those pieces to each other, and then trying to solve where the center of those pieces might be in 3D, as well as where the camera positions that took those photos were. This is the most compute-intensive part of the synth and there's no way to tell before the end of the 'Reconstructing Scene' phase which images were able to be positioned together and which weren't.
If you have a relatively fast processor or a rather slow internet connection, then the computer vision part (which my last paragraph roughly described) may complete before the upload does but, in many people's cases, the photos finish uploading before the calculations are complete.
When the calculations finish, they are saved to the relatively very small synth metadata files - the Deep Zoom Collection, collection.dzcz by name, (which you see the benefit of in a synth's 2D View) and the camera position and parameter file wrapped up with the pointcloud data in a file called collection.synth.bin. These will be the very last two files to be uploaded in any synth before the 'Publishing Synth' phase. Again, if all of your photos have not finished uploading by the end of 'Reconstructing Scene' then they will have to finish before these synth positioning files are uploaded, but it is only after the 'Reconstructing Scene' phase that you could possibly have any preview.
I'm fairly certain that after 'Reconstructing Scene', and the short little phase where the two synth files that I just described are constructed, the synther does display how synthy the collection is as well as how many files have been uploaded out of the total number of files.
If you'd like to keep an even closer eye on the progress of your synth or get more detail if 'Reconstructing Scene' has finished, but you're waiting for your upload to finish, you can open the folder that Photosynth stores things in before they are uploaded by opening a 'My Computer', 'Computer', or 'Windows Explorer' window (note that I didn't say Internet Explorer) or a 'Run' command line and type the following line.
When you are there in the Photosynther folder, you'll be able to see the 'images' folder that the DZIs are kept in (all zipped up to .dziz), and outside the images folder in the main Photosynther folder, the log files for past synths as well as the synth that you are currently making. If you are at the end of scene reconstruction, you may also see the deep zoom collection and synth position files sitting there being built. Be sure not to move or delete anything while you're in this folder.
As to getting more information about the synth that is currently uploading, open the log file with the name of your current synth. (It will have the date and time that you started processing a synth on the beginning of the log's filename to keep multiple log files from multiple synths that have the same name from overwriting each other.)
Once you open the log file, scroll down until you see the phrase 'Synth 0'. This will be your biggest point cloud or photo cluster. Smaller point clouds will follow with 'Synth 1', 'Synth 2', etc. until all the photo clusters have been described. Each photo cluster will list the photos that are included in it as well as their address on your hard drive, so if you were making a synth with images from multiple folders, this is a great way to see which ones matched.
After your synth finishes uploading, all the DZIs, the DZC, and the binary file will all be deleted, once they are confirmed to be on the website, leaving only the log.
Nathaneal - Thanks for the detailed explanation, I understand much better what is going on! Next time I run one I'll watch the process happening as you describe. I could be described as having a fast processor and a slow connection (rather primitive ADSL in the countryside). Watching the process, for a 130-picture synth, I'd say it took 6-8 minutes before it showed "xx% synthy" - presumably meaning the last 2 files are completed - and then another 80 minutes before upload was complete. I can see these ratios would be very different in other situations. Is there scope for an option? For those in my position, delay upload until processing is complete, and provide a list of which files are in Synth0, 1, ... Then click to upload, or cancel and start again. For other users, continue as now.
Well, I should make clear that I am only your own fellow user, so while I can do my best to repeat what I have seen Photosynth team members say before, I can't speak to any future options provided by Photosynth except what has been spoken about publicly before.
While delaying upload until you can see what the synth is like sounds good for slower connections or those of us who have internet plans that limit our bandwidth per month, the benefits may not be that clear in the end.
Why do I say this? Well, first off, any photo that gets uploaded to Photosynth by anyone in the world will never be uploaded to Photosynth twice unless it has been edited since the last time that it was uploaded.
What this means is that if I make a first attempt at synthing a particular subject and the first attempt doesn't quite hold together in one piece, when I go and take more photos in between the positions of the photos that didn't hold together the first time and make I my second version of the synth with all the photos that were in the first version as well as the shots from the second take, only the new photos and the synth position files will be uploaded.
When the image uploading begins and the synther asks the Photosynth database whether it already has the photos that you uploaded in the first version of the synth, it will get the response to not bother uploading any of those, unless they've been edited since the last synth they were in.
This essentially means that time spent uploading any image once is not wasted time, even if that image is part of a synth that is less than 100% synthy.
Perhaps I am not really understanding your reasons for wanting to delay uploading until you're certain that the batch of photos are synthy, but I feel like if the uploading is working as hard as it can during the entire synthing process, then that will be a much shorter wait then if it left the uploading until the synth was finished calculating.
You've already said that computing goes fairly quickly for you, so resynthing the entire batch of photos (which is unavoidable) is no real barrier for you and no photo that has ever been uploaded before will spend your time uploading a second time unless you have edited the visual data or metadata (Photographer, Author, Date Taken, tags, etc.), so in the end it seems like the current way of doing things is wasting as little of your time as possible.
Perhaps all of the above is not exactly what you wanted to hear, though.
All I can tell you is the following:
>> You can see how synthy a collection is before the upload completes (after the Reconstruction Scene phase).
- This gives you a chance to cancel the upload and remedy take more photos or take some photos out, etc. The log file will certainly be available after you cancel.
>> After the 'Generating tiles' (or whatever the first phase is called) phase is over, the synther won't have any reason to talk to the Photosynth web service again until it needs to finish the upload.
- This means that after the synther is finished converting the JPGs to DZIs, you can simply disable your internet connection and wait until scene reconstruction is finished to see whether you want to finish the upload.
>> You can use Christoph Hausner's SynthExport ( http://synthexport.codeplex.com ) to preview your synth's pointcloud(s) before the synth's upload finishes (again - after scene reconstruction is complete).
- Studying both this and the synth's log file gives you a very good overview of what is matching well and what isn't.
"...much shorter wait then if it left the uploading..." above should read
"...much shorter wait *than* if it left the uploading..."
I also forgot to give you a link to a free program to view the point cloud in once you've used SynthExport.
Meshlab can be downloaded here: http://meshlab.sourceforge.net/