def __init__(self, file1, file2, fmin, fmax, gamma=1.0, bb=[0, 0, -1, -1], minquality=1.0): self.numerator = FitsData(file1, bb) self.denominator = FitsData(file2, bb) self.size = self.numerator.size if self.size != self.denominator.size: raise IndexError, "Incompatible sizes in RatioImage!" MyImage.__init__(self, "L", self.size) if self.ratiofunc == None: self.fitsdata = self.numerator.fitsdata / self.denominator.fitsdata else: self.fitsdata = self.ratiofunc(self.numerator.fitsdata, self.denominator.fitsdata) self.flatnormaldata = (numarray.ravel(self.fitsdata) - fmin) / (fmax - fmin) self.flatnormaldata = numarray.clip(self.flatnormaldata, 0.0, 1.0) if gamma != 1.0: self.flatnormaldata = self.flatnormaldata ** (1.0 / gamma) self.putdata(self.flatnormaldata, scale=255.0) self.quality = numarray.where(self.denominator.fitsdata > minquality, 1, 0) self.quality = numarray.where(self.numerator.fitsdata > minquality, self.quality, 0) self.alpha = Image.new("L", self.size) self.alpha.putdata(numarray.ravel(self.quality), scale=255) self.im = Image.composite(self, Image.new("L", self.size, 255), self.alpha).im
index +=1 for i in range(m.G): plot[i,j] = t[plot[i,j]] space = 15 for i in range(len(plot[0])): slen = space - len(data.headers[i]) print " "* slen + data.headers[i], for i in range(len(plot)): print for j in range(len(plot[i])): print " "*(space-1) + str(plot[i,j]), print "\n" print "\n[", for p in plot: print p.tolist(),";" print "];\n\n" for i in range(20): cut = i * 0.05 z = m.classify(data,entropy_cutoff=cut,silent =1) t = numarray.where(z== -1) ind = t[0] print cut,":",len(z[ind]) m.printTraceback(data,c)