skip to main content
research-article

Experience report: visualizing data through functional pipelines

Published:20 September 2008Publication History
Skip Abstract Section

Abstract

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.

Skip Supplemental Material Section

Supplemental Material

Video

References

  1. R. Borgo, D. Duke, M. Wallace, and C. Runciman. Multi-cultural visualization: How functional programming can enrich visualization (and vice versa). In Proc. Vision, Modeling, and Visualization, pages 245--252. IOS Press, 2006.Google ScholarGoogle Scholar
  2. D. Duke, M. Wallace, R. Borgo, and C. Runciman. Fine-grained visualization pipelines and lazy functional languages. Transactions on Visualization and Computer Graphics, 12(5):973--980, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Andrew Gill. Cheap Deforestation for Non-strict Functional Languages. PhD thesis, Glasgow, 1996.Google ScholarGoogle Scholar
  4. R.B. Haber and D. McNabb. Visualization idioms: A conceptual model for scientific visualization systems. In Visualization in Scientific Computing. IEEE Computer Society Press, 1990.Google ScholarGoogle Scholar
  5. C.C. Law, W.J. Schroeder, K.M. Martin, and J. Temkin. A multi-threaded streaming pipeline architecture for large structured data sets. In Proceedings of Visualization '99, pages 225--232. IEEE Computer Society Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. W.E. Lorensen and H.E. Cline. Marching cubes: A high resolution 3D surface construction algorithm. In Proceedings of SIGGRAPH'87, pages 163--169. ACM Press, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Conor McBride. Faking it: Simulating dependent types in Haskell. Journal of Functional Programming, 12(4&5):375--392, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B.H. McCormick, T.A. DeFanti, and M.D. Brown. Visualization in scientific computing. Computer Graphics, 21(6), 1987.Google ScholarGoogle Scholar
  9. P.J. Moran and C. Henze. Large field visualization with demand-driven calculation. In Proceedings of Visualization'99, pages 27--33. IEEE Computer Society Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. W. Schroeder, K. Martin, and B. Lorensen. The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics. Prentice Hall, second edition, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Upson, T. Faulhaber Jr, D. Kamins, D. Laidlaw, D. Schlegel, J. Vroom, and A. van Dam. The application visualization system: A computational environment for scientific visualization. Computer Graphics and Applications, 9(4):30--42, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Experience report: visualizing data through functional pipelines

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 43, Issue 9
        ICFP '08
        September 2008
        399 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/1411203
        Issue’s Table of Contents
        • cover image ACM Conferences
          ICFP '08: Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
          September 2008
          422 pages
          ISBN:9781595939197
          DOI:10.1145/1411204

        Copyright © 2008 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 20 September 2008

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!