Being a computery type of palaeontologist, a lot of what I do requires pretty specialist software, and ideally pretty beefy hardware. Being from Yorkshire, I begrudge paying the exceedingly large amounts of money that a lot of the professional software packages demand. But there are better reasons for my thriftiness – using freely available software where possible means that my skills are transferrable to different workplaces. It means grant money can be spent on hardware and materials, rather than software licenses. And it means that when I train students in the software I use, they can take those skills wherever they go and not have to re-learn a different proprietary package to do something they have already been doing for weeks/months/years.
The big downside to using free software is that usually there is a trade-off between cost and usability – the reason those professional packages cost so much more isn’t necessarily that they do more, but that it’s easier to do it. I think I should emphasise that I use a lot of these programs not because I’m an open-source warrior or anything (far from it!), but purely for the practical reasons above. I don’t, for instance, use open office… because I find MS office is just miles better (luckily most institutions have a site license for office).
So, for the sake of my colleagues that are always looking for that next program that might make their lives a bit easier, I’ll list here the software I use during the course of my work.
A lot of people use Amira/Avizo/Mimics to segment their CT data and build models. These are very expensive packages, and I know that many of my colleagues that have become proficient in one have then moved somewhere that has a license for a different program, and the learning process has had to start again.
I’d love to put Osirix down here because it certainly looks pretty, but sadly I am not a mac user. The 64 bit version costs money anyway (and 64bit is basically a necessity with any decent-sized dataset). CT segmentation is probably the hardest category for me to recommend anything, because I’m still having troubles finding an ideal workflow myself. Of the programs I’ve used (and I’ve tried lots!), I’m settling on one or more of the following:
The most comprehensive of these three free packages, it does everything you could ask it to (mostly) – it’s just not that intuitive.
It’s a fairly clearly designed UI, and intuitive to use, being streamlined enough to not be overwhelming, but having a decent feature set. I’m particularly fond of the otsu thresholding function, which can automatically pull out 1-4 masks based on intensity. In my work, I’ve been able to click a button and get flesh, bones, and markers all segmented out separately. One big downside is that you can’t produced smoothed models and export as obj/stl etc – it’s just VTK and then it’s based on voxels, so models can be massive. Instead, I generally export the masks into Slicer or ImageVis 3D and produce models there.
Came across this the other day, and it’s brilliant for just basic threshold visualization. And you can export that threshold out as various formats. That’s really useful if you’ve made some masks with Seg3D 2 and want to turn them into models.
Not a lot to say here, Inkscape and Gimp are the best free alternatives to Illustrator and Photoshop. I don’t think they really compare, to be honest – I find both GIMP and Inkscape are slower and have less intuitive interfaces than the Adobe products. But then they are free, and the Adobe offers most certainly are not!
For most stuff I can get by with the below. I’m cheating a bit in this list by including autodesk products, which are free to academics but pretty expensive otherwise.
Meshlab is my go-to program for just having a quick look at a model. It’s quick, it has a bunch of nice filters, and deleting parts of meshes/point clouds is a doddle. Recent versions have been improving the layers system, and it’s pretty good now.
The main thing I wish Meshlab could do easily is align to a plane, then colour according to height. It’s something I frequently use, but can’t do in meshlab. That’s where Cloud Compare comes in. I can fit a plane to a whole model or a part, and then colour or contour according to height. It also has some really nice tools for manipulating and, well… comparing… point clouds.
You can get Maya, Max, Autocad and the rest free if you have an academic email address. Maya is integral to the XROMM workflow I’ve been using for the past couple of years, and I’ve really gotten into the rendering and animating side. You can produce some really pretty images of 3D models when you get into the lighting and rendering tricks. For me, it’s also a great way of scaling, moving, and examining 3D data in a virtual environment (I’m really hoping there’ll be a free Oculus plugin at some point).
This is work by my colleagues Steve Gatesy and Rob Kambic, looking at guineafowl locomotion, rendered in Maya:
Paraview is the dog’s danglies for analysing all kinds of complicated data. It can do particles, meshes, tables of data, point clouds, and it can apply all kinds of filters (and is extendable by python). I do feel it lacks a bit in render quality (lighting etc), and it’s a fairly steep learning curve, but you can do most things in Paraview.
One thing that I wish I could find is a free alternative for Geomagic; It costs such an extraordinarily large amount, but I’m yet to find anything else that can clean meshes in as automated a fashion, or that can fit spheres/cylinders to models and parts of models. Suggestions welcome in the comments!
A big part of my work is digitizing real world things (tracks, bones, buildings). Photogrammetry has really taken off over the past few years, and there’s really no excuse for not producing 3D data when it can help (e.g. making a digitype of a new track that remains in the field). As far as I’m concerned, there’s only really one contender for free photogrammetry software:
VisualSFM is GPU accelerated, so it’s quick (at least for the first stage). I put together a guide on how to use it which is available here. Also worth noting is that the developer, Changchang Wu, is really responsive, and active on the google group.
The second part – the dense reconstruction using PMVS and CMVS is slow though. There doesn’t seem to have been any major breakthroughs on the dense reconstruction recently (PMVS and CMVS were integral to the bundler workflow I first published about using in 2012 [paper written in 2010]).
I will concede however, that photoscan does a lovely job (and works on macs without issue) and now only costs about $100. Still, that’s a hundred bucks that could go on something else. And it’s dense reconstruction phase, like with VisualSFM, is also the bottle neck. Excellent meshing capabilities though.
I’m also keeping an eye on OpenMVG, from which I’m seen some amazing results posted on Google+ by Pierre Moulon. However, I’ve only briefly tried compiling it on windows, failed, and then decided that it wasn’t worth my time hunting down dependencies and the like (Which is exactly what I would have done a few years ago, and indeed did to get the bundler workflow going).
That’s all the main programs that spring to mind… I may update this post annually or something as I find new things and/or throw the rattle out of the pram with others.
I agree that the most difficult area to find good open/free software is segmentation- I am currently using Avizo on a trial licence but as a PhD student I wont be able to purchase another copy. I am interested to test out OSIRIX and some of the others you have mentioned.
Have you tried Drishti for visualisation- I think it is one of the best out there.
I’ve not had particularly good experiences with Drishti actually, though it’s a while since I used it. I’ve also had my eyes on OSIRIX for a while, but as I don’t use apple computers, it’s not available to me – now that it’s become the open source Horus (http://www.horosproject.org/), I’m hoping someone might produce a windows version.
For photogrametry I have tested most of the different software. RealityCapture trumped them all though in terms of model detail
I’ve heard good things about RealityCapture. Unfortunately, compared to everything else I use, it has a pretty hefty subscription cost. It’s also definitely not free (at least, with export cababilities) so wouldn’t fall under the remit of this post.
thank you for taking your time and writing this post. it is a very nice compilation of software. I am a physicist and often need 3D vis software to work with synchrotron data and I completely agree that the prices of commercial tools are overwhelming, keeping in mind the cost of experiments, instruments etc etc. The tools you are listing… what can I say, I’m gonna download all that I don’t already have 😀 thanks again!
Awesome info, Peter! Very many thanks!
I just tried ImageVis3D, and like it very much for the ease of use.
However, I have issues exporting meshes: instead of getting a mesh that looks like the volume on the screen, I get parts of this mesh shifted around crazily and the whole thing duplicated etc. Any idea what I may be doing wrong? I can’t find any hints in the handbook.
Not sure – it’s not something I’ve come across.
Hello Dr. Falkingham,
Thank you for all of your suggestions. I agree that research money is too hard to come by to be wasting it on software, if there is an alternative available. I wondered, have you managed to find anything that would work as a replacement for ENVI? This is one I’m hunting for. I heard that there are people trying to develop something.
I’d not heard of ENVI before you mentioned it, so I don’t know of anything that might do what it does. Depending on what you use it for, you might find something like CloudCompare has a suitable plugin, e.g. for feature classification: https://www.cloudcompare.org/doc/wiki/index.php?title=CANUPO_(plugin)
That being said, sometimes the commercial software is expensive for a reason – usually that it’s the only or best tool for the job.
You could use Meshroom as another photogammetry software. It has a very friendly interface and almost all the process is automatic, but it only works on cuda Nvidia GPUs.
I do! https://peterfalkingham.com/2018/08/11/photogrammery-testing-14-alicevision-meshroom/
This is an old post from before Meshroom’s release.
Oh great! Im thinking about using it as my main photogammetry software in a future ichnology project.