code: def crude_stretch(self, ch_nb, min_stretch=None, max_stretch=None):
          
  
          if min_stretch is None:
              min_stretch = self.channels[ch_nb].min()
          if max_stretch is None:
              max_stretch = self.channels[ch_nb].max()
  
          if isinstance(min_stretch, (list, tuple)):
              min_stretch = min_stretch[ch_nb]
          if isinstance(max_stretch, (list, tuple)):
              max_stretch = max_stretch[ch_nb]
  
          if((not self.channels[ch_nb].mask.all()) and
                  abs(max_stretch - min_stretch) > 0):
              stretched = self.channels[ch_nb].data.astype(np.float)
              stretched -= min_stretch
              stretched /= max_stretch - min_stretch
              self.channels[ch_nb] = np.ma.array(stretched,
                                                 mask=self.channels[ch_nb].mask,
                                                 copy=False)
          else:
              logger.warning("Nothing to stretch !")
docs: Perform simple linear stretching (without any cutoff) on the channel
          *ch_nb* of the current image and normalize to the [0,1] range.