@@ -71,9 +71,7 @@ def addDate(self, format: str | ee.String = "") -> ee.Image:
7171
7272 return self ._obj .addBands (dateBand )
7373
74- def addSuffix (
75- self , suffix : str | ee .String , bands : list [str ] | ee .List | None = None
76- ) -> ee .Image :
74+ def addSuffix (self , suffix : str | ee .String , bands : list [str ] | ee .List | None = None ) -> ee .Image :
7775 """Add a suffix to the image selected band.
7876
7977 Add a suffix to the selected band. If no band is specified, the suffix is added to all bands.
@@ -97,16 +95,12 @@ def addSuffix(
9795 print(image.bandNames().getInfo())
9896 """
9997 suffix = ee .String (suffix )
100- bands = ee .List (bands ) if bands is not None else self ._obj .bandNames ()
101- bandNames = bands .iterate (
102- lambda b , n : ee .List (n ).replace (b , ee .String (b ).cat (suffix )),
103- self ._obj .bandNames (),
104- )
98+ srcBands = self ._obj .bandNames ()
99+ eeBands = srcBands if bands is None else ee .List (bands )
100+ bandNames = eeBands .iterate (lambda b , n : ee .List (n ).replace (b , ee .String (b ).cat (suffix )), srcBands )
105101 return self ._obj .rename (bandNames )
106102
107- def addPrefix (
108- self , prefix : str | ee .String , bands : list [str ] | ee .List | None = None
109- ) -> ee .Image :
103+ def addPrefix (self , prefix : str | ee .String , bands : list [str ] | ee .List | None = None ) -> ee .Image :
110104 """Add a prefix to the image selected band.
111105
112106 Add a prefix to the selected band. If no band is specified, the prefix is added to all bands.
@@ -130,11 +124,9 @@ def addPrefix(
130124 print(image.bandNames().getInfo())
131125 """
132126 prefix = ee .String (prefix )
133- bands = ee .List (bands ) if bands is not None else self ._obj .bandNames ()
134- bandNames = bands .iterate (
135- lambda b , n : ee .List (n ).replace (b , prefix .cat (ee .String (b ))),
136- self ._obj .bandNames (),
137- )
127+ srcBands = self ._obj .bandNames ()
128+ eeBands = srcBands if bands is None else ee .List (bands )
129+ bandNames = eeBands .iterate (lambda b , n : ee .List (n ).replace (b , prefix .cat (ee .String (b ))), srcBands )
138130 return self ._obj .rename (bandNames )
139131
140132 def rename (self , names : dict | ee .Dictionary ) -> ee .Image :
@@ -162,9 +154,7 @@ def rename(self, names: dict | ee.Dictionary) -> ee.Image:
162154 print(image.bandNames().getInfo())
163155 """
164156 names = ee .Dictionary (names )
165- bands = names .keys ().iterate (
166- lambda b , n : ee .List (n ).replace (b , names .get (b )), self ._obj .bandNames ()
167- )
157+ bands = names .keys ().iterate (lambda b , n : ee .List (n ).replace (b , names .get (b )), self ._obj .bandNames ())
168158 return self ._obj .rename (bands )
169159
170160 def remove (self , bands : list [str ] | ee .List ) -> ee .Image :
@@ -228,9 +218,7 @@ def doyToDate(
228218
229219 doyList = ee .List .sequence (0 , 365 )
230220 remapList = doyList .map (
231- lambda d : ee .Number .parse (
232- ee .Date .fromYMD (year , 1 , 1 ).advance (d , "day" ).format (dateFormat )
233- )
221+ lambda d : ee .Number .parse (ee .Date .fromYMD (year , 1 , 1 ).advance (d , "day" ).format (dateFormat ))
234222 )
235223 return self ._obj .remap (doyList , remapList , bandName = band ).rename (band )
236224
@@ -361,9 +349,7 @@ def toGrid(
361349 index = ee .List .sequence (0 , lat .size ().subtract (2 ))
362350 squares = index .map (
363351 lambda i : (
364- ee .Geometry .Point ([lon .get (i ), lat .get (i )])
365- .buffer (size .divide (2 ))
366- .bounds (0.01 , projection )
352+ ee .Geometry .Point ([lon .get (i ), lat .get (i )]).buffer (size .divide (2 )).bounds (0.01 , projection )
367353 )
368354 )
369355
@@ -402,9 +388,7 @@ def clipOnCollection(
402388
403389 def fcClip (feat ):
404390 image = self ._obj .clip (feat .geometry ())
405- return ee .Algorithms .If (
406- ee .Number (keepProperties ).toInt (), image .copyProperties (feat ), image
407- )
391+ return ee .Algorithms .If (ee .Number (keepProperties ).toInt (), image .copyProperties (feat ), image )
408392
409393 return ee .ImageCollection (fc .map (fcClip ))
410394
@@ -469,18 +453,18 @@ def full(
469453 image = ee.Image.geetools.full([1, 2, 3], ['a', 'b', 'c'])
470454 print(image.bandNames().getInfo())
471455 """
472- values = ee .List (values ) if values is not None else ee .List ([ 0 ] )
473- names = ee .List (names ) if names is not None else ee .List ([ "constant" ] )
456+ eeValues = ee .List ([ 0 ] ) if values is None else ee .List (values )
457+ eeNames = ee .List ([ "constant" ] ) if names is None else ee .List (names )
474458
475459 # resize value to the same length as names
476- values = ee .List (
460+ eeValues = ee .List (
477461 ee .Algorithms .If (
478- values .size ().eq (1 ),
479- ee .List .repeat (ee .Number (values .get (0 )), names .size ()),
480- values ,
462+ eeValues .size ().eq (1 ),
463+ ee .List .repeat (ee .Number (eeValues .get (0 )), eeNames .size ()),
464+ eeValues ,
481465 )
482466 )
483- return ee .Image .constant (values ).rename (names )
467+ return ee .Image .constant (eeValues ).rename (eeNames )
484468
485469 def fullLike (
486470 self ,
@@ -574,12 +558,12 @@ def reduceBands(
574558 if not isinstance (reducer , str ):
575559 raise TypeError ("reducer must be a Python string" )
576560
577- bands = ee .List (bands ) if bands is not None else ee .List ([])
561+ eeBands = ee .List (bands ) if bands is not None else ee .List ([])
578562 name = ee .String (name )
579- bands = ee .Algorithms .If (bands .size ().eq (0 ), self ._obj .bandNames (), bands )
563+ eeBands = ee .Algorithms .If (eeBands .size ().eq (0 ), self ._obj .bandNames (), eeBands )
580564 name = ee .Algorithms .If (name .equals (ee .String ("" )), reducer , name )
581565 red = getattr (ee .Reducer , reducer )() if isinstance (reducer , str ) else reducer
582- reduceImage = self ._obj .select (ee .List (bands )).reduce (red ).rename ([name ])
566+ reduceImage = self ._obj .select (ee .List (eeBands )).reduce (red ).rename ([name ])
583567 return self ._obj .addBands (reduceImage )
584568
585569 def negativeClip (self , geometry : ee .Geometry | ee .Feature | ee .FeatureCollection ) -> ee .Image :
@@ -827,9 +811,7 @@ def isletMask(self, offset: float | int | ee.Number) -> ee.Image:
827811 scale = self ._obj .projection ().nominalScale ()
828812 pixelsLimit = offset .multiply (2 ).sqrt ().divide (scale ).max (ee .Number (2 )).toInt ()
829813 area = ee .Image .pixelArea ().rename ("area" )
830- isletArea = (
831- self ._obj .select (0 ).mask ().toInt ().connectedPixelCount (pixelsLimit ).multiply (area )
832- )
814+ isletArea = self ._obj .select (0 ).mask ().toInt ().connectedPixelCount (pixelsLimit ).multiply (area )
833815 return isletArea .lt (offset ).rename ("mask" ).selfMask ()
834816
835817 # -- ee-extra wrapper ------------------------------------------------------
@@ -1119,7 +1101,7 @@ def getDOI(self) -> str:
11191101 """
11201102 stac = self .getSTAC ()
11211103 error_msg = "DOI not found in the STAC"
1122- return stac [ "sci:doi" ] if "sci:doi" in stac else error_msg
1104+ return stac . get ( "sci:doi" , error_msg )
11231105
11241106 def getCitation (self ) -> str :
11251107 """Gets the citation of the image, if available.
@@ -1142,7 +1124,7 @@ def getCitation(self) -> str:
11421124 """
11431125 stac = self .getSTAC ()
11441126 error_msg = "Citation not found in the STAC"
1145- return stac [ "sci:citation" ] if "sci:citation" in stac else error_msg
1127+ return stac . get ( "sci:citation" , error_msg )
11461128
11471129 def panSharpen (self , method : str = "SFIM" , qa : str = "" , ** kwargs ) -> ee .Image :
11481130 """Apply panchromatic sharpening to the Image.
0 commit comments