glfs/general/prog/pdl.xml
Manuel Canales Esparcia 7dac9f15b5 Tagged pdl.xml
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@3982 af4574ff-66df-0310-9fd7-8a98e5e911e0
2005-05-05 18:27:43 +00:00

541 lines
20 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY pdl-download-http "http://prdownloads.sourceforge.net/pdl/PDL-&pdl-version;.tar.gz">
<!ENTITY pdl-download-ftp " ">
<!ENTITY pdl-md5sum "edd056a006eae8b46e8ef804b9774a93">
<!ENTITY pdl-size "2.1 MB">
<!ENTITY pdl-buildsize "74 MB">
<!ENTITY pdl-time "2.56 SBU">
]>
<sect1 id="pdl" xreflabel="PDL">
<?dbhtml filename="pdl.html" ?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>PDL-&pdl-version;</title>
<indexterm zone="pdl">
<primary sortas="a-PDL">PDL</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to PDL</title>
<para><application>PDL</application> (Perl Data Language) gives
standard <application>Perl</application> the ability to compactly store
and quickly manipulate the large N-dimensional data arrays common to
scientific computing. <application>PDL</application> turns
<application>Perl</application> into an array-oriented, numerical language
similar to such commerical packages as <application>IDL</application>
and <application>MatLab</application>. One can write simple
<application>Perl</application> expressions to manipulate entire numerical
arrays all at once.</para>
<para><application>PDL</application> provides extensive numerical and
semi-numerical functionality with support for two- and three-dimensional
visualisation as well as a variety of I/O formats. The goal is to allow
<application>PDL</application> to interact with a variety of external numerical
packages, graphics and visualisation systems. Easy interfacing to such systems
is one of the core design features of <application>PDL</application>.</para>
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&pdl-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&pdl-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &pdl-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &pdl-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &pdl-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &pdl-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">PDL Dependencies</bridgehead>
<para><application>PDL</application> is a collection of over 90
<application>Perl</application> modules. Some of these modules require
additional libraries and/or <application>Perl</application> modules for full
functionality. Listed below are the modules which require additional software
or configuration. If you don't need a particular module's functionality, you don't
need to install its dependencies. The dependency tree for each module is listed
downward, meaning you'll need to start at the bottom of a module's tree and work
up. The dependencies are listed in the same order as they are in the
<filename>DEPENDENCIES</filename> file, found in the package source tree.</para>
<bridgehead renderas="sect4">PDL::NiceSlice</bridgehead>
<para>The <application>PDL</application>::NiceSlice module is used to
enhance <application>PDL</application>'s slice syntax. <quote>Slicing</quote>
is a term used in the process of creating a cross-section, or slice, of a
<application>PDL</application> object (piddle).</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/P/PM/PMQS/Filter-&Filter-version;.tar.gz">
Filter-&Filter-version;</ulink></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">Inline::Pdlpp</bridgehead>
<para>The Inline::Pdlpp module allows you to define fast PP
code inline in your scripts.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/I/IN/INGY/Inline-&Inline-version;.tar.gz">
Inline-&Inline-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/D/DC/DCONWAY/Parse-RecDescent-&Parse-RecDescent-version;.tar.gz">
Parse-RecDescent-&Parse-RecDescent-version;</ulink></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">Perldl</bridgehead>
<para><command>perldl</command> is a simple shell (written in
<application>Perl</application>) which allows interactive
use of <application>PDL</application>.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-&Term-ReadLine-Gnu-version;.tar.gz">
Term-ReadLine-Gnu-&Term-ReadLine-Gnu-version;</ulink></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Graphics::TriD</bridgehead>
<para>The <application>PDL</application>::Graphics::TriD module implements
a generic 3D plotting interface for <application>PDL</application>. Points,
lines and surfaces (among other objects) are supported.</para>
<itemizedlist spacing='compact'>
<listitem>
<para>OpenGL (<xref linkend="xfree86"/> or
<xref linkend="xorg"/>)</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Graphics::PGPLOT</bridgehead>
<para>The <application>PDL</application>::Graphics::PGPLOT module is a
convenience interface to the <application>PGPLOT</application> commands,
implemented using the object oriented <application>PGPLOT</application>
plotting package in the <application>PDL</application>::Graphics::PGPLOT::Window
module.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/K/KG/KGB/PGPLOT-&pgperl-version;.tar.gz">
pgperl</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/K/KG/KGB/ExtUtils-F77-&ExtUtils-F77-version;.tar.gz">
ExtUtils-F77-&ExtUtils-F77-version;</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="gcc"/> (Fortran compiler)</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><ulink
url="http://www.astro.caltech.edu/~tjp/pgplot/">PGPLOT</ulink></para>
<itemizedlist>
<listitem>
<para>X (<xref linkend="xfree86"/> or <xref linkend="xorg"/>),
<xref linkend="lesstif"/>,
<xref linkend="tk"/> and
<xref linkend="gcc"/> (Fortran compiler)</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Graphics::PLPLOT</bridgehead>
<para>The <application>PDL</application>::Graphics::PLPLOT module is a
simple interface to the <application>PLplot</application> plotting library.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink url="http://plplot.sourceforge.net/">PLplot</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="pkgconfig"/>,
X (<xref linkend="xfree86"/> or <xref linkend="xorg"/>),
<xref linkend="GTK"/>,
<xref linkend="freetype2"/>,
<ulink url="http://www.boutell.com/gd/">GD</ulink>,
<ulink url="http://www.svgalib.org/">SVGAlib</ulink>,
<xref linkend="gnome-libs"/>,
<xref linkend="jdk"/>,
<xref linkend="tk"/>,
<xref linkend="python"/> (with the
<ulink url="http://www.pfdubois.com/numpy/">Numerical Extension</ulink>),
<xref linkend="gcc"/> (Fortran compiler),
<ulink url="http://www.swig.org/">SWIG</ulink>,
<ulink url="http://sourceforge.net/projects/incrtcl/">iTcl</ulink></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Graphics::IIS</bridgehead>
<para>The <application>PDL</application>::Graphics::IIS
module provides an interface to any image display <quote>device</quote>
which supports the <quote>IIS protocol</quote>.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://tdc-www.harvard.edu/software/saoimage.html">SAOimage</ulink></para>
<itemizedlist>
<listitem>
<para>X (<xref linkend="xfree86"/> or <xref linkend="xorg"/>)</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><ulink
url="http://iraf.noao.edu/iraf/web/projects/x11iraf/x11iraf.html">X11
IRAF</ulink></para>
<itemizedlist>
<listitem>
<para>X (<xref linkend="xfree86"/> or <xref linkend="xorg"/>) and
<xref linkend="tk"/></para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Graphics::Karma</bridgehead>
<para>The <application>PDL</application>::Graphics::Karma
module is an interface to <application>Karma</application> visualisation
applications.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.atnf.csiro.au/computing/software/karma/">Karma</ulink></para>
<itemizedlist>
<listitem>
<para>X (<xref linkend="xfree86"/> or <xref linkend="xorg"/>)</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<para><emphasis>Note:</emphasis> You may need to modify the
<option>WHERE_KARMA =&gt; undef</option> line in the source tree
<filename>perldl.conf</filename> file to point to your installation
of <application>Karma</application></para>
<bridgehead renderas="sect4">PDL::IO::Pic</bridgehead>
<para> The <application>PDL</application>::IO::Pic module implements I/O
for a number of popular image formats by exploiting the
<command>xxxtopnm</command> and <command>pnmtoxxx</command>
converters from the <application>Netpbm</application> package and the
<command>cjpeg</command> and <command>djpeg</command> converters.
It also contains the routine wmpeg to write MPEG movies from piddles
representing image stacks.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink url="http://netpbm.sourceforge.net/">Netpbm</ulink>,
<xref linkend="libjpeg"/> and
<ulink url="ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/encode/">
mpeg_encode</ulink></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::Slatec</bridgehead>
<para> The <application>PDL</application>::Slatec module serves the dual
purpose of providing an interface to parts of the slatec library and showing
how to interface <application>PDL</application> to an external library.
The module provides routines to manipulate matrices, calculate FFTs, fit
data using polynomials, and interpolate/integrate data using piecewise
cubic Hermite interpolation.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/K/KG/KGB/ExtUtils-F77-&ExtUtils-F77-version;.tar.gz">
ExtUtils-F77-&ExtUtils-F77-version;</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="gcc"/> (Fortran compiler)</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::GSL</bridgehead>
<para> The <application>PDL</application>::<application>GSL</application>
module is an interface to the functions provided by the Gnu Scientific Library.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink url="http://www.gnu.org/software/gsl/">GSL</ulink></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::FFTW</bridgehead>
<para> The <application>PDL</application>::<application>FFTW</application>
module is a means to interface <application>PDL</application> with the
<application>FFTW</application> library. It's similar to the standard FFT
routine but it's usually faster and has support for real transforms. It works
well for the types of piddles for which the library was compiled (otherwise it
must do conversions).</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink url="http://www.fftw.org/">FFTW-2.x</ulink></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">PDL::IO::Browser</bridgehead>
<para>The <application>PDL</application>::IO::Browser module
is a 2D cursor terminal data browser for piddles.</para>
<para>There is no additional software required to use the module. However,
the default is to not install the module because some platforms don't provide
a curses compatible library. To enable the module, issue the following
command:</para>
<screen><userinput>sed -i -e "s/WITH_IO_BROWSER =&gt; 0/WITH_IO_BROWSER =&gt; 1/" \
perldl.conf</userinput></screen>
<bridgehead renderas="sect4">PDL::IO::NDF</bridgehead>
<para>The <application>PDL</application>::IO::NDF module adds the ability to
read and write Starlink N-dimensional data files as N-dimensional piddles.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/A/AA/AALLAN/Astro-FITS-Header-&Astro-FITS-Header-version;.tar.gz">
Astro-FITS-Header-&Astro-FITS-Header-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://www.cpan.org/authors/id/P/PR/PRATZLAFF/Astro-FITS-CFITSIO-&Astro-FITS-CFITSIO-version;.tar.gz">
Astro-FITS-CFITSIO-&Astro-FITS-CFITSIO-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://heasarc.gsfc.nasa.gov/docs/software/fitsio/">CFITSIO</ulink></para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><ulink
url="ftp://ftp.starlink.rl.ac.uk/pub/ussc/store/starperl/starperl.tar.Z">
NDFPERL-&NDF-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="ftp://ftp.starlink.rl.ac.uk/pub/ussc/store/starperl/starperl.tar.Z">
Starlink-Config-&Starlink-Config-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink url="http://star-www.rl.ac.uk/">Starlink IMG</ulink></para>
<itemizedlist>
<listitem>
<para><ulink url="http://star-www.rl.ac.uk/">Starlink NDF</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="gcc"/> (Fortran compiler)</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><ulink
url="ftp://ftp.starlink.rl.ac.uk/pub/ussc/store/starperl/starperl.tar.Z">
GSDPERL-&GSD-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="ftp://ftp.starlink.rl.ac.uk/pub/ussc/store/starperl/starperl.tar.Z">
Starlink-Config-&Starlink-Config-version;</ulink></para>
<itemizedlist>
<listitem>
<para><ulink
url="http://star-www.rl.ac.uk/">Starlink GSD</ulink></para>
<itemizedlist>
<listitem>
<para><xref linkend="gcc"/> (Fortran compiler)</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</sect2>
<sect2 role="installation">
<title>Installation of PDL</title>
<para>Install <application>PDL</application> (and all the dependency
<application>Perl</application> modules) by running the following commands:</para>
<screen><userinput>perl Makefile.PL &amp;&amp;
make &amp;&amp;
make test</userinput></screen>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="configuration">
<title>Configuring PDL</title>
<sect3 id="pdl-config">
<title>Config Files</title>
<para><filename>~/.perldlrc</filename> and
<filename>local.perldlrc</filename> in the current directory</para>
<indexterm zone="pdl pdl-config">
<primary sortas="e-AA.perldlrc">~/.perldlrc</primary>
</indexterm>
<indexterm zone="pdl pdl-config">
<primary sortas="e-local.perldlrc">local.perldlrc</primary>
</indexterm>
</sect3>
<sect3>
<title>Configuration Information</title>
<para>See <ulink
url="http://pdl.sourceforge.net/PDLdocs/perldl.html#the startup file ~/.perldlrc"/>
for information about configuring <command>perldl</command> to suit your
needs.</para>
</sect3>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Modules</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>pdl, pdldoc, perldl, and pptemplate</seg>
<seg>90+ individual <application>Perl</application> modules</seg>
<seg>/usr/lib/perl5/site_perl/&LFS-Perl-version;/i686-linux/{,auto/}PDL</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="pdl-prog">
<term><command>pdl</command></term>
<listitem>
<para>is a binary program called from
<application>PDL</application> scripts which is used to
interface <command>perldl</command>.</para>
<indexterm zone="pdl pdl-prog">
<primary sortas="b-pdl">pdl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pdldoc">
<term><command>pdldoc</command></term>
<listitem>
<para>is a shell interface to
<application>PDL</application> documentation.</para>
<indexterm zone="pdl pdldoc">
<primary sortas="b-pdldoc">pdldoc</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="perldl">
<term><command>perldl</command></term>
<listitem>
<para>is a simple shell (written in <application>Perl</application>)
for interactive use of <application>PDL</application>.</para>
<indexterm zone="pdl perldl">
<primary sortas="b-perldl">perldl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pptemplate">
<term><command>pptemplate</command></term>
<listitem>
<para>is a script to generate <filename>Makefile.PL</filename>
and PP file skeletons.</para>
<indexterm zone="pdl pptemplate">
<primary sortas="b-pptemplate">pptemplate</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>