code: def swap_channels(self, channel_swap):
          
          if len(channel_swap) != 2:
              raise ValueError('Illegal value for channel swap')
          ci = channel_swap[0]
          cj = channel_swap[1]
          if ci < 0 or ci > 2 or cj < 0 or cj > 2:
              raise ValueError('Channels must be between 0 and 1')
          new_data = self.data.copy()
          new_data[:, :, ci] = self.data[:, :, cj]
          new_data[:, :, cj] = self.data[:, :, ci]
          return ColorImage(new_data, frame=self._frame)
docs: Swaps the two channels specified in the tuple.
  
          Parameters
          ----------
          channel_swap : :obj:`tuple` of int
              the two channels to swap
  
          Returns
          -------
          :obj:`ColorImage`
              color image with cols swapped