def Calculate(): logger.info('Calculate the Min Max feature values across the entire data set.') try: Helpers.removeAllImagesDataDumpFiles() getAllDataPoints() rMinMax() minMaxDict={} logger.info('Building Dictionary..') for i in open(Helpers.getAllImagesMinDataDumpFile()): minKeyVal=i.strip().replace('"','').split(",") #print minKeyVal[0] if minKeyVal[0] <> '': key=minKeyVal[0] val=minKeyVal[1] thisDict={ "minval" : str(val) } minMaxDict[key]=thisDict for i in open(Helpers.getAllImagesMaxDataDumpFile()): maxKeyVal=i.strip().replace('"','').split(",") if maxKeyVal[0] <> '': key=maxKeyVal[0] val=maxKeyVal[1] try: valDict=minMaxDict[key] valDict['maxval'] = val except KeyError: logger.exception('Major error while calculating min/max values across dataset, key:' + key + ' not found in min dataset but was found in max dataset') raise fl=open(Helpers.getFeatureLookupFileName(),'w') json.dump(minMaxDict,fl) fl.close() logger.info('Recreated file '+ Helpers.getFeatureLookupFileName()) except: logger.exception('Could Not calculate min max values.') raise
def rMinMax(): import SysCall try: logger.info('Calling R script to retrieve Min Values across datasest') out,err,retCode=SysCall.sh(['rscript',Helpers.getR_MinMaxScript(),Helpers.getAllImagesDataDumpFile(),'min',Helpers.getAllImagesMinDataDumpFile(),'>','NUL']) if retCode <> 0: logger.error("R script returned error" + err) except: logger.exception("Could not run R script") raise try: logger.info('Calling R script to retrieve Max Values across datasest') out,err,retCode=SysCall.sh(['rscript',Helpers.getR_MinMaxScript(),Helpers.getAllImagesDataDumpFile(),'max',Helpers.getAllImagesMaxDataDumpFile(),'>','NUL']) if retCode <> 0: logger.error("R script returned error" + err) except: logger.exception("Could not run R script") raise