daisy_pattern_offset¶
- sofia_redux.scan.simulation.scan_patterns.daisy.daisy_pattern_offset(radius, radial_period, t_interval, n_oscillations=22, constant_speed=False)[source]¶
Create a daisy scan pattern in offset coordinates.
The daisy pattern has the following form in two dimensions:
x = r.sin(a).cos(b) y = r.sin(a).sin(b) a = 2.pi.t/radial_period + radial_phase b = 2.t/radial_period + rotation_phase rotation_phase = 2.n_oscillations radial_phase = pi.rotation_phase
The time (t) is generated in the range 0 -> n_oscillations * radial_period in increments ot t_interval. If
constant_speed
isFalse
, the speed of the pattern will be minimal near the edges of the petals and maximal near the center. Due to the fact that the radial and rotational phases are auto-generated such that the pattern forms a closed shape, the samples will also occur along increasingly separated concentric rings from the origin. Therefore, for better scanning coverage,constant_speed
may be set toTrue
so that the physical distance between each sample are approximately equal.- Parameters:
- radiusunits.Quantity
The angular radius of the daisy pattern.
- radial_periodunits.Quantity
The time to complete a single radial oscillation.
- t_intervalunits.Quantity
The time interval between sampling points.
- n_oscillationsint or float, optional
The number of oscillations in the pattern. The default of 22 gives a fully populated area for observation.
- constant_speedbool, optional
If
True
, return a pattern where the speed between each sample point is equal.
- Returns:
- patternCoordinate2D
The elevation/cross-elevation scan pattern sampled at
t_interval
in the units ofradius
.