If a user wants to write their own reduction function (e.g. Galileo - Rankine criterion, or a custom safety factor output) they currently would need to use some post-processing in Paraview or other software.
In a future version this should be possible:
fea.set_outputs([{
"output_var": ("s1","s2","s3"),
"reduction_fun": myfun,
}])
def myfun(s1, s2, s3):
return something