def getMask(ID): dataDir = Settings.getConstants().dataDir maskFilename = dataDir+utils.getMask(Settings.getConstants().maskFile, ID) maskFile = pyfits.open(maskFilename) mask = maskFile[0].data print maskFilename maskFile.close() print mask.shape, 'mask' return mask
def runInpainting(maskFile, listFile, dataDir, ID, log): maskFilename = dataDir+utils.getMask(maskFile, ID) sdssFilename = GalaxyParameters.getSDSSUrl(listFile, dataDir, ID) outputFilename = utils.createOutputFilename(sdssFilename, dataDir) outputDir = dataDir+'/filled' print 'output filename', outputFilename #try: #with open(dataDir+'/filled2/'+outputFilename) as f: pass #print 'skipping', ID #except IOError as e: print 'inpainting', ID sdssImage = pyfits.open(sdssFilename) imageData = sdssImage[0].data imageData = imageData - 1000 #soft bias subtraction, comment out if needed head = sdssImage[0].header maskFile = pyfits.open(maskFilename) print 'MASK', maskFilename mask = maskFile[0].data callInpaint(imageData, mask, outputDir) return log
def runInpainting(maskFile, listFile, dataDir, ID, log): maskFilename = utils.getMask(maskFile, ID) sdssFilename = GalaxyParameters.getSDSSUrl(listFile, dataDir, ID) outputFilename = utils.createOutputFilename(sdssFilename) sdssImage = pyfits.open(sdssFilename) imageData = sdssImage[0].data imageData = imageData - 1000 #soft bias subtraction, comment out if needed head = sdssImage[0].header maskFile = pyfits.open(maskFilename) mask = maskFile[0].data maskedImg = np.ma.array(imageData, mask = mask) NANMask = maskedImg.filled(np.NaN) filled = inpaint.replace_nans(NANMask, 15, 0.1, 2, 'idw') hdu = pyfits.PrimaryHDU(filled, header = head) try: hdu.writeto(dataDir+'/filled/'+outputFilename) except IOError: errmsg = 'file already exists!', dataDir+'/filled/'+outputFilename print errmsg log.append(errmsg) return log