All posts

VisualizationApps

Originally published on macresearch.org, around 2006. Reproduced from the author's archive; some links may no longer resolve.

Tools for 3D Visualization

If your scientific research could benefit from a generic tool for visualizing 3D data there are a few options available to you on Mac OS X.

The first is DataTank, which is a Mac-native application that leverages technologies like Quartz, OpenGL, and QuickTime. DataTank won an Apple Design Award in 2005 for the Best Mac OS X Scientific Computing Solution, so it’s no slouch. At $595, it’s not the cheapest option available, but if you regularly visualzing your data, it is probably worth the price tag.

If you don’t do that much visualiztion, and/or haven’t got much to spend, there are some X-Windows based products that may meet your requirements. OpenDX is an open source project originally developed by IBM. You can download and compile it yourself, or purchase a convenient all-in installer for just $25. One advantage of OpenDX is that it is cross-platform, unlike DataTank, and has a very broad user community. The primary disadvantage is that it is not Mac-native, and runs under X11.

The last option is MayaVi, which is based on the open-source visualization library VTK. MayaVi is completely free, but you pay a cost in user-friendliness. Installation is not trivial, requiring you to first compile and install the VTK libraries. MayaVi is written in Python, and scriptability is definitely a strength.

The three tools above are each powerful generic tools for 3D visualization on the Mac, but there is one more option: develop your own. This may seem ridiculous at first, but may be your best option. If you have some Cocoa programming experience, you can quite easily build visualization applications using the VTK libraries for visualization, and Cocoa for the user interface. If your needs are quite specialized, developing a purpose-built tool may be a sound approach. A competent developer could produce such a tool in a few weeks or months — dependent on functionality — and your research group could recoup this ‘lost’ time many times over in the long term.