Track-oriented multi-hypotheses tracking assignment

`[`

returns a table of assignments, `assignments`

,`unassignedrows`

,`unassignedcolumns`

] = assignTOMHT(`costmatrix`

,`costThreshold`

)`assignments`

, of detections to tracks
using a track-oriented multi-hypothesis algorithm (TOMHT).

The cost of each potential assignment is contained in the cost
matrix, `costmatrix`

. Each matrix entry represents the cost of a possible
assignments. Matrix rows represent tracks and columns represent detections. All possible
assignments are represented in the cost matrix. The lower the cost, the more likely the
assignment is to be made. Each track can be assigned to at most one detection and each detection
can be assigned to at most one track. If the number of rows is greater than the number of
columns, some tracks are unassigned. If the number of columns is greater than the number of
rows, some detections are unassigned. You can set an entry of `costmatrix`

to
`Inf`

to prohibit an assignment.

`costThreshold`

represents the set of three gates used for assigning
detections to tracks.

The function returns a list of unassigned tracks, `unassignedrows`

,
and a list of unassigned detections, `unassignedcolumns`

.

[1] Werthmann, John R.
"*Step-by-step description of a computationally efficient version of multiple
hypothesis tracking.*" In Signal and Data Processing of Small Targets 1992, vol.
1698, pp. 288-300. International Society for Optics and Photonics, 1992.