Topic: Synth print

Report Abuse Report Abuse
Print (Over 1 year ago)
Does anybody knwo how to convert a synth into a 3D file so I can 3D print the file?

I want to make a 3D scale model of a dog.
Nathanael (Over 1 year ago)
A: How are you going to get a dog to sit still long enough to make a clean point cloud?
B: I can point you in the right direction.

A:1) You need to obtain the point cloud for your synth. 
-- You can make a copy of the "collection.synth.bin" file from the "photosynther" folder on your hard drive while your synth is finishing uploading images. Type "%temp%\photosynther" (without quotes) into the address bar of "My Computer" to find the "photosynther" folder. 
-- Rename collection.synth.bin so that it ends in .zip instead of .bin. Open the zip. You want all of the files that start with 'points' and end in '.bin'. Example: points_0_0.bin
-- Copy these binary files out of the zip into a normal folder somewhere on your hard drive.

-- If your synth has already been uploaded the files will have already have been automatically deleted from the photosynther folder. Either resynth the dog or use this:
Nathanael (Over 1 year ago)
A:2) You need to find something to translate these pointcloud files into something usable. Either use binarymillenium's python script to convert the BIN files to a CSV or use: to convert to the PLY format.

This is about as far as I've gotten. I'm nosing around for programs to open the PLY or CSV files but I can see that others have gotten it to work.

Another example of the results besides the YouTube video above is tbenedict's screenshots on flickr:

Tom, any advice for us here?
Print (Over 1 year ago)
Thanks Nathanael !

This will provide a nice challenge :-)
madeeds (Over 1 year ago)
tbenedict (Over 1 year ago)
I don't have much to add, unfortunately.

The software I was using to model the point cloud as a mesh surface, Rhino3D, doesn't import color information with a CSV point cloud.  Which is a shame, really, considering the color information is stored in the Photosynth point files.

Rhino3D really isn't the best tool for translating the point cloud to a mesh, though.  I get the feeling it's expecting point clouds from a 3D surface scanner like a Faro arm, or from a digitizing contact probe.  (Read that as: "It's expecting errors in the 0.0005" range.")

But there are tools out there that have filters for cleaning up the point clouds.  I don't have any of them, though, so I can't really say anything about that.

I like the idea of making a solid model out of a synth, though.  The motor driver electronics on my CNC mill are dead at the moment, but as soon as I get them fixed, that would be a seriously neat project!

Good luck with your dog.

stevek (Over 1 year ago)
hi guys, I don't get a file in that directory during upload, is there a better or more recent way to ge this point cloud yet?
Nathanael (Over 1 year ago)
Steve, the synth files (collection.dzc and collection.synth.bin) will only show in that folder *after* the 'Reconstructing Scene' phase is complete and *before* the images and these last two files finish uploading.

This timeframe can be very short if your synth is small or your connection is blazing fast. If you have so many images in a synth that the upload for them takes longer than the scene reconstruction takes to complete then you will have time to nab these synth position files, but if not, you'll want to temporarily disconnect your internet when the synther reaches the 'Reconstructing Scene' phase, until it finishes. When it does, make a copy of the files mentioned above in another folder, then reconnect your internet connection and let the synther upload the position data for the photos.
drh681 (Over 1 year ago)
interesting Idea...

at the risk of mentioning "not invented here" what about some way to move such an object into Photoshop CS4 extended?

I haven't really worked with that part of CS4 too much; but Photosynth has Ideas banging around in my usually empty noggin!
Nathanael (Over 1 year ago)
Drh681, please share with us here if you come up with anything!

BinaryMillenium's conversion to CSB or the BINtoPLY projects PLY output might help you understand the format more, although BinaryMillenium definitely confesses to discarding some of the synth data, which may very well include camera positions. If you get the native synth metadata file format figured out, you could easily cross-reference it with the .log file also generated in the Photosynther folder to load the original images into the pointcloud (this is assuming we're talking about your own synths from your photos on the same machine or network as Photoshop).

Tangentially it would be very interesting to have Photoshop be able to open DZI formatted images directly and render them as smoothly as Seadragon does it (either editing the highest resolution and having edits automatically propagate throughout the rest of the image pyramid or alternately performing different edits on different tile levels).
Nathanael (Over 1 year ago)
*CSV*, not CSB
drh681 (Over 1 year ago)
For some reason I'm flashing back to laser pantographs.

about 15 years ago one of my uncles experimented with one to generate mold cores for lost wax castings.

That was the early days of fast prototyping. computers can do more now.

What do I know? I'm a photographer not a programmer. :)
Nathanael (Over 1 year ago)
I just bumped into this discussion tonight while looking for something else and should point anyone who is interested in exporting Photosynth point clouds to the following tools: 

Christoph Hausner's SynthExport (which provides both point cloud and camera parameters)  

Kean Walmsley's BrowsePhotosynth (a plugin for importing point clouds to AutoCAD 2011) 

Henri Astre's PhotoSynthToolkit (collects a synth's point clouds, camera parameters, and thumbnail versions of the photos in order to use them with Yasutaka Furukawa's PMVS2) 

Henri Astre's PhotoSynthTileDownloader (saves the full resolution version of all photos in a particular synth for use with PMVS2) 
*Note: You will need a 64bit OS and many gigabytes of RAM in order to use any appreciable number of high resolution photos with PMVS2.