Track

Synopsis

This class represents one track marker as visible in the tracker node or on the viewer. It is available to Python to easily retrieve the tracked data. See detailed description below.

Functions

Detailed Description

The track is internally represented by multiple parameters which holds animation curve for various data, such as: the track center, the pattern 4 corners, the error score, the search-window, etc… Each of them can be retrieved with the getParam(scriptName) function.

Here is an example briefly explaining how to retrieve the tracking data for a track:

myTrack = app.Tracker1.tracker.track1

keyframes = []

# get the number of keys for the X dimension only and try match the Y keyframes
nKeys = myTrack.centerPoint.getNumKeys(0)
for k in range(0,nKeys):

    # getKeyTime returns a tuple with a boolean value indicating if it succeeded and
    # the keyframe time

    gotXKeyTuple = myTrack.centerPoint.getKeyTime(k, 0)
    frame = gotXKeyTuple[1]

    # Only consider keyframes which have an X and Y value
    # If Y does not have a keyframe at this frame, ignore the keyframe
    # getKeyIndex returns a value >=0 if there is a keyframe
    yKeyIndex = myTrack.centerPoint.getKeyIndex(frame, 1)

    if yKeyIndex == -1:
        continue

    # Note that even if the x curve or y curve didn't have a keyframe we
    # could still call getValueAtTime but the value would be interpolated by
    # Natron with surrounding keyframes, which is not what we want.

    x = myTrack.centerPoint.getValueAtTime(frame, 0)
    y = myTrack.centerPoint.getValueAtTime(frame, 1)

    keyframes.append((x,y))

print keyframes

Member functions description

NatronEngine.Track.setScriptName(scriptName)
Parameters

scriptNamestr

Set the script-name of the track. It will then be accessible via a Python script as such:

Tracker1.tracker.MyTrackScriptName
NatronEngine.Track.getScriptName()
Return type

str

Get the script-name of the track

NatronEngine.Track.getParam(paramScriptName)
Return type

Param

Get the Param with the given paramScriptName. The parameter can also be retrieved as an attribute of the tracker object like this:

Tracker1.tracker.center
NatronEngine.Track.getParams()
Return type

Param

Returns a list of all the Param for this track.

NatronEngine.Track.reset()

Resets the track completely removing any animation on all parameters and any keyframe on the pattern.