package ini.trakem2.scripting; import ij.IJ; import ij.ImagePlus; import ini.trakem2.display.Patch; import ini.trakem2.utils.IJError; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; public class PatchScript { static private Method m = null; /** Run the script at path on the ImagePlus of patch. */ static public void run(final Patch patch, final ImagePlus imp, final String path) { try { HashMap<String,Object> vars = new HashMap<String,Object>(); vars.put("patch", patch); vars.put("imp", imp); if (null == m) { Class<?> c = Class.forName("common.ScriptRunner"); m = c.getDeclaredMethod("run", String.class, Map.class); } m.invoke(null, (IJ.isWindows() ? path.replace('/', '\\') : path), vars); } catch (Exception e) { IJError.print(e); } } }