@Override
	public void spawnTracks() {
		for (int setIndex = 0; setIndex < sets.length; setIndex++) {
			SetTrackInfo<Desc> info = sets[setIndex];

			// setup data structures
			if( info.isAssociated.length < info.featDst.size ) {
				info.isAssociated = new boolean[ info.featDst.size ];
			}

			// see which features are associated in the dst list
			for( int i = 0; i < info.featDst.size; i++ ) {
				info.isAssociated[i] = false;
			}

			for( int i = 0; i < info.matches.size; i++ ) {
				info.isAssociated[info.matches.data[i].dst] = true;
			}

			// create new tracks from latest unassociated detected features
			for( int i = 0; i < info.featDst.size; i++ ) {
				if( info.isAssociated[i] )
					continue;

				Point2D_F64 loc = info.locDst.get(i);
				addNewTrack(setIndex, loc.x,loc.y,info.featDst.get(i));
			}
		}

	}
@ Override public void spawnTracks ( ) { for ( int setIndex = 0 ; setIndex < sets . length ; setIndex ++ ) { SetTrackInfo < Desc > info = sets [ setIndex ] ; if ( info . isAssociated . length < info . featDst . size ) { info . isAssociated = new boolean [ info . featDst . size ] ; } for ( int i = 0 ; i < info . featDst . size ; i ++ ) { info . isAssociated [ i ] = false ; } for ( int i = 0 ; i < info . matches . size ; i ++ ) { info . isAssociated [ info . matches . data [ i ] . dst ] = true ; } for ( int i = 0 ; i < info . featDst . size ; i ++ ) { if ( info . isAssociated [ i ] ) continue ; Point2D_F64 loc = info . locDst . get ( i ) ; addNewTrack ( setIndex , loc . x , loc . y , info . featDst . get ( i ) ) ; } } }
Takes the current crop of detected features and makes them the keyframe