Skip to content

Fix FastICA

Cédric Traizet requested to merge fix_fastica into develop

Summary

This Merge Request fixes the bugs of the FastICA filter.

Rationale

In MR !336 (merged) we tried to add the test of the fastICA filter to CTest, but we noticed that the result were dependent on the number of thread. It turns out that it was only one problem among many other in this filter.

This merge request solves all problems listed in issue #1838 (closed).

Validation

In addition to Dashboard testing, we must verify that this filter actually performs Independent Component Analysis. To do so, I created a script that performs Blind Source Separation on two mixed independant components using the DimensionalityReduction application with the ica algorithm. The independant components are both generated from uniform distributions and the mixing matrix is A = [ [5, 10], [10, 2] ]. Below is the result of the application:

Blind source separation result

The figure also display the result with the sklearn implementation of FastICA.

Copyright

The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.


Check before merging:

  • All discussions are resolved
  • At least 2 👍 votes from core developers, no 👎 vote.
  • The feature branch is (reasonably) up-to-date with the base branch
  • Dashboard is green
  • Copyright owner has signed the ORFEO ToolBox Contributor License Agreement

Merge request reports