3d scanners for modeling a water jet for research project?


I probably have the hardest thing on earth to scan/model in 3d and i just cant seem to find a technology that will work!

we are trying to produce a model of a single or multiple jets of water to measure and verify that the jet’s shape is within specifications and has no defects.

Our original hope was to use Blender loaded with python openCV and by using the game engine possibly control the camera positioning system while reading in images, process images and generating a point cloud of the stream.

Currently we use accumulated images when making measurements which does a good job of “averaging” out things like droplets and some streaks, then the stream looks very sold and its easier to see the edges.

The scanner concept we were hoping for is simply a camera mounted to a rotating fixture which takes pictures of the stream every degree for a full 360 degrees (fluorescent dye in water is illuminated by a uv-lamp). the position is known and fed into the algorithm which then attempts to reconstruct the imaged spray in 3d:

I began searching the web to try to find a program or library that would allow me to generate a 3d point when provided a sequence of images (with know positions) taken around an object. But I am not too optimistic and feel most scanners use lasers to measure contours, however with water being transparent the laser doesn’t give a well defied edge…

Also I have tried using openCV’s Stereo Block Matching algorithm with limited success (if any)… Its not exactly what we need as it requires just two images and produces only a depth map.

I have looked into photogrammetry tools like 123d catch and I found it to work just minimally for a similar experiment…

Any ideas or tips about a scanning technology or some algorithm that could possibly do the trick would be very helpful


Why use one rotating camera when you could use a static ring of high speed cameras?

If the droplet dispersal is regular couldn’t you use a strobe to illuminate them, perhaps creating a pseudo static droplet to sample? Sort of like this https://www.youtube.com/watch?v=uENITui5_jU

Thanks for that really interesting video! You got me thinking of ways to sync the cameras with some strobscopes just to see what happens.

Change the liquids opacity via a dye. Use milk maybe? Helps with laser / ir / structured light / photogrammetric scanning.

Thats an interesting idea, change opacity of water the shine focused light on stream and record the shadows. You could have multiple light sources and a wide field of view camera to record them falling across a single frame.

You have to be careful not to introduce something that could change the properties of the jet.

OP if your lighting is set up correctly - you should be able to create enough contrast in the jet and therefore see a defined edge - kinda like this:


Hi 3pointEdit, thanks for your tutorials. You could do it via silhouette as you suggest. I was thinking to use straight lines (from a laser or projector) directly. They would distort on the hopefully opaque surface. Surface structure can then be read from these distortions. The camera is offset to better see them. David laser scanner and 3phase are apps that typically utilise such data. Though if you had multiple cameras you could feed synchronised photos to something like pptgui or openmvg.

That’s true moony, comparissons would have to be made but can’t be with the techniques I suggested, and your solution is interesting also. That said another troubling factor could be the size of the particles if a mist. Good luck resolving those photographically let alone refractive effects.

Another option would be to spray a canvas at various known distances to gauge the jets cross section. Consistancy could be judged by spraying lines and checking for variance in width along them.

What’s the application of the jet OP?

What about doing the opposite, using a point strobe to cast a shadow, then recording the shape of the shadow? If you got a silhouette from each angle, you could get a pretty decent 3d approximation.