summaryrefslogtreecommitdiffstats
path: root/SD-VBS/common/toolbox/toolbox_basic/affine/iter_AD.m
diff options
context:
space:
mode:
authorLeo Chan <leochanj@live.unc.edu>2020-10-22 01:53:21 -0400
committerJoshua Bakita <jbakita@cs.unc.edu>2020-10-22 01:56:35 -0400
commitd17b33131c14864bd1eae275f49a3f148e21cf29 (patch)
tree0d8f77922e8d193cb0f6edab83018f057aad64a0 /SD-VBS/common/toolbox/toolbox_basic/affine/iter_AD.m
parent601ed25a4c5b66cb75315832c15613a727db2c26 (diff)
Squashed commit of the sb-vbs branch.
Includes the SD-VBS benchmarks modified to: - Use libextra to loop as realtime jobs - Preallocate memory before starting their main computation - Accept input via stdin instead of via argc Does not include the SD-VBS matlab code. Fixes libextra execution in LITMUS^RT.
Diffstat (limited to 'SD-VBS/common/toolbox/toolbox_basic/affine/iter_AD.m')
-rwxr-xr-xSD-VBS/common/toolbox/toolbox_basic/affine/iter_AD.m26
1 files changed, 26 insertions, 0 deletions
diff --git a/SD-VBS/common/toolbox/toolbox_basic/affine/iter_AD.m b/SD-VBS/common/toolbox/toolbox_basic/affine/iter_AD.m
new file mode 100755
index 0000000..50bdae1
--- /dev/null
+++ b/SD-VBS/common/toolbox/toolbox_basic/affine/iter_AD.m
@@ -0,0 +1,26 @@
1function [A,D] = iter_AD(I,J,mask,w,k,num_trans)
2%
3% function [A,D] = iter_AD(I,J,mask,w,k,num_trans)
4%
5% find the affine motion A, and displacement D,
6% such that difference between I(Ax-D) and J(x) is minimized.
7% If k <= num_trans, only translation is computed. This is useful
8% in practice, when translation is relative large.
9%
10% mask: the weight matrix,
11% w: window size for estimating gradiant, use a large value
12% when A,D are large.
13%
14
15%
16% Jianbo Shi
17%
18
19
20if k <= num_trans,
21 D = find_D(I,J,mask,w);
22 A = eye(2);
23else
24 [A,D] = find_AD(I,J,mask,w);
25end
26