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
 def getFilledUrl(listFile, dataDir, ID):
    sdssFilename = GalaxyParameters.getSDSSUrl(listFile, dataDir, ID)
    return dataDir+filledDir+utils.createOutputFilename(sdssFilename)