swirlspy.object package

Object identification methods.

swirlspy.object.get_labeled_frame(da, thresh, min_size=20000000.0, coord_label=['x', 'y'])

Returns a labeled frame from a xarray.DataArray. Smaller objects are removed and the rest are labeled.

Parameters:
  • da (xarray.DataArray) – Contains data to be separated into objects and labelled.
  • thresh (scalar) – The threshold to be applied to data.
  • min_size (scalar) – The minimum size allowed for an object, expressed in terms of the coordinates of the DataArray Defaults to 2e7(m^2).
  • coord_label (list of str.) – The x and y coordinate labels respectively. Defaults to [‘x’, ‘y’].
Returns:

  • label_da = xarray.DataArray – Contains labelled objects.
  • uids (list of int) – The labels of the objects.

swirlspy.object.fit_ellipse(da, ext=1, coord_label=['x', 'y'])

Get minimum enclosing ellipse and rectangle of storm.

Parameters:
  • da (xarray.DataArray) – Contains the binary mask representing a single storm.
  • ext (scalar) – The relationship between the semi-major/semi-minor axis of the ellipse and the width and height of rectangle.
  • coord_label (list of str, optional) – The x and y coordinate labels respectively. Defaults to [‘x’, ‘y’].
Returns:

  • ellipse (dict) – Contains ellipse attributes. ‘center’, ‘a’ (semi-major axis), ‘b’ (semi-minor-axis), and ‘angle’ (counterclockwise from vertical).
  • box (numpy.ndarray, shape (n,2)) – Contains coordinates of the vertices of the rectangle enclosing storm.