Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
    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