SPLINE PYRAMIDS SOFTWARE IN ANSI C
Michael Unser, Patrick Brigger and Daniel Sage
Biomedical Imaging group
Swiss Federal Institute of Technology Lausanne (EPFL), Switzerland.
November 1999
A. TEST PROGRAM (1D SIGNAL AND 2D IMAGE)
The file test_1d.c contains a short reduction and expansion example of a 1D signal.
it is implemented as a main() function. The input data are created in the code.
The program displays the result on the console.
There is also a similar test program for a 2D image in test_2d.c.
B. BASIC ROUTINES
The Reduce_1D(), Reduce_2D(), Expand_1D() and Expand_2D() are in the
pyramidtools.c file.
The file pyramidfilters.c contains the generation of the filters.
C. OTHER ROUTINES
MessageDisplay.c contains a routine to print the string messsage on the console.
Configs.h contains general definitions.
D. EXPLANATION
Software for generating spline pyramids
This software package implements the basic REDUCE and EXPAND operators for the reduction and
enlargement of signals and images by factors of two. A signal is represented by a polynomial spline
which is a continuously-defined function [1]; the model is interpolating and is unambiguously
defined by the sample values. The spline model specifies the enlargement mechanism (spline
interpolation), as well as the reduction algorithm which is optimal in the least squares sense.
Model specification
The user specifies the underlying spline model and error criterion by selecting the appropriate filters
using the GetPyramidFilter subroutine. He can choose the degree of the spline (typ. n=3), and the
type of error measure (discrete -norm [2] or continuous -norm [3]). Note that the differences
between the two types of filters tend to vanish as the degree increases. The user also has the
choice between a standard pyramid where the coarser grid points are at the even integers, and a
centered one where the coarser grid points are placed in-between their two closest finer grid
predecessors [4].
REDUCE operator
It is implemented by the function Reduce_1D which filters and downsamples a signal by a factor of
two. The reduction filter is designed such that the approximation error is minimized. For digital
images or volumes, the function must be applied successively along the various dimensions of the
data. A multiresolution decomposition (or pyramid) may be generated by repeated application of
the REDUCE operator. Note that the evaluation of centered pyramids requires the use of the
function ReduceCentered_1D instead. In all cases, the signals are extended using mirror boundary
conditions to minimize border artifacts.
EXPAND operator
It is implemented by the function Expand_1D which up-samples a signal by a factor of two and then
fills-in the missing samples by application of a suitable interpolation filter. The interpolation filter is
specified by the underlying spline model; for a given order n, it is the same irrespective of the type
of criterion used to specify the REDUCE function. The expand operator uses boundary conditions
that are compatible with the reduce operation. In the case of a centered pyramid, the interpolation
is achieved by the ExpandCentered_1D, since the samples on the finer grid are shifted by half a
sampling step.
Error pyramid
The loss of information due to image/signal reduction can be visualized in the error pyramid. The
error signal is computed as follows: error = signal � EXPAND(REDUCE(signal)). In the present
design, the REDUCE and EXPAND filters are biorthogonal and the system acts like a projector. This
explains why the error is usually much smaller then the one obtained by using the Burt and Adelson
filters associated with the Gaussian/Laplacian pyramid [5]. Also note that there is a close connection
between these spline pyramids and wavelets as explained in [1].
E. REFERENCES
[1] M. Unser, "Splines: A Perfect Fit for Signal and Image Processing," IEEE Signal Processing
Magazine, vol. 16, no. 6, pp. 22-38, November 1999.
[2] M. Unser, A. Aldroubi, M. Eden, "B-Spline Signal Processing: Part II--Efficient Design and
Applications," IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 834-848, February 1993.
[3] M. Unser, A. Aldroubi, M. Eden, "The L2-Polynomial Spline Pyramid," IEEE Transactions on
Pattern Analysis and Machine Intelligence, vol. 15, no. 4, pp. 364-379, April 1993.
[4] P. Brigger, F. M�ller, K. Illgner, M. Unser, "Centered Pyramids," IEEE Transactions on Image
Processing, vol. 8, no. 9, pp. 1254-1264, September 1999.
[5] P.J. Burt and E.H. Adelson, "The Laplacian Pyramid as a Compact Code," IEEE Transactions on
Commununication, vol. COM-31, no. 4, pp. 337-345, April 1983.
没有合适的资源?快使用搜索试试~ 我知道了~
fessler.gz_fessler_数据采样_重采样_重采样算法
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 148 浏览量
2022-07-14
08:53:07
上传
评论
收藏 25.69MB GZ 举报
温馨提示
共2004个文件
m:1206个
c:104个
h:79个
用于非均匀采样数据的快速傅里叶变换,相比重采样算法具有更高的精度
资源详情
资源评论
资源推荐
收起资源包目录
fessler.gz_fessler_数据采样_重采样_重采样算法 (2004个子文件)
readme-4.0 273B
01-hydrogen 792B
02-helium 792B
03-lithium 792B
04-beryllium 792B
05-boron 792B
06-carbon-graphite 792B
07-nitrogen 792B
08-oxygen 792B
09-fluorine 792B
10-neon 792B
spectra.100 3KB
11-sodium 858B
spectra.110 3KB
12-magnesium 858B
spectra.120 3KB
13-aluminum 836B
spectra.130 4KB
14-silicon 836B
spectra.140 4KB
15-phosphorus 836B
spectra.150 4KB
16-sulfur 836B
spectra.160 4KB
17-chlorine 836B
18-argon 836B
19-potassium 836B
spectra.20 633B
20-calcium 836B
21-scandium 836B
22-titanium 836B
23-vanadium 836B
24-chromium 836B
25-manganese 836B
26-iron 836B
27-cobalt 836B
28-nickel 902B
29-copper 902B
spectra.30 903B
30-zinc 1KB
31-gallium 1KB
32-germanium 1KB
33-arsenic 1012B
34-selenium 1012B
35-bromine 1012B
36-krypton 1012B
37-rubidium 990B
38-strontium 990B
39-yttrium 1012B
spectra.40 1KB
40-zirconium 1012B
41-niobium 1012B
42-molybdenum 1012B
43-technetium 990B
44-ruthenium 990B
45-rhodium 1012B
46-palladium 1012B
47-silver 1012B
48-cadmium 990B
49-indium 990B
spectra.50 1KB
50-tin 990B
51-antimony 1012B
52-tellurium 1KB
53-iodine 1KB
54-xenon 1KB
55-cesium 1KB
56-barium 1KB
57-lanthanum 1KB
58-cerium 1KB
59-praseodymium 1KB
spectra.60 2KB
60-neodymium 1KB
61-promethium 1KB
62-samarium 1KB
63-europium 1KB
64-gadolinium 1KB
65-terbium 1KB
66-dysprosium 1KB
67-holmium 1KB
68-erbium 1KB
69-thulium 1KB
spectra.70 2KB
70-ytterbium 1KB
71-lutetium 1KB
72-hafnium 1KB
73-tantalum 1KB
74-tungsten 1KB
75-rhenium 1KB
76-osmium 1KB
77-iridium 1KB
78-platinum 1KB
79-gold 1KB
spectra.80 2KB
80-mercury 1KB
81-thallium 1KB
82-lead 4KB
82-lead 1KB
83-bismuth 1KB
84-polonium 1KB
共 2004 条
- 1
- 2
- 3
- 4
- 5
- 6
- 21
周楷雯
- 粉丝: 78
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0