Velocity flow tracking#
Using PUNCH observations, flow tracking can be utilized to compute outflow velocities in the solar corona.
Concept#
A series of PUNCH mosaic observations can be projected into a common polar projection, from which a consideration of the cross-correlation over a window of time can extract the velocities of visible outflowing structure. These data are stored across all azimuths, and for at least four radial heights.
Applying method#
Flow tracking is carried out in the punchbowl.level3.velocity.track_velocity
function:
- punchbowl.level3.velocity.track_velocity(files: list[str], delta_t: int = 12, sparsity: int = 2, n_ofs: int = 151, delta_px: int = 2, expected_kps_windspeed: int = 300, r_band_half_width: float = 0.5, max_radius_deg: int = 45, num_azimuth_bins: int = 11520, az_bin: int = 4, velocity_azimuth_bins: int = 36, ycens: ndarray | None = None, rbands: list[int] | None = None) NDCube
Generate velocity map using flow tracking.
- Parameters:
files (list[str]) – List of file paths for input data
delta_t (int, optional) – Time offset in frames between images
sparsity (int, optional) – Frame skip interval for averaging
n_ofs (int, optional) – Number of spatial offsets for cross-correlation
delta_px (int, optional) – Pixel offset increment per sample
expected_kps_windspeed (int, optional) – Expected wind speed in km/s
r_band_half_width (float, optional) – Half-width of each radial band in solar radii
max_radius_deg (int, optional) – The maximum radius in degrees
num_azimuth_bins (int, optional) – Number of azimuthal bins in the polar remapped images
az_bin (int, optional) – Binning factor for binning the polar remapped image over the azimuth
velocity_azimuth_bins (int, optional) – Number of azimuthal bins in the output flow maps
ycens (numpy.ndarray, optional) – Radial band centers in solar radii
rbands (list[int], optional) – Indices of radial bands to visualize
- Returns:
The generated velocity map
- Return type:
ndcube.NDCube
If you wish to incorporate this as a Prefect task in a custom pipeline,
using something like the punchbowl.level3.velocity.track_velocity
is recommended.