1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The GSL Team.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Free Software
Needs Free Documentation", the Front-Cover text being "A GNU Manual",
and with the Back-Cover Text being (a) (see below). A copy of the
license is included in the section entitled "GNU Free Documentation
License".
(a) The Back-Cover Text is: "You have the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library – Reference Manual: DWT in one dimension</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: DWT in one dimension">
<meta name="keywords" content="GNU Scientific Library – Reference Manual: DWT in one dimension">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="DWT-Transform-Functions.html#DWT-Transform-Functions" rel="up" title="DWT Transform Functions">
<link href="DWT-in-two-dimension.html#DWT-in-two-dimension" rel="next" title="DWT in two dimension">
<link href="DWT-Transform-Functions.html#DWT-Transform-Functions" rel="previous" title="DWT Transform Functions">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="DWT-in-one-dimension"></a>
<div class="header">
<p>
Next: <a href="DWT-in-two-dimension.html#DWT-in-two-dimension" accesskey="n" rel="next">DWT in two dimension</a>, Up: <a href="DWT-Transform-Functions.html#DWT-Transform-Functions" accesskey="u" rel="up">DWT Transform Functions</a> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Wavelet-transforms-in-one-dimension"></a>
<h4 class="subsection">32.3.1 Wavelet transforms in one dimension</h4>
<a name="index-DWT_002c-one-dimensional"></a>
<dl>
<dt><a name="index-gsl_005fwavelet_005ftransform"></a>Function: <em>int</em> <strong>gsl_wavelet_transform</strong> <em>(const gsl_wavelet * <var>w</var>, double * <var>data</var>, size_t <var>stride</var>, size_t <var>n</var>, gsl_wavelet_direction <var>dir</var>, gsl_wavelet_workspace * <var>work</var>)</em></dt>
<dt><a name="index-gsl_005fwavelet_005ftransform_005fforward"></a>Function: <em>int</em> <strong>gsl_wavelet_transform_forward</strong> <em>(const gsl_wavelet * <var>w</var>, double * <var>data</var>, size_t <var>stride</var>, size_t <var>n</var>, gsl_wavelet_workspace * <var>work</var>)</em></dt>
<dt><a name="index-gsl_005fwavelet_005ftransform_005finverse"></a>Function: <em>int</em> <strong>gsl_wavelet_transform_inverse</strong> <em>(const gsl_wavelet * <var>w</var>, double * <var>data</var>, size_t <var>stride</var>, size_t <var>n</var>, gsl_wavelet_workspace * <var>work</var>)</em></dt>
<dd>
<p>These functions compute in-place forward and inverse discrete wavelet
transforms of length <var>n</var> with stride <var>stride</var> on the array
<var>data</var>. The length of the transform <var>n</var> is restricted to powers
of two. For the <code>transform</code> version of the function the argument
<var>dir</var> can be either <code>forward</code> (<em>+1</em>) or <code>backward</code>
(<em>-1</em>). A workspace <var>work</var> of length <var>n</var> must be provided.
</p>
<p>For the forward transform, the elements of the original array are
replaced by the discrete wavelet
transform <em>f_i -> w_{j,k}</em>
in a packed triangular storage layout,
where <var>j</var> is the index of the level
<em>j = 0 ... J-1</em>
and
<var>k</var> is the index of the coefficient within each level,
<em>k = 0 ... (2^j)-1</em>.
The total number of levels is <em>J = \log_2(n)</em>. The output data
has the following form,
</p>
<div class="example">
<pre class="example">(s_{-1,0}, d_{0,0}, d_{1,0}, d_{1,1}, d_{2,0}, ...,
d_{j,k}, ..., d_{J-1,2^{J-1}-1})
</pre></div>
<p>where the first element is the smoothing coefficient <em>s_{-1,0}</em>, followed by the detail coefficients <em>d_{j,k}</em> for each level
<em>j</em>. The backward transform inverts these coefficients to obtain
the original data.
</p>
<p>These functions return a status of <code>GSL_SUCCESS</code> upon successful
completion. <code>GSL_EINVAL</code> is returned if <var>n</var> is not an integer
power of 2 or if insufficient workspace is provided.
</p></dd></dl>
</body>
</html>
|