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.