NAME
Math::Wavelet::Haar - Perl extension for transforming data with the Haar Wavelet
SYNOPSIS
use Math::Wavelet::Haar qw(:all);
my @test = qw(1 2 3 4 5 6 7 8);
my @result = transform1D(@test);
my @test = ([0,1,2,3],[1,2,3,4],[2,3,4,5],[3,4,5,6]);
my @result = transform2D(@test);
my @test = qw(36 -16 -4 -4 -1 -1 -1 -1);
my @result = detransform1D(@test);
my @test = ([48,-16,-4,-4],[-16,0,0,0],[-4,0,0,0],[-4,0,0,0]);
my @result = detransform2D(@test);
my @test = ([48,-16,-4,-4],[-16,0,0,0],[-4,0,0,0],[-4,0,0,0]);
@result = detransform2D(transform2D(@test));
@result == @test;
DESCRIPTION
Math::Wavelet::Haar is a module for performing a discrete wavelet transform using the Haar wavelet.
EXPORT
- transform1D @result = transform1D(@input); takes a single array as input, and returns the transformed result, @input MUST be a power of two in length, if it is not, then it will return undef
- transform2D @result = transform2D(@input); takes a single two dimensional array as input, and returns the transformed result, @input MUST be a power of two in length and width, if it is not, then it will return undef
- detransform1D @result = detransform1D(@input); takes a single array as input, and returns the inverse transform as the result, @input MUST be a power of two in length, if it is not, then it will return undef
- detransform2D @result = detransform2D(@input); takes a single two dimensional array as input, and returns the inverse transform as the result, @input MUST be a power of two in length and width, if it is not, then it will return undef
SEE ALSO
Wikipedia articles on the Haar Wavlet, Discrete Wavelet Transforms, and lots and lots of math
CHANGES
- v0.01 First release, supports only transforming
- v0.02 Second release, supports transforming and its inverse Changed API significatly
- v0.05 Third public release, fixes catastrophic bug that causes the input to the 2d transforms to be mangled
- v0.06 Added some corrected dependencies and marked the module as usable by earlier perl versions Also removed an incorrect print statement, that outputted debugging information that shouldn't have been outputted
AUTHOR
Ryan Voots <lt>simcop2387@yahoo.com<gt>
COPYRIGHT AND LICENSE
Copyright (C) 2007 Ryan Voots
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.
4 POD Errors
The following errors were encountered while parsing the POD:
- Around line 194:
'=item' outside of any '=over'
- Around line 210:
You forgot a '=back' before '=head1'
- Around line 216:
'=item' outside of any '=over'
- Around line 230:
You forgot a '=back' before '=head1'