1 -------------------------------------------------------------------
\r
3 BM3D demo software for image/video restoration and enhancement
\r
4 Public release v1.9 (26 August 2011)
\r
6 -------------------------------------------------------------------
\r
8 Copyright (c) 2006-2011 Tampere University of Technology.
\r
10 This work should be used for nonprofit purposes only.
\r
12 Authors: Kostadin Dabov
\r
17 BM3D web page: http://www.cs.tut.fi/~foi/GCF-BM3D
\r
20 -------------------------------------------------------------------
\r
22 -------------------------------------------------------------------
\r
24 The package comprises these functions
\r
26 *) BM3D.m : BM3D grayscale-image denoising [1]
\r
27 *) CBM3D.m : CBM3D RGB-image denoising [2]
\r
28 *) VBM3D.m : VBM3D grayscale-video denoising [3]
\r
29 *) CVBM3D.m : CVBM3D RGB-video denoising
\r
30 *) BM3DSHARP.m : BM3D-SHARP grayscale-image sharepening &
\r
32 *) BM3DDEB.m : BM3D-DEB grayscale-image deblurring [5]
\r
33 *) IDDBM3D\Demo_IDDBM3D : IDDBM3D grayscale-image deblurring [8]
\r
34 *) BM3D-SAPCA\BM3DSAPCA2009 : BM3D-SAPCA grayscale-image denoising [9]
\r
36 For help on how to use these scripts, you can e.g. use "help BM3D"
\r
39 Each demo calls MEX-functions that allow to change all possible
\r
40 parameters used in the algorithm from within the corresponding
\r
44 -------------------------------------------------------------------
\r
46 -------------------------------------------------------------------
\r
48 Unzip both BM3D.zip (contains codes) and BM3D_images.zip (contains
\r
49 test images) in a folder that is in the MATLAB path.
\r
52 -------------------------------------------------------------------
\r
54 -------------------------------------------------------------------
\r
56 *) MS Windows (32 or 64 bit), Linux (32 bit or 64 bit)
\r
57 or Mac OS X (32 or 64 bit)
\r
58 *) Matlab v.7.1 or later with installed:
\r
59 -- Image Processing Toolbox (for visualization with "imshow")
\r
60 *) CVBM3D currently supports only 32-bit and 64-bit Windows.
\r
61 *) IDDBM3D currently supports only 32-bit and 64-bit Windows and
\r
62 requires Microsoft Visual C++ 2008 SP1 Redistributable Package
\r
63 to be installed. It can be downloaded from:
\r
64 (x86) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2
\r
65 (x64) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=BA9257CA-337F-4B40-8C14-157CFDFFEE4E
\r
68 -------------------------------------------------------------------
\r
70 -------------------------------------------------------------------
\r
71 v1.9 (26 August 2011)
\r
72 + Added BM3D-SAPCA denoising algorithm [9].
\r
75 + Added IDDBM3D deblurring algorithm [8].
\r
76 + Improved float precision of BM3D, CBM3D, and BM3DDEB mex-files.
\r
78 v1.7.6 (4 February 2011)
\r
79 + Added support for Matlab running on Mac OSX 32-bit
\r
80 + Changed the strong-noise parameters ("vn" profile) in CBM3D.m,
\r
83 v1.7.5 (7 July 2010)
\r
84 + Changed the strong-noise parameters ("vn" profile) in BM3D.m,
\r
88 + Added support for Matlab running on Mac OSX 64-bit
\r
90 v1.7.3 (15 March 2010)
\r
91 + Fixed a problem with writing to AVI files in CVBM3D
\r
92 + Fixed a problem with VBM3D when the input is a 3-D matrix
\r
95 + Fixed the output of CVBM3D to be in range [0,255] instead of
\r
99 + Fixed a bug in VBM3D.m introduced in v1.7 that concerns the
\r
103 + Added CVBM3D.m script that performs denoising on RGB-videos with
\r
105 + Fixed VBM3D.m to use declipping in the case when noisy AVI file
\r
108 v1.6 (17 June 2009)
\r
109 + Made few fixes to the "getTransfMatrix" internal function.
\r
110 If used with default parameters, BM3D no longer requires
\r
111 neither Wavelet, PDE, nor Signal Processing toolbox.
\r
112 + Added support for x86_64 Linux
\r
114 v1.5.1 (20 Nov 2008)
\r
115 + Fixed bugs for older versions of Matlab
\r
116 + Added support for 32-bit Linux
\r
117 + improved the structure of the VBM3D.m script
\r
120 + Added x86_64 version of the MEX-files that run on 64-bit Matlab
\r
122 + Added a missing function in BM3DDEB.m
\r
123 + Improves some of the comments in the codes
\r
124 + Fixed a bug in VBM3D when only a input noisy video is provided
\r
126 v1.4.1 (26 Feb 2008)
\r
127 + Fixed a bug in the grayscale-image deblurring codes and made
\r
128 these codes compatible with Matlab 7 or newer versions.
\r
131 + Added grayscale-image deblurring
\r
134 + Added grayscale-image joint sharpening and denoising
\r
136 v1.2.1 (4 Sept 2007)
\r
137 + Fixed the output of the VBM3D to be the final Wiener estimate
\r
138 rather than the intermediate basic estimate
\r
139 + Fixed a problem when the original video is provided as a 3D
\r
142 v1.2 (11 June 2007)
\r
143 + Added grayscale-video denoising files
\r
145 v1.1.3 (4 May 2007)
\r
146 + Added support for Linux x86-compatible platforms
\r
149 + Fixed bugs related with Matlab v.6.1
\r
151 v1.1.1 (8 March 2007)
\r
152 + Fixed bugs related with Matlab v.6 (e.g., "isfloat" was not
\r
153 available and "imshow" did not work with single precision)
\r
154 + Improved the usage examples shown by executing "help BM3D"
\r
155 or "help CBM3D" MATLAB commands
\r
157 v1.1 (6 March 2007)
\r
158 + Fixed a bug in comparisons of the image sizes, which was
\r
159 causing problems when executing "CBM3D(1,z,sigma);"
\r
160 + Fixed a bug that was causing a crash when the input images are
\r
162 + Fixed a problem that has caused some versions of imshow to
\r
164 + Fixed few typos in the comments of the functions
\r
165 + Made the parameters of the BM3D and the C-BM3D the same
\r
167 v1.0 (9 December 2006)
\r
168 + Initial version, based on BM3D-DFT [7] package (November 2005)
\r
171 -------------------------------------------------------------------
\r
173 -------------------------------------------------------------------
\r
175 [1] K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, "Image
\r
176 denoising by sparse 3D transform-domain collaborative filtering,"
\r
177 IEEE Trans. Image Process., vol. 16, no. 8, August 2007.
\r
179 [2] K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, "Color
\r
180 image denoising via sparse 3D collaborative filtering with
\r
181 grouping constraint in luminance-chrominance space," Proc. IEEE
\r
182 Int. Conf. Image Process., ICIP 2007, San Antonio (TX), USA,
\r
185 [3] K. Dabov, A. Foi, and K. Egiazarian, "Video denoising by
\r
186 sparse 3D transform-domain collaborative filtering," Proc.
\r
187 European Signal Process. Conf., EUSIPCO 2007, Poznan, Poland,
\r
190 [4] K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, "Joint
\r
191 image sharpening and denoising by 3D transform-domain
\r
192 collaborative filtering," Proc. 2007 Int. TICSP Workshop Spectral
\r
193 Meth. Multirate Signal Process., SMMSP 2007, Moscow, Russia,
\r
196 [5] K. Dabov, A. Foi, and K. Egiazarian, "Image restoration by
\r
197 sparse 3D transform-domain collaborative filtering," Proc. SPIE
\r
198 Electronic Imaging '08, vol. 6812, no. 6812-1D, San Jose (CA),
\r
201 [6] Y. Hou, C. Zhao, D. Yang, and Y. Cheng, 'Comment on "Image
\r
202 Denoising by Sparse 3D Transform-Domain Collaborative Filtering"'
\r
203 accepted for publication, IEEE Trans. Image Process., July, 2010.
\r
205 [7] K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, "Image
\r
206 denoising with block-matching and 3D filtering," Proc. SPIE
\r
207 Electronic Imaging '06, vol. 6064, no. 6064A-30, San Jose (CA),
\r
210 [8] A.Danielyan, V. Katkovnik, and K. Egiazarian, "BM3D frames and
\r
211 variational image deblurring," accepted for publication in IEEE
\r
212 Trans. Image Process.
\r
213 Preprint online at http://www.cs.tut.fi/~foi/GCF-BM3D
\r
215 [9] K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, "BM3D Image
\r
216 Denoising with Shape-Adaptive Principal Component Analysis", Proc.
\r
217 Workshop on Signal Processing with Adaptive Sparse Structured
\r
218 Representations (SPARS'09), Saint-Malo, France, April 2009.
\r
221 -------------------------------------------------------------------
\r
223 -------------------------------------------------------------------
\r
225 Any unauthorized use of these routines for industrial or profit-
\r
226 oriented activities is expressively prohibited. By downloading
\r
227 and/or using any of these files, you implicitly agree to all the
\r
228 terms of the TUT limited license:
\r
229 http://www.cs.tut.fi/~foi/GCF-BM3D/legal_notice.html
\r
232 -------------------------------------------------------------------
\r
234 -------------------------------------------------------------------
\r
236 If you have any comment, suggestion, or question, please do
\r
237 contact Alessandro Foi at firstname.lastname@tut.fi
\r