def quantize(self, bins=255): from util import jenks_breaks hist, edges = np.histogram(self.matrix.compressed(), bins=bins) print "Hist", hist print "Edges", edges breaks = jenks_breaks(self.matrix.compressed().tolist(), bins) print "Breaks", breaks l = sorted(set(self.matrix.compressed().tolist())) print "Uniques", l print self.matrix.compressed() digits = np.digitize(self.matrix.ravel(), breaks) print self.matrix.size print digits.size print self.matrix.shape[0] s = np.ma.array( np.reshape( digits, self.matrix.shape), mask=self.matrix.mask) print s
def quantize(self, bins=255): from scipy.cluster.vq import kmeans, vq from util import jenks_breaks hist, edges = histogram(self.matrix.compressed(),bins=bins) print "Hist", hist print "Edges",edges centroids, distortions = kmeans(self.matrix, bins) code, dist = vq(self.matrix, centroids) print "Cent", code print "Dist", dist breaks = jenks_breaks(self.matrix.compressed().tolist(), bins) print "Breaks",breaks l = list(set(self.matrix.compressed().tolist())) l.sort() print "Uniques", l print self.matrix.compressed() digits = digitize(self.matrix.ravel(), breaks) print self.matrix.size print digits.size print self.matrix.shape[0] s = ma.array(reshape(digits, self.matrix.shape), mask=self.matrix.mask) print s
def quantize(self, bins): from util import jenks_breaks from numpy.random import choice #@UnresolvedImport print "Uniquing" unique_ = choice(unique(self.a), 1000) print "Uniques: ", unique_.size print "Breaking" breaks = jenks_breaks(unique_, bins) print "Breaks",breaks digitized = digitize(self.a.ravel(), breaks) self.a = ma.array(reshape(digitized, self.a.shape), mask=self.a.mask)
def quantize(self, bins=255): from util import jenks_breaks hist, edges = np.histogram(self.matrix.compressed(), bins=bins) print "Hist", hist print "Edges", edges breaks = jenks_breaks(self.matrix.compressed().tolist(), bins) print "Breaks", breaks l = sorted(set(self.matrix.compressed().tolist())) print "Uniques", l print self.matrix.compressed() digits = np.digitize(self.matrix.ravel(), breaks) print self.matrix.size print digits.size print self.matrix.shape[0] s = np.ma.array(np.reshape(digits, self.matrix.shape), mask=self.matrix.mask) print s