parameters: (pixel_shift_by_row: List[int], field: np.ndarray)
return_statement: return destaggered
docstring: Reference implementation for destaggering a field of data.
  
      In the default staggered representation, each column corresponds to a
      single timestamp. In the destaggered representation, each column
      corresponds to a single azimuth angle, compensating for the azimuth offset
      of each beam.
  
      Destaggering is used for visualizing lidar data as an image or for
      algorithms that exploit the structure of the lidar data, such as
      beam_uniformity in ouster_viz, or computer vision algorithms.
  
      Args:
          pixel_shift_by_row: List of pixel shifts by row from sensor metadata
          field: Staggered data as a H x W numpy array
  
      Returns:
          Destaggered data as a H x W numpy array
docstring_summary: Reference implementation for destaggering a field of data.
docstring_tokens: Reference implementation for destaggering a field of data .
function: def destagger(pixel_shift_by_row: List[int], field: np.ndarray) -> np.ndarray:
      """Reference implementation for destaggering a field of data.
  
      In the default staggered representation, each column corresponds to a
      single timestamp. In the destaggered representation, each column
      corresponds to a single azimuth angle, compensating for the azimuth offset
      of each beam.
  
      Destaggering is used for visualizing lidar data as an image or for
      algorithms that exploit the structure of the lidar data, such as
      beam_uniformity in ouster_viz, or computer vision algorithms.
  
      Args:
          pixel_shift_by_row: List of pixel shifts by row from sensor metadata
          field: Staggered data as a H x W numpy array
  
      Returns:
          Destaggered data as a H x W numpy array
      """
  
      destaggered = np.zeros(field.shape)
      nrows = field.shape[0]
  
      # iterate over every row and apply pixel shift
      for u in range(nrows):
          destaggered[u, :] = np.roll(field[u, :], pixel_shift_by_row[u])
  
      return destaggered
function_tokens: def destagger ( pixel_shift_by_row : List [ int ] , field : np . ndarray ) -> np . ndarray : destaggered = np . zeros ( field . shape ) nrows = field . shape [ 0 ] # iterate over every row and apply pixel shift for u in range ( nrows ) : destaggered [ u , : ] = np . roll ( field [ u , : ] , pixel_shift_by_row [ u ] ) return destaggered