I just found there are options names conflict in OpenIMAJ when used
ImageTerrierTools basic indexer to make an index. I specified the -ft
option to choose ASIFT or ASIFTENRICHED feature extraction mode. I got the
error message:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.imageterrier.ImageTerrierMain.main(ImageTerrierMain.java:63)
Caused by: org.kohsuke.args4j.IllegalAnnotationError: Option name -nt is
used more than once
at
org.kohsuke.args4j.CmdLineParser.checkOptionNotInMap(CmdLineParser.java:140)
at org.kohsuke.args4j.CmdLineParser.addOption(CmdLineParser.java:129)
at
org.kohsuke.args4j.ProxyOptionHandler.addOptions(ProxyOptionHandler.java:262)
at
org.kohsuke.args4j.ProxyOptionHandler.handleExtraArgs(ProxyOptionHandler.java:163)
at
org.kohsuke.args4j.ProxyOptionHandler.parseArguments(ProxyOptionHandler.java:60)
at org.kohsuke.args4j.CmdLineParser.parseArgument(CmdLineParser.java:435)
at org.imageterrier.basictools.BasicIndexer.run(BasicIndexer.java:266)
at org.imageterrier.basictools.BasicIndexer.main(BasicIndexer.java:330)
I traced the code in OpenIMAJ and found that either ASIFT or ASIFTENRICHED
use -nt as an option name for --n-tilts. And ClusterType class also uses
-nt for --number-of-trees option. I think it is the reason to cause the
problem. Can it be fixed by change one of the aliases name to avoid the
conflict? Thanks.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Good catch. I've removed the -nt alias from the ASIFT/ASIFTENRICHED modes in rev #2568, so you'll now have to use --n-tilts to specify the number of tilts.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I just found there are options names conflict in OpenIMAJ when used
ImageTerrierTools basic indexer to make an index. I specified the -ft
option to choose ASIFT or ASIFTENRICHED feature extraction mode. I got the
error message:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.imageterrier.ImageTerrierMain.main(ImageTerrierMain.java:63)
Caused by: org.kohsuke.args4j.IllegalAnnotationError: Option name -nt is
used more than once
at
org.kohsuke.args4j.CmdLineParser.checkOptionNotInMap(CmdLineParser.java:140)
at org.kohsuke.args4j.CmdLineParser.addOption(CmdLineParser.java:129)
at
org.kohsuke.args4j.ProxyOptionHandler.addOptions(ProxyOptionHandler.java:262)
at
org.kohsuke.args4j.ProxyOptionHandler.handleExtraArgs(ProxyOptionHandler.java:163)
at
org.kohsuke.args4j.ProxyOptionHandler.parseArguments(ProxyOptionHandler.java:60)
at org.kohsuke.args4j.CmdLineParser.parseArgument(CmdLineParser.java:435)
at org.imageterrier.basictools.BasicIndexer.run(BasicIndexer.java:266)
at org.imageterrier.basictools.BasicIndexer.main(BasicIndexer.java:330)
I traced the code in OpenIMAJ and found that either ASIFT or ASIFTENRICHED
use -nt as an option name for --n-tilts. And ClusterType class also uses
-nt for --number-of-trees option. I think it is the reason to cause the
problem. Can it be fixed by change one of the aliases name to avoid the
conflict? Thanks.
Good catch. I've removed the
-ntalias from the ASIFT/ASIFTENRICHED modes in rev #2568, so you'll now have to use--n-tiltsto specify the number of tilts.