docs: def _sigmaclip_noaxis(self, data, masked=True, return_bounds=False,
                            copy=True):
          """
          Sigma clip the data when ``axis`` is None.
  
          In this simple case, we remove clipped elements from the
          flattened array during each iteration.
          """
  
          filtered_data = data.ravel()
  
          # remove masked values and convert to ndarray
          if isinstance(filtered_data, np.ma.MaskedArray):
              filtered_data = filtered_data.data[~filtered_data.mask]
  
          # remove invalid values
          good_mask = np.isfinite(filtered_data)
          if np.any(~good_mask):
              filtered_data = filtered_data[good_mask]
              warnings.warn('Input data contains invalid values (NaNs or '
                            'infs), which were automatically clipped.',
                            AstropyUserWarning)
  
          nchanged = 1
          iteration = 0
          while nchanged != 0 and (iteration < self.maxiters):
              iteration += 1
              size = filtered_data.size
              self._compute_bounds(filtered_data, axis=None)
              filtered_data = filtered_data[(filtered_data >= self._min_value) &
                                            (filtered_data <= self._max_value)]
              nchanged = size - filtered_data.size
  
          self._niterations = iteration
  
          if masked:
              # return a masked array and optional bounds
              filtered_data = np.ma.masked_invalid(data, copy=copy)
  
              # update the mask in place, ignoring RuntimeWarnings for
              # comparisons with NaN data values
              with np.errstate(invalid='ignore'):
                  filtered_data.mask |= np.logical_or(data < self._min_value,
                                                      data > self._max_value)
  
          if return_bounds:
              return filtered_data, self._min_value, self._max_value
          else:
              return filtered_data