<s> import numpy as np <EOL> class VineyardAnalysis ( ) : <EOL> def __init__ ( self ) : <EOL> self . name = "<STR_LIT>" <EOL> self . description = "<STR_LIT>" <EOL> def getParameterInfo ( self ) : <EOL> return [ <EOL> { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:value>' : None , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : "<STR_LIT>" , <EOL> '<STR_LIT:description>' : "<STR_LIT>" <EOL> } , <EOL> { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:value>' : None , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : "<STR_LIT>" , <EOL> '<STR_LIT:description>' : "<STR_LIT>" <EOL> } , <EOL> { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:value>' : None , <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : "<STR_LIT>" , <EOL> '<STR_LIT:description>' : "<STR_LIT>" <EOL> } , <EOL> { <EOL> '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:value>' : None , <EOL> '<STR_LIT>' : False , <EOL> '<STR_LIT>' : "<STR_LIT>" , <EOL> '<STR_LIT:description>' : "<STR_LIT>" <EOL> } , <EOL> ] <EOL> def getConfiguration ( self , ** scalars ) : <EOL> return { <EOL> '<STR_LIT>' : <NUM_LIT:2> | <NUM_LIT:4> | <NUM_LIT:8> , <EOL> '<STR_LIT>' : <NUM_LIT:2> | <NUM_LIT:4> | <NUM_LIT:8> , <EOL> '<STR_LIT>' : True <EOL> } <EOL> def updateRasterInfo ( self , ** kwargs ) : <EOL> kwargs [ '<STR_LIT>' ] [ '<STR_LIT>' ] = <NUM_LIT:1> <EOL> kwargs [ '<STR_LIT>' ] [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> kwargs [ '<STR_LIT>' ] [ '<STR_LIT>' ] = ( { '<STR_LIT>' : <NUM_LIT:0> , '<STR_LIT>' : <NUM_LIT:3> } , ) <EOL> kwargs [ '<STR_LIT>' ] [ '<STR_LIT>' ] = np . array ( [ <NUM_LIT:0> ] , '<STR_LIT>' ) <EOL> return kwargs <EOL> def updatePixels ( self , tlc , shape , props , ** pixelBlocks ) : <EOL> elev = np . array ( pixelBlocks [ '<STR_LIT>' ] , dtype = '<STR_LIT>' , copy = False ) <EOL> slope = np . array ( pixelBlocks [ '<STR_LIT>' ] , dtype = '<STR_LIT>' , copy = False ) <EOL> aspect = np . array ( pixelBlocks [ '<STR_LIT>' ] , dtype = '<STR_LIT>' , copy = False ) <EOL> E = ( elev > <NUM_LIT:30> ) . astype ( '<STR_LIT>' , copy = False ) & ( elev < <NUM_LIT> ) . astype ( '<STR_LIT>' , copy = False ) <EOL> S = ( slope > <NUM_LIT:5> ) . astype ( '<STR_LIT>' , copy = False ) & ( slope < <NUM_LIT> ) . astype ( '<STR_LIT>' , copy = False ) <EOL> A = ( aspect > <NUM_LIT:0> ) . astype ( '<STR_LIT>' , copy = False ) & ( aspect < <NUM_LIT:200> ) . astype ( '<STR_LIT>' , copy = False ) <EOL> pixelBlocks [ '<STR_LIT>' ] = ( E + S + A ) . astype ( props [ '<STR_LIT>' ] , copy = False ) <EOL> return pixelBlocks <EOL> def updateKeyMetadata ( self , names , bandIndex , ** keyMetadata ) : <EOL> if bandIndex == - <NUM_LIT:1> : <EOL> keyMetadata [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> keyMetadata [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> elif bandIndex == <NUM_LIT:0> : <EOL> keyMetadata [ '<STR_LIT>' ] = None <EOL> keyMetadata [ '<STR_LIT>' ] = None <EOL> keyMetadata [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> return keyMetadata </s>
