## Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

1077

**A Fast Method For Image Noise Estimation Using Laplacian Operator and Adaptive Edge Detection
**

Shen-Chuan Tai1 , Shih-Ming Yang2

Department of Electrical Engineering National Cheng Kung University No. 1, University Road, Tainan 701, Taiwan, R.O.C. sctai@mail.ncku.edu.tw1 , ysm93d@dcmc.ee.ncku.edu.tw2

Abstract—We present a simple and fast algorithm for image noise estimation. The input image is assumed to be corrupted by additive zero mean Gaussian noise. To exclude structures or details from contributing to the noise variance estimation, a simple edge detection algorithm using first-order gradients is applied first. Then a Laplacian operator followed by an averaging over the whole image will provide very accurate noise variance estimation. There is only one parameter which is self-determined and adaptive to the image contents. Simulation results show that the proposed algorithm performs well for different types of images over a large range of noise variances. Performance comparisons against other approaches are also provided. Index Terms － Gaussian noise, noise estimation, Laplacian operator, noise reduction, edge detection.

are found to perform well for high noise levels but they usually require a high computational load. Block-based methods are in general less complex, but they tend to overestimate when noise levels are low. Immerkær [4] proposed a simple and fast noise estimation method. It only required convolutions and averaging. But it failed for certain types of images when the noise levels are low. Here, we propose a modified approach to improve the performance of his work. The remaining of this paper is organized as follows: Section II gives the image model. Section III briefly describes the fast noise estimation method presented in [4]. Section IV illustrates our proposed method. Section V describes another related work for comparisons. Section VI shows the experimental results followed by conclusions. II. IMAGE MODEL

I. INTRODUCTION Noise reduction is very important in digital image processing. It can improve the accuracy or performance of other processing techniques that follow, such as image segmentation or recognition. Many noise reduction algorithms assume that the noise level is known a priori; and the algorithms are adopted to the amount of noise instead of using fixed parameters [1][2]. To make the assumption come true, noise estimation becomes an important research topic. In 1993, Olsen [3] gave a complete description and comparison of six earlier estimation algorithms. They are classified into two different approaches: filter-based (or smoothing-based) and block-based. In filter-based methods, the noisy image is first filtered by a low-pass filter to suppress the image structures. Then the noise variance is computed from the difference between the noisy image and the filtered image. The main difficulty of filter-based methods is that the difference image is assumed to be the noise but this assumption is not true for images with structures or details. In blocked-based methods, images are tessellated into a number of blocks. The noise variance is then computed from a set of homogeneous blocks. The main issue of block-based methods is how to identify the homogeneous blocks. There were different approaches [4]-[7] proposed for noise estimation since 1993. Basically they are still filter-based, block-based, or the combination of both. Filter-based methods

We assume that the image is corrupted by additive, zero-mean white Gaussian noise with unknown deviation σn, and the model is given by: I n ( x, y ) = I ( x, y ) + n( x, y ) , (1)

where x and y are the vertical and horizontal coordinates of a pixel, In(x, y), I(x, y) and n(x, y) are the noisy image, the original image and the additive Gaussian noise respectively. Our goal is to estimate the standard deviation σn of the noise from the noisy image. III.

THE FAST ESTIMATION METHOD

Laplacian Convolution

Averaging

Figure 1. Block diagram of “Fast Estimation” [4].

978-1-4244-1688-2/08/$25.00 c 2008 IEEE

Authorized licensed use limited to: UNIVERSITY OF WESTERN ONTARIO. Downloaded on March 11, 2009 at 12:14 from IEEE Xplore. Restrictions apply.

Finally. 12-14 March 2008 The first step of the “Fast Estimation” [4] method is to suppress the image structures by the following Laplacian operator: 1 1 −2 − 2 N = 4 − 2 . y ) * − 2 0 2 − 1 0 1 Bilcu and Vehvilainen [6] proposed a method which was meant to improve the work by Rank. we select the threshold Gth for G based on the following suggestion quoted from Olsen [3]: Authorized licensed use limited to: UNIVERSITY OF WESTERN ONTARIO. it is eliminated G = Gx + G y . (2) Then the standard deviation of the noise can be computed as σn = π 1 I ( x. Malta. Then the histogram computation is performed on the local variances. Downloaded on March 11. After the edge map has been found. . They also used edge detection to exclude pixels belonging to edges. In this way. 2 6(W − 2)( H − 2) image I ∑ (3) where W and H are the width and height of the image respectively. For highly textured images. If the window contains edges. y ) * 0 0 0 1 2 1 − 1 0 1 G y = I ( x . the statistical (weighted) average of the local variances is computed to be the estimated noise variance. it perceives thin lines as noise and over-estimates the noise. There are only convolutions and averaging. we perform edge detection pixel by pixel. Therefore. in their method the local variances of 5*5 non-overlapping windows are computed first. we propose using an adaptive edge detector to remedy the problem. we simply follow the same approach as “the Fast Estimation” [4]. 1 −2 1 “In practice a percentage value p of the image area to be considered is much easier for the user to supply than a reasonable guess of the threshold value T. the arithmetic average of the convolution results is computed to be the estimated noise deviation.” First. 2009 at 12:14 from IEEE Xplore. PROPOSED METHOD V. but exclude the edge pixels. Block diagram of Bilcu and Vehvilainen’s method [6]. we can say it is an “adaptive” edge detection. the Laplacian convolution is computed pixel by pixel for both methods. we select Gth to be the G value when the accumulated histogram reaches p% of the whole image. Lendl. We propose using the Sobel operator [8] for edge detection: − 1 − 2 − 1 G x = I ( x. That’s why it is fast. they perform edge detection on 5*5 windows. We found that Bilcu and Vehvilainen’s method is very close to ours. Secondly. But. In our method. it performs well for a large range of noise levels. y ) * N . and Unbehauen [5]. how good is it? As we will see in Section VI. no sophisticated statistics computation. (4) To decide the edge map. even p is set to the same fixed value. But we would like to emphasize the difference between these two methods. Then. It is obvious that their method will be more complicated than ours because of the local variance computation. The threshold value is selected automatically and adaptive to the image contents. IV. though. Block diagram of our proposed method. the threshold values Gth will not be the same for different images. we compute the histogram of G. On the contrast. Restrictions apply.1078 ISCCSP 2008. Laplacian Convolution RELATED WORK Histogram Computation Edge Detection Statistical Averaging Local Variance Computation Edge Detection Laplacian Convolution Figure 3. Averaging Figure 2. But. Therefore. First of all. They used the same Laplacian operator to suppress the image structure.

If we compare the experimental results between FAST96 and BV05P. ESTIMATION RATIO OF FAST96 FOR NOISE DEVIATION BETWEEN 1 AND 10.0115 0.0791 1. the improvements are really amazing.5106 1.6708 1. Figure 5.9731 Lena Mandrill Jet Figure 4. .9700 0.2120 1.0056 0. For images with fine details or structured patterns (e. Table III and Table IV show the comparisons among FAST96.9710 0.1038 1.9687 0. the window is claimed to have edges. 2009 at 12:14 from IEEE Xplore. Downloaded on March 11. σ added (5) The method proposed in [4] is referred to as FAST96. The worst case is more than 400% for Mandrill. Restrictions apply. But most of the estimation errors are less than 5%.ISCCSP 2008. For each 5*5 window. While it performs well for high-level noise. 5 shows the performance of FAST96.1185 1. we define estimation ratio by the following equation to be the performance metric: estimation ratio = σ estimated .4301 1.3422 1. The results presented here are obtained by averaging 20 Monte-Carlo simulations for each image (Fig.0432 3.8344 2.2256 1.5785 1.9704 0. BV05P and our method.9908 Lena 1. we would see that the two estimators almost have the same performance.0398 1.0395 1. Mandrill and Barbara). Barbara). bold face indicate that the estimation error is greater than 50% for Lena.0787 8 1.4689 1.0649 1.2286 1.3817 1. the Sobel operation is performed pixel by pixel.1125 7 1.9350 3 2. Mandrill) or structured patterns (e.2596 1.2185 1.2993 1. 4) and each noise deviation. While we maintain the same good performance for high noise levels.3877 4.1668 1. 12-14 March 2008 1079 from the estimation process.6721 1.5841 1. The method proposed in [6] is partially implemented without edge detection (BV05P) and then fully implemented with edge detection (BV05F). The edge detection algorithm is designed as the following: First.9993 0.5299 2 2.1292 1. The numbers in Table I printed in Table II.9956 0. VI. Fig. All three methods tend to underestimate when the noise levels are high.0831 1.1600 1. Table I shows the exact data.g. the p value for our method is set to 10 as suggested in [3] for all images.0400 10 1.g. EXPERIMENTAL RESULTS 6 5 Estimation Ratio 4 3 2 1 0 1 4 7 10 13 16 19 22 25 28 31 34 37 Added Noise Deviation Mandrill Boat Barbara Jet Goldhill Lena 40 For performance comparisons.2748 5 1.g. There is one interesting observation we would like to point out.0196 1. we make significant improvements for low noise levels.1313 1.0096 1.1078 1. here the only difference between these Authorized licensed use limited to: UNIVERSITY OF WESTERN ONTARIO. Since they didn’t give the details on the edge detection method.0549 9 1. Estimation Ratio of FAST96 for noise deviation between 1 and 40.0356 1. it over-estimates when the noise level is low. we will implement in our own way in the following experiments. TABLE I. Since we did not implement edge detection for BV05P.1724 6 1.2032 1.0270 Boat 2. the estimation errors can be huge. and the same p% principle is applied to find the threshold Gth.0190 1.9828 0.4708 4 1.9984 Jet 2.9724 0. The situations where our method makes significant improvements are printed in bold face. Six 512*512 images used for experiments. While we struggled to find the best choice of p and N for BV05F.0017 0. For images with fine details (e.1636 1. Malta. if there were more than N pixels are greater than Gth. Barbara Boat Goldhill σadded Mandrill Barbara Goldhill 1 5.

0533 1.0056 0.04.9859 5.9822 0.4301 1.9760 0.4689 1.3884 1.0266 1. FAST96 simply computes the arithmetic average while BV05P computes the histogram first and then the statistical average.9570 0. As far as the complexity being concerned.9915 0.0373 1.8364 2.9595 0.9221 0.1023 1. For some images.9705 0.1635 1. Authorized licensed use limited to: UNIVERSITY OF WESTERN ONTARIO.2286 1.9699 0.9028 VII.9784 0.1914 1. However.2032 1.0356 1.9919 0.0600 1.6708 1.9836 0.9734 0. The threshold value of the edge detector is self-determined and adaptive to the image contents.9761 0.0017 0.2596 1.3235 1.9657 0.0060 0.9584 1.9767 0.0733 1.0345 1.9679 0.9887 0.1493 1. The histogram computation helps us detect edges adaptively.1144 1.2120 1. The results in [3] reached the same conclusion.9829 0.1234 1. our method makes significant improvements.3575 1. 12-14 March 2008 TABLE IV.2096 1.0079 1.9345 0.9705 0.9923 0.1223 0. the execution time is still acceptable.9775 0.4708 1. Although the performance of our method and BV05F are close to each other. TABLE II.9731 0.9689 0.0689 1.9771 Table V.9729 0. While for BV05F there are two parameters (P and N) and we were not able to find an unified approach for determining the best choice of P and N.9564 2.0021 0. the execution time of FAST96.5063 1.9774 0.9606 0.9691 0. Malta.0590 1.0328 1.0280 1. This is why we achieve improvements.9687 0. for example Jet.9669 0. Goldhill σadded 1 2 3 4 5 6 7 8 9 10 15 20 25 30 35 40 FAST96 Ours BV05P FAST96 Jet Ours BV05P 3. COMPARISONS OF ESTIMATION RATIO FOR LENA AND MANDRILL.9661 0.9690 0.9356 0.9546 3.1080 ISCCSP 2008. Mandrill and Goldhill.9715 0. While the complexity is increased by 50%.4631 2.9486 3. CONCLUSIONS We propose an image noise estimation method based on [4].0739 1.4493 1.3877 2.0399 1.9507 1.0123 1.9434 0. TABLE III.9896 0.9800 0.1636 1.0451 1.0190 1.0400 1.9744 0. .9954 0.0685 1. We compute histogram.9724 0. Simulation results have been presented and shown that we achieve significant improvements without too much complexity.1967 1.9451 0.9704 0.9481 2.1724 1.9740 0.0251 1. An edge detector is introduced to exclude image details from contributing to the noise variance.2614 1.9594 0. 2009 at 12:14 from IEEE Xplore.9726 0.5841 1. we can further improve the performance by tuning the parameter p according to a priori knowledge of the image or noise variance value [3]. we can conclude that our method outperforms BV05 with less complexity.2748 1.9418 0.0791 1.2450 1.4607 1.9781 0. if the complexity is not an issue.0395 1.0255 1.0253 1.9495 0.9785 0.9828 0. we only need one parameter (P) and it can be set to a fixed value of 10 for all images. too.4066 1. For a 512*512 image. its performance goes down when the noise levels go high. BV05F has two problems.1696 1.0031 0.9800 0.0529 1. Lena σadded 1 2 3 4 5 6 7 8 9 10 15 20 25 30 35 40 FAST96 Ours BV05P FAST96 Mandrill Ours BV05P Barbara σadded 1 2 3 4 5 6 7 8 9 10 15 20 25 30 35 40 FAST96 Ours BV05P FAST96 Boat Ours BV05P 4.9984 0.9754 0.0197 1.0549 1.4540 1.9548 0. the performance decay very fast.9679 0.0056 0.2185 1.06.9802 0.1185 1.9989 0.2214 1.9516 0.9845 2.0498 1.9908 0.1601 1. First.9504 2.0270 1.9674 0. Table VI and Table VII show the comparisons between BV05F and our method.9960 0.9842 0.5776 1.1522 1.0425 1.0398 1.0676 1.0125 1.9619 1.1078 1.9660 0.9722 0.9470 0.9765 0.8344 2.9919 0.0087 0.9842 0. we implemented all these methods on a personal computer running Windows XP Professional with 2.9144 1.9853 0.0211 1.9731 0.9759 0.9700 0.2993 1.9844 0.6477 1.9938 0.9911 0.0210 0.5106 1.0196 1.4434 1.0796 1.0324 1.8875 1. Secondly.9637 0.9311 0.0488 1.4536 1.1125 1.6836 1. Therefore.9599 0. COMPARISONS OF ESTIMATION RATIO FOR BARBARA AND BOAT.9759 0.2GHz Intel Pentium 4 CPU and 752MB main memory.9993 0.9940 0.9937 0.6721 1.2256 1.3626 1.9580 2.0083 1.9722 0.9524 5. two methods is the way they compute the average deviation or variance.2286 1.2888 1.2700 1.0065 0. Downloaded on March 11. The results show that simple averaging is good enough and statistical averaging won’t give us any benefits.1600 1.9801 0.9710 0.0004 0.1249 1.1668 1.9773 0.0649 1.9655 0.1292 1.9397 0. Restrictions apply. For BV05F we focus on low noise levels.0831 1.9985 0.1123 1.9598 0.9936 0. But we use the results in finding the edge map and exclude image details from contributing to the noise variance.0115 0.5785 1.0826 1.0096 1.1313 1.0009 0.0544 1.06 and 0.9652 0.0134 1.0856 1.9666 0.0158 0.9956 0.9397 0.9778 0.9579 2.9591 0.0017 0.9842 0.9667 0.0432 2. our method BV05P and BV05F were 0. This observation justifies our approach.9602 0. 0. Compared to FAST96.9689 0.2407 1.3817 1.9482 0. COMPARISONS OF ESTIMATION RATIO FOR G OLDHILL AND JET.9526 0.9793 0.9749 0.0787 1.0998 1.1777 0.9750 0.9857 0.9325 0.8151 1.9498 0.9780 0.0198 1.9533 0.9350 1. 0.0010 0.9114 1.0138 1.9633 1.9965 0.9639 0.0267 1.9555 0.2420 1.1829 1.14 seconds respectively.9677 0.1085 1.0437 1.5299 1.9864 0.9727 0.3422 1.0025 0.9610 0.0490 1.9607 0.9804 0. The P and N values shown in the tables are the best choice for noise deviation between 1 and 10.9087 2.9699 0.5130 1.9623 0.1038 1.9895 0.

On Circuits and Systems for Video Technology. 113-118. E.9800 0.1023 1.9724 0.9313 0.9526 0.9853 0. I.4607 1. No.9369 1.1609 1. Goldhill σadded 1 2 3 4 5 6 7 8 9 10 15 20 25 30 35 40 Ours BV05F P=20.8550 1.9759 0.8771 1. “Digital Image Processing.8875 1.” Prentice-Hall. Graphic Models and Image Process.8459 Acknowledgements TABLE VI..N=5 2. 80-84.9907 0.9657 0.1553 1.0796 1. Manduchi.9626 0. 300-302. Downloaded on March 11.9801 0. Lee.9129 0.9486 1. R.0134 1.2314 1.1223 0. Sapporo. Comput. Unbehauen.9345 0.9734 0. Lendl. pp.9548 0. Vol. No. Olsen. S.0785 1. 2005. 1999.9197 0.9655 0.9839 0. 1998.9602 0.9725 0.9937 0.0523 0.8651 0.9970 0. Sep.9774 0. Japan. Malta.9451 0. “Estimation of noise in images: An evaluation”. IEE Vis. Gonzalez and R.3127 1.9962 0.9435 0. Computer Vision and Image Understanding.9434 0. 2002.9555 0. REFERENCES [1] C.0079 1.1372 1.9760 0.9563 0.9355 0.9637 0. pp. Amer and E. 1996.0267 1.1696 1.0412 0.9836 0. Vol.1123 1.9035 1.0590 1.5259 1. 4.9067 0. India.0073 0.0255 1. 1.9775 0.9087 1.9633 1.” Proc. 2005.8558 0. Vol. 2. USA.2730 1. pp.8546 [2] [3] [4] [5] [6] [7] [8] Authorized licensed use limited to: UNIVERSITY OF WESTERN ONTARIO. Jan.0198 1.0083 1.0280 1.ISCCSP 2008.9591 0. Dubois.0437 1. Immerkær.9356 0.9679 0. Vision Graphics Image Process.9905 0.9919 0.9240 0.0618 1.9981 1.2407 1.9529 0.9654 0.9041 0. Image Signal Process.N=5 We thank the anonymous reviewers for giving us valuable suggestions.9729 0.9915 0. “Fast Noise Variance Estimation”.2096 1.0739 1. C.” Sixth International Conference on Compute. J.9623 0.9685 0. No.9754 0. 12-14 March 2008 1081 TABLE V. Barbara σadded 1 2 3 4 5 6 7 8 9 10 15 20 25 30 35 40 Ours BV05F P=20. 255-269.9495 0.9648 1.9149 0.N=5 Ours Boat BV05F P=30. .9418 0. 146.9689 0.9864 0.3165 2.9713 0.0004 0.0007 0.1829 1.N=5 Ours Jet BV05F P=20. Vehvilainen. May 18-20. 839-46.1234 1.9264 0.9358 0.0056 0. Bilcu and M. "Digital Image Smoothing and the Sigma Filter".9580 1.9780 0. Woods. New Jersey.1018 1.5776 1.0253 1. “Estimation of image noise variance.0451 1.6718 2.9327 0. 64.5219 1. COMPARISONS BETWEEN OUR METHOD AND BV05F FOR LENA AND MANDRILL.9726 0.0685 1.9546 2.8981 1.9598 0. A.0025 0.9145 0. 2009 at 12:14 from IEEE Xplore.9838 0.9968 0.0490 1.9975 0.8932 0.3626 1.9660 0.9705 0. 2.9727 0.9649 0.9690 0. Computer Graphics Image Processing.9689 0. Apr.0229 0. Rank.0815 1.9621 1.0237 0.9770 0.9749 0. pp.1777 0.3093 1.0154 1. 1993.N=5 Lena σadded 1 2 3 4 5 6 7 8 9 10 15 20 25 30 35 40 Ours BV05F P=20.8737 0.9554 2. 1983.9785 0.9933 0. R.9766 0.9989 0. Inc.9599 0.9639 0. 55.2214 1. Vol.9240 0. K.0600 1.” Proc..9896 0. 2. “A New Method for Noise Estimation in Images. pp.9416 0.6836 1.5244 1.9704 0. S.2888 1.N=10 Ours Mandrill BV05F P=10.9234 0.9765 0.9397 0.8924 0.3884 1.0065 0.9773 0.9699 0.9610 0. and R. pp.9658 0.8752 0.9798 0.” IEEE Trans.3965 1. 24. COMPARISONS BETWEEN OUR METHOD AND BV05F FOR BARBARA AND BOAT.9938 0.9859 2.9733 0. 15. which help us improve the quality of this paper.9870 0. Vol. No.7354 1. 319-323.9558 0. IEEE EURASIP International Workshop on Nonlinear Signal and Image Processing. “Fast and Reliable Structure-Oriented Video Noise Estimation.9325 0.3385 1. C.0373 1. Restrictions apply.9498 0. COMPARISONS BETWEEN OUR METHOD AND BV05F FOR GOLDHILL AND JET.9127 0.9749 0.9470 0. J. Tomasi and R. ”Bilateral Filtering for Gray and Color Images.9805 0. New Dclhi.9516 0. M.1165 1. TABLE VII.0399 1.0297 0.9533 0.

- Automation of Bottling Using
- Automatska identifikacija vozila
- Article 57
- Real Time Pattern Recognition Using Matrox Imaging System
- software for IP webcams
- Text Extraction and Localization From Captured Images
- jeas_0415_1869.pdf
- Jf 3216341639
- Bröder 2007 Meas. Sci. Technol. 18 028
- Map Shrink
- A Review on Noise Reduction from Medical Images
- A Survey on Image Denoising Methodology on Mammogram Images
- Ip_Lect_5
- Filtering
- Image Morphing(Major)
- Total Variation Regularization Technique for the Improvement of Video Quality by the Reduction of Compression Artifact
- EC-411.pdf
- [IJCT-V3I2P37]
- Code 6
- Fundamentals of Statistical Signal Processing, Volume I Estimation Theory by Steven M.kay
- Finite Impulse Response of LTI Systems
- ANS_MC0086
- Image Processing in C
- w43
- UGC Minor Project
- Image Restoration
- Phillips D.image Processing With C
- 2012_40_2_Murugan
- v01-Analysis of Variance
- dip in c

Skip carousel

- UT Dallas Syllabus for stat7334.501.07s taught by Robert Serfling (serfling)
- UT Dallas Syllabus for stat7334.501.10s taught by Robert Serfling (serfling)
- tmp3C81.tmp
- UT Dallas Sample Syllabus for Chansu Jung
- Tmp 6454
- UT Dallas Syllabus for stat4352.501.09s taught by Yuly Koshevnik (yxk055000)
- tmpA153.tmp
- UT Dallas Syllabus for meco7320.001.07f taught by Yexiao Xu (yexiaoxu)

Skip carousel

- UT Dallas Syllabus for ee3302.001 05s taught by William Boyd (wwb014000)
- UT Dallas Syllabus for ee6365.501.07f taught by Mohammad Saquib (saquib)
- FIR Filter Design for ASIC and FPGA Realization Using DA-Approach
- UT Dallas Syllabus for ee4361.021 06u taught by P Rajasekaran (pkr021000)
- Analysis of different FIR Filter Design Method in terms of Resource Utilization and Response on Field-Programmable Gate Array
- UT Dallas Syllabus for ee4361.001.07s taught by P Rajasekaran (pkr021000)
- UT Dallas Syllabus for ee6360.001.09s taught by P Rajasekaran (pkr021000)
- UT Dallas Syllabus for ee6360.501.09f taught by P Rajasekaran (pkr021000)
- UT Dallas Syllabus for ee6360.501.08s taught by P Rajasekaran (pkr021000)
- UT Dallas Syllabus for ee6365.001.09f taught by Mohammad Saquib (saquib)
- UT Dallas Syllabus for ee6360.001.08f taught by Issa Panahi (imp015000)
- UT Dallas Syllabus for eesc6360.501.11s taught by P Rajasekaran (pkr021000)
- UT Dallas Syllabus for ee4361.581.07u taught by P Rajasekaran (pkr021000)
- UT Dallas Syllabus for ee6367.001.09s taught by Nasser Kehtarnavaz (nxk019000)
- tmp8C0D.tmp
- UT Dallas Syllabus for ee4361.001.08s taught by P Rajasekaran (pkr021000)
- UT Dallas Syllabus for ee4361.501.09s taught by P Rajasekaran (pkr021000)
- Combinational Adaptive LMS Algorithms For Speech Enhancement- A Review
- Qualitative Retrieval of Optical Image based on Cross Pan Refining Fusion Algorithm
- UT Dallas Syllabus for ee4385.001 05f taught by Murat Torlak (torlak)

Sign up to vote on this title

UsefulNot usefulClose Dialog## Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

Close Dialog## This title now requires a credit

Use one of your book credits to continue reading from where you left off, or restart the preview.

Loading