Photogrammetry tutorial 12: How to preserve strike and dip or cardinal directions in your 3D model

Photogrammetry is a really nice and easy way of surface digitizing specimens in collections, but also useful in the field. Recently, Marie Attard, a colleague working in England, asked me to help with a project that deals with rock surface shapes. I don’t want to say too much, but this I can tell: she wants to capture rock surfaces on cliff on which birds lay eggs. Obviously, in this case, it is not only of interest what the surface shape is, but also what the surfaces tilt is in the field: is it level, or does it tilt toward the cliff edge or toward the cliff wall? And while you can simply use a geological compass to measure this, write the info down and be done with it, wouldn’t it be nice if the same info is also included in your 3D file?

If you follow the tutorials I previously posted here, you’ll be using long scale bars placed around and maybe even on your specimen for scaling. These scale bars will usually rest on the ground or table under your specimen more or less horizontally, but they are not useful for “leveling” your model. Well, they kinda are, and there is a neat trick for how you can make a model come out right-side-up (roughly), but that’s not good enough for the bird nesting site thingy.

So, Marie and I thought about this a bit, and soon came up with an elegant solution, one that actually does a bit more than we aimed for! Here’s how you

Preserve strike and dip of a surface in a Photoscan model

First of all, you best use a special kind of scale bar. It should be L-shaped, and for convenient in-program marker placement in Agisoft Photoscan it should have three of the automatically recognizable markers printed on the ends of the two arms of the L and at their meeting, with the distances between them known exactly. Here’s how they can look (screenshot of print file created by Marie Attard)

Lshaped scale bars

(As you can see, Marie ingeniously also added a label at one edge saying “cliff edge”. In the field, you simply align that side of the scale bar with the cliff edge and already you have preserved the information of the cliff edge’s strike in your model. This means that you can’t preserve the geographic direction using the same scale, though. You then need two scales)

So how do you use such scale bars to preserve strike and dip of a surface? First, you place one scale bar flat on the surface. Then, you put a compass on it, aligned with the edge of the scale bar, and rotate the entire thing until the edge points due North. Now, you level the scale bar. If you use a geological compass, or any other that has a round precision bubble level, you can use that. However, I personally find it easier to use a tool that you can buy cheaply for e.g. caravans: two combined bubble levels.


Putting this on the scale bar you now need to level it by shoving tiny pieces of cardboard or so under it. That can be a bit of a bother, and Marie came up with some ingenious solution: she bought a mini tripod on which she mounts the scale bar. Either way – once the scale bar is level, you start taking your photos of the surface as you normally would. If you wish to preserve some other information, e.g. the cliff edge direction mentioned above, you can use a second scale bar aligned with it.

Then, once you have taken the photos you need for scaling the mode, you remove the scale bars and proceed to take your photos for model creation – otherwise your 3D model will have the scale bars in it.

And all the rest is done in Photoscan!

Align your photos normally, including the scaling images. Remember to make them inactive afterwards, so that they do not contribute to the dense point cloud and thus the 3D model. Now, let Photoscan detect markers, or manually place the markers on the scale bars on your images. Make sure, if you do this manually, to name the in-program markers so that you recognize them properly.

Now, create your scale bars in Photoscan, scale the model – all as you would always do it.

Finally, go the the “markers” section of the reference pane. Here, you will find all your markers, and here you can set world coordinates for them. The marker at the meeting point of the two scale bars that form the L gets the coordinates 0,0,0, the two others get the same plus the respective length of the scale bars added to the X for one and the Y for the other. Click UPDATE and voila, your model is level!

Obviously, you can preserve any direction in the field by placing a scale bar edge along it. It need not be due North, it can also be a cliff edge, or whatever.




About Heinrich Mallison

I'm a dinosaur biomech guy working at the Museum für Naturkunde Berlin.
This entry was posted in Digitizing, How to, photogrammetry. Bookmark the permalink.

3 Responses to Photogrammetry tutorial 12: How to preserve strike and dip or cardinal directions in your 3D model

  1. Matt Thomas says:

    Another ingenious solution – thanks!

    Could you share any tips on the creation of these sorts of rigid accurately-sized scale bars? I think you’ve mentioned using foam board on another post. I’ve looked at CHI’s calibrated scales – nice kit but a lot of money. Once you’ve created your own have you been able to calibrate your scales, beyond simply measuring by eye & ruler?

    • Calibration: I did photogrammetric models of them 😉 But the errors are so small……

      I get mine printed by Flyeralarm on a material that is intended for short-term outdoors boards. Robust, lightweight, can be cut with carpet knives.

      I will offer some (cheaper than CHI) via my website soon.

  2. Pingback: Photogrammetry: index to Heinrich Mallison’s tutorials | Sauropod Vertebra Picture of the Week

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s