I developed a tiny toolkit written in JavaScript containing helper functions to manipulate data...
I usually put all my JavaScript scripts in a sub-directory of the
plugins
directory (for example, My_Scripts
) and use my favorite text editor as described in this post [configure my dev environment].1. Install
Now, in yourplugins
directory, create a new directory termed javascript
, your folder tree is now like this...ImageJ/ +--luts/ +--macros/ +--plugins/ +--My_Scripts/ +--javascript/
Then download the following files tip-gist.js and nashorn-polyfill.js located in github.
- The first file contains various tools to manipulate the data.
- The second file contains missing JS system functions (polyfills in the jargon JS).
ImageJ/ +--luts/ +--macros/ +--plugins/ +--My_Scripts/ +--javascript/ +--tip-gist.js +--nashorn_polyfill.js
Now, we are ready to play with the data.
2. How to use it
In the folder My_Scripts, create a new file hello_ML.js and restart ImageJ. Now, in the menu,Plugins > My_Scripts
, we'll see the file hello_ML in the sub-menu.With your favorite text editor, copy the following lines...
// Import helper functions const IJ_PLUGINS = IJ.getDir('plugins'); load(`${IJ_PLUGINS}/javascript/nashorn_polyfill.js`); load(`${IJ_PLUGINS}/javascript/tip-gist.js`);
These three lines import the JS functions located in the two files nashorn-polyfill.js and tip-gist.js.
Note: The following JS script only works if you have a Java version greater or equal to 1.9 (it doesn't work with Java 1.8). To check your java version, in the main IJ window, go to Help > About ImageJ.
3. Some examples
The detailed API is located in this post [Link] but here, a simple example showing the various methods available for the object DataSet.
+++ Script hello_ML.js+++
+++ End of Script hello_ML.js+++
<< Previous: Features Next:Cleaning Data >>
4. Other crazybiocomputing posts
Further readings are available in ...
- Machine Learning Glossary
- Machine Learning in ImageJ Series [Link]
- JavaScript/ECMAScript TOC [Link]
No comments:
Post a Comment