PDL::IO::Misc 2.4.3
Sponsored Links
PDL::IO::Misc 2.4.3 Ranking & Summary
File size:
2.1 MB
Platform:
Any Platform
License:
Perl Artistic License
Price:
Downloads:
841
Date added:
2007-07-09
Publisher:
Craig DeForest
PDL::IO::Misc 2.4.3 description
PDL::IO::Misc is a Perl module with misc IO routines for PDL.
rcols()
Read ASCII whitespaced cols from a file into piddles and perl arrays (also see "rgrep()").
There are two calling conventions - the old version, where a pattern can be specified after the filename/handle, and the new version where options are given as as hash reference. This reference can be given as either the second or last argument.
The default behaviour is to ignore lines beginning with a # character and lines that only consist of whitespace. Options exist to only read from lines that match, or do not match, supplied patterns, and to set the types of the created piddles.
Can take file name or *HANDLE, and if no columns are specified, all are assumed. For the allowed types, see "Datatype_conversions" in PDL::Core.
Options:
EXCLUDE or IGNORE - ignore lines matching this pattern (default /^#/).
INCLUDE or KEEP - only use lines which match this pattern (default ).
LINES - which line numbers to use. Line numbers start at 0 and the syntax is a:b:c to use every cth matching line between a and b (default ).
DEFTYPE - default data type for stored data (if not specified, use the type stored in $PDL::IO::Misc::deftype, which starts off as double).
TYPES - reference to an array of data types, one element for each column to be read in. Any missing columns use the DEFTYPE value (default []).
PERLCOLS - an array of column numbers which are to be read into perl arrays rather than piddles. References to these arrays are returned after the requested piddles (default undef).
Usage:
($x,$y,...) = rcols( *HANDLE|"filename", { EXCLUDE => /^!/ },
$col1, $col2, ... )
($x,$y,...) = rcols( *HANDLE|"filename", $col1, $col2, ...,
{ EXCLUDE => /^!/ } )
($x,$y,...) = rcols( *HANDLE|"filename", "/foo/", $col1, $col2, ... )
e.g.,
$x = PDL->rcols file1;
($x,$y) = rcols *STDOUT;
# read in lines containing the string foo, where the first
# example also ignores lines that with a # character.
($x,$y,$z) = rcols file2, 0,4,5, { INCLUDE => /foo/ };
($x,$y,$z) = rcols file2, 0,4,5,
{ INCLUDE => /foo/, EXCLUDE => };
# ignore the first 27 lines of the file, reading in as ushorts
($x,$y) = rcols file3, { LINES => 27:-1, DEFTYPE => ushort };
($x,$y) = rcols file3,
{ LINES => 27:, TYPES => [ ushort, ushort ] };
# read in the first column as a perl array and the next two as piddles
($x,$y,$name) = rcols file4, 1, 2, { PERLCOLS => [ 0 ] };
printf "Number of names read in = %dn", 1 + $#$name;
Notes:
1. Quotes are required on patterns.
2. Columns are separated by whitespace by default, use $PDL::IO::Misc::colsep to specify an alternate separator.
3. For PDL-2.003, the meaning of the c value in the LINES option has changed: it now only counts matching lines rather than all lines as in previous versions of PDL.
4. LINES => -1:0:3 may not work as you expect, since lines are skipped when read in, then the whole array reversed.
wcols()
Write ASCII whitespaced cols into file from piddles efficiently.
If no columns are specified all are assumed. Will optionally only process lines matching a pattern. Can take file name or *HANDLE, and if no file/filehandle is given defaults to STDOUT.
Options:
HEADER - prints this string before the data. If the string is not terminated by a newline, one is added (default ).
Usage: wcols $piddle1, $piddle2,..., *HANDLE|"outfile", [%options];
e.g.,
wcols $x, $y+2, foo.dat;
wcols $x, $y+2, *STDERR;
wcols $x, $y+2, |wc;
wcols $a,$b,$c; # Orthogonal version of print $a,$b,$c :-)
wcols "%10.3f", $a,$b; # Formatted
wcols "%10.3f %10.5g", $a,$b; # Individual column formatting
wcols $a,$b, { HEADER => "# a b" };
Note: columns are separated by whitespace by default, use $PDL::IO::Misc::colsep to specify an alternate separator.
swcols()
generate string list from sprintf format specifier and a list of piddles
swcols takes an (optional) format specifier of the printf sort and a list of 1d piddles as input. It returns a perl array (or array reference if called in scalar context) where each element of the array is the string generated by printing the corresponding element of the piddle(s) using the format specified. If no format is specified it uses the default print format.
Usage: @str = swcols format, pdl1,pdl2,pdl3,...;
or
$str = swcols format, pdl1,pdl2,pdl3,...;
rgrep()
Read columns into piddles using full regexp pattern matching.
Options:
UNDEFINED: This option determines what will be done for undefined values. For instance when reading a comma-separated file of the type 1,2,,4 where the ,, indicates a missing value.
The default value is to assign $PDL::undefval to undefined values, but if UNDEFINED is set this is used instead. This would normally be set to a number, but if it is set to Bad and PDL is compiled with Badvalue support (see "" in PDL::Bad) then undefined values are set to the appropriate badvalue and the column is marked as bad.
DEFTYPE: Sets the default type of the columns - see the documentation for "rcols()"
TYPES: A reference to a Perl array with types for each column - see the documentation for "rcols()"
BUFFERSIZE: The number of lines to extend the piddle by. It might speed up the reading a little bit by setting this to the number of lines in the file, but in general "rasc()" is a better choice
Usage
($x,$y,...) = rgrep(sub, *HANDLE|"filename")
e.g.
($a,$b) = rgrep {/Foo (.*) Bar (.*) Mumble/} $file;
i.e. the vectors $a and $b get the progressive values of $1, $2 etc.
rdsa()
Read a FIGARO/NDF format file.
Requires non-PDL DSA module. Contact Frossie (frossie@jach.hawaii.edu) Usage:
([$xaxis],$data) = rdsa($file)
$a = rdsa file.sdf
Not yet tested with PDL-1.9X versions
isbigendian()
Determine endianness of machine - returns 0 or 1 accordingly
rasc()
Simple function to slurp in ASCII numbers quite quickly, although error handling is marginal (to nonexistent).
$pdl->rasc("filename"|FILEHANDLE [,$noElements]);
Where:
filename is the name of the ASCII file to read or
open file handle
$noElements is the optional number of elements in the file to read.
(If not present, all of the file will be read to fill up $pdl).
$pdl can be of type float or double for more precision.
# (test.num is an ascii file with 20 numbers. One number per line.)
$in = PDL->null;
$num = 20;
$in->rasc(test.num,20);
$imm = zeroes(float,20,2);
$imm->rasc(test.num);
rcube
Read list of files directly into a large data cube (for efficiency)
$cube = rcube &reader_function, @files;
$cube = rcube &rfits, glob("*.fits");
This IO function allows direct reading of files into a large data cube, Obviously one could use cat() but this is more memory efficient.
The reading function (e.g. rfits, readfraw) (passed as a reference) and files are the arguments.
The cube is created as the same X,Y dims and datatype as the first image specified. The Z dim is simply the number of images.
rcols()
Read ASCII whitespaced cols from a file into piddles and perl arrays (also see "rgrep()").
There are two calling conventions - the old version, where a pattern can be specified after the filename/handle, and the new version where options are given as as hash reference. This reference can be given as either the second or last argument.
The default behaviour is to ignore lines beginning with a # character and lines that only consist of whitespace. Options exist to only read from lines that match, or do not match, supplied patterns, and to set the types of the created piddles.
Can take file name or *HANDLE, and if no columns are specified, all are assumed. For the allowed types, see "Datatype_conversions" in PDL::Core.
Options:
EXCLUDE or IGNORE - ignore lines matching this pattern (default /^#/).
INCLUDE or KEEP - only use lines which match this pattern (default ).
LINES - which line numbers to use. Line numbers start at 0 and the syntax is a:b:c to use every cth matching line between a and b (default ).
DEFTYPE - default data type for stored data (if not specified, use the type stored in $PDL::IO::Misc::deftype, which starts off as double).
TYPES - reference to an array of data types, one element for each column to be read in. Any missing columns use the DEFTYPE value (default []).
PERLCOLS - an array of column numbers which are to be read into perl arrays rather than piddles. References to these arrays are returned after the requested piddles (default undef).
Usage:
($x,$y,...) = rcols( *HANDLE|"filename", { EXCLUDE => /^!/ },
$col1, $col2, ... )
($x,$y,...) = rcols( *HANDLE|"filename", $col1, $col2, ...,
{ EXCLUDE => /^!/ } )
($x,$y,...) = rcols( *HANDLE|"filename", "/foo/", $col1, $col2, ... )
e.g.,
$x = PDL->rcols file1;
($x,$y) = rcols *STDOUT;
# read in lines containing the string foo, where the first
# example also ignores lines that with a # character.
($x,$y,$z) = rcols file2, 0,4,5, { INCLUDE => /foo/ };
($x,$y,$z) = rcols file2, 0,4,5,
{ INCLUDE => /foo/, EXCLUDE => };
# ignore the first 27 lines of the file, reading in as ushorts
($x,$y) = rcols file3, { LINES => 27:-1, DEFTYPE => ushort };
($x,$y) = rcols file3,
{ LINES => 27:, TYPES => [ ushort, ushort ] };
# read in the first column as a perl array and the next two as piddles
($x,$y,$name) = rcols file4, 1, 2, { PERLCOLS => [ 0 ] };
printf "Number of names read in = %dn", 1 + $#$name;
Notes:
1. Quotes are required on patterns.
2. Columns are separated by whitespace by default, use $PDL::IO::Misc::colsep to specify an alternate separator.
3. For PDL-2.003, the meaning of the c value in the LINES option has changed: it now only counts matching lines rather than all lines as in previous versions of PDL.
4. LINES => -1:0:3 may not work as you expect, since lines are skipped when read in, then the whole array reversed.
wcols()
Write ASCII whitespaced cols into file from piddles efficiently.
If no columns are specified all are assumed. Will optionally only process lines matching a pattern. Can take file name or *HANDLE, and if no file/filehandle is given defaults to STDOUT.
Options:
HEADER - prints this string before the data. If the string is not terminated by a newline, one is added (default ).
Usage: wcols $piddle1, $piddle2,..., *HANDLE|"outfile", [%options];
e.g.,
wcols $x, $y+2, foo.dat;
wcols $x, $y+2, *STDERR;
wcols $x, $y+2, |wc;
wcols $a,$b,$c; # Orthogonal version of print $a,$b,$c :-)
wcols "%10.3f", $a,$b; # Formatted
wcols "%10.3f %10.5g", $a,$b; # Individual column formatting
wcols $a,$b, { HEADER => "# a b" };
Note: columns are separated by whitespace by default, use $PDL::IO::Misc::colsep to specify an alternate separator.
swcols()
generate string list from sprintf format specifier and a list of piddles
swcols takes an (optional) format specifier of the printf sort and a list of 1d piddles as input. It returns a perl array (or array reference if called in scalar context) where each element of the array is the string generated by printing the corresponding element of the piddle(s) using the format specified. If no format is specified it uses the default print format.
Usage: @str = swcols format, pdl1,pdl2,pdl3,...;
or
$str = swcols format, pdl1,pdl2,pdl3,...;
rgrep()
Read columns into piddles using full regexp pattern matching.
Options:
UNDEFINED: This option determines what will be done for undefined values. For instance when reading a comma-separated file of the type 1,2,,4 where the ,, indicates a missing value.
The default value is to assign $PDL::undefval to undefined values, but if UNDEFINED is set this is used instead. This would normally be set to a number, but if it is set to Bad and PDL is compiled with Badvalue support (see "" in PDL::Bad) then undefined values are set to the appropriate badvalue and the column is marked as bad.
DEFTYPE: Sets the default type of the columns - see the documentation for "rcols()"
TYPES: A reference to a Perl array with types for each column - see the documentation for "rcols()"
BUFFERSIZE: The number of lines to extend the piddle by. It might speed up the reading a little bit by setting this to the number of lines in the file, but in general "rasc()" is a better choice
Usage
($x,$y,...) = rgrep(sub, *HANDLE|"filename")
e.g.
($a,$b) = rgrep {/Foo (.*) Bar (.*) Mumble/} $file;
i.e. the vectors $a and $b get the progressive values of $1, $2 etc.
rdsa()
Read a FIGARO/NDF format file.
Requires non-PDL DSA module. Contact Frossie (frossie@jach.hawaii.edu) Usage:
([$xaxis],$data) = rdsa($file)
$a = rdsa file.sdf
Not yet tested with PDL-1.9X versions
isbigendian()
Determine endianness of machine - returns 0 or 1 accordingly
rasc()
Simple function to slurp in ASCII numbers quite quickly, although error handling is marginal (to nonexistent).
$pdl->rasc("filename"|FILEHANDLE [,$noElements]);
Where:
filename is the name of the ASCII file to read or
open file handle
$noElements is the optional number of elements in the file to read.
(If not present, all of the file will be read to fill up $pdl).
$pdl can be of type float or double for more precision.
# (test.num is an ascii file with 20 numbers. One number per line.)
$in = PDL->null;
$num = 20;
$in->rasc(test.num,20);
$imm = zeroes(float,20,2);
$imm->rasc(test.num);
rcube
Read list of files directly into a large data cube (for efficiency)
$cube = rcube &reader_function, @files;
$cube = rcube &rfits, glob("*.fits");
This IO function allows direct reading of files into a large data cube, Obviously one could use cat() but this is more memory efficient.
The reading function (e.g. rfits, readfraw) (passed as a reference) and files are the arguments.
The cube is created as the same X,Y dims and datatype as the first image specified. The Z dim is simply the number of images.
PDL::IO::Misc 2.4.3 Screenshot
PDL::IO::Misc 2.4.3 Keywords
PDL
IO
HANDLE
DEFTYPE
ASCII
EXCLUDE
read in
Perl module
If No
lines
file
X
read
default
y
PDL::IO::Misc
Bookmark PDL::IO::Misc 2.4.3
PDL::IO::Misc 2.4.3 Copyright
WareSeeker periodically updates pricing and software information of PDL::IO::Misc 2.4.3 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of PDL::IO::Misc 2.4.3 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
what is a pdf file
pdf files
default mail client
linesmaker
myspace default layouts
carnival cruise lines
lines of credit
defaulted student loans
reader's digest
default layouts
lines of symmetry
file extension pdf
lines solitaire
default email
default lyrics
pick up lines
handlebar
reading body language and lying
Related Software
PDL::IO::FITS Perl module offers a simple FITS support for PDL. Free Download
PDL::Ops Perl module contains fundamental mathematical operators. Free Download
PDL::Tips is a Perl module with small tidbits of useful arcana. Free Download
PDL::Primitive Perl module contains primitive operations for pdl. Free Download
PDL::MatrixOps Perl module contains some useful Matrix operations. Free Download
PDL::Impatient is a PDL for the impatient. Free Download
PDL::Slices is a Perl module used for indexing, slicing, and dicing. Free Download
PDL::API is a Perl module for making piddles from Perl and C/XS code. Free Download
Latest Software
Popular Software
Favourite Software