MATLAB Answers

How to get a return value from a function_handle, when the function_handle is an input to a system object

조회 수: 7(최근 30일)
I am using the Sensor Fusion toolbox. When I create the trackerGNN system object, I set the property 'FilterInitializationFcn' which specifies the filter initialization function. I am using the IMM filter (@initekfimm), so I would like to plot the probability of each model over time, which is the ModelProbabilities property of the IMM filter.
I want @initekfimm to output ModelProbabilities. ModelProbabilities is a property of trackingIMM, which is called from initekfimm.
My plan was to use get(IMM, ‘ModelProbabilities’) and then have initekfimm output ModelProbabilities.
The issue is that the function initekfimm is called from trackerGNN , and trackerGNN can’t output stuff that isn’t listed as one of its properties.
Here is my code:
tracker = trackerGNN( 'FilterInitializationFcn',@initekfimm,...
I want initekfimm to output ModelProbabilities whenever the filter is called. How do I access the outputs of initekfimm?
  댓글 수: 4

댓글을 달려면 로그인하십시오.

채택된 답변

Elad Kivelevitch
Elad Kivelevitch 4 Nov 2019
You can access any property of any tracking filter used in the trackerGNN (and any other tracker) by calling the getTrackFilterProperties method of the tracker.
help trackerGNN/getTrackFilterProperties
I don't know how many objects you are tracking, but let's assume it is only one for now.
You can use the following code:
gnn = trackerGNN('MaxNumTracks',1,'FilterInitializationFcn',@initekfimm);
modelProbs = zeros(3,10); % 10 time steps
for t = 1:10
detections = {objectDetection(t,zeros(3,1))};
[~,~,track] = gnn(detections,t); % Get all tracks
mps = getTrackFilterProperties(gnn,track.TrackID,'ModelProbabilities');
modelProbs(:,t) = mps{1};

추가 답변(0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by