exponenta event banner

getHistory

Получить историю филиалов обслуживаемых треков

Описание

пример

history = getHistory(branchHistoryMgr) возвращает таблицу, содержащую историю ветви пути, поддерживаемую входными данными trackBranchHistory 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=3×5 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=9×5 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. Предыдущее сканирование - Scan 1, которое было Scan 2 в предыдущем обновлении назначения. История сдвинула одно сканирование вправо.

  • Ветви 1 и 3 являются ветвями для неназначенных дорожек.

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

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

  • Ветви 7-10 являются ветвями, созданными для назначений путей.

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

свернуть все

Диспетчер истории входных филиалов, указанный как trackBranchHistory Системный объект.

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

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

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

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

свернуть все

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

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

  • TrackID - идентификатор дорожки, связанной с ветвью. Ветви пути, которые, как предполагается, были созданы из одного и того же целевого объекта, имеют один и тот же идентификатор пути. Если ветвь происходит от неназначенного обнаружения, эта ветвь получает новый идентификатор дорожки.

  • ParentID - идентификатор родительской ветви, то есть ветви, из которой возникла текущая ветвь. Ветви, созданные из одного и того же родителя, имеют одно и то же ParentID. A ParentID Значение 0 указывает на новую дорожку. Эти дорожки создаются из гипотез, соответствующих неназначенным обнаружениям.

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

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

Сканировать NСканирование N - 1. . .Сканирование N - D
Датчик - 1Датчик - 2. . .Датчик - S Датчик - 1Датчик - 2. . .Датчик - S . . .Датчик - 1Датчик - 2. . .Датчик - S

1

0

...

0

1

2

...

0

...

0

0

...

0

См. также

Представлен в R2018b