def logspace(self,bins=None,units=None,conversion_function=convert_time,resolution=None,end_at_end=True):
        """ bins overwrites resolution """
        if type(bins) in [list, np.ndarray]:
            return bins
        min = conversion_function(self.min,from_units=self.units,to_units=units)
        max = conversion_function(self.max,from_units=self.units,to_units=units)
        if units is None:
            units = self.units
        if resolution is None:
            resolution = 1.0
        if bins is None:
            bins = self.len(resolution=resolution,units=units,conversion_function=conversion_function)# + 1
        if units != '1' and end_at_end:
            # continuous variable behaviour:
            #   we end with the last valid value at the outer edge
            return np.logspace(np.log10(min),np.log10(max),bins+1)[:-1]
        # discrete variable behaviour:
        #   we end with the last valid value as its own bin
        return np.logspace(np.log10(min),np.log10(max),bins)
bins overwrites resolution