Marching cubes: A high resolution 3D surface construction algorithm
SIGGRAPH '87 Proceedings of the 14th annual conference on Computer graphics and interactive techniques
The visualization toolkit (2nd ed.): an object-oriented approach to 3D graphics
The visualization toolkit (2nd ed.): an object-oriented approach to 3D graphics
Large field visualization with demand-driven calculation
VIS '99 Proceedings of the conference on Visualization '99: celebrating ten years
A multi-threaded streaming pipeline architecture for large structured data sets
VIS '99 Proceedings of the conference on Visualization '99: celebrating ten years
The Application Visualization System: A Computational Environment for Scientific Visualization
IEEE Computer Graphics and Applications
Faking it Simulating dependent types in Haskell
Journal of Functional Programming
Fine-grained Visualization Pipelines and Lazy Functional Languages
IEEE Transactions on Visualization and Computer Graphics
Huge Data But Small Programs: Visualization Design via Multiple Embedded DSLs
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
Hi-index | 0.00 |
Scientific visualization is the transformation of data into images. The pipeline model is a widely-used implementation strategy. This term refers not only to linear chains of processing stages, but more generally to demand-driven networks of components. Apparent parallels with functional programming are more than superficial: e.g. some pipelines support streams of data, and a limited form of lazy evaluation. Yet almost all visualization systems are implemented in imperative languages. We challenge this position. Using Haskell, we have reconstructed several fundamental visualization techniques, with encouraging results both in terms of novel insight and performance. In this paper we set the context for our modest rebellion, report some of our results, and reflect on the lessons that we have learned.