Hey,
just in case someone has a similar question, I finally figured it out how to add custom features and add them with a factor to the linking cost computation. It is actually very simple, I am using jython for the following. For adding features to spots just do (assuming s is of class trackmate.Spot):
s.putFeature(FeatureString, FeatureDouble) ,i.e.
s.putFeature('GemInt', 4232.5)
This is actually said in the API description
http://javadoc.imagej.net/Fiji/fiji/plugin/trackmate/Spot.html , but I did not expect that one can create spot features on the fly just by using this 'putFeature' method on them.
The next step is to tell the Tracker which Feature to take into account and with what penalty factor, I figured that out by inspecting (aka printing) the settings.trackerSettings dictionary. So with settings a trackmate.Settings instance one can write:
settings.trackerSettings['LINKING_FEATURE_PENALTIES'] = {'RADIUS' : 1., 'GemInt' : 20.}
So here I added two spot features to the Tracker, the default feature 'RADIUS', which should be always there, and the custom spot feature which I called GemInt. The r.h.s of the assignment is a python dictionary which maps the feature keys to the factors entering the penalty for the link cost computation, note the dots behind the numbers to make sure that they are of type double, integers are for some reason not allowed.
If one does it in that way, there are no additional sanity checks. That means one carefully has to make sure, that all feature keys added to the Tracker settings are actually set for the spots, otherwise they seem to blow off the link cost to infinity and no tracks are found !
Regards,
Greg