Code Monkey home page Code Monkey logo

pdl-graphics-prima's Introduction

PDL::Graphics::Prima

A PDL graphing library using the Prima toolkit.

This collection of modules provides a PDL-centric 2D graphing library that is fast, intelligent, multi-platform and highly interactive. Fast because it's built on the PDL::Drawing::Prima bindings, which make use of the PDL threading engine to quickly execute large sets of drawing operations. Intelligent because I have put a lot of thought into important behavior like autoscaling and smart tick marking and they Do The Right Thing almost every time, without the need for manual manipulation. Multi-platform and highly interactive because it is built upon Prima, the Perl-centric multi-platform set of drawing functions and GUI toolkit, and because interactive behavior like panning and zooming are built right into the widget.

For more information, see the documentation for PDL::Graphics::Prima. If you're new, you should check out the documentation for PDL::Graphics::Prima::Simple. I have also posted a YouTube video demonstrating a number of cool features of the library at http://youtu.be/WILd2XTz3F4.

INSTALLATION

There are a number of ways to install this module. The simplest is to install it using CPAN:

cpan PDL::Graphics::Prima

or using cpanm:

cpanm PDL::Graphics::Prima

If you have your hands on the actual source code (from the git repository listed below, or by looking at this module from the CPAN shell), you would do the following:

perl Makefile.PL
make
make test
make install

Windows users will need to use nmake or dmake instead of make, depending on which compiler you are using.

Note that there are almost no tests for this distribution at the moment. Frankly, I'm not sure exactly how to go about testing this sort of distribution. One thought of mine is to write an interactive series of tests that asks the user to verify that the generated plots "look right," but I have not yet implemented any such tests. Patches welcome! However, there are a number of examples (and as such, test scripts) in the examples directory in the source distribution if you want to take the library for a spin.

DEPENDENCIES

This module depends on PDL::Drawing::Prima, which has an important and nontrivial list of dependencies. However, if you have that module installed, this module should work.

PDL::Graphics::Prima requires Perl 5.10, although it will soon be relaxed to Perl 5.8. If you don't have that version of Perl, I recommend installing Strawberry Perl if you're on Windows, or using perlbrew if you're on Linux or Mac.

DEVELOPMENT STATUS AND REPOSITORY

This project is being actively developed at Github. Find the latest at https://github.com/run4flat/PDL-Graphics-Prima.

This project is currently in alpha. I say this not because the software is unstable to execute but because the API is likely to undergo some substantial revisions under this name. The interface will have settled when the distribution hits v 1.00, at which point any API changes will coincide with an increment in the major version number.

In other words, please play around with this library and use it if you like. However, if you use it in production code, be sure to pay close attention to the PDL mailing list for updates regarding incompatible changes to the library. If you find yourself using the library quite a bit, you should follow it on Github and contribute your thoughts as it progresses.

COPYRIGHT AND LICENCE

Portions of this module's code are copyright (c) 2011 The Board of Trustees at the University of Illinois.

Portions of this module's code are copyright (c) 2011-2012 Northwestern University.

This module's documentation are copyright (c) 2011-2012 David Mertens.

All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Author: David Mertens <[email protected]>

Note that my email is intentionally obfuscated. Knowing that I am a Perl programmer, you can probably remove the part that does not belong.

pdl-graphics-prima's People

Contributors

run4flat avatar dk avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.