Ejemplo n.º 1
0
	def changeHistogramEqu(self, hist):
		"linear", "sqrt", "log", "power", "asinh", "histeq"
		if hist == "linear":
			self.imageCV = cvSpace.linear(self.internalAstroImg.fitsFile[0].data)
		if hist == "sqrt":
			self.imageCV = cvSpace.sqrt(self.internalAstroImg.fitsFile[0].data)
		if hist == "log":
			self.imageCV = cvSpace.log(self.internalAstroImg.fitsFile[0].data)
		if hist == "power":
			self.imageCV = cvSpace.power(self.internalAstroImg.fitsFile[0].data)
		if hist == "asinh":
			self.imageCV = cvSpace.asinh(self.internalAstroImg.fitsFile[0].data)
		if hist == "histeq":
			self.imageCV = cvSpace.histeq(self.internalAstroImg.fitsFile[0].data)
		#this code maybe a method in astroImage
		NaNs = np.isnan(self.imageCV)
		self.imageCV[NaNs] = 0
		inf = np.isinf(self.imageCV)
		self.imageCV[inf] = 0
		
		self.internalAstroImg.imageCV = self.imageCV
		self.internalAstroImg.imageCVOriginal = self.imageCV.copy()
		self.internalAstroImg.thumb = ImageTk.PhotoImage(Image.fromarray(cv2.resize(self.imageCV, (100, 100))))
		self.internalAstroImg.thumbDark = ImageTk.PhotoImage(Image.fromarray(cv2.resize(self.imageCV, (100, 100))))
		self.internalAstroImg.thumbDifusse = ImageTk.PhotoImage(Image.fromarray(cv2.resize(self.imageCV, (100, 100))))
		self.internalAstroImg.updateImage()
		self.setCanvas(self.internalAstroImg)
Ejemplo n.º 2
0
	def openImage(self, path):
		self.scaleFactor = 1
		self.isFlipped = False
		self.path = path
		splitFilename, splitFileExtension = os.path.splitext(self.path)
		self.name = os.path.basename(self.path)
		self.isFits = False
		self.eqName = ""
		print "###########"+self.name
		print "Filename "+splitFilename+" FileExtension "+splitFileExtension
		if (splitFileExtension ==".fits" or splitFileExtension ==".FITS"):
			self.isFits = True
			print "Opening FISTS file"
			self.fitsFile = fits.open(self.path)
			print self.fitsFile.info()
			self.imageCV = cvSpace.preEqualizaFits(self.fitsFile[0].data)
			#self.imageCV = cvSpace.linear(self.fitsFile[0].data)
			#self.imageCV = cvSpace.asinh(self.fitsFile[0].data,0.1)
			self.imageCV = cvSpace.sqrt(self.fitsFile[0].data)
			self.eqName = "sqrt"
			#self.imageCV = cvSpace.log(self.fitsFile[0].data)
			NaNs = np.isnan(self.imageCV)
			self.imageCV[NaNs] = 0
			inf = np.isinf(self.imageCV)
			self.imageCV[inf] = 0
			#self.imageCV = cvSpace.power(self.fitsFile[0].data, power_index=3)
			#self.imageCV = cvSpace.histeq(self.fitsFile[0].data)
			#self.imageCV = self.fitsFile[0].data
			'''
			self.imageCV = self.imageCV.astype(np.uint8)
			self.imageCV = cv2.equalizeHist(self.imageCV)
			'''
		else:	
			#self.imageCV = cv2.imread(self.path,cv2.IMREAD_GRAYSCALE)
			print "Cargando imagen noReal.jpg"
			self.imageCV = cv2.imread(self.path, cv2.IMREAD_GRAYSCALE)
		print "Image type "+str(type(self.imageCV))
		print "Flux (max, min) = ("+str(self.imageCV.min())+", "+str(self.imageCV.max())+")"
		self.imageCVOriginal = self.imageCV.copy()
		self.thumb = ImageTk.PhotoImage(Image.fromarray(cv2.resize(self.imageCV, (100, 100))))
		self.thumbDark = ImageTk.PhotoImage(Image.fromarray(cv2.resize(self.imageCV, (100, 100))))
		self.thumbDifusse = ImageTk.PhotoImage(Image.fromarray(cv2.resize(self.imageCV, (100, 100))))
		self.updateImage()