[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #51986] [octave forge] (image) Failing unit te
From: |
Rafael Laboissiere |
Subject: |
[Octave-bug-tracker] [bug #51986] [octave forge] (image) Failing unit test for cp2tform |
Date: |
Sun, 10 Sep 2017 15:11:45 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36 |
URL:
<http://savannah.gnu.org/bugs/?51986>
Summary: [octave forge] (image) Failing unit test for
cp2tform
Project: GNU Octave
Submitted by: rlaboiss
Submitted on: Sun 10 Sep 2017 07:11:44 PM UTC
Category: Octave Forge Package
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Incorrect Result
Status: None
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: other
Operating System: Any
_______________________________________________________
Details:
The following units test for function cp2tform in package image fail
randomly:
+verbatim
%!test
%! npt = 100000;
%! [crw, cap] = coords (npt);
%! ttype = 'projective';
%! T = cp2tform (crw, cap, ttype);
%! crw2 = tforminv (T, cap);
%! finalerr = norm (crw - crw2)/npt;
%! assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr)
%!test
%! npt = 100000;
%! [crw, cap] = coords (npt);
%! ttype = 'affine';
%! T = cp2tform (crw, cap, ttype);
%! crw2 = tforminv (T, cap);
%! finalerr = norm (crw - crw2)/npt;
%! assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr)
%!test
%! npt = 100000;
%! [crw, cap] = coords (npt);
%! ttype = 'nonreflective similarity';
%! T = cp2tform (crw, cap, ttype);
%! crw2 = tforminv (T, cap);
%! finalerr = norm (crw - crw2)/npt;
%! assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr)
%!test
%! npt = 100000;
%! [crw, cap] = coords (npt);
%! cap(:,2) *= -1; % reflection around y axis
%! ttype = 'similarity';
%! T = cp2tform (crw, cap, ttype);
%! crw2 = tforminv (T, cap);
%! finalerr = norm (crw - crw2)/npt;
%! assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr)
This is an example of how the bug can be triggered:
octave:1> pkg load image
octave:2> function [crw, cap] = coords (npt = 1000, scale = 2, dtheta = pi/3,
dx = 2, dy = -6, sig2noise = 1e32)
theta = (rand(npt, 1)*2-1)*2*pi;
R = rand(npt,1);
y = R.*sin(theta);
x = R.*cos(theta);
crw = [y x];
thetap = theta + dtheta;
Rap = R * scale;
yap = Rap.*sin(thetap);
yap = yap + dy;
yap = yap + rand (size (yap)) * norm (yap) / sig2noise;
xap = Rap.*cos(thetap);
xap = xap + dx;
xap = xap + rand (size (xap)) * norm (xap) / sig2noise;
cap = [yap xap];
endfunction
while 1
npt = 100000;
[crw, cap] = coords (npt);
cap(:,2) *= -1; % reflection around y axis
ttype = 'similarity';
T = cp2tform (crw, cap, ttype);
crw2 = tforminv (T, cap);
finalerr = norm (crw - crw2)/npt;
assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr)
endwhile
error: norm = 2.25e-16 ( > eps)
error: called from
assert at line 94 column 11
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?51986>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Octave-bug-tracker] [bug #51986] [octave forge] (image) Failing unit test for cp2tform,
Rafael Laboissiere <=