Closed yurasmol closed 5 years ago
Hi Yurasmol,
Interesting. Can you provide the raw data files for me? I'll have a look.
Cheers, Paul
Hi Paul!
This is my RAW signal (sample rate is 100 Hz) and the test module where I four times cut 1/3 starting portion (noisy) of the signal. I think that your threshold algorythm get information from the start portion of a signal (noisy in my case) and therefore rest of signal marked rejected.
Yuri
----- Original Message ----- From: Paul van Gent To: paulvangentcom/heartrate_analysis_python Cc: yurasmol ; Author Sent: Sunday, January 20, 2019 5:11 PM Subject: Re: [paulvangentcom/heartrate_analysis_python] Threshold algorythm (#6)
Hi Yurasmol,
Interesting. Can you provide the raw data files for me? I'll have a look.
Cheers, Paul
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
from matplotlib.backends.backend_pdf import PdfPages import heartpy as hp import matplotlib.pyplot as plt import numpy as np import warnings, sys, os from scipy.signal import savgol_filter
pdf = PdfPages("test.pdf") # Create the PDF document
data = hp.get_data('RAW.txt')
f = plt.figure(0, figsize=(12, 6)) plt.plot(data, linewidth=0.2) pdf.savefig(f, bbox_inches="tight")
data = data - savgol_filter(data, 501, 4)
f = plt.figure(2, figsize=(12, 6)) plt.plot(data, linewidth=0.2) pdf.savefig(f, bbox_inches="tight")
f = plt.figure(3, figsize=(12, 6)) working_data, measures = hp.process(data, 100, windowsize=1, freq_method='welch', calc_freq=True) p = hp.plotter(working_data, measures, show=False) pdf.savefig(f, bbox_inches="tight")
f = plt.figure(4, figsize=(12, 6)) data = data[int(len(data)/3):] working_data, measures = hp.process(data, 100, windowsize=1, freq_method='welch', calc_freq=True) p = hp.plotter(working_data, measures, show=False) pdf.savefig(f, bbox_inches="tight")
f = plt.figure(5, figsize=(12, 6)) data = data[int(len(data)/3):] working_data, measures = hp.process(data, 100, windowsize=1, freq_method='welch', calc_freq=True) p = hp.plotter(working_data, measures, show=False) pdf.savefig(f, bbox_inches="tight")
f = plt.figure(6, figsize=(12, 6)) data = data[int(len(data)/3):] working_data, measures = hp.process(data, 100, windowsize=1, freq_method='welch', calc_freq=True) p = hp.plotter(working_data, measures, show=False) pdf.savefig(f, bbox_inches="tight")
d = pdf.infodict() d['Author'] = 'Yuri Smolyakov' pdf.close()
os.startfile("test.pdf")
105.34588654060494 110.9754468961425 108.28445060392482 106.73425292145164 106.2113879495026 105.24517656782751 105.14311833194402 105.8653201941722 105.4741771880265 105.38399487642818 105.2605930103895 105.23707199948673 104.89453462962412 104.80161070875522 104.76006171580266 104.62405625955672 104.54920941093948 104.47129955659108 104.3843924418359 104.0419566978799 103.90898101950516 103.9088627235624 103.7168488920516 103.6827333499123 103.64736597292755 103.47316835375588 103.55215241281121 103.75419961931783 104.03326204643697 104.24521275389743 103.96134519124075 103.55901342156939 103.60161125556048 103.84469742185676 103.76645950194242 104.11700245411706 103.9884056576378 104.08146899696506 103.96024243418204 104.03330105236337 103.85750043868359 103.97958522986282 104.04640280525082 104.09503571728548 104.20808067203393 104.16016161304826 103.97522126126431 103.93577969473583 104.1556488772706 104.34096906138979 104.41716836367301 104.35652236168728 104.45356277834367 104.50044280130057 104.77429331497598 104.90445172996367 105.05303126161502 105.16543803241484 105.31665947064164 105.3714724099 105.50798566651753 105.4801891334076 105.55836209619606 105.36897210796405 105.55738046475004 105.5972642959124 105.83627546915697 105.7921758184372 105.65667930083444 105.96655567843308 105.64632841154287 105.605006938246 105.64254161148796 105.68880934640514 105.64738547946803 105.79637375887097 105.7329034810557 105.84562725155104 105.90966579377898 105.73861656153183 105.85272074588491 105.86121810043427 105.9298689509738 105.96415300956028 105.72135921868679 105.67407560110074 105.73340357811306 105.89050261233739 105.77837929836716 105.54592153708455 105.37113576879095 105.61948774370676 105.735501932304 105.80405982386863 105.83800710779045 105.95391779982693 106.04849105934933 105.89675761935526 106.03565024492524 105.76082734039372 105.8894590494289 105.74498928111024 105.53457597096617 105.54111575469976 105.27551904934802 105.43791070285572 105.55980193738354 105.60763009933125 105.76425732848965 105.71670019909979 105.8181473249443 105.80937109983992 105.73023117474392 105.72326382935482 105.91121562729339 106.01869903385587 106.25328560818114 106.23767798690423 106.01613747644042 106.11292541636723 106.24107423181016 106.43200935295674 106.50054994998942 106.65322278522812 106.91891529661144 106.65669256846097 106.33972864659948 106.16016846727528 105.86784202812233 105.88603291220826 105.85825580523833 105.79743944255635 105.72723545678119 105.54220184338715 105.44273690461742 105.24698660972713 105.22751720509183 105.38726163569851 105.35166607423038 105.42127641648806 105.3450887647225 105.29794728635362 105.32430971568104 105.14516856951239 105.00248176359105 104.8235842200824 104.68799773073569 104.88340925857572 104.79160854590721 104.6014064332053 104.49456070270195 104.53325270732375 104.40333281017898 104.72640559740807 104.73567692120831 104.84933809405715 104.74346661775758 104.47199145541555 104.37245534623139 104.06923974587076 104.22270108474012 104.30968036301418 104.24148942024085 104.46692126864114 104.44996582765555 104.23632101787688 104.51335059638315 104.30243988779812 104.3018776319464 104.64356335729485 104.86033687750495 105.0030669294759 105.08707607721279 105.31318440631641 105.42500087064896 105.50843557259145 105.56851849532363 105.5731960513337 105.66396132094707 105.94751928982056 106.0801340135044 106.07486393262094 105.8536111276135 105.87012404193827 105.9692903938131 105.88486659749913 105.74930619705339 105.89614493528225 105.75521673145529 105.74134352829904 105.47118936608572 105.41342649254582 105.65141054634027 105.59948760315513 105.7768307893586 105.771764764316 105.74209806587037 105.73580993753211 105.80505961242966 105.65998067393345 105.9660265610389 105.6043708327768 105.75706510039558 105.97638153392529 105.71508605018417 105.69631096966843 105.47537855658514 105.19084327694434 104.88315604270002 104.78668244979164 104.64150551294613 104.54671639935633 104.36531497508584 104.33513627925778 104.18853451824887 104.25362768670075 104.52969257322233 104.61545904084441 104.54183470255249 104.41955287739258 104.65271187088163 104.58814944690764 104.64959666662867 104.91597699825896 104.78037288471393 104.85358369424415 104.92861745175495 104.58570034150472 104.64402912287278 104.63678238865704 104.91480780376402 104.80746570842047 105.0579094430525 105.03980482470593 105.27184249159052 105.14214087795143 105.20656621995816 105.19768583112705 105.07996364413832 105.195617804046 105.02299874237974 105.39184761695944 105.48290101448679 105.52798683344561 105.33970373713717 105.47475062004546 105.42648388110804 105.6499569400906 105.60947655245265 105.8217956603959 105.61893392706581 105.49774294026952 105.23657640958578 105.34086092304632 105.47242198962844 105.28669361128381 105.35979624285098 105.2631571841097 104.85653375972603 105.11890958762648 104.96979073579467 104.81935300823663 105.05733209988057 105.14215595112152 105.16958679406446 104.92284121758708 104.93484655645294 104.65878485249814 104.67597433101602 104.38863848162427 104.57010723716077 104.43501752322643 104.58525694012198 104.6131787570065 104.5663287655257 104.58851714089838 104.63194603705483 104.84841083877618 104.99653996961416 105.28101759938059 105.0798534224362 105.1245635327518 104.96426799944558 104.98538989181009 104.9082012479724 105.1522643040797 105.26491102729595 105.57703310621862 105.67391992036889 105.7111243403994 105.67207051062424 105.79476203639213 105.52771733243789 105.55895359353627 105.47856449632769 105.51877307366286 105.41042703777316 105.26057307546891 105.28417543422972 105.22453863469981 105.13053891112816 105.25215072284735 105.42564767350956 105.36539837392446 105.65522724912309 105.36938155460737 105.29986534290771 105.30518901721216 105.33054749219757 105.4038033656206 105.6009826097821 105.27729898480959 105.00124645665161 104.89578056128487 104.88226833034139 105.04756941088651 105.01388831445308 104.9956177887449 104.90986699803005 104.99750798904452 104.91708284198639 104.8546756069374 104.87503129239083 104.69258922102267 104.5359132159526 104.62836717704889 104.52094997060988 104.76948164059435 104.660759563088 104.51270742302057 104.76282993686975 104.82395707584183 104.81548323528486 104.78849882801374 104.6683413882072 104.7195912154034 104.72826491657797 104.52272480744864 104.44940987307069 104.23025755035704 104.12557421081618 104.3352925099672 104.30592323506897 104.0733778146817 104.11459127545733 104.00467939787718 104.0051695732634 104.02092796353016 104.05375024805014 104.0161045676453 104.02401227560094 104.09849505431507 104.15475034380408 104.0807699757398 103.95334057932571 103.76124320114633 103.66789314944383 103.67953877456328 103.83421250272832 104.01023336340796 103.73288399987685 103.97374969331396 103.98122038408785 104.10593320896527 104.234427921559 103.97312321840434 104.20840062243481 104.25148355547094 104.21688551552317 104.40287390789885 104.49469276763139 104.22013644018705 104.45610317189362 104.58792572826644 104.79033795329765 104.92683599660191 104.9614925028053 104.82690778190424 105.12694172576953 104.99615085563914 105.08787314692616 105.18066342081768 105.16216254788428 105.26807664648193 105.3228737898205 105.60575727270677 105.65552920658668 105.91045138772346 106.11271086305639 106.24452446630573 106.56212250297102 106.67986288429069 106.6597608172083 106.57578111684681 106.47720823238454 106.67420106619272 106.36935464122475 106.15724751075848 106.14224401110542 106.49334172548046 106.53149127636642 106.47461112757647 106.49148695028464 106.49316574126271 106.5043173715613 106.30861320197018 106.57537522680367 106.44949934993974 106.25236711386543 106.16596728574085 106.23316719687779 106.17075028426864 106.18854624155519 106.22024402628904 106.15253355008441 106.02037371261791 105.87764928589073 105.98850313294813 105.96386014644881 105.78550633030653 105.29448559053132 105.22333044709379 104.87709898415646 104.85193540908033 104.77276238237393 104.38936052277175 104.21066269966752 104.16561886775492 104.01497083900364 104.08231750034209 104.0631976634554 104.14974477186595 104.38838057200967 104.5460118804227 104.28705969547423 104.32272410566502 104.33393793171524 104.32927281237882 104.23298247871865 104.1651031410577 104.42812744251913 104.57077968605842 104.55317378009812 104.83002028267292 104.76208799953419 104.75885557856122 104.79836124754762 105.00463055506007 104.76011350006738 104.96074874459083 105.10260408524744 104.96567851569158 104.8228429792245 104.83762383993623 105.02947627242145 105.15699636144663 104.97640005316086 105.05305985240692 105.06978902118539 104.77232938608626 105.00241196847502 105.27888537969379 105.3039391598022 105.59184852857047 105.76385190132451 105.75185842210963 105.77407862941557 105.7856744380908 105.71321818372712 105.62322225887864 105.83139262936533 105.98872633330531 106.09147606936193 106.0855906732607 106.21955583521925 106.13085471763594 106.6126862652322 107.05617691696271 106.95550964289214 107.02269804104094 107.3529372521444 107.4677505297334 107.39109968485586 107.65187227683607 107.68421915024265 107.97169403359355 108.62627429499746 108.86989281116938 108.86563374834536 108.80410073230928 108.90941096578325 109.00277770833932 109.09789948935754 109.17472146770145 109.56070509353866 109.76313787001632 109.84856895198732 109.85773769713747 109.93557232087079 109.60575063357194 109.51333128864147 109.71567858927402 109.53053409400844 109.52950700005985 109.61208164091923 109.3745064391545 109.06977053733624 108.96231490396275 109.11808713715455 109.25552020313158 109.14709870982189 108.59944445962171 108.22559282562916 108.17883347718096 108.26012013704114 107.96002258633071 107.85396249658903 107.74493292234176 107.6551516940633 107.63323864362921 107.14111527203089 106.82193219576126 106.70032852092771 106.56984836902427 106.56186052333938 106.3997081631855 106.47785578700463 106.2865325202318 106.09522845614437 105.95840041889976 105.65637414391176 105.3911895809895 105.26244896845112 105.17642172519872 105.34373202238238 105.33030429235816 105.13493641003434 105.07750036206096 105.23795728744479 105.1036591725538 105.34446808469473 105.26064862455233 105.30641938797385 105.1957484780066 104.86660731754054 104.95941085797261 105.17444819785574 105.88264617192742 106.4342699435348 106.553719646244 106.22893708124018 106.20186190385051 106.22027100243493 106.06120338771659 105.93170065883594 105.9461024029768 105.96149657281413 105.90528212986095 105.94503570449268 105.76504033390609 105.95770413514542 105.93314075578145 105.9694775197857 105.95327216069381 105.9153832623856 106.10647781549432 106.06471726348015 106.06008768107279 105.89981277028134 106.1038228057213 106.1674707984936 106.223855258876 106.30517895993917 106.11992671247293 106.14197343000492 105.80644312989729 105.90949755292341 105.77656285967872 105.84430690129172 105.76156305480285 105.61302951170974 105.26125227308148 104.45257735743829 103.88873472075088 103.58732607717613 104.08948344747505 104.03986137672767 104.11384824576531 104.10336153963132 104.38694423595513 104.51427735847449 104.53609644794545 104.7831284526313 104.60501233066488 104.71648944024592 104.51352068886816 104.55858278608677 104.58472733193636 104.49766453832162 104.51818409540513 104.1973541502875 104.29375813353629 104.4922153650863 104.87123520271174 104.74673180832468 104.74767940200411 104.82926827900583 104.86732901060161 104.9689153383004 104.93267443448295 105.08109036586066 104.9692284425473 105.13384770343593 105.16676199992973 105.18368959740087 105.21651643322812 105.39425109381976 105.53510550011555 105.69697687598116 105.8658252816784 105.53556892426764 105.40447929285726 105.25267314448999 105.34669744373552 105.22656486149823 104.956647070856 105.09674568110178 105.02695156209377 105.24474961696335 105.1991704599912 105.30211892231864 105.16058624416836 105.32051105039402 105.55183418005883 105.5000623104374 105.7578027675736 105.54302121012401 105.48646552152586 105.18657196266926 104.91776537897545 104.96182970841538 104.7956426471489 104.79532395444508 104.67349893909696 104.51903142985954 104.3895963201267 104.73850499330786 105.06909559253992 105.31752896533901 105.39364347337288 105.39402879055314 105.31886135415537 105.37379101313752 105.02075328999558 104.94373067344647 105.05239948842951 105.17109391621601 105.34137382847804 105.42331647036798 105.50245061079902 105.63228589328902 105.40914489117931 105.19399485082033 105.2080081793903 105.39868030525183 105.38110556634743 105.3418776496299 105.11371607262286 104.89793927052773 104.85230693272729 104.65802161880241 104.83141028703169 104.56049125252339 104.44829246062788 104.58772064980523 104.59241057756687 104.41417787250288 104.40382070081155 104.45372858643084 104.60059885510987 104.62124672692266 104.27806307722472 103.89684090619602 103.75760888659738 103.58651029295602 103.74011248509183 103.71814449725669 103.57265920314352 103.73105618381116 103.65103840804561 103.503133151389 103.61808628502529 103.52899315976637 103.52243143760838 103.08993973804607 103.01611416245582 102.99702913621199 103.21476352485756 103.10674378776795 102.92729021407973 102.90282593121 103.24456181655873 103.36616667011485 103.48405229398044 103.50548874832788 103.46042823853755 103.42301780394595 103.67605200200347 103.98839855416718 103.90752682873327 103.93791953649665 104.11009446694264 104.24917976281564 104.3873429307046 104.39068666911784 104.44211235938322 104.7264037283559 104.67388148547462 104.4893465943385 104.87465130362321 104.76702540764154 104.54452293804849 104.52608554776505 104.53558761836572 104.58682325395137 104.51711698171424 104.55926358101442 104.39992149223943 104.39729075096179 104.70966512512825 104.72840251523843 104.7949236127294 104.78038431918144 104.85200029017481 104.98257927684828 105.33842286218275 105.37127067774203 105.60774416617649 105.65463976860681 105.71916314522844 106.09309030052694 106.2019390382283 106.14130895833611 105.68321142550356 105.82647385514424 106.00961998268474 105.74359114177743 105.23921937979591 105.00233557462514 104.91675249390512 105.03331543097873 104.92367542658735 104.87888039015506 104.98824131593497 104.7643952679606 104.87026248434029 104.98630174754915 104.99999505561685 105.1420066168946 105.10569939682539 105.31781989129779 105.28857874191763 105.34763628224177 105.42917787744841 105.2036214752186 105.39659917479784 105.23753918409608 105.1913332037506 105.11827499691172 104.82142096618561 104.52589030705535 104.46975689125942 104.21920324059414 104.33133827864174 104.30818854136874 103.92133914850456 103.93974150053656 103.83878051836824 103.97143547241292 103.90693184681108 103.76031139008136 103.93786963946381 104.40675351370905 104.39105348544041 104.46487032729267 104.32652902698875 104.3508649097187 104.34387131300329 104.32671488653618 104.30988243615877 104.29902884641042 104.16505330212867 104.24058707822851 103.97460580565169 103.95048104719565 103.95614003158143 103.74304450380374 103.78487504697503 103.67288986216326 103.72064641980921 103.7190306221086 103.84243783692752 103.95162599676611 103.90406731741592 104.20679944906117 104.31778478880584 104.33875945946353 104.3217462671458 104.23249753251645 104.27070414230975 104.40589554668574 104.34869310778463 104.49554736497439 104.67008518334328 104.72478149206306 104.72963942742633 104.84256307187245 104.68089359244361 104.83181704524624 104.90888682489498 105.10957644386693 105.0132369672558 105.07149794812169 105.07341499903464 105.28488822448207 105.13318659137286 105.40176888037529 105.4572701030852 105.57251726826478 105.70756089060849 105.81119445290523 105.8923959596645 105.99951128033535 106.04640233332431 106.27680786555072 106.30098995869666 106.27854297911341 106.13263177710358 106.22225208151436 106.13740703943185 106.024956322988 105.79326793052243 105.71263943349706 105.55327737115432 105.47871910873619 105.44112027769987 105.47914039391533 105.39607493086623 105.42503954841189 105.16553422144169 105.16827275746655 105.20649917760649 105.28965620248943 105.28826693995873 105.09212520538397 105.14568812455089 105.23972712556815 105.18120411122781 104.83757708604907 104.56945085456785 104.83200206511191 104.85108052295878 104.75270129787809 104.737697945785 104.67638791896842 104.47819592449845 104.43503211485412 104.26587556593563 103.93186098664948 103.92474786802946 103.85943696822241 103.91606201635346 103.87204420033954 103.62973664459408 103.63261858233051 103.55908564616652 103.64533707713494 103.71186277614416 103.73424601628234 103.70271234410441 104.01698947965136 103.86509998115949 103.85225761758079 103.56114778081444 103.91503740368596 103.83351755038777 103.86657131087021 103.73971068569074 103.66410644860719 103.79459027450146 103.5636874058785 103.60570853483279 104.16844714222347 104.85829925479216 105.08031765062641 105.12555048394582 105.14165878850909 105.15267279190184 105.25030439880163 105.281967102468 105.553078162958 105.72473749442551 105.9298931954752 106.10676429092567 105.7774432617891 105.65622044593498 105.45015744049981 105.5150532350538 105.80113111036022 105.73261242080949 105.69401593705447 105.69827816378974 105.69166540805831 105.88231027842289 106.00064077133153 105.81765919200879 105.8321131267186 105.77019578976311 105.98595467300935 105.92820239357492 105.9565956069806 106.29073743500766 106.50225818982828 106.44849765936198 106.42626759056544 106.52842618317504 106.30281352531102 105.70738214115083 105.31446837095756 105.26260103538942 105.15786523618853 105.26039642883939 105.38209743778583 105.37750297255468 105.23314807739067 105.15455556055517 105.08644178153403 105.19559379100605 105.36851623852444 105.60536778002287 105.75139516424777 105.85979217686555 105.90089636306442 105.94235068342918 105.72364397359995 105.64357429941178 105.45522247598791 105.38688494062528 105.21249683753699 105.15718662048864 105.17970252485928 105.20853246593477 105.34777475158216 105.2203268496466 104.87658215262282 105.00000571739255 104.56416125364811 104.45402419346087 104.4793906236125 104.55756262238708 104.64277109087321 104.62589768163832 104.7473984693761 104.79253336993384 104.6945054347735 104.64852372841993 104.55806867255393 104.5284766259048 104.43533479661933 104.47245924359136 104.44379794802515 104.30015723326011 104.03393879262028 104.17097412533118 104.08013026785618 104.15754396619818 104.23567849736277 104.07732413071618 104.05375330389228 104.49077184900227 104.58110181227786 104.74391171913922 104.89489711275284 104.80015970599638 104.764805425242 104.74969055057385 104.73246540284352 104.7706495495791 104.99911971748041 105.30204009282484 105.26565059137563 105.28808648297084 105.04944679663821 104.85231536521412 104.68610643035322 104.46374118421535 104.52048783385345 104.68390253560526 104.57791429094729 104.58832147880796 104.40528617835126 104.13506408600749 103.93597766153499 103.90998921140476 104.14228645716116 104.26721766476497 104.4242273359746 104.59251352721142 104.46424993138423 104.71722956944717 104.67375036328724 104.7542712540328 104.81732915471478 104.73938642324681 104.48490567585908 104.43489034799398 104.42828209089431 104.14418424793617 104.4709608204855 104.47234912671422 104.3495710856159 104.43166691805375 104.14661037082281 103.97924750976067 103.9118505800159 103.9552549866282 104.14391189878003 104.46495478778299 104.79228929179149 104.65620973912277 104.71778927370752 104.86962215976679 104.59044731067253 104.7700277013826 104.74984505999777 104.88714727410614 105.02339211415845 105.05698038491771 105.20446280700205 105.21987654350285 104.82726489825137 104.68989989264863 104.52987479672512 104.29124525039086 104.14792993219403 104.02101330352683 103.95499856209828 104.21059776082527 104.04795407058164 104.1790987232912 104.4406484480712 104.4941483010794 104.71090473517029 104.67705885873282 104.60765611715586 104.59018894046146 104.5986292066066 104.59809721654733 104.78561919436144 104.81803347503877 104.52709411815545 104.44128606711247 104.3996680983809 104.35739637984194 104.54572802441182 104.3317653204666 104.3134231613324 104.33972816714774 104.33463173689472 104.40303825006968 104.42176678586081 104.45381511849045 104.48367186341936 104.26538730167967 104.15797371756321 104.25572006369066 104.31318589114579 104.51402445388732 104.49766150964825 104.5070644128334 104.34263278383172 104.26520453803694 103.97012791566192 104.09691280170512 104.0529309760012 103.94713938407904 103.64483580231932 103.76818605045062 103.60802328580472 103.79161961860515 103.73672551248347 103.82295124952365 104.08082898479174 103.94677537162067 103.81382945645021 104.12311835714755 104.24451737587002 104.13609081708175 104.10588839796321 104.43218380119976 104.55482129750304 104.42414455448491 104.62636890853817 104.44958466166874 104.47173032309779 104.50553204757854 104.60028420973237 104.67156213268471 104.94819782118385 105.02501624879497 105.09467578373798 105.27389343839774 104.94083320516388 105.2275264170481 105.0634217321707 105.37721377212544 105.42319864620198 105.58724975432028 105.74911794839633 105.70055981792571 105.77494743728978 106.17798980160194 105.90098687747673 105.87477788622726 105.68114660436792 105.91318215554017 105.90104479233194 105.87163500401688 105.74880422890597 105.78033401515489 105.51147408571163 105.38928374071332 105.25575400616178 105.2179189093093 105.02203074792733 104.99904316850142 105.26361383561023 105.30180878909331 105.54144480423038 105.5130806229764 105.63898798835038 105.47477892124576 105.66714982062476 105.48151579843623 105.32325232952337 105.45567865476846 105.43401052057379 105.55955598769 105.45615561158363 105.65557451766028 105.63883332338042 105.73309866875294 105.74996212277989 105.57055247008631 105.6679546047004 105.75977590241537 105.58992885941409 105.51429955616067 105.66090510933088 105.70584798169895 105.67158593243833 105.67533156286692 105.57844619393144 105.6773342282627 105.59533450027223 105.52852988505842 105.37072631164126 105.59429491018727 105.65492819102094 105.54898609248289 105.7852366559706 105.55618012612689 105.54496322688748 105.18758094113653 105.15779604694697 105.02192528645047 105.02129838450671 104.88525737030193 104.91132203791375 104.87214160790876 104.87368911141577 104.65258445152946 104.69194371384349 104.628638523441 104.52350769216302 104.78463368539039 104.75379491091185 104.45369197200048 104.49049754124266 104.3985772943668 104.0972539833038 104.17030720995474 104.43392865059849 104.55614646505342 104.53501376867085 104.41593925453009 104.35514819819174 104.32450168615446 104.30229394907178 104.4190042422769 104.70277144608893 104.86048538787136 104.62807526851032 104.60527995130865 104.71766291990548 104.40508452226382 104.40664436474442 104.39513764722275 104.50183653820348 104.45575911431199 104.42424178159801 104.45891348588704 104.32055787774563 104.13032716231788 104.2886774854752 104.15657589588125 104.50528656163237 104.38523857674585 104.13356794849498 104.17965948123272 103.79338274775682 103.63948960429941 103.61841815677136 103.42384069830042 103.5443187860281 103.85214455533752 103.81234949358895 103.81947063622636 103.61201823417642 103.56963309770124 103.70765939855774 103.7554468564958 103.94549230324718 103.92888046573358 103.96713163557506 103.8865134270323 103.94495088282243 104.27786121416236 104.33227986297001 104.1868538664384 104.25504675164841 104.2973243117636 104.1781841746707 104.16231619112924 103.9547537169864 103.91161613491559 103.87481301703667 103.61892483836995 103.76291416429268 103.64392909594464 103.54275908138241 103.33833330996868 103.48744117435871 103.62481599533824 103.46879556180774 103.55628917932404 103.605719456683 103.67837164849493 103.90896774755016 103.89849328845237 103.70252981863753 103.79330334887489 103.96755754876745 103.84915559765547 103.85536516817324 103.74746177836815 103.91848521191058 103.76245235358078 103.82131035637465 103.99947278881588 104.12257006184961 104.00343738813774 104.21353002540167 104.17277208541545 104.48664358877113 104.74390878917623 104.78884389652546 104.95422344143827 105.078587611018 105.28577603576039 105.3772025111425 105.58014019731164 105.83400549239127 105.99202494834934 106.02278926587707 106.09330519685369 106.34546034541398 106.51213524945881 106.85553902602133 106.96079822625566 106.7804894407422 106.57943325367695 106.8889176990871 106.91308454154516 106.69879889823348 106.88781056559718 106.66925049267466 106.57730066708397 106.51360190809852 106.53905732687744 106.74421764305646 106.51025842033597 106.49741729215457 106.5316445445907 106.26993608995674 105.932393714387 105.89428124768567 105.78941756881734 105.91807985695876 105.79475511259051 105.78452541124959 105.78203512113728 105.66484104698915 105.58222684893126 105.5141911457746 105.30799542682539 105.17893201913955 105.01180815318472 104.76771533696977 104.6968364145065 104.67945914695065 104.54377567615752 104.70607852492311 104.4655154157746 104.51024339288213 104.60356094115954 104.89504657144023 104.57803443741057 104.4910025040488 104.52518957677295 104.28939039834079 104.32277284890863 104.13226585844029 104.23172957263311 104.26718627823351 104.05859836084353 103.97866497013173 103.99746942942913 103.77041042323775 103.92440379744302 104.00760668348524 103.94843201271489 103.66375097428188 103.66434123167134 103.42075766091229 103.33077076942442 103.32915392751919 103.35502210400055 103.72606107471915 103.64665322663448 103.6425497109724 103.58441356870564 103.63341274627791 103.70707298896001 103.69914319899452 103.6416919939116 103.45609779312652 103.19966452427437 103.36264286914398 103.3573795111472 103.51462730587149 103.27857085850269 103.37938206145832 103.20198425215308 103.46437549253999 103.47415185264428 103.60216807689085 103.67052548217251 103.67935782940835 103.86452029866625 103.87404745505056 103.8416692038411 103.9412648098219 104.22509822042132 104.24410103605443 104.38282166852419 104.37238485717522 104.67252610486281 104.46432393475008 104.54572038623267 104.40716917188229 104.40099442412316 104.26565992958488 103.82693631218542 103.9652532011168 104.20285594404176 104.25001460137044 104.3422044712 104.25350041730206 104.24927782676932 104.13835257300467 104.02490470611565 103.89859255196032 103.90016725731184 103.75268432676246 103.59253876057684 103.81836197948397 104.01244618658038 104.44662055074843 104.26567858135796 104.2583749821046 104.17867296394918 104.07675102661982 104.1422907558926 104.02047766977255 104.08590013921031 104.0135654507025 103.88989321174891 103.63423978210605 103.63874363066576 103.6840055305786 103.81015549729047 103.55357911477401 103.7671024358258 103.51924222544565 103.9919728742092 103.80264168773324 103.83238680606155 104.03804354265047 104.02081497881603 104.01601556693217 103.88931003061427 103.95865236558565 103.93479176160349 104.00302554589669 104.15197860368853 104.06167783517692 104.02923536870586 103.82415596586966 103.71931363451623 103.72712702075232 103.849147890212 103.61134008939784 103.61673474660279 103.73870480417202 103.67996461481555 103.60807980313655 103.56738306234692 103.46336523826639 103.53397989258676 103.44453111331882 103.5787655587864 103.63034040456584 103.72579334829648 103.61465652862219 103.74532192491488 103.65980993220676 103.70787604782194 103.67167751284123 104.01354448463016 103.62379175430704 103.55242518957063 103.69542336489889 103.44070139501865 103.32470364087139 103.22006977290424 103.3628434777127 103.51565929542555 103.70288727351311 103.60038691415721 103.75453218885282 103.94805953150565 104.25281899798445 104.40238635171019 104.8054454615586 105.07376975983703 104.88127381515669 105.04699879729158 105.06876580896039 105.14694656988324 105.493966895703 105.82069899742618 106.01835552866744 106.27645354645618 106.26312467764645 106.58768940701106 107.00209839809774 107.34711166074784 107.33411660300355 107.54243303414583 107.37368903042031 107.42304115215084 107.79436399755944 108.03239566466972 108.22143878511898 108.51834834521938 108.98200460733123 108.97686823137312 109.45914736004325 109.91823671949398 110.29544479551006 110.57915741264542 110.67954363720413 110.94521760915595 111.23569807771817 111.43692773305749 111.76676674225767 111.8307555636067 111.99378736524704 112.36882744638777 112.8230779500037 113.53718352400114 114.0772558855992 114.68370479949733 115.07473076791189 115.33534473730215 115.66883183747639 116.41113887999047 116.94495934602145 117.16500494329394 117.73520988574226 118.17939239452218 119.88264869668295 121.13185744791369 122.17961598308986 123.05586012071618 123.66670776481577 123.8743098640902 123.86079231443038 124.22763675657716 124.41537870864789 124.25438713731054 124.28557638316137 124.07252635250973 123.66731555900704 123.26137983506085 123.03891633935639 122.78938995645973 122.66634894153134 122.64195741145052 122.41820840445213 122.05982342785745 121.69525440804178 121.35368937405784 120.53306229601733 119.909793780299 119.21264732550746 118.6048605042615 117.76556229359363 117.31082104261641 116.8751346413351 116.12263960813978 115.2253849001325 114.6057985407451 114.36981704853503 113.54337927507908 112.81972435840551 110.7227625125271 109.67261907915008 108.65307879969133 107.98984693176993 107.191115399811 106.57932796946027 106.17591594352896 105.58394912401083 105.40224708821388 105.35064739644383 105.28868955413466 105.25230052352964 105.45252714642355 105.67733561116587 105.4788311405211 105.62529436850858 105.47895713517694 105.32830060778805 105.29908027787626 105.22307402210154 105.48670494041713 105.39302492846953 105.82275221432786 105.88847045062776 106.25340798510972 106.37069162662523 106.38051951972837 106.26840004118682 106.21589142393981 106.55181751303043 106.67543762233754 106.67980458963405 106.6583465296651 107.13821827400506 107.2183839433165 107.37164195816868 107.12977304961612 106.89675379552239 106.88878343149054 107.21959815629334 107.39328086171928 107.54178922114616 107.61173942825097 107.47712533680578 107.44942430909943 107.51182840097772 107.56904409798479 107.52935964225335 107.52453005001927 107.54719105400798 107.59564368104584 107.8745671898646 107.90939781406217 108.00258087671972 108.28603477435603 108.24908851007653 108.4206879656263 108.39677832401237 108.39021101406057 107.84151489001475 107.78999088878166 107.91959527020991 108.00683420303179 108.24209723884493 108.25967553396302 108.78471580757939 109.31534311343957 109.81648033680581 109.55471574220957 110.09706028115792 110.50258911597103 111.4062885825338 112.30861969925095 112.5949553824303 112.98942306763234 113.23760134102474 113.25160059033689 113.55175045215388 113.88570062328957 114.35051229058773 114.61582099352464 114.70078397364017 114.84438449139938 114.93543520805468 115.22546232035513 115.22554870205639 115.28353058669445 115.45250667414678 115.48418184050318 115.43324437437148 115.44376078508677 115.54622655723286 115.34845492543421 115.31693651160833 115.72627814785542 115.79869995767729 115.76206774058504 115.86864270520022 115.7468934190045 115.58939002141966 115.22599001380041 114.62601123121269 113.9881109578134 113.79147060809062 113.24282918566342 112.89079288451383 112.32306232329229 111.4785855536836 111.07616905638204 110.69900908306114 110.17228658584986 110.31052834236002 110.06731564378242 109.58814732070955 109.18314021090228 109.34165996413493 110.17376714456782 110.50427447682662 110.78711538289056 110.60422905762067 110.67631055636026 110.36094021418695 110.43584568696231 110.20424499568223 110.14918405358064 110.09774903396871 110.256585905807 110.4537371452545 110.32616842873585 110.06817140916615 109.89351793824949 109.82272554848156 109.62551907634095 109.41770657673882 109.26686181753425 109.12859987225893 109.13539738929944 109.15680632698052 109.16250184321936 108.97735957480316 108.95183732341661 108.64213642582861 108.56013068374818 108.23683345617192 108.03955587136217 107.90306398103428 107.76234367723062 107.64903254381831 107.50231946247273 107.6377379756423 106.89578646369543 105.96920873481322 105.62381683559931 105.11928951553419 105.05660013994058 104.90300420073143 104.84770214242864 104.55712435364244 104.6556693441337 104.58466045757994 104.61752561632005 104.33048171248772 104.18253015951777 104.37728304066809 104.34395389380605 104.42666972575113 104.52594231151927 104.60799839326255 104.79659193921492 104.95485665905397 105.02333899365233 105.10645211211731 105.19489394026442 105.144455532121 105.16364672354553 105.16695988987362 105.34702543818506 105.32349814663037 105.71715875707923 105.85829282482277 106.25011874721001 106.56466906904211 106.97526998578839 107.11375717080068 106.83061337225949 106.98842168409791 106.99423648106679 106.9075408340317 106.94846773196872 106.9325806348524 106.84700381235886 106.9763006021591 107.133091681658 107.18166849325469 107.56737746176634 107.31590427909688 107.28497840832377 107.44539215232659 107.60567501442854 107.51015307100758 107.57820111759578 107.5645302940605 107.65953494912081 107.43020564868709 107.42607402683815 107.25141589512617 107.15556120245814 107.07582568888763 107.35776879238716 107.23903725777238 107.3630064103252 107.25642578951127 107.31502056401337 107.25419737031847 107.2875864011618 107.20376138743153 106.65727452560343 106.30128025396412 106.32967840725446 106.25286826037578 106.25419299177143 106.05601459559455 105.89349331260466 105.79777963825369 105.85931271784699 105.75821976248163 105.5574251948584 105.42379132980528 105.43584240091722 105.30088096794529 105.36233285993762 105.56523437975635 105.7177052946369 105.35723849833761 105.6984407485005 105.48874675934881 105.2564667623954 105.02391699991726 105.13054859067392 104.79520186812093 104.86997156657615 104.859267282892 104.87378257308242 104.53656187038776 104.57154820310255 104.19815993092611 104.1981839661208 104.29018988705168 104.07671435294142 103.96859912186623 104.14946517810056 104.33549397463767 104.32499968720082 104.28857214172068 104.5849239031755 104.54293034443923 104.72433248786582 104.71658946260072 104.7472888635473 104.64459665257436 104.64170195912818 104.77552457819037 104.93439210870572 104.84241810408476 104.56855543685869 104.7530878212507 104.63073056184855 104.3833857711447 104.4393093557226 104.12791804849438 104.22282738291429 104.30471416037274 104.27315711891883 104.32271171230427 104.73761372702442 104.84316769821642 104.85743352255305 104.97466080642585 105.22468298511197 105.41963610690138 105.6800528811097 105.786816510986 105.73824769728341 106.09760896348202 106.0843403001617 105.85460085291956 105.69869567492707 105.74326968615715 105.9955808723495 105.923845518839 106.03077286399572 105.92009247159383 105.86032358667303 105.91054442962135 105.9557369733747 106.12710981707463 106.0223468768839 105.96850108317379 106.10166074534021 106.28400547789471 106.55979743185736 106.95719937635252 107.17361085084269 107.90938074416769 108.415848329622 108.5201252572989 108.89733298152645 109.18522334461952 109.49964090728882 109.61623942718522 109.59535113859584 109.94730237603484 110.0554157696906 110.05484584531052 110.26169670151414 110.51224955589669 111.40489993718764 111.9267767916756 111.60228900615105 111.93083019895901 112.22370412157223 112.64729306226353 113.40041276808238 114.44645012274168 116.30802214345687 118.22319977293805 119.51903051934416 120.24466898847861 120.38846304708534 120.63681225489397 120.78672798123587 120.99967452814396 121.16355195297008 121.02493581114696 120.84384830806269 120.36499938778483 119.66499181137725 119.39514940914819 118.86990921258418 118.54126760759357 118.39843539900716 118.12603164957454 118.11858525279808 117.97829236296162 117.78753545655634 117.58878522357485 117.29904524101183 117.26357212489253 117.20775713582516 116.98175317294204 116.84004389833638 115.94294905129405 115.59713498744037 115.60343616870347 115.37612603622756 115.09501823036767 115.01720047494827 114.41947279573431 113.54859383581021 111.99638992501919 110.20841134313503 109.58449448729449 109.58267832048209 109.69273726218975 109.73132755830687 109.72575015041993 109.83194231933895 109.82277473952999 109.9965525420411 110.29332333673372 110.80384882165747 111.27582916598091 111.22526104122784 111.23091644122562 111.14908731328198 111.16388736233309 111.21017332829679 110.8755665879787 110.62974051953286 110.63202574369856 110.80872315785088 110.90249395171556 110.57647984636674 110.64362736973223 110.7706625187772 110.65388044153627 110.73265197573535 110.72585381105624 110.82842532508245 110.68179376347476 110.77612251731959 110.57321015937042 110.31395748169821 110.0430679419277 109.62995227370594 109.62596796237212 109.00712213248926 108.34476226319183 108.18429987656417 107.91801456314757 107.65618026899766 107.3160047549529 107.02324916606672 106.95061417983733 106.71078928771362 106.31564327085573 106.29903158822117 106.48326979163346 106.12501379667083 106.25250770425345 106.25492602913059 106.12582604670807 106.39038502272174 106.41422725005025 106.49297660735924 106.47578691495448 106.51126168180348 106.7092883931891 106.6137139146512 106.38550637284685 106.36626971198535 106.17125291855537 105.9347814528752 105.74962759701482 105.82503272371913 105.85552114123246 105.7261020947576 105.58861048516957 105.34770545043241 105.41595024522418 105.06046167796433 104.9483288302882 105.0624450840034 104.9285733845155 105.23816357068901 105.32728943777408 105.45014939613223 105.54142940187955 105.388808609963 105.45499648711994 105.55677792222953 105.45255284760503 105.10075838818057 105.18117715558296 104.9621683183717 104.89072162747215 104.94818915154256 104.91519690995176 104.87965511798545 104.88394337727054 104.864939633988 104.74865413460907 104.65253328401111 104.53268654199087 104.79867781654656 104.64500764005932 104.88747829159416 105.06265589444938 105.19041167191097 105.18035894957535 104.97742237530038 105.1733494860026 105.28310901482614 105.35157657630089 105.32841750678142 105.4662723603509 105.46066108185445 105.44273293036649 105.30153826331639 105.09682997718615 104.97588236807262 104.88220476262636 104.8375318532089 105.04278006390868 104.94136245790439 104.7382561773265 104.52320705922068 104.74943484172756 104.79704237536085 105.1238701066363 105.21995945383237 105.1962760855311 105.15439667048878 105.11345437728862 105.06766219919056 105.30232279906402 105.285775939762 105.4325006997544 105.42349718699282 105.23330361702176 105.39033025118661 105.31011502932422 105.28104761811112 105.27210361852629 105.13079533906712 105.1070685656982 105.33676649270826 105.43851294141848 105.48672740682026 105.4287350858359 105.51617145073861 105.56863918804787 105.76270711943636 105.78264573676363 105.76225169447851 105.74055978208791 105.86893679379332 105.7336819406987 105.5341792659391 105.50603677575016 105.65345834317216 105.97195294917346 105.98107482671212 105.99201707592688 105.8721030175789 105.86370800445525 106.03662209251792 106.00434449265754 106.1373541883084 105.92232513045914 105.57303879611325 105.54765585019031 105.4953630545043 105.54701159107492 105.50995165674837 105.52103322859249 105.2147047759645 105.09385192951311 105.07547247130593 105.25753086697291 105.44465504648859 105.1903266839137 105.1893412884931 105.05851377843115 105.21240036503363 105.26537198577148 105.38777789360444 105.25680167144485 105.21137898652978 105.14699737262194 105.10690737516448 104.99303354442793 105.08678286514417 105.01062169375435 105.08162240506658 105.14993541655741 105.08220614672236 105.0112634266419 105.0725124210673 105.0461530770352 105.0428329739973 104.87528113797605 104.75265575294702 104.57140950831435 104.83777170988145 104.99443017449403 104.98539262372272 104.94644341627237 105.0132057029405 105.13552032009451 105.1412399956526 105.18163868783127 105.31667232657435 105.27579571218685 105.27624194219084 105.20526274398502 105.28094777594909 105.37339688016493 105.55218283570262 105.38690849615955 105.20268359561602 104.97347562361792 104.73939376618493 104.94505271541698 104.96906519006755 104.94948518932338 105.07524325437691 105.20732216005125 105.3904230304691 105.4811115317893 105.42495502229522 105.34510541187053 105.27232951481861 105.1958814361054 105.12806272696233 105.23026615039778 105.31373905562442 105.3662888657067 105.49185086235684 105.44400731659697 105.340802308354 105.221447243109 105.48954721091292 105.40694505653724 105.33340080210559 105.24736775738506 105.37585483715505 105.24055694863682 105.3359865844419 105.16192583141488 105.50056031874436 105.36322996859789 105.1795200494303 105.13660273453029 105.33991045375392 105.4553041861598 105.65646948416452 106.03729808386859 106.27154900571455 106.38445800158537 106.54067872863737 106.4673011981415 106.43499776655878 106.55299864315074 106.48885879204812 106.3473852044619 106.6683739330994 106.82708394821803 106.95024533098996 106.90992128033194 106.89214410155172 106.78634277432465 106.93655219674827 107.04686958749107 107.24366283220738 107.39519966237465 107.56316325810938 107.42777288549495 107.41182444876836 107.35901558727254 107.16405982497747 107.12973479378606 107.30496543607173 107.43770012006595 107.51930561606405 107.31249452344936 107.41682744685039 107.32860269116824 107.18713961200972 107.20803796173037 107.3263408711412 107.09700018699841 107.02701000569601 106.68996573317963 106.58736451907072 106.70469865473818 106.80579348324204 106.95691600331281 106.7779750709905 106.70062698297352 106.57405535271226 106.36269602039762 106.34545369121017 106.0058920552905 106.17882332025009 106.3198481688811 106.25631660502047 106.2444684007768 106.16379477346867 105.85556553610404 105.80537337961884 105.82510893722171 105.78325808378634 105.76126897134654 105.67398928409001 105.68986425039309 105.806932975014 105.62061405743528 105.49790892175572 105.35200936025072 105.13945294670403 105.20530948754056 105.38127777386526 105.54151675042412 105.51322569855478 105.28255336568631 105.5242027175648 105.29574424160229 105.47202200156494 105.54086347150367 105.46207367781865 105.42398124235868 105.21311989600856 105.29430968018168 105.42293171471906 105.6419193349094 105.50930830083091 105.48338293244858 105.72543247174116 105.57468559948192 105.47245282488623 105.6495450826197 105.64405089095446 105.75646070762079 105.9681684870882 105.82206144339038 105.8934716957589 105.79053509781754 105.77221449213363 105.78464861058771 105.89772230502389 105.89323265416644 106.01903333943399 105.99394017117343 106.05305217158656 106.20600516133975 106.02076112384073 105.9252650002083 105.83155753536548 105.8322274677217 106.07862005092132 106.11892728345535 106.34554134455895 106.37520090020362 106.50255067115202 106.54975849572682 106.571676122897 106.6422777680355 106.63193230641903 106.67159935284651 106.56867328226028 106.61614431285241 106.97875663364475 107.04552421894074 107.27826561747166 107.20327988642 106.93611889672559 107.02885974671054 106.96416073858718 106.84566118882596 106.81910548194438 106.7526333202419 106.93863732800794 107.06915804996308 107.12309803585747 107.09122016421232 107.03299430268915 107.00869354672588 107.18726756602352 107.27949434214061 107.20101052490583 107.302354218671 107.16005454927726 107.36632415435434 107.38280625636374 107.33004371161053 107.22292600110666 107.0939548420911 107.05066976841636 106.9734480607814 106.97107204154854 106.94781122712014 106.79953204885483 106.79840466925745 106.63629514436774 106.89051188071234 106.83493428105781 106.62035589850373 106.52798563338717 106.35151043158487 106.41143128729271 106.52082552871902 106.43857252348526 106.55320864366024 106.70047614849166 106.82810181869836 106.75644656417225 106.6677571584342 106.56529766517515 106.80550537084753 106.77839838435239 107.04445847278109 107.17188600722471 107.07585771500992 107.02897657289648 106.89209825097728 106.7419525934444 106.73727526719824 106.51446808819207 106.53860328942646 106.43093392566426 106.3715406363035 106.63128050568052 106.88679468114876 106.72025553206711 106.81378834979348 106.66565547489431 106.90781687449055 106.79786295932973 106.85012971463811 106.74514501783392 106.70089851455306 106.63887764218778 106.51213035257484 106.59610350220161 106.4015051671615 106.24901002740103 106.34151729992853 106.02919887711772 105.82693475659718 105.83828258241533 105.94554866350475 105.87330101734923 105.91041861487552 105.70385741560007 105.72262353172268 105.43867932039582 105.20407301293305 105.07114004223378 105.33676511307362 105.41125883611969 105.60777036708717 106.06091320874846 106.3104952276394 106.27901378348382 106.25422262078513 106.22782010902631 105.97676197572963 105.58888492878054 105.86242223141521 106.09159368470752 107.12635158249756 107.28535841433427 107.69981386796164 107.86795784470429 107.75578944702404 108.04213837157941 108.31918335586649 108.53310922483998 108.66418403554074 108.81733188962802 108.95209414144817 108.76911544794325 109.07474985125177 109.18101916740777 109.18635258824746 109.07958354825212 109.16556419032665 109.2380240342103 109.10085043370911 109.3222711302485 109.36670320195624 109.63635042571892 109.85601416028908 109.54008715120673 109.49425131926523 109.38648284892162 109.22565137993745 109.04740966576382 108.9956722841314 109.10300663124865 109.259305442001 109.33990753050965 109.53279063193797 109.43880170412716 109.0896710965586 108.24481284209446 107.79295926869436 107.52418760782624 107.37882725944309 107.55646870140414 107.49951276578551 107.20473606821002 107.245648019228 106.865722939259 106.73169006871285 106.91030021129598 107.0351417171886 106.78671366014377 106.7195035841549 106.69242286671438 106.59510023968971 106.49747465798202 106.38759576204588 106.37548697260738 106.20897519445701 106.06111859613907 105.72258560526878 105.48620653758344 105.48530045190786 105.47976944777285 105.61952570083538 105.52729789407873 105.53048000650335 105.60286545246494 105.4383839935102 105.47232268382027 105.46136117971554 105.41509180385599 105.04550715625231 104.90006336992872 104.95917581568665 105.09781008711109 104.89895424069178 104.79427013058732 104.50399612582827 104.35148846241151 104.24312377212024 104.08654727315889 104.38594735908168 104.59987054437423 104.48887082033367 104.4796667314577 104.56275313328553 104.48946415351776 104.37505795095925 104.38093263366311 104.4821631637582 104.30201347742853 104.42283140202746 104.38204910443096 104.34249934485608 104.3221989304941 104.45045135280587 104.50245746678125 104.57751760587387 104.28660793189549 104.28647555549034 104.3430002013523 104.09627082316293 104.14859194661824 104.0309209414373 103.89301346498785 103.75104558748619 104.14030216334179 104.23369089485712 104.16621009070552 104.11379499740602 104.37305580698612 104.42325525640103 104.55975051805652 104.4875124162662 104.45418074557105 104.28594328371769 104.23341345434783 104.0479181568562 104.04865296156187 103.9274400912443 103.83539335432357 103.95898651363774 104.21176097030762 104.34237936687057 104.38126719306555 104.64713293398016 104.81810052179026 104.87780969652488 104.89036928679184 105.00388715631179 105.05167943394203 105.09480634625503 105.09267085670028 105.19865751476026 105.20138157192658 105.19591536490684 105.20824244329206 105.25146570203678 105.27373912390206 105.63488477190157 105.8392082801654 105.6221364973153 105.4780826482124 105.36173152682656 105.41208465498798 105.20905031226005 105.28884139815466 105.50095105941432 105.30406349241574 105.37009674642842 105.73200435056758 105.56839149985466 105.5723881894299 105.53513278604633 105.41227339696063 105.54585681414528 105.37426300141756 105.13085479818555 105.30627078149739 105.1901125163199 105.17764615404946 105.12046999343686 105.041735962891 105.06371790812995 105.18099746643333 105.21865803464695 105.19685065304202 105.35638498301303 105.33969908538035 105.22481637320801 105.21556201611014 105.20697863534525 105.24146222706197 105.24229207321751 104.78745106307666 104.72069871826334 104.42286581239664 104.52775059646763 104.5835601566324 104.53556777692059 104.60018962896747 104.63217226824544 104.45788332820628 104.72620135087031 104.47712094283905 104.34848975066309 104.5053955890223 104.56299897624051 104.4815770838276 104.74799960059507 104.7137130105492 104.90766442496542 104.98794714715127 104.66277234193997 104.68660177545138 104.74669388734637 104.62791255835913 104.66343526999077 104.87209265297535 104.57436183714547 104.46076245101743 104.52962423638823 104.46870001054629 104.68293773295356 104.82006920123362 104.67041878050796 104.67782067539953 104.74862992109281 104.74156879737043 104.98723660495068 104.84117817441523 105.38861761585099 105.58054589763567 105.80619923814916 106.07057488052071 106.2512495264215 106.2269622548927 106.08472823354059 106.20005605509401 106.58256508923607 106.61554827571867 106.6585027607472 106.50819906461136 106.8022975428037 106.68199802352164 106.87520161948751 106.82099445537605 106.83942494320675 107.07374000917318 106.96266364654332 106.85522594481837 106.94418804414082 107.00855738459009 106.8486604978087 107.05514763884068 106.98792016385235 106.99342519145443 107.1594046227152 106.81974310044451 106.72058176679782 106.96086361925602 107.16344191852245 107.23160612187885 107.26130625750692 106.99855765002957 106.9452770771511 106.76491304932314 106.48570629709351 106.34830368294197 105.95628785398014 105.66711949327379 105.75672265140496 105.79865217469327 105.63967753855164 105.36225910762204 105.18999201662082 105.06857910169094 105.06798636377967 104.97915924501457 105.04756272876791 104.80108825127063 104.7527378532781 104.87343746914341 104.65892178189543 104.77242944154288 104.58827831984163 104.26553473347504 104.2899029848564 104.4495542335664 104.43029900340323 104.44039137622197 104.2470140484485 103.88552150874386 103.97758582362 103.93130081877058 103.68314015294801 103.54899726077812 103.18087600402949 103.23755636693095 103.28400925530352 103.19663727602781 103.1833937105035 103.21404873110717 103.12925410315759 103.09988383549697 103.16644601179178 103.11338888470183 103.15347403968697 103.18422721827167 103.2721977635104 103.39225460727805 103.25845324558006 103.26552477037431 103.18496160646893 103.20962723168937 103.29878041755521 103.34980095179364 103.23061892221152 103.32757998817863 103.39754683311526 103.63627911013165 104.0494109143358 103.99499198307907 104.02088733513138 103.99846817239458 104.1366306565237 104.3048605026846 104.4084858825136 104.42513523070932 104.62145193650922 104.82847632279793 105.29972102576971 105.52232898179156 105.70369121310576 105.9429679923059 106.22189464628602 106.41110892064738 106.71472065252635 106.76004335858909 106.95341433687638 107.04817744405796 106.7864228838752 106.9173299480198 107.1280817897239 107.05641697251151 106.95521059838804 106.98839018399453 107.31681599300204 107.41715091337538 107.32034912441597 107.3314996421954 107.41988438144911 107.28703317508774 107.3459554589735 107.25120244882274 107.17702528936022 107.1562740938654 107.23379647064968 107.05009472418725 106.93070792758306 106.72818394250116 106.54371503059271 106.45927510446278 106.56958944730427 106.38584185195107 106.31602086786599 105.77735105293225 105.73525189792309 105.59543413643198 105.55188734164187 105.56283880868557 105.42746935933984 105.17553193741581 105.01737766220191 104.88073519559481 104.6448251761115 104.6963180858258 104.59746702569069 104.4429439370925 104.64994581854744 104.7531568550922 104.7046534289581 104.4632707629441 104.48832040885604 104.49371160193974 104.43782358413675 104.23571878915386 104.25155688126097 104.22875308956438 104.06124559158246 104.15116653058323 103.82743904324607 103.83659744960991 103.84725079691438 103.97955445442514 103.99698567236936 104.37114735397084 104.6426331717445 104.64242342010836 104.87450855522181 104.88237974368579 104.94283123525638 105.03553796992405 104.84019617000455 105.01111127825023 105.01199887910364 104.82793240747779 104.88158756696386 104.72947609773655 104.85242855348332 104.98522605150875 104.94311549255683 104.87261960344868 104.98066805497533 104.97171573049215 104.95427828972272 105.19712108547205 105.14177850843184 105.14428377994506 105.20546842317509 105.12227249587689 105.26075437627259 105.36048459923701 105.2584183668456 105.43656214947718 105.28057842860889 105.46808923316132 105.41191547161156 105.29487113252412 105.29070166952651 105.27797691816765 104.97303479705151 104.86632089072538 104.98084438207165 104.81336676588296 104.69865483177797 104.92160491606603 104.68885773276126 105.08922689978343 104.85294965043339 104.77913839850788 104.85806948591971 105.03188769142379 105.13721790764968 105.22180787906339 105.40440317610994 105.54609452486295 105.7731377755952 105.47111610439849 105.5819915267413 105.56840037559397 105.63445476385661 105.76086760099113 105.69294811345578 105.31478004436198 105.43389971850631 105.51115003661327 105.30588399343287 105.42785918849506 105.4224938612506 105.29846497337174 105.32163134190058 105.2139697727685 105.43980971257871 105.34322042837474 105.39950569941625 105.43120412561822 105.14415944763077 105.00002141874229 105.0024361072215 105.15340287051563 104.91646692606237 105.08083022066126 104.71235965487843 104.75608298121796 104.71613538454544 104.57256941449432 104.37682380861554 104.46642508471861 104.46690277061893 104.28973028052197 104.27075393838957 104.02206632827703 104.125553960654 103.99513359011016 104.22393163333822 104.06141728972436 103.9372210551913 104.16601043341407 104.74828847816362 104.71754976925892 104.487758900647 104.57605843195425 104.51362734997073 104.4314036563937 104.7471166210801 104.76210459912178 104.98964998912963 104.8104194355857 105.01294499096934 105.02013109955207 105.0719448513312 105.18481965963092 105.18411251069033 105.13304756810408 105.21649263435103 105.0785218735294 104.97520031854812 105.2831613520531 105.08228355914012 104.92547474915418 105.17440553060653 105.12855175512016 104.8408558653707 104.61000355967077 104.8531052400355 104.94304547971471 105.12702079654703 105.19973379336697 105.29991913244437 105.08572545598382 105.22054574177311 105.44306504603203 105.24539650723017 105.02406551862535 104.98628981706872 105.25680489552482 105.50492435671562 105.65968142559848 105.56599554498779 105.4134590676985 105.2071713668598 105.02498619240676 105.28210745981892 105.38881582365879 105.40409049866523 105.40016861529313 105.56998984550138 105.45543791793278 105.412679549575 105.31652097312758 105.46921077787908 105.7966238035964 105.49905217956098 105.58249616574767 105.71210417164805 105.76563326719581 105.70382873616884 105.93149796781077 106.10356085346893 105.93131593426028 105.88999250519112 105.9218508886518 106.01482918542652 105.94673791691405 106.03096513043813 105.76613478536969 105.78863890330872 105.61458868366864 105.35450551789882 105.45369356519737 105.30331046063912 105.40747742160303 105.31544775707951 105.42850677348864 105.56950237485448 105.76903653146081 105.68902963060685 105.66663866993923 105.45484997513672 105.29832903263356 105.23224216512934 105.14011178601385 105.06789391962208 105.21384662123698 105.2194043668899 105.29810926537768 104.98614385520094 105.12368845449153 105.23476522846227 105.1353313201373 104.85668833636485 104.80523873899742 104.98645550866415 104.91992628438481 104.85754554989084 104.84735411037038 104.74337065328811 104.70644773241366 104.680528675941 104.67931442805197 104.94819270937748 104.83780454949536 105.02313804920455 105.25091439261276 105.04848789362767 105.01875565669516 104.75514797527077 104.4621197042304 104.40926977712019 104.09949542139726 104.03307923902037 104.38370456231902 104.20970599963242 104.17735386799419 104.45276448685074 104.52881628292927 104.6909308445972 104.84839509260368 104.82637905787358 104.90711445910244 104.80520174148333 104.94086690518604 104.89330964882775 105.22556893344274 105.28536493862549 105.33316266157864 105.74690173106646 105.87190343938053 106.03290259882253 106.31229825559262 106.61997902556898 106.8642274626423 107.05577387369998 106.94066987649606 106.9766085260125 106.93179172313671 106.79791736126019 106.7905018419555 106.85179744489227 106.94617305997345 107.15116223088108 107.17471581726576 107.56638694677322 107.71648799058497 107.88808221807201 107.86635722063326 107.66474498048152 107.7439544855363 107.60233128556509 107.42457663071126 107.2552149043899 107.25918202476313 107.30553811858695 107.43663782996764 107.5513251800333 107.77323337744168 107.55726239712132 107.52518210017425 107.24864384031827 107.27712606007404 107.39517713090004 107.06123783160908 106.72685523263465 106.66165201698078 106.2779169561626 105.97145261954496 105.90087406570424 105.6708652640467 105.83803519661481 105.77541286084202 105.77955604812065 105.71972807322295 105.73011137401959 105.66938963454056 105.58276286819229 105.18801050530051 105.18456064688915 105.0771361694206 105.17911137495004 105.32453733114023 105.22715350262635 105.27161796995954 105.36600408501671 105.67824983622533 105.78512440666744 106.06648196651241 106.22160515963945 106.07895508038756 106.02590654377407 105.79289692676359 105.57882834476482 105.60028905172689 105.48910962442247 105.41711354868255 105.31811404559492 105.18978698367418 105.24028131445795 105.37572363335946 105.22589799382175 105.45037952495795 105.41292257544568 105.2368239661337 105.05607287964654 105.05647973369008 105.05962720589716 104.97069283296968 105.27596900863145 105.53083699086444 105.68695251995834 105.65440366570469 105.78383298939339 105.76674500003014 105.85339181935251 105.853009030425 105.63062327272526 105.73285521119647 105.61980958511526 105.70487524833246 105.60774273445892 105.42665452627041 105.24922389906538 105.28489084404987 105.19849744639738 105.10023458862767 105.17926577773567 105.21868246435302 105.48288809473456 105.59596385173339 105.75794984521444 105.92443726784563 106.16856511919977 106.5518203008341 106.56338430003767 106.53099138231303 106.52195166501538 106.54552359840142 106.35191338852484 106.37754310323892 106.37003927641449 106.30739672207979 106.37752928349084 106.16162995479947 105.98071729013947 105.57075992202984 105.69157162820203 106.03078555337818 106.20695338749412 106.09366575466446 105.97257295128459 105.98354625799388 106.18223593427973 106.24075613004928 105.94947654357324 106.12943341544191 106.23335550840443 106.11829669587705 105.87207518819993 105.85865305171454 105.92406766552305 105.87365935641566 105.9529042820676 105.73046793505064 105.83829104803374 105.63194219029202 105.64607755838499 105.4915467531264 105.18771300400833 105.08712641917994 105.13377426081641 105.23408118280625 105.19821452833638 105.27471422565638 105.54405961051592 105.34706804699817 105.45305715043824 105.35460296564054 105.45429409348212 105.05383525257837 105.26592697609205 105.22990258982468 104.87775297540496 104.4101877334828 104.32174377731113 104.36431235124859 104.75722000963553 104.6593535116216 104.78871654706201 104.92673682551377 104.53416314807613 104.58407933757036 104.85683452662197 104.8158452952808 105.12404966383436 105.154561168456 105.18193333525669 105.1248680150183 105.2943864916754 105.1180862834434 105.21431652676982 105.0968653116508 105.02551035674264 104.74415506178772 105.1091805992765 105.21944077867732 104.88868675402283 104.99159022430966 105.27531433030504 105.14589997347193 105.19527666810632 105.0246226306514 105.25229047131587 105.19549179839598 105.54057577365596 105.71711988094091 105.86416994591615 106.1857941544788 106.76017226108551 106.97945187888278 106.7658602952799 106.58390034192168 106.57868649354282 106.49647195310754 106.65984354675246 106.95880312273526 107.0995686559683 107.06227198478818 107.09186184006207 107.12215097459034 106.96027340515545 106.90438929212057 106.94563624282205 106.6929288946593 106.62710015424489 106.46872628528689 106.32221494429531 106.5068341042372 106.68997301606291 106.42203749995404 106.40364498410092 106.71983064220711 106.81754885376533 106.59221546555104 106.55961661446598 106.81665775655765 106.83044859829334 106.74793923685085 106.76971608056405 106.74443763778042 106.61582311224066 106.58588908785246 106.21550789810115 106.16303553496195 105.95572607934989 106.22693233661421 106.1020020976252 105.90875688021278 105.63172837968374 105.38091144600686 105.16609945482952 105.04341984643946 105.09512646632633 104.92869824880663 104.80363109978033 104.90278254692522 104.86658585576765 104.91156548673023 105.02477077541187 105.16437688714912 105.13982927603092 105.28488822214668 105.2348619238051 105.28869910384327 105.25787263021157 105.26859247921858 105.04576587482283 104.96527655888231 105.01533888013667 105.03826937807096 104.7698911380182 104.82918800039567 104.82140741046486 104.72383086793177 104.58325984374525 104.36923288063248 104.48458726619394 104.64242394468974 104.35585674229615 104.26960209043355 104.12339054380276 103.94674293087981 104.07699742464803 104.4631138557694 104.44013039035497 104.71625376084732 104.64560950541906 104.47469569590594 104.47494213667862 104.48820731069875 104.47007929279914 104.52477467318718 104.24977773329773 104.1072735627994 103.95469421568674 104.0913446982385 104.22876057046733 104.17978946130206 104.2797609668083 104.18043615205733 104.17174314223719 104.18677347377138 104.18252855958825 104.27640879768833 104.28039492502975 104.25300895801013 104.43920389330209 104.30205052733452 104.4741131147431 104.52720010990663 104.80466111752773 104.4605487801334 104.45537454187304 104.6522389693807 104.8823729162469 105.05221494623018 105.35807702327469 105.48535827596466 105.53160186085171 105.78700017373426 105.64784574683763 105.87536664673004 105.97000788677902 106.35180815214748 106.40227752886126 106.47733685890236 106.67403080843107 106.75965083419781 107.15940689981778 107.57680102498495 107.65771996003647 107.5475870135325 107.63468251562529 107.42304664143363 107.51506507472088 107.54767630379565 107.62361154745716 107.38180850345235 107.18325378004988 107.46905807065501 107.62603214197027 107.34802914681889 107.46019773396957 107.4128588134985 107.40258700883508 107.31124900574973 107.52663047575363 107.4709998709268 107.34667752145981 107.45189078026274 107.28103680119746 107.15027202969986 106.97342269143799 106.7357349061167 106.36082918362659 106.38437221849217 106.17595914344838 106.22194469698049 106.01304357626672 106.20873455756545 106.3599286074663 106.11776440859933 106.15290175019253 105.8816784566315 105.61947555487143 105.56019420453329 105.75020932951007 105.73087761838171 105.87044473206961 105.88826061313166 105.87361981684838 105.91117683751277 106.22724168389608 106.39193974019352 105.81177425947324 105.65885920693759 105.78477295233336 105.59338642990082 105.5367464716324 105.4792799167018 105.54162111115 105.35223589399624 105.45637547380562 105.45589396600363 105.22920962443548 105.05620426862303 105.13673948551269 105.172991914582 105.03344133909106 105.04418975218837 104.8999760376271 105.00111380840158 104.9003176893209 104.76588640572191 104.43106774131103 1
Can you send the RAW.txt file to info@paulvangent.com? I cannot open it from here.
Cheers, Paul
Yes I see what's happening. It tries to minimize certain parameters globally. Usually a process that gives good results by default, except when a large enough portion of the signal is noisy like here. I will flag this since the current method needs to be refined and I need to allot some time for this soon.
For now a solution is to use the built-in peak enhancer enhance_peaks
and butter_lowpass_filter
filtering methods:
import heartpy as hp
data = hp.get_data('RAW.txt')
filtered = hp.butter_lowpass_filter(data, 5, 100.0, 3) #third order butterworth with cutoff @ 5Hz
filtered_and_scaled = hp.scale_data(filtered)
wd, measures = hp.process(filtered_and_scaled, 100.0, reject_segmentwise=True, calc_freq=True)
hp.plotter(wd, measures)
Yielding:
As mentioned it is a suboptimal solution that throws away a portion of the signal. I will close this issue and make it a point on the to-do to refine the methods.
If the first stage of signal have the distortions, the second (good) stage fully marked as rejected bad_samp.pdf good_samp.pdf