Propety of variable in one line matlab

1 view (last 30 days)
Vatsal Shah
Vatsal Shah on 21 Aug 2019
Commented: Rik on 21 Aug 2019
I want to get a specific property (location in this case) of the variable that is returned from the function detectSURFFeatures in one line.
The following would work
temp = detectSURFFeatures(imgA, 'MetricThreshold', 1000);
features = temp.Location;
but I need to be able to get features using only one line of code like the
features=(detectSURFFeatures(imgA, 'MetricThreshold', 1000)).Location;
I was wondering if there was any way I would be able to do this

Answers (1)

Rik
Rik on 21 Aug 2019
Why do you need one line? It is generally less readable if you try to write it like that.
But if you insist: the subsref function should do the trick.
  2 Comments
Vatsal Shah
Vatsal Shah on 21 Aug 2019
I need it in one line because I plan on using that in the fun function for blockproc. I am unable to put multiple lines of code in the fun function for blocproc as far as I know. Thank you so much!
Rik
Rik on 21 Aug 2019
You can do it with subsref, but you can also supply a function handle (e.g. B=blockproc(A, sz, @mean2); ), so you can write any length function you like. Just make sure the input satisfies the restrictions of blockproc.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!