code: def _load_chunk(dat_path, cat_path, info_path):
    
    dat_array = read_binary_matrix(dat_path)
    # Even if the image is gray scale, we need to add an extra channel dimension
    # to be compatible with tfds.features.Image.
    dat_array = np.expand_dims(dat_array, -1)
  
    cat_array = read_binary_matrix(cat_path)
  
    info_array = read_binary_matrix(info_path)
    info_array = np.copy(info_array)  # Make read-only buffer array writable.
    # Azimuth values are 0, 2, 4, .., 34. We divide by 2 to get proper labels.
    info_array[:, 2] = info_array[:, 2] / 2
  
    return dat_array, cat_array, info_array
docs: Loads a data chunk as specified by the paths.
  
    Args:
      dat_path: Path to dat file of the chunk.
      cat_path: Path to cat file of the chunk.
      info_path: Path to info file of the chunk.
  
    Returns:
      Tuple with the dat, cat, info_arrays.