octave-bug-tracker
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]