Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(source_removal): add option for handling of degenerate sources #164

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

sjforeman
Copy link
Contributor

This PR adds 2 options to ch_pipeline.analysis.source_removal. The first option allows the user to set the rcond parameter in the least-squares solver that's used to solve for the source amplitudes at each frequency, time, and polarization. Empirically, I didn't find that a non-default value for this parameter actually helps things, but I've kept the functionality in case it might be useful in the future.

The second option implements a regularization scheme that attempts to detect time/freq samples where sources "overlap" (i.e. their fringe factors reach some threshold of similarity), and sets the solved source amplitudes at those samples to a smooth interpolation of nearby samples. I found that this helps much more in reducing high-delay structure arising from non-smooth source solutions, and I'll describe those tests in a separate issue.

At some times and frequencies, the fringe factors for multiple sources can
be very similar, such that the solutions for their amplitudes are not
very well distinguished. This commit adds an option to SolveSources, and
associated functionality to solve_single_time(), that looks for this
situation and interpolates the source solution from nearby time/freq samples
instead of solving directly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant