Module Import alias Import alias Import alias Import alias Import alias Import alias Import alias Import alias Import alias Import alias identifier ImportFrom alias Expr Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index Str Index Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num For NameStore NameLoad body If CompareLt SubscriptLoad NameLoad Index Num NameLoad body Assign NameStore SubscriptLoad NameLoad Index Num If CompareGt SubscriptLoad NameLoad Index Num NameLoad body Assign NameStore SubscriptLoad NameLoad Index Num If CompareLt SubscriptLoad NameLoad Index Num NameLoad body Assign NameStore SubscriptLoad NameLoad Index Num If CompareGt SubscriptLoad NameLoad Index Num NameLoad body Assign NameStore SubscriptLoad NameLoad Index Num Return TupleLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign TupleStore NameStore NameStore NameStore NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call NameLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr BinOpDiv NameLoad NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr BinOpDiv NameLoad NameLoad If CompareGt NameLoad NameLoad body Assign NameStore NameLoad If CompareGt NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore BinOpDiv BinOpAdd BinOpDiv NameLoad NameLoad BinOpDiv NameLoad NameLoad Num Print BinOpAdd BinOpAdd BinOpAdd Str Call NameLoad BinOpMult NameLoad NameLoad Str Call NameLoad NameLoad Assign NameStore BinOpDiv BinOpSub NameLoad NameLoad NameLoad Assign NameStore BinOpDiv BinOpSub NameLoad NameLoad NameLoad Assign NameStore NameLoad Assign NameStore ListLoad For NameStore Call NameLoad Num NameLoad body Assign NameStore BinOpAdd NameLoad NameLoad Assign NameStore NameLoad For NameStore Call NameLoad Num NameLoad body Assign NameStore BinOpAdd NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad BinOpAdd NameLoad NameLoad BinOpAdd NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore SubscriptLoad SubscriptLoad NameLoad Index Str Index Num Assign NameStore Num Assign NameStore Num For NameStore NameLoad body Assign NameStore BinOpAdd NameLoad SubscriptLoad NameLoad Index Num Assign NameStore BinOpAdd NameLoad SubscriptLoad NameLoad Index Num Assign NameStore BinOpDiv NameLoad Call NameLoad NameLoad Assign NameStore BinOpDiv NameLoad Call NameLoad NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Num Assign NameStore Num Assign NameStore BinOpSub Num NameLoad Assign NameStore Num Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr ListLoad Num NameLoad Num ListLoad Str Str Str NameLoad NameLoad attr Assign NameStore Call NameLoad GeneratorExp NameLoad comprehension TupleStore NameStore NameStore Call AttributeLoad NameLoad attr CompareIn Str NameLoad Assign NameStore Call NameLoad GeneratorExp NameLoad comprehension TupleStore NameStore NameStore Call AttributeLoad NameLoad attr CompareIn Str NameLoad Assign NameStore Call NameLoad GeneratorExp NameLoad comprehension TupleStore NameStore NameStore Call AttributeLoad NameLoad attr CompareIn Str NameLoad Assign NameStore BinOpSub NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpSub NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr NameLoad attr BinOpSub NameLoad Num attr NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr attr NameLoad attr NameLoad attr NameLoad attr NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Num Assign NameStore Num Assign TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Num Assign NameStore BinOpDiv NameLoad NameLoad Print BinOpAdd Str Call NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str NameLoad If CompareIn Str AttributeLoad NameLoad attr body Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Str orelse Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Num Assign NameStore Num Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr ListLoad NameLoad AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad Call AttributeLoad NameLoad attr Index NameLoad Print BinOpAdd Str Call NameLoad SubscriptLoad Call AttributeLoad NameLoad attr Index NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Num Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Str NameLoad NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Str NameLoad NameLoad Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Expr Call NameLoad NameLoad Dict Str Str Str Str Num Num Num NameLoad Str NameLoad Expr Call NameLoad NameLoad Dict Str Str Str Str Num Num Num NameLoad Str NameLoad If NameLoad body Assign NameStore Num Assign NameStore SubscriptLoad Call AttributeLoad Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr NameLoad attr Index NameLoad Assign NameStore SubscriptLoad Call AttributeLoad Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr NameLoad attr Index NameLoad Assign NameStore BinOpSub NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If NameLoad body Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr NameLoad attr NameLoad orelse Assign NameStore Call AttributeLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad NameLoad Expr Call NameLoad Call AttributeLoad NameLoad attr NameLoad Dict Str Str Str Str Num Num Num NameLoad Str NameLoad Assign NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr ListLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr ListLoad NameLoad Assign NameStore ListLoad Assign NameStore ListLoad Assign NameStore ListLoad For NameStore NameLoad body TryExcept body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore SubscriptLoad SubscriptLoad Call AttributeLoad NameLoad attr Index Num Index Num If UnaryOpNot NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Continue Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore SubscriptLoad SubscriptLoad Call AttributeLoad NameLoad attr Index Num Slice Num Assign NameStore Num Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice NameLoad SubscriptLoad NameLoad Slice Num Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Print BinOpAdd Str Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad handlers ExceptHandler type NameLoad name NameStore body Print Str Print Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad If CompareGt NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num For NameStore Call NameLoad Num NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str Num Expr Call NameLoad NameLoad Dict Str NameLoad If CompareGt NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num For NameStore Call NameLoad Num NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str Num Expr Call NameLoad NameLoad Dict Str NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Print BinOpAdd Str Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr ListLoad NameLoad ListLoad Str Return NameLoad decorator_list
N/A N/A os N/A ee N/A math N/A numpy N/A scipy N/A scipy.special N/A scipy.optimize N/A histogram N/A matplotlib N/A matplotlib.pyplot plt cmt.mapclient_qt addToMap N/A  sar_martinis radar algorithm (find threshold by histogram splits on selected subregions)

 Algorithm from paper:
    "Towards operational near real-time flood detection using a split-based
    automatic thresholding procedure on high resolution TerraSAR-X data"
    by S. Martinis, A. Twele, and S. Voigt, Nat. Hazards Earth Syst. Sci., 9, 303-314, 2009


 This algorithm seems extremely sensitive to multiple threshold and
  scale parameters.  So far it has not worked well on any data set.
 N/A RED_PALETTE 000000, FF0000 N/A BLUE_PALETTE 000000, 0000FF N/A TEAL_PALETTE 000000, 00FFFF N/A LBLUE_PALETTE 000000, ADD8E6 N/A GREEN_PALETTE 000000, 00FF00 N/A GRAY_PALETTE 000000, FFFFFF getBoundingBox N/A N/A bounds N/A N/A N/A Returns (minLon, minLat, maxLon, maxLat) from domain bounds N/A coordList N/A N/A bounds N/A coordinates N/A 0 N/A minLat 999 N/A minLon 999999 N/A maxLat -999 N/A maxLon -999999 N/A c coordList N/A N/A N/A N/A c N/A 0 minLon N/A N/A minLon N/A c N/A 0 N/A N/A N/A c N/A 0 maxLon N/A N/A maxLon N/A c N/A 0 N/A N/A N/A c N/A 1 minLat N/A N/A minLat N/A c N/A 1 N/A N/A N/A c N/A 1 maxLat N/A N/A maxLat N/A c N/A 1 N/A N/A minLon minLat maxLon maxLat N/A divideUpBounds N/A N/A bounds boxSizeMeters maxBoxesPerSide N/A N/A N/A Divides up a single boundary into a grid based on a grid size in meters N/A N/A minLon minLat maxLon maxLat N/A getBoundingBox bounds N/A bottomLeft N/A N/A N/A ee Geometry Point minLon minLat N/A topLeft N/A N/A N/A ee Geometry Point minLon maxLat N/A bottomRight N/A N/A N/A ee Geometry Point maxLon minLat N/A topRight N/A N/A N/A ee Geometry Point maxLon maxLat N/A height N/A float N/A N/A N/A N/A bottomLeft distance topLeft getInfo N/A width N/A float N/A N/A N/A N/A bottomLeft distance bottomRight getInfo N/A numBoxesX N/A int N/A N/A math ceil N/A width boxSizeMeters N/A numBoxesY N/A int N/A N/A math ceil N/A height boxSizeMeters N/A N/A numBoxesX maxBoxesPerSide N/A N/A numBoxesX maxBoxesPerSide N/A N/A numBoxesY maxBoxesPerSide N/A N/A numBoxesY maxBoxesPerSide N/A boxSizeMeters N/A N/A N/A width numBoxesX N/A height numBoxesY 2 N/A N/A N/A N/A Using  N/A str N/A numBoxesX numBoxesY  boxes of size  N/A str boxSizeMeters N/A boxWidthLon N/A N/A maxLon minLon numBoxesX N/A boxHeightLat N/A N/A maxLat minLat numBoxesY N/A y minLat N/A boxList N/A N/A r N/A range 0 numBoxesY N/A N/A y N/A y boxHeightLat N/A x minLon N/A c N/A range 0 numBoxesX N/A N/A x N/A x boxWidthLon N/A boxBounds N/A N/A N/A ee Geometry Rectangle x y N/A x boxWidthLon N/A y boxHeightLat N/A N/A N/A boxList append boxBounds N/A N/A boxList boxSizeMeters N/A getBoundsCenter N/A N/A bounds N/A N/A N/A Returns the center point of a boundary N/A coordList N/A N/A bounds N/A coordinates N/A 0 N/A meanLat 0 N/A meanLon 0 N/A c coordList N/A N/A meanLat N/A meanLat N/A c N/A 1 N/A meanLon N/A meanLon N/A c N/A 0 N/A meanLat N/A meanLat N/A len coordList N/A meanLon N/A meanLon N/A len coordList N/A N/A meanLat meanLon N/A applyCutlerLinearLogScale N/A N/A grayImage roi N/A N/A N/A Translates the input SAR image into a hybrid linear-log scale as described in
        "Robust automated thresholding of SAR imagery for open-water detection"
        by Patrick J Cutler and Frederick W Koehler N/A TOP_SECTION_PERCENTILE 99 N/A TOP_SECTION_START 221 N/A topRange N/A 256 TOP_SECTION_START N/A PERCENTILE_SCALE 50 N/A percentiles N/A N/A N/A N/A grayImage reduceRegion N/A N/A N/A ee Reducer percentile N/A 0 TOP_SECTION_PERCENTILE 100 N/A min split max roi PERCENTILE_SCALE getInfo N/A minVal N/A next N/A val N/A N/A key val N/A N/A percentiles items N/A min key N/A splitVal N/A next N/A val N/A N/A key val N/A N/A percentiles items N/A split key N/A maxVal N/A next N/A val N/A N/A key val N/A N/A percentiles items N/A max key N/A lowRange N/A splitVal minVal N/A logMin N/A N/A math log10 splitVal N/A logMax N/A N/A math log10 maxVal N/A logRange N/A logMax logMin N/A lowMask N/A N/A grayImage lt splitVal N/A highMask N/A N/A grayImage gte splitVal N/A linearPortion N/A N/A N/A N/A N/A N/A N/A N/A grayImage subtract minVal divide lowRange multiply N/A TOP_SECTION_START 1 multiply lowMask N/A logPortion N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A grayImage log10 subtract logMin divide logRange multiply topRange add TOP_SECTION_START multiply highMask N/A scaledImage N/A N/A linearPortion add logPortion N/A scaledImage N/A sar_martinis_cr N/A N/A domain N/A N/A N/A Just calls sar_martinis with the CR option instead of the default CV option N/A N/A sar_martinis domain True N/A sar_martinis N/A N/A domain cr_method N/A False N/A N/A Compute a global threshold via histogram splitting on selected subregions N/A sensor N/A N/A domain get_radar N/A radarImage N/A sensor image N/A MAX_BOXES_PER_SIDE 12 N/A DESIRED_BOX_SIZE_METERS 3000 N/A N/A boxList boxSizeMeters N/A divideUpBounds N/A domain bounds DESIRED_BOX_SIZE_METERS MAX_BOXES_PER_SIDE N/A centersList N/A map getBoundsCenter boxList N/A KERNEL_SIZE 13 N/A metersPerPixel N/A boxSizeMeters KERNEL_SIZE N/A N/A Using metersPerPixel:  N/A str metersPerPixel N/A avgKernel N/A N/A N/A ee Kernel square KERNEL_SIZE pixels True N/A N/A water_detect_radar_channel N/A domain algorithm_params N/A N/A channelName N/A N/A domain algorithm_params N/A water_detect_radar_channel N/A N/A channelName N/A N/A sensor band_names N/A 0 N/A GRAY_MAX 255 N/A grayLayer N/A applyCutlerLinearLogScale N/A N/A radarImage select N/A channelName N/A domain bounds N/A globalMean N/A N/A grayLayer reduceRegion N/A N/A N/A ee Reducer mean N/A domain bounds metersPerPixel N/A globalMeanImage N/A N/A N/A ee Image constant N/A N/A N/A globalMean getInfo N/A channelName N/A N/A global mean =  N/A str N/A N/A N/A globalMean getInfo N/A channelName N/A meanImage N/A N/A grayLayer convolve avgKernel N/A graysSquared N/A N/A grayLayer pow N/A N/A ee Image 2 N/A meansSquared N/A N/A meanImage pow N/A N/A ee Image 2 N/A meanOfSquaredImage N/A N/A graysSquared convolve avgKernel N/A meansDiff N/A N/A meanOfSquaredImage subtract meansSquared N/A stdImage N/A N/A meansDiff sqrt N/A CV N/A N/A N/A N/A meanImage divide stdImage reproject EPSG:4326 None metersPerPixel N/A R N/A N/A N/A N/A meanImage divide globalMeanImage reproject EPSG:4326 None metersPerPixel N/A MIN_CV 0.7 N/A MAX_CV 1.3 N/A MAX_R 1.1 N/A MIN_R 0.5 N/A N/A addToMap CV N/A min max opacity palette 0 4.0 1.0 GRAY_PALETTE CV False N/A N/A addToMap R N/A min max opacity palette 0 4.0 1.0 GRAY_PALETTE R False N/A cr_method N/A N/A MIN_CR 0.1 N/A imageMin N/A N/A N/A N/A N/A grayLayer reduceRegion N/A N/A N/A ee Reducer min N/A domain bounds metersPerPixel getInfo N/A channelName N/A imageMax N/A N/A N/A N/A N/A grayLayer reduceRegion N/A N/A N/A ee Reducer max N/A domain bounds metersPerPixel getInfo N/A channelName N/A grayRange N/A imageMax imageMin N/A CR N/A N/A stdImage divide grayRange N/A t1 N/A N/A CV gte MIN_CV N/A t2 N/A N/A CV lte MAX_CV N/A t3 N/A N/A R gte MIN_R N/A t4 N/A N/A R lte MAX_R N/A cr_method N/A N/A temp N/A N/A N/A N/A N/A N/A CR gte MIN_CR And t3 And t4 N/A N/A temp N/A N/A N/A N/A N/A N/A t1 And t2 And t3 And t4 N/A X_prime N/A N/A temp reproject EPSG:4326 None metersPerPixel N/A N/A addToMap N/A N/A X_prime mask X_prime N/A min max opacity palette 0 1 1.0 TEAL_PALETTE X_prime False N/A X_doublePrime X_prime N/A localPixelLists N/A N/A grayLayer neighborhoodToBands avgKernel N/A maskWrapper N/A N/A ee ImageCollection N/A X_doublePrime N/A collection N/A N/A ee ImageCollection N/A localPixelLists N/A localThresholdList N/A N/A usedPointList N/A N/A rejectedPointList N/A N/A loc centersList N/A N/A N/A N/A thisLoc N/A N/A N/A ee Geometry Point N/A loc N/A 1 N/A loc N/A 0 N/A maskValue N/A N/A maskWrapper getRegion thisLoc metersPerPixel N/A maskValue N/A N/A N/A N/A maskValue getInfo N/A 1 N/A 4 N/A N/A maskValue N/A N/A N/A N/A rejectedPointList append thisLoc N/A N/A pointData N/A N/A collection getRegion thisLoc metersPerPixel N/A pixelVals N/A N/A N/A N/A pointData getInfo N/A 1 N/A 4 N/A NUM_BINS 256 N/A N/A hist binEdges N/A N/A numpy histogram pixelVals NUM_BINS N/A binCenters N/A N/A numpy divide N/A N/A numpy add N/A binEdges N/A NUM_BINS N/A binEdges N/A 1 2.0 N/A splitVal N/A N/A histogram splitHistogramKittlerIllingworth hist binCenters N/A N/A Computed local threshold =  N/A str splitVal N/A N/A N/A localThresholdList append splitVal N/A N/A N/A usedPointList append thisLoc N/A N/A N/A Exception N/A e N/A N/A Failed to compute a location: N/A N/A str e N/A numUsedPoints N/A len usedPointList N/A numUnusedPoints N/A len rejectedPointList N/A N/A numUsedPoints 0 N/A N/A usedPointListEE N/A N/A ee FeatureCollection N/A N/A ee Feature N/A usedPointList N/A 0 N/A i N/A range 1 numUsedPoints N/A N/A temp N/A N/A ee FeatureCollection N/A N/A ee Feature N/A usedPointList N/A i N/A usedPointListEE N/A N/A usedPointListEE merge temp N/A usedPointsDraw N/A N/A usedPointListEE draw 00FF00 8 N/A N/A addToMap usedPointsDraw N/A Used PTs False N/A N/A numUnusedPoints 0 N/A N/A unusedPointListEE N/A N/A ee FeatureCollection N/A N/A ee Feature N/A rejectedPointList N/A 0 N/A i N/A range 1 numUnusedPoints N/A N/A temp N/A N/A ee FeatureCollection N/A N/A ee Feature N/A rejectedPointList N/A i N/A unusedPointListEE N/A N/A unusedPointListEE merge temp N/A unusedPointsDraw N/A N/A unusedPointListEE draw FF0000 8 N/A N/A addToMap unusedPointsDraw N/A Unused PTs False N/A computedThreshold N/A N/A numpy median localThresholdList N/A N/A Computed global threshold =  N/A str computedThreshold N/A finalWaterClass N/A N/A grayLayer lte computedThreshold N/A finalWaterClass N/A N/A finalWaterClass select N/A channelName N/A b1 N/A finalWaterClass N/A