How to multiply a set of spectrums with a vector? #1078
-
Hi all, I have a set of spectrums (could be either a dictionary of SpectralDistributions or a MultiSpectralDistribution). What's "right way" to do this? Right now I do this: After the multiplication I also add all the spectra: -Frank |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
Hello, For the first case, the operands are broadcasted, so you should be able to do that: >>> colour.msds_ones(labels=[1, 2, 3]) * [[1, 2, 3]]
MultiSpectralDistributions([[ 360., 1., 2., 3.],
[ 361., 1., 2., 3.],
[ 362., 1., 2., 3.],
...,
[ 778., 1., 2., 3.],
[ 779., 1., 2., 3.],
[ 780., 1., 2., 3.]],
['1', '2', '3'],
SpragueInterpolator,
{},
Extrapolator,
{'method': 'Constant', 'left': None, 'right': None}) For the summation you could do that: >>> msds = colour.msds_ones(labels=[1, 2, 3]) * [[1, 2, 3]]
>>> msds.values = msds.values.sum(axis=1)
>>> sd = msds.signals['1']
>>> sd
SpectralDistribution([[ 360., 6.],
[ 361., 6.],
[ 362., 6.],
[ 363., 6.],
[ 364., 6.],
[ 365., 6.],
[ 366., 6.],
[ 367., 6.],
[ 368., 6.],
[ 369., 6.],
[ 370., 6.],
[ 371., 6.],
[ 372., 6.],
[ 373., 6.],
[ 374., 6.],
[ 375., 6.],
[ 376., 6.],
[ 377., 6.],
[ 378., 6.],
[ 379., 6.],
[ 380., 6.],
[ 381., 6.],
[ 382., 6.],
[ 383., 6.],
[ 384., 6.],
[ 385., 6.],
[ 386., 6.],
[ 387., 6.],
[ 388., 6.],
[ 389., 6.],
[ 390., 6.],
[ 391., 6.],
[ 392., 6.],
[ 393., 6.],
[ 394., 6.],
[ 395., 6.],
[ 396., 6.],
[ 397., 6.],
[ 398., 6.],
[ 399., 6.],
[ 400., 6.],
[ 401., 6.],
[ 402., 6.],
[ 403., 6.],
[ 404., 6.],
[ 405., 6.],
[ 406., 6.],
[ 407., 6.],
[ 408., 6.],
[ 409., 6.],
[ 410., 6.],
[ 411., 6.],
[ 412., 6.],
[ 413., 6.],
[ 414., 6.],
[ 415., 6.],
[ 416., 6.],
[ 417., 6.],
[ 418., 6.],
[ 419., 6.],
[ 420., 6.],
[ 421., 6.],
[ 422., 6.],
[ 423., 6.],
[ 424., 6.],
[ 425., 6.],
[ 426., 6.],
[ 427., 6.],
[ 428., 6.],
[ 429., 6.],
[ 430., 6.],
[ 431., 6.],
[ 432., 6.],
[ 433., 6.],
[ 434., 6.],
[ 435., 6.],
[ 436., 6.],
[ 437., 6.],
[ 438., 6.],
[ 439., 6.],
[ 440., 6.],
[ 441., 6.],
[ 442., 6.],
[ 443., 6.],
[ 444., 6.],
[ 445., 6.],
[ 446., 6.],
[ 447., 6.],
[ 448., 6.],
[ 449., 6.],
[ 450., 6.],
[ 451., 6.],
[ 452., 6.],
[ 453., 6.],
[ 454., 6.],
[ 455., 6.],
[ 456., 6.],
[ 457., 6.],
[ 458., 6.],
[ 459., 6.],
[ 460., 6.],
[ 461., 6.],
[ 462., 6.],
[ 463., 6.],
[ 464., 6.],
[ 465., 6.],
[ 466., 6.],
[ 467., 6.],
[ 468., 6.],
[ 469., 6.],
[ 470., 6.],
[ 471., 6.],
[ 472., 6.],
[ 473., 6.],
[ 474., 6.],
[ 475., 6.],
[ 476., 6.],
[ 477., 6.],
[ 478., 6.],
[ 479., 6.],
[ 480., 6.],
[ 481., 6.],
[ 482., 6.],
[ 483., 6.],
[ 484., 6.],
[ 485., 6.],
[ 486., 6.],
[ 487., 6.],
[ 488., 6.],
[ 489., 6.],
[ 490., 6.],
[ 491., 6.],
[ 492., 6.],
[ 493., 6.],
[ 494., 6.],
[ 495., 6.],
[ 496., 6.],
[ 497., 6.],
[ 498., 6.],
[ 499., 6.],
[ 500., 6.],
[ 501., 6.],
[ 502., 6.],
[ 503., 6.],
[ 504., 6.],
[ 505., 6.],
[ 506., 6.],
[ 507., 6.],
[ 508., 6.],
[ 509., 6.],
[ 510., 6.],
[ 511., 6.],
[ 512., 6.],
[ 513., 6.],
[ 514., 6.],
[ 515., 6.],
[ 516., 6.],
[ 517., 6.],
[ 518., 6.],
[ 519., 6.],
[ 520., 6.],
[ 521., 6.],
[ 522., 6.],
[ 523., 6.],
[ 524., 6.],
[ 525., 6.],
[ 526., 6.],
[ 527., 6.],
[ 528., 6.],
[ 529., 6.],
[ 530., 6.],
[ 531., 6.],
[ 532., 6.],
[ 533., 6.],
[ 534., 6.],
[ 535., 6.],
[ 536., 6.],
[ 537., 6.],
[ 538., 6.],
[ 539., 6.],
[ 540., 6.],
[ 541., 6.],
[ 542., 6.],
[ 543., 6.],
[ 544., 6.],
[ 545., 6.],
[ 546., 6.],
[ 547., 6.],
[ 548., 6.],
[ 549., 6.],
[ 550., 6.],
[ 551., 6.],
[ 552., 6.],
[ 553., 6.],
[ 554., 6.],
[ 555., 6.],
[ 556., 6.],
[ 557., 6.],
[ 558., 6.],
[ 559., 6.],
[ 560., 6.],
[ 561., 6.],
[ 562., 6.],
[ 563., 6.],
[ 564., 6.],
[ 565., 6.],
[ 566., 6.],
[ 567., 6.],
[ 568., 6.],
[ 569., 6.],
[ 570., 6.],
[ 571., 6.],
[ 572., 6.],
[ 573., 6.],
[ 574., 6.],
[ 575., 6.],
[ 576., 6.],
[ 577., 6.],
[ 578., 6.],
[ 579., 6.],
[ 580., 6.],
[ 581., 6.],
[ 582., 6.],
[ 583., 6.],
[ 584., 6.],
[ 585., 6.],
[ 586., 6.],
[ 587., 6.],
[ 588., 6.],
[ 589., 6.],
[ 590., 6.],
[ 591., 6.],
[ 592., 6.],
[ 593., 6.],
[ 594., 6.],
[ 595., 6.],
[ 596., 6.],
[ 597., 6.],
[ 598., 6.],
[ 599., 6.],
[ 600., 6.],
[ 601., 6.],
[ 602., 6.],
[ 603., 6.],
[ 604., 6.],
[ 605., 6.],
[ 606., 6.],
[ 607., 6.],
[ 608., 6.],
[ 609., 6.],
[ 610., 6.],
[ 611., 6.],
[ 612., 6.],
[ 613., 6.],
[ 614., 6.],
[ 615., 6.],
[ 616., 6.],
[ 617., 6.],
[ 618., 6.],
[ 619., 6.],
[ 620., 6.],
[ 621., 6.],
[ 622., 6.],
[ 623., 6.],
[ 624., 6.],
[ 625., 6.],
[ 626., 6.],
[ 627., 6.],
[ 628., 6.],
[ 629., 6.],
[ 630., 6.],
[ 631., 6.],
[ 632., 6.],
[ 633., 6.],
[ 634., 6.],
[ 635., 6.],
[ 636., 6.],
[ 637., 6.],
[ 638., 6.],
[ 639., 6.],
[ 640., 6.],
[ 641., 6.],
[ 642., 6.],
[ 643., 6.],
[ 644., 6.],
[ 645., 6.],
[ 646., 6.],
[ 647., 6.],
[ 648., 6.],
[ 649., 6.],
[ 650., 6.],
[ 651., 6.],
[ 652., 6.],
[ 653., 6.],
[ 654., 6.],
[ 655., 6.],
[ 656., 6.],
[ 657., 6.],
[ 658., 6.],
[ 659., 6.],
[ 660., 6.],
[ 661., 6.],
[ 662., 6.],
[ 663., 6.],
[ 664., 6.],
[ 665., 6.],
[ 666., 6.],
[ 667., 6.],
[ 668., 6.],
[ 669., 6.],
[ 670., 6.],
[ 671., 6.],
[ 672., 6.],
[ 673., 6.],
[ 674., 6.],
[ 675., 6.],
[ 676., 6.],
[ 677., 6.],
[ 678., 6.],
[ 679., 6.],
[ 680., 6.],
[ 681., 6.],
[ 682., 6.],
[ 683., 6.],
[ 684., 6.],
[ 685., 6.],
[ 686., 6.],
[ 687., 6.],
[ 688., 6.],
[ 689., 6.],
[ 690., 6.],
[ 691., 6.],
[ 692., 6.],
[ 693., 6.],
[ 694., 6.],
[ 695., 6.],
[ 696., 6.],
[ 697., 6.],
[ 698., 6.],
[ 699., 6.],
[ 700., 6.],
[ 701., 6.],
[ 702., 6.],
[ 703., 6.],
[ 704., 6.],
[ 705., 6.],
[ 706., 6.],
[ 707., 6.],
[ 708., 6.],
[ 709., 6.],
[ 710., 6.],
[ 711., 6.],
[ 712., 6.],
[ 713., 6.],
[ 714., 6.],
[ 715., 6.],
[ 716., 6.],
[ 717., 6.],
[ 718., 6.],
[ 719., 6.],
[ 720., 6.],
[ 721., 6.],
[ 722., 6.],
[ 723., 6.],
[ 724., 6.],
[ 725., 6.],
[ 726., 6.],
[ 727., 6.],
[ 728., 6.],
[ 729., 6.],
[ 730., 6.],
[ 731., 6.],
[ 732., 6.],
[ 733., 6.],
[ 734., 6.],
[ 735., 6.],
[ 736., 6.],
[ 737., 6.],
[ 738., 6.],
[ 739., 6.],
[ 740., 6.],
[ 741., 6.],
[ 742., 6.],
[ 743., 6.],
[ 744., 6.],
[ 745., 6.],
[ 746., 6.],
[ 747., 6.],
[ 748., 6.],
[ 749., 6.],
[ 750., 6.],
[ 751., 6.],
[ 752., 6.],
[ 753., 6.],
[ 754., 6.],
[ 755., 6.],
[ 756., 6.],
[ 757., 6.],
[ 758., 6.],
[ 759., 6.],
[ 760., 6.],
[ 761., 6.],
[ 762., 6.],
[ 763., 6.],
[ 764., 6.],
[ 765., 6.],
[ 766., 6.],
[ 767., 6.],
[ 768., 6.],
[ 769., 6.],
[ 770., 6.],
[ 771., 6.],
[ 772., 6.],
[ 773., 6.],
[ 774., 6.],
[ 775., 6.],
[ 776., 6.],
[ 777., 6.],
[ 778., 6.],
[ 779., 6.],
[ 780., 6.]],
SpragueInterpolator,
{},
Extrapolator,
{'method': 'Constant', 'left': None, 'right': None}) Cheers, Thomas |
Beta Was this translation helpful? Give feedback.
Hello,
For the first case, the operands are broadcasted, so you should be able to do that: