def readLoop(): heartbeat("Getting image from HDFS\n") first = True numSetColors = 0 for key, value in binaryhadoop.mapperInput(sys.stdin): if key == "metadata": if not first: doEverything(metadata, mask, originalBlock, numSetColors, numBands, bandToIndexLookup) first = False metadata = value heartbeat("file: " + metadata["hdfsFileName"] + "\n") elif key == "mask": mask = value numBands = len(metadata["bandNames"]) bandToIndexLookup = dict((y, x) for x, y in enumerate(sorted(metadata["bandNames"]))) heartbeat("numBands is {}, bandNames is {}, bandToIndexLookup is {}\n".format(numBands, metadata["bandNames"], bandToIndexLookup)) originalBlock = numpy.empty([numBands] + list(mask.shape), dtype=numpy.double) else: index = bandToIndexLookup[key] # index = int(key[1:]) - 2 heartbeat("key is {}, index is {}\n".format(key, index)) originalBlock[index,:] = value numSetColors += 1 doEverything(metadata, mask, originalBlock, numSetColors, numBands, bandToIndexLookup)
analyticresults = value.split(',') thisimage = analyticresults[0].split('.')[0] if thisimage in analyticresults_dict.keys(): analyticresults_dict[thisimage].append(analyticresults[1:]) else: analyticresults_dict[thisimage] = [analyticresults[1:]] #summary_data = json.load(open('summarystatistics','r')) #outlier_image = summary_data["outlierImage"] metadata = None ny = 0 nx = 0 for key, value in binaryhadoop.mapperInput(sys.stdin): if key == "metadata": metadata = value try: thisImageKey = metadata['originalDirName'] except KeyError: thisImageKey = metadata['outputFile'] bands = {} elif key == "mask": mask = utilities.rollMask(value > 0) ny,nx = mask.shape else: bands[key] = numpy.array(value[mask], dtype=numpy.float64) if metadata is not None: if 'HSI' in metadata.keys():
metadata = None bands = {} ny = 0 nx = 0 parameterFile = open("analyticconfig") for line in parameterFile.readlines(): line = line.rstrip().split('\t') if line[0]=="contourclusters.percentageOfAnomalyPixels": anomalyPercentage = float(line[1]) elif line[0]=="contourclusters.numberOfClusters": numberOfClusters = int(line[1]) elif line[0]=="contourclusters.histogramBinSize": binSize = int(line[1]) for key,value in binaryhadoop.mapperInput(sys.stdin,typeMap={None: binaryhadoop.TYPEDBYTES_PICKLE}): regionKey = key for k,v in value.items(): if k == "metadata": metadata = v elif k == "mask": mask = (v > 0) ny,nx = mask.shape else: bands[k] = v if metadata is not None: ny,nx = numpy.mgrid[0:ny,0:nx] ny = ny[mask] nx = nx[mask]
outData['UTM'] = utmNum outData['imgShape'] = shape outData['geoTrans'] = geoTrans outData['WGS'] = wgsNum outData['imgName'] = sceneName outData['img'] = classImg.tolist() print json.dumps(outData) if __name__=="__main__": imageData = {} imageData["metadata"] = None for key, value in binaryhadoop.mapperInput(sys.stdin): # Reading in seqpng line-by-line if key == "metadata": imageData["metadata"] = value bands = {} sys.stderr.write(" read metadata\n") elif key == "mask": bandMask = utilities.rollMask(value > 0) imageData['mask'] = np.reshape(bandMask,bandMask.size) sys.stderr.write(" read mask\n") else: bands[key] = np.reshape(ma.masked_array(value,mask=~imageData['mask']),value.size) sys.stderr.write(" read band %s\n" % key) opts = {} imageData['metadata']['svmOpts'] = {} imageData['bands'] = bands rats = []
iDot.append(iRow) return iDot, iPartial if __name__ == "__main__": imageData = {} imageData["metadata"] = None parameterFile = open("analyticconfig","r") for line in parameterFile.readlines(): line = line.rstrip().split("\t") if line[0]=="contourclusters.noiseFlag": noiseFlag = line[1] for key, value in binaryhadoop.mapperInput(sys.stdin): if key == "metadata": imageData["metadata"] = value bands = {} elif key == "mask": mask = utilities.rollMask(value > 0) imageData["numPixels"] = numpy.nonzero(mask)[0].size else: bands[key] = numpy.array(value[mask],dtype=numpy.float64) if imageData["metadata"] is not None: if 'HSI' in imageData["metadata"].keys(): wavelengths = {} multipliers = {} for w,wave in enumerate(imageData["metadata"][unicode("HSI")][unicode("wavelength")]): wavelengths["B" + "%03d" % w] = float(wave)
#!/usr/bin/env python import binaryhadoop import sys import augustus import report_unknowntruth import json if __name__ == "__main__": cmrecs = [] for key, value in binaryhadoop.mapperInput(sys.stdin, typeMap={None: binaryhadoop.TYPEDBYTES_JSON, "KEY": binaryhadoop.TYPEDBYTES_JSON}): cmrec = value.split(',') cmrecs.append('%d, %d'%(float(cmrec[0]), float(cmrec[1]))) if len(cmrecs) > 0: html, img1, img2, img3 = report_unknowntruth.main(cmrecs, 'SummaryStatistics.json') record = "%s"%(json.dumps([html, img1, img2, img3])) binaryhadoop.emit(sys.stdout, "KEY", record, encoding = binaryhadoop.TYPEDBYTES_JSON)