libJNICoCo.so | (393 kb) | GNU/Linux shared object, JNI |
JNICoCo.dll | (94 kb) | Windows dynamic link library, JNI |
jnicoco.zip | (308 kb) | C sources, version 1.29 (2019.10.11) |
jnicoco.tar.gz | (289 kb) | |
cocogui.zip | (2875 kb) | Java sources, version 1.19 (2019.10.11) |
cocogui.tar.gz | (2677 kb) |
JNICoCo is an Java Application Programmers Interface (API) for the CoCoNAD implementation in C that also includes functions for generating a pattern spectrum with the help of surrogate data and CoCoNAD analysis and for pattern spectrum estimation. The library underlying this API was implemented using the Java Native Interface (JNI).
If you have trouble getting the library to work on Microsoft Windows, check whether you have the Microsoft Visual C++ Redistributable for Visual Studio 2022 (see under "Other Tools and Frameworks") installed, as the library was compiled with Microsoft Visual Studio 2022.
On Microsoft Windows it should suffice to place the dynamic link
library (JNICoCo.dll
) into the same directory from which the
Java class or the Java archive are called that are meant to use the
API provided by the library. On a Unix/Linux system it may also suffice
to place the shared object (libJNICoCo.so
) into such a
directory, but this is less likely to work.
If this simple method fails, the reason is usually that Java cannot find the library, due to the fact that the necessary path is missing from the Java library path. To fix this, the Java class or Java archive that is meant to use the library should be invoked from the command line with
java [-jar] -Djava.library.path="." <path_to_class_or_jar>
Here the option -Djava.library.path="."
adds the current
working directory (denoted by "."
) to the list of paths that
are searched by Java for the library libJNICoCo.so
(GNU/Linux)
or JNICoCo.dll
(Microsoft Windows). Note that the library may
also be placed into any other directory if the "."
is replaced
by the path to that directory. Note also that the invocation command
may conveniently be stored in a batch file (for Microsoft Windows) or
a shell script (for GNU/Linux), thus hiding the unusual invocation
from an end user.
In order to develop an application based on this API, the
Java sources made available above are needed. The main file is
coconad/JNICoCo.java
, which contains the functions through
which the C implementation can be accessed. The other Java source
files provide classes for (parallel) trains and pattern sets. See
the Java documentation that accompanies the sources for details.
More information about the CoCoNAD algorithm can be found in the following papers:
A description of the methods of pattern spectrum filtering and pattern set reduction can be found in the following papers:
Pattern spectrum estimation is described in the following paper: