Direct PDF download link for Mallison and Wings 2014

I keep getting emails requesting a PDF of the paper I wrote with Oliver Wings (link to blog post) on how to do photography for photogrammetry. That’s because the download link on the journal’s web page of the article is so well hidden that most people miss it.

Well, here it is!

Can you find it on the web page? It’s where it says “JPT No12” 😉

Posted in Open Access publishing, photogrammetry | 3 Comments

Photogrammetry tutorial 13: How to handle a project in Reality Capture

Well, this is a long overdue post, and I could have saved myself a lot of emailing if I’d written it earlier. Basically, it is a sibling, even a twin to my tutorial on how to handle a project in Agisoft Metashape. Over the course of the last two years I have been using Metashape less and less, running most projects in Reality Capture. Not because it is “better” in any overall sense – both programs have their strengths and weaknesses, and I am glad to have both available. However, for my typical objects Reality Capture (RC) produces most models much faster and with a more comfortable workflow. If that fails, I typically toss my data into trusty old Metashape, which normally gives me a very good model. In a certain sense, RC is fast but princess-and-the-pea, more prone not to calculate a good alignment, and Metashape is slow but extremely robust and reliable.

One thing that also needs to be mentioned here is that RC has a very annoying bug: it will freeze and crash quite often when coloring a mesh, and sometimes also when calculating or texturing. Sometimes, re-running the project helps. Sometimes, altering the settings helps. Sometimes, removing a photo or two will help. But that means investing the time for running the model again and again and again. Therefore, I often turn to Metashape in these cases, too.

So why use RC at all? As mentioned, it is faster. MUCH FASTER! So much faster that it is worth all the bother. Additionally, it has by now acquired all the little gimmicks I need, such as automated detection of coded targets.

There are several versions of RC; I here assume you use a photogrammetry capable one without Command Line Interface (CLI).

Let me begin with a quick overview of the user interface and how to adapt it to your purposes. If you are already familiar with it, you can jump down to the “Loading images” section.

When you open RC you see something like this:

I’ve marked several things here:

The blue arrow points at the quick access bar that allows altering the layout of the user interface, i.e. the number and placement of screen parts or ‘cells’ as RC calls them,

the red arrow points at the tabbed(!) application ribbon that holds all the text or icon buttons you need to work the program,

and the yellow and green circles shop the name tags of the two cells this layout offers.

 

The left cell says “1Ds” on top (yellow circle). This cell details the structure of your project – currently, all is empty. The green circle shows the name of the other cell: “3D”. Unsurprisingly, this 3D view of your project is also still empty.

During the workflow, it may be necessary to change the “1Ds” cell to previews of the images. You can do this by clicking&holding the name tag and choosing “2Ds”. Also, you will need to change the layout to one with more cells. I usually use the one that has a “1Ds” view on the left and six more cells in two rows on the right. You can switch to it by clicking the appropriate icon in the quick access bar (blue arrow). If you hover the mouse over it, a pop-up will show “1 + 2 + 2 + 2 Layout”.

You will also need to jump between the various tabs of the application ribbon. They are named on top of it: Workflow, Alignment, Reconstruction and Scene. When you click on of the words, the appropriate tab opens up – but NOT necessarily with all the icons and commands you need! What is shown depends on what cell you have active! The active cell has a blue frame around it. Just click a cell to make it active. Also, some commands are there several times, in different tabs….all a bit confusing, initially.

The RC icon at the top left of the screen is, btw, both an access to the main menu for saving and loading projects, and the exit button (if you double click it). Be warned……

 

OK, now you know all you need to know for us to proceed to

Loading Images

You can add images by either dragging&dropping them, or by importing them via the WORKFLOW tab’s “Add imagery” section. Two icons allow either adding files individually (obviously, you can select may in the explorer window) or of an entire folder.

Once images have been loaded, the “1Ds” windows changes:

The number of loaded images is shown, and if you click the small + sign to the left of the word Images you get to see a list.

For each image, there is an icon showing if it is included in texture calculation (the grey square with Tx written on it). Click it to exclude the image. Next to it there is either text says “Exif” if there is sufficient EXIF info with the image, or nothing. And on the right the focal length is given.

You can’t remove images from a project, but you can block them from being used. Simply select them by clicking (CTRL or SHIFT to select several) and press CTRL-R to strike or re-activate them.

Now, it is time to detect markers (assuming you used coded targets) for later scaling the model. You can do without, but there is practically no reason not so use scales with coded targets these days, so I won’t get into that now. If you need scales, buy some from me: Palaeo3D Scale Bars

 

Detecting Coded Targets

Switch to the ALIGNMENT tab. In the ‘Constraints’ section, select “Detect Markers”. This opens a dialogue window at the bottom left, under the “1Ds” cell. You may have to move the boundary between them up by clicking-dragging to see the entire dialogue.

Select the appropriate type and the minimum number of images a target must be found on to be recognized (Required measurements). I’ve always used 3, which sorts out false positives quite well but recognizes targets even if a scale bar is only in a few images.

Click “Detect” and wait a short while. Now, your “1Ds” cell will look like this:

You need to click the small + to the left of “Control points” to see them. For each point, the name and number of images it is on is shown.

OK, on to….

Alignment

As you already are on the ALIGNMENT tab of the ribbon, you can simply click “Align images” in the ‘Registration’ section. Afterwards, you’ll see both a sparse point cloud in the 3D view(s) you have open, and one/a list of component(s) in the “1Ds” cell. Like this:

The upper example shows how RC creates “Components” – sets of images aligned with each other, but not aligned with any of the other images. Below, things worked  well: there is only ONE component.

If your project gets split into several components of significant size, i.e. if you feel the biggest component needs more images to give you a good model, just click “Align images” again. This will lead to fewer (ideally, one) component(s). If not, you can open the Alignment settings (click “Settings” in the ‘Registration’ section of the ALIGNMENT tab of the ribbon) and change “Merge components only” to yes to try a third time.

If all that fails, I usually abandon the project and either try by adding photos in increments or turn to Metashape.

Once you have one component that has enough images aligned, it is time for model construction.

Mesh building

RC does not give you access directly to the point cloud, as Metashape does, but builds a mesh directly.

Before you start RC on building the model, you should adjust the reconstruction box – the volume that the program will work on. In the “3D” cell there should be a white box around the sparse cloud. If there is non, create one by going to the RECONSTRUCTION tab and clicking “Set Reconstruction Region”. Now, click the white outline of the box to make it editable. For easier editing, I always change the view to parallel projection and turn off the grid. You can do both in the SCENE tab, but you MUST activate the “3D” cell first by clicking into it. Otherwise, the commands you need will not be shown because they do not work in other views. Use “Show Grid” to toggle it on and off, and use the pull-down menu in the ‘Display’ section to alter the view as it fits your needs. I’ve circled the tab header and the commands in this screenshot:

Now, after you have clicked the box, it will show colored dots outside it and arrows and curves at the center. You can alter the size by  clicking&dragging the dots, and you can rotate the box by clicking&dragging on the curves. Be careful not to accidentally grab an arrow, as then you will shift the entire box happily around, which is usually unnecessary bother.

Switch back to the RECONSTRUCTION tab of the ribbon now and click “Normal Detail” all the way on the left. (Or click High detail to get a higher detail model). This will take a bit longer, and it requires an NVIDIA GPU.  The result ideally looks something like this:

Uh, well, that’s a lot of stuff all over that I don’t want or need! Notice the small bone shape in the middle, a piece of a rib? That’s what I wanted…. (well, I left the box really big to ensure I got a boatload of stuff to now delete – a smaller box means less junk).

You can see one important advantage of RC here: notice how the bone is free-floating? I can assure you that it didn’t float in space when I photographed it. And that I didn’t go to any extra trouble to make a special support for it that was totally translucent. No, there is ample support material in the images, which is the source for all the junk around the bone in the model – BUT the model itself is free from it! That’s because RC checks if there is “something” between the cameras and the dense part of the sparse cloud, and if there is, it won’t get built! And that makes the next task so ludicrously easy: cutting the model down to the desired object!

Model editing

Stay on the RECONSTRUCTION tab and select “Advanced” in the ‘Selection’ section. This opens a box dialogue in the lower left, where you can click the SELECT button to the right of “Select the largest connected component”.

This is what you get: the largest component is highlighted in orange.

If, as is the case here, the highlighted part is NOT the desired object, click “Filter Selection” in the ‘Tools’ area. Rinse and repeat, until the highlighted bit IS the desired object, click “Invert” in the ‘Selection’ area and THEN “Filter Selection”. Now, all that is left is the object you wanted, and the “1Ds” cell looks something like this:

As you can see, RC doesn’t EDIT a model, but makes a copy and edits that. This way, you can always go back if needs be. However, it also means that the project save gets a lot bigger. Therefore, delete the old models now: if you hover the mouse just to the left of the eye icon, an X icon turns up. Click it to delete! RC will cross out the model, and after a few seconds (time to un-do an erroneous delete) it will be gone.

What are you saying? Your model is connected to some of the junk? Well, you can use the “Lasso” tool from the ‘Tools’ section to select the polygons causing the connection, and “Filter Selection” to remove them. If the resulting hole in your model is tiny, all is well. Otherwise, you can export the model now, retopologize it in some other program, and reimport it.

Next up:

Scaling

I typically use the “1 + 2 + 2 + 2” Layout for this step. Click the + next to “Constraints” in the “1Ds” cell, then click the + next to the last CP in the list.

See the ugly yellow triangle? It means that one or more of the CP placements on (an) image(s) is/are bad. Could be worse than this case: there could be many, and some triangles could be red. I don’t need to tell you tha red means a bigger deviation from the average than yellow.

You can now simply delete the CP assignment from the image marked with the triangle by clicking just to the left of the triangle: an X icon will appear that deletes it. I always start with the image with the highest deviation, and work my way down, as any deletion alters the values for all other images. Once that is done, I drag&drop one image from this CP’s list into one of the “2d” cells. It will show the CP – and usually other CPs as well, which is useful – as a blue dot with its name next to it.

If the image contains a complete scale bar (as the bottom left one in the example above does), the distance can be marked right in this photo. Otherwise, open the next CP and drag a photo into another cell. Continue, until you can see both ends of a scale bar.

Now, go to the ALIGNMENT tab and select “Define distance”. Now click&hold onto the blue CP at one end of the scale bar and drag over to the CP at the other end – within one image or in several doesn’t matter. Once you let go the mouse button, a constraint is created, connecting the two CPs. Go through all the CPs in the list until all desired constraints have been created and all red and yellow triangles are gone.

Above the CPs in the “1Ds” list you can now see the created distances. The “3D” cell also shows them as lines, orange and blue (selected). Select all of the same length by holding down CTRL (CAUTION: when you use SHIFT the program may crash!). At the bottom left you now see a new dialogue window:

DEFINED DISTANCE is the distance YOU define for the constraint. RC automatically sets it at a very tiny value that is not 0, because if you were to update while it is zero, the model would be shot. CALCULATED DISTANCE is what it currently has in the program. Now, simply enter the desired length for Defined distance! This tells RC what length they should be. Now, In the ALIGNMENT TAB, click “Update” in the ‘Registration’ section. This scales the model.

NOW is the time I actually save most of my projects. Only big ones that take long to align get saved earlier, before the mesh is built.

 

Next steps: coloring and/or texturing the mesh, or decimating it…. as you please! DO save before you start, because the coloring and texturing steps are crash-prone!

Color, Texture, Decimate

Color can be found in the RECONSTRUCTION tab; it’s a big icon. Right next to it is texture. Resizing goes via the “Simplify Tool”, to be found in the ‘Tools’ part of the RECONSTRUCTION tab. It opens a dialogue at the bottom left where you set the target triangle number and click OK.

Export

Obviously, you can export a whole lot of stuff, but the key interest is certainly meshes. These can be exported both from the WORKFLOW and the RECONSTRUCTION tabs, using the “Model” command in the respective ‘Export’ sections.

 

And that, generally, is all!

There are many other aspects to working with RC, but I sure try to take my photos in a way that allows me to use this fairly straightforward and hassle-free workflow. You should, too!

 

 

 

Posted in 3D modeling, How to, photogrammetry | Leave a comment

Photogrammetry tutorial 12: my workflow for Agisoft Photoscan as a diagram

The last tutorial on how to handle a project in Agisoft Photoscan Pro describes all the steps I usually do in some detail. Here, I’ll show you a flow diagram, which gives a nice concise overview for those who do not need to read up on all the details or prefer to have an overview at hand in parallel to the long-winded description of all the things you need to click. It also shows which steps of the process you actually need to do yourself, which steps Photoscan does, and which ones you can batch process easily.

Continue reading

Posted in Digitizing, How to, photogrammetry | 2 Comments

Speeding up Photoscan’s dense cloud generation, 2018 version

Previously, if you wished to speed up the dense cloud creation by altering the settings for the number of pairs for the depth filtering, you had to use a rather complicated approach, and it only worked in the Pro version. Details here.

Now, reader Thomas Van Damme made me aware, Photoscan’s new versions allow editing it via the Preferences. Here’s how:

Go to the Tools menu, entry Preferences, select the Advanced tab. At the bottom you can open the Tweaks.

Click the green + sign at the top left to create a new entry, and type in

main/dense_cloud_max_neighbors

Set the value to whatever you wish to use (I use 50, but higher numbers may be a good idea if you have e.g. drone photos to process)

Click OK – and you’re done! 🙂


Posted in Digitizing, How to, photogrammetry | 1 Comment

Speeding up Photoscan’s dense cloud generation

A while ago, Agisoft added GPU support to its wonderful photogrammetry program Photoscan. Calculation speed for the various processes that can make use of it went up a lot. Great!

However, many users complained that generation of the dense clouds suddenly took much longer in the new version. I’ve seen the same thing, and how posted a few images of ridiculously long (and ever increasing) projected calculation times to Facebook. Here’s one:

Given that this was running on my new PC, 14 hours plus was a ridiculous amount of time!

Luckily, Photoscan is getting a new update very soon! Version 1.4.0 is out as a pre-release, and the comments and questions thread on the Agisoft forum site is quite active. People are reporting bugs and asking all kinds of questions – and some of them are not really 1.4.0-specific! And in one comment, the slooo.oo.oooo…….oooowww dense cloud generation popped up, too – and was answered!

http://www.agisoft.com/forum/index.php?topic=7730.msg37170#msg37170

“In the version 1.3.0 the number of pairs for the depth filtering has a strict threshold: 50 pairs, in the later updates the limit has been removed.”

Aaaah!

Well, the user asked the next logical question:

“It’s there a way to adjust the limit on the newer versions?”

and got this answer:

EDIT Nov 5, 2018: new version of Photoscan have made the below fix unnecessary, by adding the option that needs changing to the Preferences! See HERE on how to edit the settings, now also available in Photoscan Standard.

A huge THANK YOU to reader Thomas Van Damme, who pointed this change out in a comment below!

http://www.agisoft.com/forum/index.php?topic=7730.msg37170#msg37170

“You can use the following line input to the Console pane to limit the number of pairs:
   

Code:
PhotoScan.app.settings.setValue('main/depth_filtering_limit', N)

Here instead of N you need to input some integer value, for example, 80. Hopefully, it would reduce the processing time considerably without any visible issues. I do not recommend to go under 50-60 pairs, though.
To return the value to the default (unlimited) value, please use “-1”:

Code: [Select]
    PhotoScan.app.settings.setValue('main/depth_filtering_limit', -1)

So, there you are:

open the console window via the View –> Panes menu, and enter

PhotoScan.app.settings.setValue('main/depth_filtering_limit', N)

Exchange the N for a suitable number and press RETURN – I have been using 80 for N and my dinosaur bones look good!
Unless you make a typo, you’ll simply see an empty line and a new prompt. GO run your dense cloud now 🙂

In my tests, calculation time dropped dramatically, and I saw no ill effects on the dense cloud.
🙂 Are you now happy? I sure am…..

Posted in Digitizing, photogrammetry | 5 Comments

EAVP 2016 at Haarlem’s Teylers Museum (2)

In the first post of this series I gave a short introduction to the town of Haarlem (NL), because although it is not very dinosaurian or otherwise palaeontological, and thus should not get a post of its own, it does play an important role for the experience of visiting Teylers Museum. This post I’ll show you the museum building inside and out, and tell you a bit of its history. In the first post, the museum’s front showed up already, and now let’s start this post with a closer look at it.

Quite a grandiose facade, and (to be perfectly honest) a bit overdone in my opinion. Part of that is the lighting, but even in daytime it looks rather like someone planned the entrance to a huge palace, then had to downsize it to 50% size and cut the wings due to monetary constraints, but kept the design.

To the right of that huge entrance door there is a sign – now outdated – giving the opening hours. The summer hours are nothing spectacular. Off the top of my head (I am an idiot and did not take a picture),  the museum used to be open from 10 a.m. to 6 p.m. or so. Things differed in winter. In October and March it was open 10 to 5, in November and February from 10:30 to 4:30, and in December and January it was open from 11 to 4. For a very simple reason: there was no artificial light in the building! Once it started to get dark outside, the museum interior went dark as well.

Today, things have changed a bit, mostly with the addition of a new wing with modern comforts, but also with the installation of emergency lights in the old rooms, plus a few additional lights. Still, in the late afternoon in winter you do not stand much of a chance of seeing the fossil halls too well.

Which brings us to the most important point, the thing that makes Teylers Museum so special: it hasn’t changed (much) for over 100 years! It is not only a museum of art, palaeontology, scientific instruments and many other things, it is also a museum of museums! In fact, it preserves a state of museum exhibit design from long ago so well that it managed to get audited when the museum foundation applied for World Heritage status. Now, museums are explicitly excluded, they can never be world heritage – and still Teylers Museum almost got in! Not as a museum of art, scientific instruments etc., but as a museum from ca. 1890! Let me show you…..

First, here’s a bit of history about the museum. It was established in 1778. A rich cloth merchant and banker named Pieter Teyler decided that his money should be used to do good after his death. Thus, he bequeathed his fortune to the city for the creation of foundations for the advancement of art, religion and science. Two foundations were established, one theological and one for all the rest, so to speak. Lumping poetry and physics pretty much fits the age, though, when researchers were often gentleman scientists interested in all of nature.

The first directors of the foundation of science decided to do what Pieter Teyler really had not wanted: they established a museum in his name. To be fair, however, it was supposed to be a study center that offered access to collections and library under one roof, while also serving for educational purposes. Pretty close the today’s concept of a research museum in the vein of AHMN and MfN Berlin, I must say.

Initially, the museum consisted of Teyler’s house. A pretty unassuming place, with a regular door with a small flap at eye level. Visitors had to apply for admission, and when thy got to the museum they had to hand their recommendation letters through that flap and then wait…… and wait…… until, if they were lucky, the door would open.

Front door of Teylers Fundatiehuis, Haarlem
The old entrance. Teylers Museum, Haarlem, the Netherlands [CC BY-SA 3.0 nl (http://creativecommons.org/licenses/by-sa/3.0/nl/deed.en)%5D, via Wikimedia Commons

I won’t try to detail the museum’s history here – in fact, a lot of info can be found on its wikipedia page. Suffice to say here that collections sprouted up based on the research interest of the curators – whoever happened to be curator collected what happened to interest him. Thus, the museum ended up with an eclectic collection: fossils, minerals, scientific instruments, models of windmills, coins, paintings, whatnot. And obviously, the museum quickly became too small. A large expansion was constructed, and the architecture is rather impressive (although partly overdone). The entrance rotunda sets the tone, with lots of pillars and columns and marble and statues and reliefs and a gold-painted ceiling – even more opulent than the outside.

entrance rotunda

entrance rotunda

That entrance hall is really an amazing sight! It is not really huge, as you can see in the picture below, which has people for scale. But it is also not cramped with some 10 to 20 people in it (except when they are retirees – 3 of them make every place an obstacle course). It is opulent, a marvelous display of craftsmanship, a masterpiece of light and shadows! And – evidently owed to the constraints imposed by neighboring buildings, but you won’t notice that when inside – it is highly asymmetrical! The main axis takes a quite significant turn inside, but it doesn’t feel that way!

See, the rosetta’s dark grey arrow points at the next hall, Fossil Hall I – but the entrance lines up with the red marble arrow down left! However, unless you stand still and deliberately check angles, you will be distracted by the skylight and the exquisite detail throughout the room. And not just here: Throughout the museum, the decoration detail is amazing! Almost everything is carved out of wood, to the tiniest detail! The design varies, but each and very room is decorated to the fare-thee-well, to the point where you can spend an entire visit ignoring the exhibition and focusing on the rooms alone.

Yes, wood. Not marble. Wood!

OK, back to the tour…… From the entrance rotunda, one can either access the museum shop in a modern extension, or go straight into the first of the two fossil halls. Fossils…… yeah, let’s go there 🙂

 

 

 

 

ah, no, sorry!

Need to point this out again: this is carved wood! WOOD!!!!!!

OK, now for Fossil Hall I, here seen from the “back”, through the door of the hall behind it:

This is the first of two fossil halls, and although it is a small room, what a wonderful hodge-podge of everything one can find in Europe does it contain! Right when you walk in you have to walk around a large plesiosaur mounted as if it was a coffee table – smack in the middle of the room and rather low down. Only a glass cover makes it high enough that most people avoid bumping into it, it seems. If you turn to your left to walk around it, you face this cave bear:

It just sits there, unprotected by any glass or whatever, a reminder of the old times when museum visitors were (at least expected to) behave with respect and decorum. Although…… in Bonn, the Goldfuß Museum has a copy of the old visiting rules on show, and they include such gems as “sabres must be placed in the bin at the entrance” and “unruly behaviour and noise are strictly forbidden.” So much for “decorum”.

A characteristic of Teylers Museum very endearing to me is the lack of artificial light throughout this part of the museum. Used to spotlights picking out the key specimens (or parts) of exhibits and all the rest in the (semi-)dark (with only few, usually historical museum buildings defying this rule), I must say it is refreshing to come into a room where I am not subconsciously told where to look – and where not – by some designer’s concept of illumination! Specimens’ placement is dictated by construction necessities – walls for hanging specimens,  doors for not placing them, windows to give light as well as possible. This makes for a very calm and neutral atmosphere in the rooms.

Combined with the exquisite detail of just about everything in the room (note the metal grates covering the heating pipes in the floor!), the lack of electric lights can really make you feel like a ca. 1890’s visitor!  It has the effect of making all exhibits pieces somewhat equally weighted, a stark contrast to the weighing modern lighting brings to exhibits.
The first fossil hall is followed by – well, duh! – the second fossil hall………

Uh, no – sorry! Need to come back to the entrance rotunda once more, because it is so awesome:

OK, now that I have calmed down, let’s get back on track for the Tweede Fossielenzaal (God, I LOVE Dutch – to me, as a native German, Dutch will always sound and read like some sort of semi-comical baby German [blush] I guess the same is true vice versa!).

a long table with glass cover and cabinets below down the middle, and large glass-and-drawers cabinets set perpendicularly between windows – how much more gentleman-scientist can you get?

and check out the floors, the metal grates covering the space for pipes…… and the decor of the cabinets, the glass dome covers for the mineral specimens……. The first time I came into this room I noticed a sign pointing out an important whale skull specimen Cuvier himself worked on. On that glass table you can see in the last picture. But where – WHERE???? was the specimen?

Oh, there! ON the floor below the table! 🙂 The floor!

The entire place is cramped, cluttered, there is barely any order to the placement of specimens. And there are stories upon stories about the place, the specimens, the researchers…… the most famous of which is certainly (and obviously) the one about John Ostrom and the Archaeopteryx. A story that is wonderfully told here, so I won’t repeat it here. Go read it! It is a much better and more informative read than my ramblings.

After the second fossil hall, there is the hall of scientific instruments. There is way too much to tell about it and its content, so just go and see it all for yourself! There used to be a lot of info on the museum’s webpage, but they have revamped it into one of those annoying tablet-conformal abominations, and I refuse to peruse it. Thus, I can’t tell you if all the detailed info on the various apparatus is still there.

After the instrument hall, you pass a tiny cubicle on the left that has magician’s tools from 200 years ago and the entrance to the numismatic hall, and then you finally get into the inner sanctum: the oval room!

It is a multipurpose room, exhibiting scientific tools and models of windmills and minerals and lots of other things on the ground floor, and housing part of the library and granting access to the rest of it on the mezzanine level (sadly closed to visitors these days). And the room is a sight worth seeing in itself: with its big windows, the slanting floor (it feels a bit like a ship’s cabin), the exquisite woodwork! With all the warm wood and its modest size, it is a cozy room, but at the same time it has a certain air of grandeur. And it has that grand white-and-windows ceiling that makes the ceiling shine like the sun 🙂

and on that high note, I will end this post. There are plenty more rooms, but I actually won’t mention the halls dedicated to art (Dutch masters, mostly), nor the modern annex. The oval hall is the pinnacle of museum architecture from 150 years ago, it is the fitting end to this description of the museum building. Next up will be a rather haphazard overview of some of the exhibits, before (finally) EAVP 2016 is on.

Posted in FUN!!!, historical buildings etc., history of science, Mammalia, non-palaeo, raves, Travels | 3 Comments

Giraffatitan in all its 3D digital glory (was Digitizing entire dinosaurs 2 (digiS 2016))

Quite a while ago I mentioned that for fiscal year 2016 I again received funding from the Berlin digiS program. Whereas 2015 saw Bone Cellar material digitized, the linked post shows one of the the first results of the 2016 effort, which concerned the mounted skeletons in the MfN Berlin. And obviously, the elephant in the room – erhm, the biggest sauropod in the room! – is Giraffatitan!

The aim of the digiS-funded program was to obtain high-resolution 3D models of the mounts’ bones, not just of each bone individually, but also of their spatial relation. Which allows creation of a high-resolution complete model of each mount as it exists in the exhibition, but also allows for correction of the virtual mounts. Real mounts are suboptimal, because they need to contain armatures to hold the bones, and these get in the way of a perfect mount. And they may have errors simply because of human error, or because of deformed fossils, and whatnot.

Initially, as shown for the Kentrosaurus mount in the post linked above, I had planned to create overview models at low resolution, as well as detailed models of individual bones, or small groups of bones. The latter were then to be inserted into the overview models, aligned perfectly, and exported again. Thus, they would be aligned perfectly with each other, but there would be no need to load them all at the same time. That’s an important point, because 3D data gets awefully big awfully quickly, and that means computer crashes. Obviously, one can always downscale data, but with an animal that has some 300 bones and each bone resolved to only ca. 1 mm, that’s still talking gigabytes of data.

In the end, things partly worked this way, and partly worked differently. Here’s how things went down with Giraffatitan!

Yep, that’s the entire sauropod group in ONE model! This is the sparse point cloud, i.e.: the points used to align the images. Each small white point is one camera position. In preview quality there are a few more points, and Giraffatitan looks like this:

Not too shabby, I say!
Now for a high resolution…..

Thank you very much, this will do!
In fact, it does extremely well, as can be seen in a closer view! This model, which as an entirety shows all the sauropod mounts good enough for “overview quality” shows individual bones at a sufficient resolution to serve as a “detail” model! Photogrammetry has come a long way since the day I planned this project 🙂

What you see above is really three integrated data sets, the biggest of which is again a lumping of several sub-sets:

- overview images that show the entire mount
and
- close-up shots of the ribcage, shoulder girdle and hips, 
  which are in fact
     close-up sets of
             - the shoulder girdle
             - the anterior ribs
             - the medial ribs
             - the posterior ribs
             - the ventral sides of the vertebrae
             - the dorsal sides of the vertebrae
             - the hip
             - the tail base
and
- overview images of the entire animal and the neck, shoulder girdle and back taken from a hydraulic lift.

In fact, when we took the photos we sub-divided them even more, although it proved to be difficult to stay consistent when working high up on a ladder in a sauropod ribcage. Especially because the ladder couldn’t be placed on the ground normally, but had to be set on hard foam plates to cushion it, as the special floor cover under the sauropods is easily damaged. So it all felt a bit like a high wire act, surrounded by fragile and irreplaceable fossils *gulp*

inside the ribcage

Here’s a shot of me sticking my camera up Giraffatitan‘s butt [the things we do for science *sigh* – if this was a life animal I might have gotten my face full of dung or egg] that shows the foam pads nicely.

ladder on stupid foam mats

We did two shots the first time around. One during the day, with natural light (you can see the shadows under the feet of the skeleton), during which my partner in crime Matteo Belvedere and I took turns.

Matteo inside the ribcage

Photographing the inside of the rib cage is a special challenge, as it is hard to put the camera on a tripod (which had worked well before for the overview images of Dicraeosaurus– images to come). First of all, you need one hell of a big tripod, then it has to be set on foam mats, too, and the ribs and the lamps in the floor and the feet and the hips… make it hard to put the tripod in all the locations you need it. Also, while a tripod allows long exposures, so that having sufficient light is not an issue, it doesn’t help with getting the recesses, nooks and crannies of the skeleton light properly. And dark recesses lead to holes in photogrammetric models, and that is the last thing we wanted. Thus, as I always do if I can, we used a ring light (a ring flash also does the job), as it gives lens-parallel light. This means that the images have no shadows on them, and that recesses are well lit. Personally, I prefer a LED ring light to a proper flash (but some of my colleagues vehemently argue for a proper flash), because it is not that heavy, and gives out a constant light. This makes it easier to shoot rapidly and without worrying about the exposure, as I can can use the auto-exposure mode of my camera. The drawback is that the amount of light it gives out is fairly low, so that I need to get close to the object I photograph. Which isn’t a problem when I want to create a high-resolution model, as I need to get close anyways to achieve sufficient resolution.

Still, this means hand-holding a hefty DSLR with lens and the ring light at arm’s length for hours at a time, which can be quite exhausting. Doesn’t take the fun out of the project, though.

happy!

Now, it wasn’t me alone doing the shoot, so Matteo and I could spell each other. But that doesn’t mean that one of us could laze around half the time as he pleased. The rather rickety ladder support meant that most of the “off” time was spent like this:

ladder_support
Booooring! You get to spend hours at a time watching your colleague’s butt sway around a dinosaur 😀

The last photo shows the second, night-time data capture session. You can see that even the dinky LED ringlight gives quite a splash of light on the skeleton! This shot was at the height of a summer heat wave in Germany, and despite only wearing shorts and T I was sweating profusely, to the point where holding the camera was a challenge because my hands were so slippery. Also, I had to wipe my brow all the time to keep sweat from trickling down into my eyes. High time the Museum für Naturkunde gets air conditioning – not just for comfort, but to protect the exhibit specimens!

So, did it all work out smoothly? Far from it! This project was a major pain in the rear end, simply because of the complexity of the capture process and the humongous amount of raw data we had to handle. Also, the mounted bones proved a bigger challenge in many respects that I had hoped. For example, many bones reconstructed badly because they are partly hidden from view by other bones. We can see a lot of their surfaces that a photogrammetric model cannot capture too well, because we can peer into deep recesses, but it is difficult or even impossible to get several photos of the surfaces in the recess at not-too-shallow angles. Think, for example, of the acetabulum and the femur head in it. We can easily look into the gap, but despite trying really hard my models would only show about half of the femur head surface in acceptable quality.

Additionally, for really high resolution models it is important to capture the surface at high resolution, which means taking a lot of images with small offsets and angles between camera positions. Now comes another bone, one that articulates with the one I am  digitizing, and hides a big chunk of it – say, worth a 20° angle.  My chance of photos of one part and those on the other on the other side of the obnoxious interfering bone aligning well is not too great. In fact, this turned out to be a major issue! Obviously, I can just digitize the two bones together – but then we are talking project with some 2000 to 3000 images in one model! EEK!!!! Calculation times of several hundreds of hours are a major drain, but if that’s for uncertain gain…….. I tried a different, much faster software, Reality Capture (from which is the Giraffatitan model above), but it has its ow issues. Among them it demands very small angles between images, which makes the issue of one bone hiding part of another even more of a problem.

And as if that wasn’t enough to deal with, the mounted bones all have been treated lavishly with a wide variety of glues and lacquers (remember, most were originally prepared a century ago!), making them quite shiny. Baaaaad for photogrammery! And their upper sides are all rather dusty, which – like shininess – induces a color change depending on te angle you photograph them. UGH!

Thus, a lot of models failed or at least didn’t work as well as I had hoped. With the new, GPU-supporting version of Agisoft Photoscan out now, and the MfN IT wizard having re-shuffled a lot of the CPU and RAM and GPU at his disposal, I will run a bunch of model again and expect to get good results. But…. it’s been a bother.

Anyways, overall this was and (contra planning) still is a fun project, made possible (I should mention again) not by some palaeontology-related grant, or by the MfN’s (already overstretched) budget, but by the state of Berlin funding digitizing initiatives with the explicit aim of making assets accessible. So do expect our scans to go online at some time, hopefully soon!

Posted in 3D modeling, digiS, Digitizing, Dinopics, Dinosaur models, Dinosauria, FUN!!!, Giraffatitan, MfN Berlin, photogrammetry, Sauropoda, Sauropodomorpha, Tendaguru | 5 Comments

EAVP 2016 at Haarlem’s Teylers Museum (1)

After all the recent photogrammetry posts it is high time to get away from “stuff that somehow has to do with dinosaurs a little bit” and finally write again about dinosaurs themselves. Which is why I now will write about something that has nothing much to do with dinosaurs at all: 2016’s EAVP (European Association of Vertebrate Palaeontologists) conference, which took place in the wonderful Teylers Museum in the wonderful town of Haarlem (wikipedia). But fear not – dinosaurs will feature in a post later this week 😉

The trip to EAVP 2016 wasn’t my first visit to Haarlem. I went there a few years ago when I applied for a job at Teylers Museum. A job I didn’t get, in the end. Back then I was quite disappointed, because it would have been a very cool job to do in some regards – you’ll see why, when I get around to describing the museum. On the other hand, it would have meant some pretty radical changes to my family’s plans and a pay cut. In the end, I guess I would have been happy there, but I am also happy where I am now.

When I went to Haarlem the first time, for the job interview, it was February, and grey cold weather. I arrived in the early evening, by train, and walked to my hotel – and already I had fallen in love with the city! It is very much cliché: canals, small brick houses built wall-to-wall, cobblestone roads in the city center. And a windmill! Which I promptly photographed the next morning.

windmill

Here are some more views of the town, both during the day and in the evening. I am posting them here, although they have no relevance whatsoever to dinosaurs or palaeontology, because the town has quite a relevance for the way a visitor will experience Teylers Museum: the museum is special due to its history and the state it is preserved in (intentional choice of words here), and it fits into the town in a way other museum of natural history don’t. So bear with me, get to know Haarlem a bit.

downtown street

Lots of small shops, cafés, and most certainly a huge number of bicycles! Well, it’s Holland, so what should one expect? This road is obviously one of the more picturesque ones, but there are plenty of them in the old downtown of Haarlem. It is an old town, having gained city rights in 1245 A.D., which doesn’t make it very old compared to many other places in Western Europe, but does mean – given the lack of WWII carpet bombing and other devastation – that it has an old, grown city center.

sail

Haarlem is – what a surprise! – full of canals. On the smaller canals – wait one, let’s clear up terminology first: a canal is called a gracht in Dutch if there are roads on both sides and it is in a town, a singel if it is or used to be a moat surrounding a city, even it the city has grown to include it and it now looks like a gracht, a kanaal if it is in the countryside and mostly for drainage, or a vaart if it is in the countryside and mainly a transportation route. This out of the way, let me say that there are a lot of small boats, but also sometimes bigger ones that, for example, which for example may serve as flower shops.

sail night

The big river of Haarlem, the Spaarne, which runs right past hte city center and has quite a lot of ship traffic going on, is virtually indistinguishable from any other gracht but for its width and runs by Teylers Museum, with its quite overboardingly decorated facade.
tug

Here’s a closer view.
tug

But I am getting ahead of myself, as I wanted to show you the town before I show you the museum building, which then is to be followed by the museum’s content. And then soem words on the EAVP meeting. So, here’s another view of that windmill, this time with the sun out:

windmill

Also, some views of the city hall and the Grote Kerk St. Bavo (“Great church”, i.e. cathedral), which both (and a bunch of nice restaurants) are located on Grote Markt (I guess there is no need to translate this name).

town hall

town hall

The Grote Markt is still being used as a market square, Monday and Saturday, and has not only a large number of stalls selling all kinds of things, but also a bunch of theropod ne’er-do-wells hanging around.

town hall

All this sounds quite quaint, and there is much more to like about Haarlem that makes it appear more like a country village than a bustling town. For example, although most roads are narrow and the sidewalks narrow, with little to no room for anything green, there are still a lot of flowers in view as soon as you leave the (indeed bustling) shopping streets of downtown, and walk into the residential areas of the owl town. Aside from balcony flower boxes, quite a lot of houses have Alceas (wikipedia) growing in front, not in flower beds or pots, but simply between the pavement stones.

town hall

Compared to Germany, a lot of Haarlem looks very British to me, considering the bricks, doorframes styles, window styles, door styles and so on, but the huge Alceas combined with the plethora of bikes somehow dispel that notion and make the place distinctly un-British.

Many shops in the city enter are still small and non-chain, and have individual signs hanging out in front.

And, obviously, a lot of grachts mean a lot of bridges. Many of these are drawbridges that will be pulled up for larger ships, and quite many are pedestrian/bike only. Overall, the narrow streets and the no-car bridges make Haarlem a very nice town to walk in.

Now let me close up this post with a few sunny daytime views, both of the Grote Kerk, seen from a nice restaurant we had lunch at during the conference, and of Teylers Museum seen from across the Spaarne river

Enough for today! It is time I introduce you to Teylers Museum and a few bits about its history in the next post.

 

Posted in "fish", Conferences, historical buildings etc., history of science, ichthyosaur, lower vertebrates, Mammal pic, Mammalia, non-palaeo, raves, Reptilia (non-archosaur), Travels | 5 Comments