docs: def _select_meshes(self, data):
          """
          Define the x and y indices with respect to the low-resolution
          mesh image of the meshes to use for the background
          interpolation.
  
          The ``exclude_percentile`` keyword determines which meshes are
          not used for the background interpolation.
  
          Parameters
          ----------
          data : 2D `~numpy.ma.MaskedArray`
              A 2D array where the y dimension represents each mesh and
              the x dimension represents the data in each mesh.
  
          Returns
          -------
          mesh_idx : 1D `~numpy.ndarray`
              The 1D mesh indices.
          """
  
          # the number of masked pixels in each mesh
          nmasked = np.ma.count_masked(data, axis=1)
  
          # meshes that contain more than ``exclude_percentile`` percent
          # masked pixels are excluded:
          #   - for exclude_percentile=0, good meshes will be only where
          #     nmasked=0
          #   - meshes where nmasked=self.box_npixels are *always* excluded
          #     (second conditional needed for exclude_percentile=100)
          threshold_npixels = self.exclude_percentile / 100. * self.box_npixels
          mesh_idx = np.where((nmasked <= threshold_npixels) &
                              (nmasked != self.box_npixels))[0]    # good meshes
  
          if len(mesh_idx) == 0:
              raise ValueError('All meshes contain > {0} ({1} percent per '
                               'mesh) masked pixels.  Please check your data '
                               'or decrease "exclude_percentile".'
                               .format(threshold_npixels,
                                       self.exclude_percentile))
  
          return mesh_idx