@@ -1516,21 +1516,13 @@ def filter_bands(args: Dict, env: EvalEnv) -> Union[DriverDataCube, DriverVector
15161516
15171517
15181518@process
1519- def apply_kernel (args : Dict , env : EvalEnv ) -> DriverDataCube :
1520- image_collection = extract_arg (args , 'data' )
1521- kernel = np .asarray (extract_arg (args , 'kernel' ))
1522- factor = args .get ('factor' , 1.0 )
1523- border = args .get ('border' , 0 )
1524- if not isinstance (image_collection , DriverDataCube ):
1525- raise ProcessParameterInvalidException (
1526- parameter = "data" , process = "apply_kernel" ,
1527- reason = f"Invalid data type { type (image_collection )!r} expected raster-cube."
1528- )
1529- if border == "0" :
1530- # R-client sends `0` border as a string
1531- border = 0
1532- replace_invalid = args .get ('replace_invalid' , 0 )
1533- return image_collection .apply_kernel (kernel = kernel , factor = factor , border = border , replace_invalid = replace_invalid )
1519+ def apply_kernel (args : ProcessArgs , env : EvalEnv ) -> DriverDataCube :
1520+ cube : DriverDataCube = args .get_required ("data" , expected_type = DriverDataCube )
1521+ kernel = np .asarray (args .get_required ("kernel" , expected_type = list ))
1522+ factor = args .get_optional ("factor" , default = 1.0 , expected_type = (int , float ))
1523+ border = args .get_optional ("border" , default = 0 , expected_type = int )
1524+ replace_invalid = args .get_optional ("replace_invalid" , default = 0 , expected_type = (int , float ))
1525+ return cube .apply_kernel (kernel = kernel , factor = factor , border = border , replace_invalid = replace_invalid )
15341526
15351527
15361528@process
0 commit comments