getHistory

Получите историю ответвления сохраняемых дорожек

Синтаксис

history = getHistory(branchHistoryMgr)
history = getHistory(branchHistoryMgr,format)

Описание

пример

history = getHistory(branchHistoryMgr) возвращает таблицу, содержащую историю ответвления дорожки, сохраняемую входом trackBranchHistory System object™, branchHistoryMgr.

history = getHistory(branchHistoryMgr,format) возвращает историю ответвления в заданном формате: 'table' или 'matrix'.

Примеры

свернуть все

Примените результаты алгоритма присвоения к ориентированному на дорожку, менеджеру по истории ответвления отслеживания мультигипотезы (MHT). Просмотрите получившиеся ответвления дорожки (гипотезы).

Создайте менеджера по истории ответвления MHT, который является Системой trackBranchHistory object™. Установите объект поддержать историю четырех датчиков и двух сканирований.

branchHistoryMgr = trackBranchHistory('MaxNumSensors',4,'MaxNumHistoryScans',2)
branchHistoryMgr = 

  trackBranchHistory with properties:

          MaxNumSensors: 4
     MaxNumHistoryScans: 2
           MaxNumTracks: 200
    MaxNumTrackBranches: 3

Обновите историю ответвления. Поскольку первое обновление не имеет никаких предыдущих ответвлений, менеджер по истории ответвления содержит только неприсвоенные обнаружения.

emptyAssignment = zeros(0,2,'uint32');
emptyUnassignment = zeros(0,1,'uint32');
unassignedDetections = uint32([1;2;3]);
originatingSensor = [1 1 2];
history = branchHistoryMgr(emptyAssignment,emptyUnassignment, ...
    unassignedDetections,originatingSensor);

Просмотрите текущую историю ответвления при помощи функции getHistory. Каждое обнаружение присвоено отдельной дорожке.

getHistory(branchHistoryMgr)
ans =

  3x5 table

    TrackID    ParentID    BranchID                     Scan2                                       Scan1                  
                                       Sensor1    Sensor2    Sensor3    Sensor4    Sensor1    Sensor2    Sensor3    Sensor4
    _______    ________    ________    ________________________________________    ________________________________________

       1          0           1           1          0          0          0          0          0          0          0   
       2          0           2           2          0          0          0          0          0          0          0   
       3          0           3           0          3          0          0          0          0          0          0   

Задайте несколько присвоений ответвления и несколько неприсвоенных ответвлений дорожки и обнаружений.

  • Присвойте ответвление 1 обнаружениям 1 и 2.

  • Присвойте ответвление 2 обнаружениям 1 и 2.

  • Рассмотрите ответвления дорожки 1 и 3 неприсвоенных.

  • Рассмотрите обнаружения 1, 2, и 3 неприсвоенных.

assignments = uint32([1 1; 1 2; 2 1; 2 2]);
unassignedTracks = uint32([1;3]);
unassignedDetections = uint32([1;2;3]);

Обновите менеджера по истории ответвления с присвоениями и неприсвоенными дорожками и обнаружениями.

history = branchHistoryMgr(assignments,unassignedTracks, ...
    unassignedDetections,originatingSensor);

Просмотрите обновленную историю ответвления.

getHistory(branchHistoryMgr)
ans =

  9x5 table

    TrackID    ParentID    BranchID                     Scan2                                       Scan1                  
                                       Sensor1    Sensor2    Sensor3    Sensor4    Sensor1    Sensor2    Sensor3    Sensor4
    _______    ________    ________    ________________________________________    ________________________________________

       1          1            1          0          0          0          0          1          0          0          0   
       3          3            3          0          0          0          0          0          3          0          0   
       4          0            4          1          0          0          0          0          0          0          0   
       5          0            5          2          0          0          0          0          0          0          0   
       6          0            6          0          3          0          0          0          0          0          0   
       1          1            7          1          0          0          0          1          0          0          0   
       1          1            8          2          0          0          0          1          0          0          0   
       2          2            9          1          0          0          0          2          0          0          0   
       2          2           10          2          0          0          0          2          0          0          0   

Осмотрите историю ответвления.

  • Новое сканирование является Сканированием 2. Предыдущее сканирование является Сканированием 1, который был Сканированием 2 в предыдущем обновлении присвоения. История переключила одно сканирование направо.

  • Ответвления 1 и 3 являются ответвлениями для неприсвоенных дорожек.

  • Ответвление 2 больше не находится в истории, потому что это не считалось неприсвоенным. Его присвоение на обнаружения 1 и 2 созданных ответвления 9 и 10.

  • Ответвления 4–6 являются ответвлениями, созданными для неприсвоенных обнаружений.

  • Ответвления 7–10 являются ответвлениями, созданными для присвоений дорожки.

Входные параметры

свернуть все

Введите менеджера по истории ответвления, заданного как Системный объект trackBranchHistory.

Формат выходной истории ответвления, заданной как одно из следующего:

  • 'table' (значение по умолчанию) — Возвращает историю ответвления в таблице.

  • 'matrix' — Возвратите историю ответвления в матрице. Этот вывод эквивалентен выходному параметру, возвращенному при вызове Системного объекта trackBranchHistory.

Выходные аргументы

свернуть все

История ответвления, возвращенная как таблица целых чисел или как матрица целых чисел.

Каждая строка history представляет уникальное ответвление дорожки. history имеет 3 + (D ×S) столбцы, где D является количеством сохраняемых сканирований (глубина истории), и S является максимальным количеством сохраняемых датчиков. Первые три столбца представляют следующую информацию о каждом ответвлении дорожки:

  • TrackID — ID дорожки, которая сопоставлена с ответвлением. Отследите ответвления, которые приняты, чтобы произойти из той же цели, имеют тот же ID дорожки. Если ответвление происходит из неприсвоенного обнаружения, то ответвление получает ID нового трека.

  • ParentID — ID родительского ответвления, то есть, ответвления, от который текущее порожденное ответвление. Ответвления, которые были созданы из того же родительского элемента, имеют тот же ParentID. ParentID 0 указывает на новый трек. Эти дорожки создаются из гипотез, соответствующих неприсвоенным обнаружениям.

  • BranchID — Уникальный идентификатор ответвления дорожки. Каждое ответвление, созданное из неприсвоенного обнаружения или присвоения, получает новый ID ответвления.

Остающийся D ×S столбцы содержит идентификаторы обнаружений, присвоенных каждому ответвлению. Ответвление может быть присвоено самое большее одному обнаружению на сканирование и на датчик. Таблица показывает организацию этих столбцов с демонстрационными обнаружениями. N является количеством сканирований. Значение 0 означает, что датчику на том сканировании не присвоили обнаружение ему.

Отсканируйте NОтсканируйте N – 1. . .Отсканируйте ND
Датчик – 1Датчик – 2. . .Датчик – S Датчик – 1Датчик – 2. . .Датчик – S . . .Датчик – 1Датчик – 2. . .Датчик – S

1

0

...

0

1

2

...

0

...

0

0

...

0

Смотрите также

Введенный в R2018b

Для просмотра документации необходимо авторизоваться на сайте