Nature & Wildlife

A Novel Curvature Based Algorithm for Automatic Grading of Retinal Blood Vessel Tortuosity

Description
A Novel Curvature Based Algorithm for Automatic Grading of Retinal Blood Vessel Tortuosity
Published
of 10
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  2168-2194 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/JBHI.2015.2396198, IEEE Journal of Biomedical and Health Informatics IEEE JOURNAL OF BIOMEDICAL AND HEALTH INFORMATICS, VOL. XXX, NO. XXX, XXXXXXX XXXX 1 A Novel Curvature Based Algorithm for AutomaticGrading of Retinal Blood Vessel Tortuosity Masoud Aghamohamadian-Sharbaf, Hamid Reza Pourreza,  Senior Member   and Touka Banaee,  Abstract —Tortuosity of retinal blood vessels is an improtantsymptom of diabetic retinopathy or retinopathy of prematurity.In this paper, we propose an automatic image based methodfor measuring single vessel and vessel network tortuosity of these vessels. Simplicity of the algorithm, low computationalburden and an excellent matching to the clinically perceivedtortuosity are the important features of the proposed algorithm.To measure tortuosity, we use curvature which is an indicatorof local inflection of a curve. For curvature calculation, templatedisk method is a common choice and has been utilized in mostof the state of the art. However, we show that this method doesnot possess linearity against curvature and by proposing twomodifications, we improve the method. We use the basic and themodified methods to measure tortuosity on a publicly availabledata bank and two data banks of our own. While interpreting theresults, we pursue three goals. First, to show that our algorithm ismore efficient to implement than the state of the art. Second, toshow that our method possesses an excellent correlation withsubjective results (0.94 correlation for vessel tortuosity, 0.95correlation for vessel network tortuosity in diabetic retinopathyand 0.7 correlation for vessel network tortuosity in ROP). Third,to show that the tortuosity perceived by an expert and curvaturepossess a nonlinear relation.  Index Terms —Curvature, Diabetic retinopathy, Retinal image,Tortuosity measure,. I. I NTRODUCTION D IABETES causes damage in blood vessels. Vessel dam-ages in heart muscles are related to ischemic heart dis-eases and heart attacks; and vessel damages in the retina causereduction of sight. The latter called diabetic retinopathy (DR),is one of the common causes of reduction of sight. In fact,many studies show that DR dramatically increases chancesof blindness [1] and that it is the leading cause of blindnessof the working age especially in developed countries [2].Presence of numerous microaneurysms is the earliest sign of DR [3]. As the disorder develops, retinal blood vessels becomethicker, more twisted and turned [4]. In more advanced levels,neovascularization through inability to provide the requiredamount of nutrition and oxygen for the retina occurs [5].These newly generated vessels are very fragile. Therefore, theycause internal bleeding in the retina which endangers the visualsystem and might ultimately result in blindness.Early diagnosis of DR helps controlling its side effects.This is possible with the aid of technical examination of  Masoud Aghamohamdian-Sharbaf and Hamid Reza Pourreza are withthe Department of Electrical Engineering, Ferdowsi University of Mash-had, Mashhad, Iran (e-mails: masoudas@hotmail.com; hpourreza@ieee.org).Hamid Reza Pourreza is the corresponding authorT. Banaee is with the Retina Research Centre, Mashhad University of Medical Sciences, Mashhad, Iran (e-mail: banaeet@mums.ac.ir)Manuscript received ——, —; revised —–, —-.   (a) Normal tortuosity   (b) High tortuosityFig. 1. Two images of the retina with different tortuosity level the ocular fundus. Experimentally, it has been shown thatwhen there is no critical symptom of retinal damage, anescalation in retinal blood vessel tortuosity is an early sign of DR [4]. Moreover, presence of tortuous retinal blood vesselsis an indicator of retinopathy of prematurity (ROP) in preterminfants [6]. It is well-known that in serious cases, ROP causesretinal detachment and blindness [7]. For a detailed reviewon applications of image processing to diagnosing ROP andcomparison of different methods see [8], [9].Qualitatively speaking, tortuosity is an indication of howwinding a blood vessel is [10]. In Fig. 1, two ocular fundusimages with normal and tortuous vessels are shown. As isclear, the vessel network in Fig. 1(b) is more twisted than anormal network which alerts probable presence of DR. Notethat vessel tortuosity can happen locally in small portions of blood vessels, or throughout the blood vessel network.For quantitative measurement of tortuosity, the vessel ismodeled as a smooth connected curve. Based on this model,different tortuosity measurement algorithms have been pro-posed in the literature that could be divided into four generalgroups:  A. Arc Length over Chord Length Ratio Methods Methods of this group have simple mathematical expres-sions. Lotmar  et al.  [11] were the first to introduce methodsof this category and their method was widely utilized thereafter(e.g. [12]–[15]). However, it is apparent that the arc over chordlength ratio, on its own, is insufficient for determiniation of vessels with smooth curvature and vessels with variation incurvature direction. For compensation, Bullit  et al.  [16] andGrisan  et al.  [17] proposed modifications on the approach.In [17], vessels are partitioned into segments with the sameconvexity and a weighted sum of arc over chord length of allsegments is proposed as a tortuosity measure.  2168-2194 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/JBHI.2015.2396198, IEEE Journal of Biomedical and Health Informatics IEEE JOURNAL OF BIOMEDICAL AND HEALTH INFORMATICS, VOL. XXX, NO. XXX, XXXXXXX XXXX 2  B. Methods Based on Curvature Curvature is a mathematical measure for how inflected acurve is at a certain coordinate. Hart  et al.  [13] use curvatureto propose two tortuosity measures which are the integral of curvature and the integral of curvature squared. For future ref-erence, as in [17], we call these measures  τ  c  and  τ  sc . Moreover,the ratio of these integrals over arch or chord length have alsobeen proposed as tortuosity measures in [13]. In [18], the inte-gral of squared curvature derivative is suggested as a measureof tortuosity. These or other curvature-based algorithms havebeen used in most of the recent works including [19], [20] aswell. Curvature-based tortuosity measures are more reliable,but they impose a heavy computational burden compared tothe methods of the first group. C. Methods Based on Angle Variation These methods compute the direction variations of thevessel to measure tortuosity. In [21], the average of the anglesbetween sample center points that describe the vessel (calledlocal direction variation) were used to measure tortuosity.In [22], the same method is used to measure local angles andthe number of times a local angle surpasses  π/ 6  is consideredas tortuosity index.  D. Methods Based on Other Domain These methods are in fact a subgroup of the curvature-based methods. The difference is that unlike the first group,they calculate curvature in domains beside the space domain.Kaupp  et al.  [23] use Fourier analysis and Ghadiri  et al.  [24]use circular Hough transform to calculate curvature. Moreover,in [25] Non Subsampled Contourlet Transform (NSCT) is usedfor curvature calculation. The key feature of these methods isevaluation of tortuosity without vessel extraction. However,they suffer from heavy computational burden as well.There have also been some special cases of tortuositymeasurement algorithms. For example, Wallace  et al.  [26] usecubic-spline interpolation for measuring tortuosity. Other work include [10], [27], [28]. For a more detailed review on differ-ent tortuosity measurement algorithms and their applicationssee [29].  E. Our Method  Our method is a curvature-based tortuosity measurement;therefore it falls into the second group. To illustrate themethod, in section II we define curvature as a mathematicaltool for measuring local inflection. To calculate curvature, anovel approach called the template disk method is commonlyused. In section III, after showing the pitfalls of the templatedisk method, we propose two modifications for amendment of the method. Later in this section, we examine the accuracyof the modified methods using synthetic functions. SectionIV deals with how to use the template disk method andits modifications for tortuosity measurement and finally insections V and VI the test results, the concluding remarksand possible future works are given.   Fig. 2. Curvature calculation with the template disk method II. C URVATURE  C ALCULATION Curvature is an indication of local twistedness of acurve [30]. In the continuous case, for a planar curve  y  = f  ( x ) , curvature is given by: κ  =  y ′′ (1 +  y ′ 2 ) 3 / 2 .  (1)Moreover, for the parametric representation  x  =  x ( t )  and  y  = y ( t ) , we have: κ  =  y ′′ ( t ) x ′ ( t ) − x ′′ ( t ) y ′ ( t )( x ′ ( t ) 2 +  y ′ ( t ) 2 ) 3 / 2  .  (2)Note that rigid transformations would not effect the absolutevalue of curvature. However, the sign may change by rotation.To calculate curvature using a discrete model of a curve,numerical approaches have been exploited in [31]. However,numerical methods are nontrivial and time consuming forlarge data sets [32]. An elegant method for estimation of curvature that has a relatively low computational complexitywas introduced in [33]. This approach, known as the templatedisk method, is further explored for 2D images in [34].Through its simplicity, this method has been widely utilizedin most applications requiring curvature calculation. The basicidea of the method is to relate the area between the curve and atemplate disk of a suitable radius with curvature. To illustratethe method, note that for a point with zero first derivative wehave: κ  =  f  ′′ ( x ) .  (3)Hence, to calculate curvature for a point  ( x,y ) , first a templatedisk of radius  b  is sketched around the point (Fig. 2). Next, thecenter of the Cartesian coordinate system is set on the point toensure that  f  (0) =  f  ′ (0) = 0 . Under this assumption, Taylorseries for points in the vicinity of zero is: f  ( x ) = 0 + 0 + 12 κx 2 +  o ( x 3 )  (4)where  κ  denotes curvature at the srcin and  o ( x 3 )  expresseshigher order terms of the series. Using polar coordinates  ( r,θ ) ,we have: rsinθ  = 12 κr 2 cos 2 θ  +  o ( r 3 cos 3 θ ) .  (5)Normalizing the coordinate system by the radius of the tem-plate disk   b , we get: Rsinθ  = 12 KR 2 cos 2 θ  +  o ( R 3 cos 3 θ ) .  (6)  2168-2194 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/JBHI.2015.2396198, IEEE Journal of Biomedical and Health Informatics IEEE JOURNAL OF BIOMEDICAL AND HEALTH INFORMATICS, VOL. XXX, NO. XXX, XXXXXXX XXXX 3 2c      κ         b 0 2 4 6 8 10012345 Fig. 3. Estimated curvature versus analytical curvature for a parabola where  R  =  r/b  and  K   =  κb . Now, assume that  θ  is near zero,we can approximate  cosθ  by one and  sinθ  by  θ  and define  θ as a function of   R  and  K  : θ ( R ) ≈ sin − 1  12 KR  +  o ( R 2 )  .  (7)Using this expression, we could approximate area  A  which isthe area between the disk and the curve. Define: a  =    10 RdR    π − θ ( R ) θ ( R ) dθ  (8)then  A  =  ab 2 . As it turns out, analytical calculation of thisintegral does not yield a linear relation between curvature andthis area. However, if   θ ( R )  is further approximated by itsTaylor series around zero, we get: θ ( R ) ≈  12 KR  +  o ( R 2 ) .  (9)Ignoring higher order terms, the normalized area using (8) is: a ≈  π 2  −  K  3  ,  (10)and rearranging terms yield: κ ≈  3 π 2 b  −  3 Ab 3  = 3 A c b 3  −  3 π 2 b .  (11)where  A c  is the complement of   A . Therefore  κ ∝ A c . Basedon this relation and the argument given in the next section,the nonlinear estimation of curvature  κ nl  is defined as: κ nl   A c .  (12)III. M ODIFICATIONS OF THE  T EMPLATE  D ISK  M ETHOD As we saw in the previous section, the assumption that θ  is small simplifies (6) and results in (7). However, thisassumption is valid merely if curvature is sufficiently small. Toshow that (11) fails to deliver for large curvature, assume that κ nl  is used to estimate the curvature of a parabola  y  =  cx 2 atthe srcin. Fig. 3 is a comparison of the analytical curvature 2c  (horizontal axis) versus curvature derived by the method.As is clear, though for small curvature (small  c ) estimatedcurvature and actual curvature are proportional, the relationfor large curvature is far from being linear. On the other hand,as indicated by the test results of [34], for error free calculationof curvature in digital images, the radius of the template disk should be large. This is due to the fact that for small radius,area calculation may contain significant error. However, as  b increases, area  A  has weaker dependency on  κ . Therefore, weface a contradiction between the assumption that simplifies (7)   Fig. 4. Approximating area  A  using the crossover point of the curve and thetemplate disk  (which assumes a small radius for the disk) and the one that isrequired for accurate implementation (which requires a largeradius for the template disk).Although we showed that the template disk method is inac-curate when estimation of high curvature is concerned, throughits simplicity, we try to perform the necessary modificationsin order to make it applicable to all curvature values. In whatfollows, two modifications are given.  A. First Modification: Based on Crossover Point ( κ cp ) As Fig. 4 shows, irrespective of   θ c  (the cross over angle of the curve and the disk), the area between the curve and thetemplate disk is the gray area plus the green area. Therefore,area  A  could be approximated by the gray area or  ˜ A . In whatfollows, we try to relate  ˜ A  and  θ c .To derive  θ c , it suffices to set  R  = 1  in (6). We have: sinθ c  = 12 Kcos 2 θ c  +  o ( cos 3 θ c ) .  (13)Now, we assess three different cases: 1)  θ c  near zero:  In this case,  sinθ c  is approximated by  θ c and  cosθ c  by one. We have: θ c  = 12 K.  (14)Thus  ˜ A  is: ˜ A ≈  πb 2 2  −  Kb 2 2  .  (15)Rearranging terms yields the following relation for small crossover angle: κ ≈  πb  −  2 ˜ Ab 3  .  (16)Note that as was expected, this equation is similar to (11)neglecting a scaling factor. 2)  θ c  near   π/ 2 :  If   θ c  is near  π/ 2 , we can approximate cosθ c  by  π 2  − θ c  and  sinθ c  by one which yields: θ c  ≈  π 2  −    2 K .  (17)Hence, curvature for such angles has the following relationwith  ˜ A : κ ≈  2 b 3 ˜ A 2  .  (18)As (16) and (18) indicate, for small curvature (i.e. small crossover angle),  κ  has a linear relation with  A  (or  ˜ A ). However, forlarge curvature (i.e. large cross over angle),  κ  is proportional  2168-2194 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/JBHI.2015.2396198, IEEE Journal of Biomedical and Health Informatics IEEE JOURNAL OF BIOMEDICAL AND HEALTH INFORMATICS, VOL. XXX, NO. XXX, XXXXXXX XXXX 4  A c  A θ        c      (a)(b)(c)yyyxxx Fig. 5. Curvature estimation with the template disk method a) Drawing thetemplate disk b) Eliminating the inferior segment from inside the disk c)Determinig  A ,  A c  and  θ c to the squared reciprocal of   A  (or  ˜ A ). We define the squaredreciprocal of   A  as an approximation of curvature: κ cp    1 A 2 .  (19)Note that for small curvature,  A  is relatively large which resultsin a  κ cp  close to zero. Therefore, (19) should have satisfactoryaccuracy for small curvature as well. For this reason, weconsider (19) it as a suitable alternative for (12). The testresults of section III-C will manifest that this presumption isin fact valid. 3) Other values of   θ c :  As we will show with sufficienttests, the metric  κ cp  has sufficient accuracy for values whichare neither close to  0  nor close to  π/ 2 . Therefore, no furtherexpression is required to treat such other angles.  B. Second Modification: Trigonometrical Method ( κ tr  ) Returning to (13), if we neglect  o ( R 3 cos 3 θ c ) , we have thefollowing relation between  θ c  and  K  : K   ≈  2 sinθ c cos 2 θ c = ⇒ κ ≈  2 sinθ c bcos 2 θ c .  (20)Using (20), we can directly relate curvature to the cross overangle. Hence, define: κ tr    2 sinθ c 1 − sin 2 θ c .  (21)To compare the three curvature estimation methods, notethat the first two methods rely on area calculation which is aform of integration. Therefore, we expect these two methodsto be resilient against noise and return smoother results. Onthe other hand, to get accurate results using the third method,knowledge of the exact cross over point is a fundamentalrequirement. Therefore, even quantization error may widelyaffect the results. This phenomen will be explored in the nextsection. However, this method does not need area calculationwhich is an advantage in terms of implementation. Based onthe above facts, if we should deal with noise-free signals of relatively low curvature,  κ tr  should produce better results.However, for signals sampled in the presence of noise,  κ cp should function better. C. Accuracy Examination Using Synthetic Functions In this section, we compare the two modified template disk methods with the basic method. To do so, we use syntheticparabolas, circles and sinusoids. Note that even though foreach method the resultant range of values may be different,in our analysis of tortuosity linear proportionality to realcurvature is of mere importance. Hence, all test results to bepresented are suitably normalized.In order to estimate curvature for a point on the curve  y  = f  ( x ) , first a circle with center  ( x,y )  and radius  b  is depicted onthe curve (Fig. 5.a). Next, the segment of the curve inside thedisk that is connected to the point  ( x,y )  is saved and the restof the curve is eliminated (Fig. 5.b). At this point, the twoareas confined within the disk and the curve are calculated.The larger area is  A c  and the smaller one is  A . Moreover, thecrossover point of the curve and the disk is used to derive  θ c and this angle is used for calculation of   κ tr . 1) Parabola:  For a parabola  y  =  cx 2 with  c >  0 , curvaturefor  x  = 0  using (1) is: κ  = 2 c.  (22)Fig. 6 shows the estimated curvature versus analytical cur-vature for  0 . 001    c    1 . 5  for four different templatedisk radii. As can be seen (and this was shown beforehand)curvature and  κ nl  are not proportional. On the other hand, κ cp  and  κ tr  elevate linearly with analytical curvature. In fact,for small curvature, all three methods show proportionalityto real curvature. However, as curvature increases, only thetwo modified methods maintain their linearity. Note that thestepwise behavior of   κ tr  is due to the quantization of valuesof   θ c . For larger values of   c , even small changes in  θ c  highlyaffect the denominator of (21). Therefore, the quantizationerror for such values is significant. 2) Circle :  To estimate curvature for a circle, assume thefollowing equation for a circle that is tangent to the srcin: ( y − r ) 2 +  x 2 =  r 2 r ≫ b  (23)where r is the radius of the circle. Using (1), curvature at thesrcin is: κ  = 1 /r.  (24)Fig. 7 shows the estimated curvature versus analytic curvaturefor  20  r  200  for three different values of   b . Relatively lowvalues of curvature for a circle imply that all three methodsshould return acceptable results. Note that  κ tr  is still sufferingfrom quantization error. 3) Sinusoid:  One of the functions that is commonly usedfor examination of the accuracy of a tortuosity measure isa sinusoid. If a sinusoid is given by  y  =  A m sin ( ωx ) , thencurvature for every point using (2) is: | κ | =  A m ω 2 sin ( ωx )(1 +  A 2 m ω 2 cos 2 ( ωx )) 3 / 2  .  (25)With three tests, we compare the analytical curvature with κ nl ,  κ cp  and  κ tr . In the first test, we compare (25) with theoutcome of the three methods for a specified frequency andamplitude. In the next two test, we employ an image of asinusoid and observe the effect of amplitude and frequencyvariation on the estimated curvature. To do so, the averagevalue of curvature for each image is calculated. Note that asGrisan  et al.  [17] claim, increase in amplitude or frequencyshould increase average curvature. Detailed description of eachtest is given below.  2168-2194 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. Seehttp://www.ieee.org/publications_standards/publications/rights/index.html for more information.This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI10.1109/JBHI.2015.2396198, IEEE Journal of Biomedical and Health Informatics IEEE JOURNAL OF BIOMEDICAL AND HEALTH INFORMATICS, VOL. XXX, NO. XXX, XXXXXXX XXXX 5      κ   n   l      κ   c  p      κ   n   l      κ   n   l      κ   n   l      κ   c  p      κ   c  p      κ   c  p      κ    t  r      κ    t  r      κ    t  r      κ    t  r 2c 2c 2c 2c2c2c2c2c2c2c 2c 2c 0 0.5 1 1.5 2 2.5 30.50.60.70.80.91Kb 0 0.5 1 1.5 2 2.5 300.20.40.60.81Kcp 0 0.5 1 1.5 2 2.5 300.20.40.60.81Ktr 0 0.5 1 1.5 2 2.5 300.20.40.60.81 0 0.5 1 1.5 2 2.5 300.20.40.60.81 0 0.5 1 1.5 2 2.5 30.50.60.70.80.91 0 0.5 1 1.5 2 2.5 300.20.40.60.81 0 0.5 1 1.5 2 2.5 300.20.40.60.81 0 0.5 1 1.5 2 2.5 30.50.60.70.80.91 0 0.5 1 1.5 2 2.5 300.20.40.60.81 0 0.5 1 1.5 2 2.5 300.20.40.60.81 0 0.5 1 1.5 2 2.5 30.60.70.80.91 b=5 b=11 b=25 b=51b=5 b=11 b=25 b=51b=5 b=11 b=25 b=51 Fig. 6. Estimated curvature with  κ nl ,  κ cp  and  κ tr  versus actual curvature for a parabola 1/r1/r1/r1/r 1/r 1/r1/r1/r1/r 0.01 0.02 0.03 0.04 0.050.850.90.9510.01 0.02 0.03 0.04 0.050.20.40.60.81 0.01 0.02 0.03 0.04 0.050.860.880.90.920.940.960.981 0.01 0.02 0.03 0.04 0.050.20.40.60.81 0.01 0.02 0.03 0.04 0.0500.20.40.60.81 0.01 0.02 0.03 0.04 0.050.90.920.940.960.98 0.01 0.02 0.03 0.04 0.050.80.850.90.951c 0.01 0.02 0.03 0.04 0.050.70.750.80.850.90.951c 0.01 0.02 0.03 0.04 0.050.650.70.750.80.850.90.951c        κ    b      κ    b      κ   c  p      κ   c  p      κ   c  p      κ    t  r      κ    t  r      κ    t  r b=7b=7b=11b=11 b=15b=15b=7 b=11 b=15        κ   n   l      κ   n   l      κ   n   l Fig. 7. Estimated curvature with  κ nl ,  κ cp  and  κ tr  versus actual curvature for a circle 4) First test:  Fig. 8 shows the graph of   | κ |  and resultsof point-wise curvature calculation with each method for asinusoid with  A m  = 200  and  ω  = 2 π/ 100  where  b  is 11pixels. It is clear that  κ cp  is most similar to real curvature andcurves of   κ tr  and  κ nl  are very much alike. 5) Second Test:  For this test, first a  500 × 500  pixel imagecontaining a sinusoidal curve is created. Next, the period of the sinusoid is held fixed at 100 pixels and its amplitude isvaried from 50 to 200 pixels. For each method, mean curvatureof each image using a template disk of radius 11 is depictedin Fig. 9. As the figure shows, elevation in average curvaturewith amplitude increment is more apparent for  κ tr  than  κ cp and  κ nl . 6) Third Test:  For this test, the same image as the secondtest was used. Only this time the amplitude is fixed at 100pixels and the period is changed from 50 to 250 pixels. Usinga template disk of radius 11, mean curvature of each image wascalculated (Fig. 10). As can be seen, proportionality betweenfrequency and curvature is better seen for  κ tr  and  κ cp .IV. T ORTUOSITY  E VALUATION In this section we propose an algorithm for automaticevaluation of tortuosity in retinal images. Since curvaturecalculation is the core of this algorithm, all three curvatureestimation methods given in section III are used so as to test
Search
Similar documents
View more...
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks