def calc_zscale(self, data, contrast=0.25, num_points=1000, num_per_row=None): # NOTE: num_per_row is ignored in this implementation assert len(data.shape) >= 2, \ AutoCutsError("input data should be 2D or greater") ht, wd = data.shape[:2] # calculate contrast parameter, if omitted if contrast == None: contrast = 0.25 assert (0.0 < contrast <= 1.0), \ AutoCutsError("contrast (%.2f) not in range 0 < c <= 1" % ( contrast)) # remove NaN and Inf from samples samples = data[numpy.isfinite(data)].flatten() samples = samples[:num_points] loval, hival = zscale.zscale_samples(samples, contrast=contrast) return loval, hival
def calc_zscale(self, data, contrast=0.25, num_points=1000): # NOTE: num_per_row is ignored in this implementation assert len(data.shape) >= 2, \ AutoCutsError("input data should be 2D or greater") ht, wd = data.shape[:2] # sanity check on contrast parameter assert (0.0 < contrast <= 1.0), \ AutoCutsError("contrast (%.2f) not in range 0 < c <= 1" % ( contrast)) # remove NaN and Inf from samples samples = data[numpy.isfinite(data)].flatten() samples = samples[:num_points] loval, hival = zscale.zscale_samples(samples, contrast=contrast) return loval, hival
def calc_zscale(self, data, contrast=0.25, num_points=1000): # NOTE: num_per_row is ignored in this implementation assert len(data.shape) >= 2, \ AutoCutsError("input data should be 2D or greater") ht, wd = data.shape[:2] # sanity check on contrast parameter assert (0.0 < contrast <= 1.0), \ AutoCutsError("contrast (%.2f) not in range 0 < c <= 1" % ( contrast)) # remove masked elements, they cause problems data = data[np.logical_not(np.ma.getmaskarray(data))] # remove NaN and Inf from samples samples = data[np.isfinite(data)].flatten() samples = samples[:num_points] loval, hival = zscale.zscale_samples(samples, contrast=contrast) return loval, hival