== TrackMate scripting principle ==
[[TrackMate_]] can be used
out of the GUI, using a scripting language that allows making calls to Java. The most simple way to get started is to use the [[Script Editor]] of Fiji, which takes care of the difficult & boring part for you (such as path). The examples proposed on this page all use Jython, but can be adapted to anything.
Since we are calling the internals of TrackMate, we must get to know a bit of its guts. I have tried to come up with a rational design; though not always successfully. There is 3 main classes to interact with in a script:
By default, TrackMate only computes a very limited number of features. The GUI forces TrackMate to compute them all, but if you do scripting, you will have to explicitly configures TrackMate to compute the features you desire. This is done by adding feature analyzers to the settings object.
There are some gotchas: some feature analyzers require other numerical features to be already calculated. If something does not work, it is a good idea to directly check the preamble in the source code of the analyzers ([https://github.com/fiji/
fiji/ tree/master /src-plugins/TrackMate_/src/main/java/fiji/plugin/trackmate/features TrackMate feature logic]).
Finally, depending on their type, numerical features are not stored at the same place:
JeanYvesTinevez }} ([ [ User talk : JeanYvesTinevez|talk]]) 09 : 20, 11 March 2015 ( CDT)