changeset 4535:4e0d5c846b7b

of-image: update to v2.6.2 * src/of-image.mk: update version, checksum * src/of-image-1-fixes.patch: removed file
author John D
date Tue, 14 Nov 2017 07:43:39 -0500
parents f84b27a7e47d
children 6b78d8a0e871
files src/of-image-1-fixes.patch src/of-image.mk
diffstat 2 files changed, 2 insertions(+), 289 deletions(-) [+]
line wrap: on
line diff
--- a/src/of-image-1-fixes.patch	Sat Nov 11 18:25:54 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,287 +0,0 @@
-diff -r c8bc315fa273 inst/bwperim.m
---- a/inst/bwperim.m	Sat Feb 11 23:54:52 2017 +0000
-+++ b/inst/bwperim.m	Sun Apr 09 09:03:52 2017 -0400
-@@ -20,7 +20,7 @@
- ##
- ## Values from the matrix @var{bw} are considered part of an object perimeter
- ## if their value is non-zero and is connected to at least one zero-valued
--## element.
-+## element, or to the outside of @var{bw}.
- ##
- ## Element connectivity @var{conn}, to define the size of objects, can be
- ## specified with a numeric scalar (number of elements in the neighborhood):
-@@ -71,7 +71,7 @@
-   for dim = 1:min (ndims (perim), ndims (conn))
-     conn_idx = tmp_conn_idx;
-     conn_idx{dim} = [1 3];
--    if (p_size(dim) == 1 || ! any (conn(conn_idx{:})(:)))
-+    if (! any (conn(conn_idx{:})(:)))
-       continue
-     endif
- 
-@@ -262,3 +262,23 @@
- %! c = a;
- %! c(3:6,3:6,3) = false;
- %! assert (bwperim (a, 4), c)
-+
-+## test dimensions of length 1 (1x1, Nx1, etc) (bug #50153)
-+%!test
-+%! conn_self = logical ([0 0 0; 0 1 0; 0 0 0]);
-+%! assert (bwperim (true), true)
-+%! assert (bwperim (true, conn_self), false)
-+%! assert (bwperim (true (1, 6)), true (1, 6))
-+%! assert (bwperim (true (1, 6), conn_self), false (1, 6))
-+%! assert (bwperim (true (6, 1)), true (6, 1))
-+%!
-+%! bw_3d = true (1, 1, 6);
-+%! assert (bwperim (bw_3d), bw_3d)
-+%! assert (bwperim (bw_3d, conn_self), false (1, 1, 6))
-+%! assert (bwperim (bw_3d, true (3)), bw_3d)
-+%!
-+%! perim_3d = bw_3d;
-+%! perim_3d(1, 1, 2:end-1) = false;
-+%! conn_3d = false (3, 3, 3);
-+%! conn_3d(2, 2, :) = true;
-+%! assert (bwperim (true (1, 1, 6), conn_3d), perim_3d)
-diff -r c8bc315fa273 src/config.h.in
---- a/src/config.h.in	Sat Feb 11 23:54:52 2017 +0000
-+++ b/src/config.h.in	Sun Apr 09 09:03:52 2017 -0400
-@@ -1,2 +1,5 @@
- /* Define if octave::math::min exists as replacement to xmin. */
- #undef HAVE_MIN_IN_OCTAVE_MATH_NAMESPACE
-+
-+/* Define if octave::feval exists as replacement to feval. */
-+#undef HAVE_FEVAL_IN_OCTAVE_NAMESPACE
-diff -r c8bc315fa273 src/configure.ac
---- a/src/configure.ac	Sat Feb 11 23:54:52 2017 +0000
-+++ b/src/configure.ac	Sun Apr 09 09:03:52 2017 -0400
-@@ -70,6 +70,20 @@
-             [Define if octave::math::min exists as replacement to xmin.])
- fi
- 
-+AC_CACHE_CHECK(
-+  [whether feval is in the octave namespace],
-+  [octave_image_cv_feval_in_octave_namespace],
-+  [AC_COMPILE_IFELSE(
-+    [AC_LANG_PROGRAM([#include <parse.h>],
-+                     [octave::feval ("eye")])],
-+    [octave_image_cv_feval_in_octave_namespace=yes],
-+    [octave_image_cv_feval_in_octave_namespace=no])])
-+
-+if test "$octave_image_cv_feval_in_octave_namespace" = yes; then
-+  AC_DEFINE([HAVE_FEVAL_IN_OCTAVE_NAMESPACE], [1],
-+            [Define if octave::feval exists as replacement to feval.])
-+fi
-+
- CXXFLAGS="$image_save_CXXFLAGS"
- 
- 
-diff -r c8bc315fa273 src/imreconstruct.cc
---- a/src/imreconstruct.cc	Sat Feb 11 23:54:52 2017 +0000
-+++ b/src/imreconstruct.cc	Sun Apr 09 09:03:52 2017 -0400
-@@ -24,8 +24,6 @@
- // This should still be more efficient than using subscript indices to find
- // when we are on the border.
- 
--#include "config.h"
--
- #include <functional>
- #include <queue>
- 
-@@ -38,20 +36,8 @@
- 
- using namespace octave::image;
- 
--namespace octave_image
--{
--  // Temporary wrapper until we no longer support Octave 4.0 (bug #48618)
--  template <typename T>
--  inline T
--  min (T x, T y)
--  {
--#if defined HAVE_MIN_IN_OCTAVE_MATH_NAMESPACE
--    return octave::math::min (x, y);
--#else
--    return xmin (x, y);
--#endif
--  }
--}
-+#define WANTS_MIN 1
-+#include "octave-wrappers.h"
- 
- /*
- ## A dirty implementation of the fast hybrid reconstruction as m file
-diff -r c8bc315fa273 src/octave-wrappers.h
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ b/src/octave-wrappers.h	Sun Apr 09 09:03:52 2017 -0400
-@@ -0,0 +1,70 @@
-+// Copyright (C) 2017 Carnë Draug <carandraug@octave.org>
-+//
-+// This program is free software; you can redistribute it and/or
-+// modify it under the terms of the GNU General Public License as
-+// published by the Free Software Foundation; either version 3 of the
-+// License, or (at your option) any later version.
-+//
-+// This program is distributed in the hope that it will be useful, but
-+// WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+// General Public License for more details.
-+//
-+// You should have received a copy of the GNU General Public License
-+// along with this program; if not, see
-+// <http://www.gnu.org/licenses/>.
-+
-+// Core is going through a bunch of changes, and moving a lot of
-+// functions into the octave namespace and deprecating thw old
-+// functions.  We want to be compatible with older versions and we
-+// don't want to scare users with deprecation warnings so we have our
-+// own wrappers so nothing breaks.
-+//
-+// We don't want to have a file per function we need to wrap; we don't
-+// want to repeat the wrapper in each file that needs it; we don't
-+// want to disable the deprecation warnings (so that we get warnings
-+// next time we something else gets deprecated); and we don't want to
-+// include all needed headers.
-+//
-+// It is the job of the file that includes this to include the
-+// required headers, at least as long as core only changes the
-+// namespace and not the header file.
-+//
-+// This wrappers are all temporary until we no longer support the
-+// Octave version that made the change.
-+
-+#include "config.h"
-+
-+namespace octave_image
-+{
-+  // Temporary wrapper until we no longer support Octave 4.0 (bug #48618)
-+#if defined WANTS_MIN && ! defined HAS_MIN
-+#define HAS_MIN 1
-+  template <typename T>
-+  inline T
-+  min (T x, T y)
-+  {
-+#if defined HAVE_MIN_IN_OCTAVE_MATH_NAMESPACE
-+    return octave::math::min (x, y);
-+#else
-+    return xmin (x, y);
-+#endif
-+  }
-+#endif
-+
-+  // Temporary wrapper until we no longer support Octave 4.2 (bug #50180)
-+#if defined WANTS_FEVAL && ! defined HAS_FEVAL
-+#define HAS_FEVAL 1
-+  inline octave_value_list
-+  feval (const std::string& name,
-+         const octave_value_list& args,
-+         int nargout = 0)
-+  {
-+#if defined HAVE_FEVAL_IN_OCTAVE_NAMESPACE
-+    return octave::feval (name, args, nargout);
-+#else
-+    return ::feval (name, args, nargout);
-+#endif
-+  }
-+#endif
-+}
-diff -r c8bc315fa273 src/strel.cc
---- a/src/strel.cc	Sat Feb 11 23:54:52 2017 +0000
-+++ b/src/strel.cc	Sun Apr 09 09:03:52 2017 -0400
-@@ -27,6 +27,9 @@
- #include <octave/parse.h>  // gives us feval so we can use @strel
- #include <octave/oct-map.h>
- 
-+#define WANTS_FEVAL 1
-+#include "octave-wrappers.h"
-+
- // Constructors
- 
- // Expects a @strel object, or a boolean matrix (or something
-@@ -49,13 +52,13 @@
-       strel_args(0) = "arbitrary";
-       strel_args(1) = se;
-       // We are leaving the input check up to @strel
--      se = feval ("strel", strel_args)(0);
-+      se = octave_image::feval ("strel", strel_args)(0);
-       if (error_state)
-         return;
-     }
- 
--  nhood   = feval ("getnhood",  se)(0).bool_array_value ();
--  height  = feval ("getheight", se)(0).array_value ();
-+  nhood   = octave_image::feval ("getnhood",  se)(0).bool_array_value ();
-+  height  = octave_image::feval ("getheight", se)(0).array_value ();
- 
-   // Maybe we should handle this better but how?  This makes imerode
-   // and imdilate work with a [] strel
-@@ -68,8 +71,9 @@
-   ini_ctor ();
-   origin  = default_origin ();
- 
--  const octave_value se_seq       = feval ("getsequence", se)(0);
--  const octave_idx_type seq_numel = feval ("numel", se_seq)(0).idx_type_value ();
-+  const octave_value se_seq = octave_image::feval ("getsequence", se)(0);
-+  const octave_idx_type seq_numel
-+    = octave_image::feval ("numel", se_seq)(0).idx_type_value ();
- 
-   // This is to emulate the strel_obj(idx) syntax in function form
-   static const char *fields[] = {"type", "subs", 0};
-@@ -86,10 +90,13 @@
-           ref.setfield ("subs", Cell (octave_value (subs+1)));
-           subsref_args(1) = ref;
-           // Equivalent to "selem = strel_obj(subs)"
--          const octave_value_list elem = feval ("subsref", subsref_args)(0);
-+          const octave_value_list elem
-+            = octave_image::feval ("subsref", subsref_args)(0);
- 
--          const boolNDArray elem_nhood  = feval ("getnhood",  elem)(0).bool_array_value ();
--          const NDArray elem_height     = feval ("getheight", elem)(0).array_value ();
-+          const boolNDArray elem_nhood
-+            = octave_image::feval ("getnhood",  elem)(0).bool_array_value ();
-+          const NDArray elem_height
-+            = octave_image::feval ("getheight", elem)(0).array_value ();
- 
-           decomposition.push_back (strel (elem_nhood, elem_height));
-         }
-diff -r c8bc315fa273 src/watershed.cc
---- a/src/watershed.cc	Sat Feb 11 23:54:52 2017 +0000
-+++ b/src/watershed.cc	Sun Apr 09 09:03:52 2017 -0400
-@@ -21,6 +21,9 @@
- #include <octave/Cell.h>
- #include <octave/oct-map.h>
- 
-+#define WANTS_FEVAL 1
-+#include "octave-wrappers.h"
-+
- #include "connectivity.h"
- using namespace octave::image;
- 
-@@ -57,7 +60,7 @@
-   args(0) = im;
-   args(1) = conn.mask;
-   args(2) = conn.mask;
--  const octave_value gradient = feval ("mmgradm", args)(0);
-+  const octave_value gradient = octave_image::feval ("mmgradm", args)(0);
-   return ov2T<T> (gradient);
- }
- 
-@@ -68,7 +71,8 @@
-   octave_value_list args (2);
-   args(0) = im;
-   args(1) = conn.mask;
--  const octave_value regional_min = feval ("imregionalmin", args)(0);
-+  const octave_value regional_min = octave_image::feval ("imregionalmin",
-+                                                         args)(0);
-   return regional_min.bool_array_value ();
- }
- 
-@@ -78,7 +82,7 @@
-   octave_value_list args (2);
-   args(0) = bw;
-   args(1) = conn.mask;
--  const octave_value label = feval ("bwlabeln", args)(0);
-+  const octave_value label = octave_image::feval ("bwlabeln", args)(0);
-   return label.array_value ();
- }
- 
--- a/src/of-image.mk	Sat Nov 11 18:25:54 2017 -0500
+++ b/src/of-image.mk	Tue Nov 14 07:43:39 2017 -0500
@@ -3,8 +3,8 @@
 
 PKG             := of-image
 $(PKG)_IGNORE   :=
-$(PKG)_VERSION  := 2.6.1
-$(PKG)_CHECKSUM := 91c2606cb10f9cb442de7904c8bdef9389d58d45
+$(PKG)_VERSION  := 2.6.2
+$(PKG)_CHECKSUM := baaf0fe9802f8815f36d3e7e12deccbac4d3f613
 $(PKG)_REMOTE_SUBDIR := 
 $(PKG)_SUBDIR   := image-$($(PKG)_VERSION)
 $(PKG)_FILE     := image-$($(PKG)_VERSION).tar.gz