Exemple #1
0
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)