feat(source_removal): add option for handling of degenerate sources #164
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds 2 options to
ch_pipeline.analysis.source_removal
. The first option allows the user to set thercond
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.