common_manybeams_mve¶
- radio_beam.commonbeam.common_manybeams_mve(beams, tolerance=0.0001, nsamps=200, epsilon=0.0005, auto_increase_epsilon=True, max_epsilon=0.001, max_iter=10)[source]¶
Calculate a common beam size using the Khachiyan Algorithm to find the minimum enclosing ellipse from all beam edges.
- Parameters:
- beams
Beams
Beams object.
- tolerancefloat, optional
Allowed error range in the Khachiyan Algorithm. Decreasing the tolerance by an order of magnitude requires an order of magnitude more iterations to converge.
- nsampsint, optional
Number of edge points to sample from each beam.
- epsilonfloat, optional
Increase the radii of each beam by a factor of 1 + epsilon to ensure the common beam can marginally be deconvolved for all beams. Small deviations result from the finite sampling of points and the choice of the tolerance.
- auto_increase_epsilonbool, optional
Re-run the algorithm when the solution cannot quite be deconvolved from from all the beams. When
True
, epsilon is slightly increased with each iteration until the common beam can be deconvolved from all beams. Default isTrue
.- max_epsilonfloat, optional
Maximum epsilon value that is acceptable. Reached with
max_iter
. Default is1e-3
.- max_iterint, optional
Maximum number of times to increase epsilon to try finding a valid common beam solution.
- beams
- Returns:
- com_beam
Beam
The common beam for all beams in the set.
- com_beam