python BaselineRemoval 改变修正后的y值
python BaselineRemoval changes the y value after correction
我正在使用 BaselineRemoval 库来校正 CA 通量信号数据。
我无法理解为什么 y 轴值会发生变化。你能告诉我为什么吗
蓝线是原始数据,橙色是去除基线后的数据。我使用了以下代码和数据。
a_org =
array([664300000, 686100000, 667900000, 655000000, 602000000,
546500000,
532600000, 496400000, 469000000, 430700000, 416500000, 423300000,
622900000, 662200000, 679200000, 662600000, 630800000, 581100000,
531100000, 509500000, 469600000, 445200000, 424700000, 398000000,
383100000, 629400000, 668200000, 663400000, 639100000, 620700000,
564600000, 514500000, 499500000, 472800000, 441100000, 428000000,
406700000, 412900000, 627900000, 652900000, 663100000, 633400000,
586400000, 557600000, 511200000, 470300000, 445900000, 415400000,
388200000, 370300000, 498300000, 625700000, 647600000, 645700000,
628100000, 579800000, 516100000, 490300000, 456800000, 424000000,
399200000, 378300000, 362000000, 561600000, 629000000, 636300000,
626100000, 604500000, 557800000, 507700000, 463800000, 449300000,
398700000, 378900000, 377200000, 364600000, 591000000, 633500000,
636800000, 619600000, 589100000, 540800000, 498100000, 460400000,
418400000, 395900000, 397500000, 388100000, 366000000, 589600000,
632200000, 620200000, 597000000, 568600000, 517600000, 496000000,
456800000, 436500000, 407300000, 380600000, 363100000, 357500000,
592500000, 620500000, 615700000, 591900000, 549500000, 516500000,
464200000, 440700000, 402500000, 388400000, 365000000, 359400000,
384100000, 586700000, 609700000, 605100000, 587500000, 549700000,
497300000, 455000000, 441800000, 418100000, 386900000, 373000000,
358000000, 424400000, 591300000, 604800000, 599000000, 569200000,
537600000, 491600000, 455200000, 422800000, 392900000, 367500000,
352400000, 332400000, 480300000, 584100000, 595600000, 583100000,
552000000, 510400000, 471100000, 424600000, 421500000, 392500000,
377900000, 360000000, 340900000, 513500000, 570700000, 581400000,
574500000, 543900000, 503300000, 449700000, 421300000, 405600000,
383900000, 357600000, 342800000, 335600000, 530100000, 582000000,
586400000, 570900000, 523600000, 482100000, 458100000, 415600000,
382800000, 367800000, 347600000, 358100000, 337100000, 529100000,
576200000, 582000000, 562600000, 527400000, 478600000, 436600000,
402700000, 394800000, 367600000, 357000000, 331700000, 355000000,
542700000, 566100000, 564400000, 543900000, 504200000, 470800000,
434600000, 415100000])
from BaselineRemoval import BaselineRemoval
polynomial_degree=2 #only needed for Modpoly and IModPoly algorithm
input_array = x_org
baseObj=BaselineRemoval(input_array)
Modpoly_output=baseObj.ModPoly(polynomial_degree)
Imodpoly_output=baseObj.IModPoly(polynomial_degree)
Zhangfit_output=baseObj.ZhangFit()
print('Original input:',input_array)
print('Modpoly base corrected values:',Modpoly_output)
print('IModPoly base corrected values:',Imodpoly_output)
print('ZhangFit base corrected values:',Zhangfit_output)
plt.plot(x_org)
plt.plot(Zhangfit_output)
plt.plot(baseline_values)
plt.plot(baseline_values1)
BaselineRemoval 将分析数据并尝试从值中删除估计的基线。这将减少 Y 值。您可以看到橙色线已经减少,因此每个周期的最低值都在 0 左右。
我正在使用 BaselineRemoval 库来校正 CA 通量信号数据。
我无法理解为什么 y 轴值会发生变化。你能告诉我为什么吗
蓝线是原始数据,橙色是去除基线后的数据。我使用了以下代码和数据。
a_org = array([664300000, 686100000, 667900000, 655000000, 602000000, 546500000, 532600000, 496400000, 469000000, 430700000, 416500000, 423300000, 622900000, 662200000, 679200000, 662600000, 630800000, 581100000, 531100000, 509500000, 469600000, 445200000, 424700000, 398000000, 383100000, 629400000, 668200000, 663400000, 639100000, 620700000, 564600000, 514500000, 499500000, 472800000, 441100000, 428000000, 406700000, 412900000, 627900000, 652900000, 663100000, 633400000, 586400000, 557600000, 511200000, 470300000, 445900000, 415400000, 388200000, 370300000, 498300000, 625700000, 647600000, 645700000, 628100000, 579800000, 516100000, 490300000, 456800000, 424000000, 399200000, 378300000, 362000000, 561600000, 629000000, 636300000, 626100000, 604500000, 557800000, 507700000, 463800000, 449300000, 398700000, 378900000, 377200000, 364600000, 591000000, 633500000, 636800000, 619600000, 589100000, 540800000, 498100000, 460400000, 418400000, 395900000, 397500000, 388100000, 366000000, 589600000, 632200000, 620200000, 597000000, 568600000, 517600000, 496000000, 456800000, 436500000, 407300000, 380600000, 363100000, 357500000, 592500000, 620500000, 615700000, 591900000, 549500000, 516500000, 464200000, 440700000, 402500000, 388400000, 365000000, 359400000, 384100000, 586700000, 609700000, 605100000, 587500000, 549700000, 497300000, 455000000, 441800000, 418100000, 386900000, 373000000, 358000000, 424400000, 591300000, 604800000, 599000000, 569200000, 537600000, 491600000, 455200000, 422800000, 392900000, 367500000, 352400000, 332400000, 480300000, 584100000, 595600000, 583100000, 552000000, 510400000, 471100000, 424600000, 421500000, 392500000, 377900000, 360000000, 340900000, 513500000, 570700000, 581400000, 574500000, 543900000, 503300000, 449700000, 421300000, 405600000, 383900000, 357600000, 342800000, 335600000, 530100000, 582000000, 586400000, 570900000, 523600000, 482100000, 458100000, 415600000, 382800000, 367800000, 347600000, 358100000, 337100000, 529100000, 576200000, 582000000, 562600000, 527400000, 478600000, 436600000, 402700000, 394800000, 367600000, 357000000, 331700000, 355000000, 542700000, 566100000, 564400000, 543900000, 504200000, 470800000, 434600000, 415100000])
from BaselineRemoval import BaselineRemoval
polynomial_degree=2 #only needed for Modpoly and IModPoly algorithm
input_array = x_org
baseObj=BaselineRemoval(input_array)
Modpoly_output=baseObj.ModPoly(polynomial_degree)
Imodpoly_output=baseObj.IModPoly(polynomial_degree)
Zhangfit_output=baseObj.ZhangFit()
print('Original input:',input_array)
print('Modpoly base corrected values:',Modpoly_output)
print('IModPoly base corrected values:',Imodpoly_output)
print('ZhangFit base corrected values:',Zhangfit_output)
plt.plot(x_org)
plt.plot(Zhangfit_output)
plt.plot(baseline_values)
plt.plot(baseline_values1)
BaselineRemoval 将分析数据并尝试从值中删除估计的基线。这将减少 Y 值。您可以看到橙色线已经减少,因此每个周期的最低值都在 0 左右。