code: def fix_pix_borders(image2d, nreplace, sought_value, replacement_value):
      
  
      # input image size
      naxis2, naxis1 = image2d.shape
  
      for i in range(naxis2):
          # only spectra with values different from 'sought_value'
          jborder_min, jborder_max = find_pix_borders(
              image2d[i, :],
              sought_value=sought_value
          )
  
          # left border
          if jborder_min != -1:
              j1 = jborder_min
              j2 = min(j1 + nreplace, naxis1)
              image2d[i, j1:j2] = replacement_value
          # right border
          if jborder_max != naxis1:
              j2 = jborder_max + 1
              j1 = max(j2 - nreplace, 0)
              image2d[i, j1:j2] = replacement_value
  
      return image2d
docs: Replace a few pixels at the borders of each spectrum.
  
      Set to 'replacement_value' 'nreplace' pixels at the beginning (at
      the end) of each spectrum just after (before) the spectrum value
      changes from (to) 'sought_value', as seen from the image borders.
  
      Parameters
      ----------
      image2d : numpy array
          Initial 2D image.
      nreplace : int
          Number of pixels to be replaced in each border.
      sought_value : int, float, bool
          Pixel value that indicates missing data in the spectrum.
      replacement_value : int, float, bool
          Pixel value to be employed in the 'nreplace' pixels.
  
      Returns
      -------
      image2d : numpy array
          Final 2D image.