Main Content

checkDeletion

Check if track should be deleted

Description

example

tf = checkDeletion(historyLogic) returns a flag that is true when at least Md out of Nd recent updates of the track history logic object historyLogic are false.

example

tf = checkDeletion(historyLogic,tentativeTrack,age) returns a flag that is true when the track is tentative and there are not enough detections to allow it to confirm. Use the logical flag tentativeTrack to indicate if the track is tentative and provide age as a numeric scalar.

Examples

collapse all

Create a history-based logic. Specify confirmation threshold values Mc and Nc as the vector [2 3]. Specify deletion threshold values Md and Nd as the vector [4 5].

historyLogic = trackHistoryLogic('ConfirmationThreshold',[2 3], ...
    'DeletionThreshold',[4 5])
historyLogic = 
  trackHistoryLogic with properties:

    ConfirmationThreshold: [2 3]
        DeletionThreshold: [4 5]
                  History: [0 0 0 0 0]

Initialize the logic, which records a hit as the first update to the logic. The confirmation flag is false because the number of hits is less than two (Mc).

init(historyLogic)
history = output(historyLogic);
checkConfirmation(historyLogic)
ans = logical
   0

delFlag = checkDeletion(historyLogic);
disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [1  0  0  0  0]. Deletion Flag: 1

Update the logic with a hit. The confirmation flag is true because two hits (Mc) are counted in the most recent three updates (Nc).

hit(historyLogic)
history = output(historyLogic);
checkConfirmation(historyLogic)
ans = logical
   1

delFlag = checkDeletion(historyLogic);
disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [1  1  0  0  0]. Deletion Flag: 0
miss(historyLogic)
history = output(historyLogic);
checkConfirmation(historyLogic)
ans = logical
   1

delFlag = checkDeletion(historyLogic);
disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [0  1  1  0  0]. Deletion Flag: 0
miss(historyLogic)
history = output(historyLogic);
delFlag = checkDeletion(historyLogic);
checkConfirmation(historyLogic)
ans = logical
   0

disp(['History: [',num2str(history),']. Deletion Flag: ',num2str(delFlag)]);
History: [0  0  1  1  0]. Deletion Flag: 0

Create a history-based logic. Specify confirmation threshold values Mc and Nc as the vector [2 3]. Specify deletion threshold values Md and Nd as the vector [4 5].

historyLogic = trackHistoryLogic('ConfirmationThreshold',[2 3], ...
    'DeletionThreshold',5)
historyLogic = 
  trackHistoryLogic with properties:

    ConfirmationThreshold: [2 3]
        DeletionThreshold: [5 5]
                  History: [0 0 0 0 0]

Initialize the logic, which records a hit as the first update to the logic. Then, record two misses.

init(historyLogic)
miss(historyLogic)
miss(historyLogic)
history = output(historyLogic)
history = 1x5 logical array

   0   0   1   0   0

The confirmation flag is false because the number of hits in the most recent 3 updates (Nc) is less than 2 (Mc).

confirmationFlag = checkConfirmation(historyLogic)
confirmationFlag = logical
   0

Check the deletion flag as if the track were not tentative. The deletion flag is false because the number of misses in the most recent 5 updates (Nm) is less than 4 (Mc).

deletionFlag = checkDeletion(historyLogic)
deletionFlag = logical
   0

Recheck the deletion flag, treating the track as tentative with an age of 3. The tentative deletion flag is true because there are not enough detections to allow the track to confirm.

tentativeDeletionFlag = checkDeletion(historyLogic,true,3)
tentativeDeletionFlag = logical
   1

Input Arguments

collapse all

Track history logic, specified as a trackHistoryLogic object.

Track is tentative, specified as false or true. Use tentativeTrack to indicate if the track is tentative.

Number of updates since track initialization, specified as a numeric scalar.

Output Arguments

collapse all

Track can be deleted, returned as true or false.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2020a