octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with __plt_get_axis_arg__.m


From: David Bateman
Subject: Re: Problem with __plt_get_axis_arg__.m
Date: Mon, 10 Dec 2007 13:43:27 +0100
User-agent: Thunderbird 1.5.0.7 (X11/20060921)

Michael Goffioul wrote:
> On 12/10/07, David Bateman <address@hidden> wrote:
>   
>>> 2) image.m does not support property/value pairs in its argument; I'm
>>> not going to work on that, so if anybody wants to do it...
>>>
>>>       
>> What about the attached for that.. It doesn't address the same issue in
>> imagesc however.
>>     
>
> Aren't you missing changes on __im__g.m as well?
>
> Michael.
>
>   
Opps, use the attached instead..

D.


-- 
David Bateman                                address@hidden
Motorola Labs - Paris                        +33 1 69 35 48 04 (Ph) 
Parc Les Algorithmes, Commune de St Aubin    +33 6 72 01 06 33 (Mob) 
91193 Gif-Sur-Yvette FRANCE                  +33 1 69 35 77 01 (Fax) 

The information contained in this communication has been classified as: 

[x] General Business Information 
[ ] Motorola Internal Use Only 
[ ] Motorola Confidential Proprietary

*** ./scripts/image/image.m.orig5       2007-12-10 12:03:49.442962618 +0100
--- ./scripts/image/image.m     2007-12-10 12:02:33.864893697 +0100
***************
*** 41,97 ****
  
  function retval = image (varargin)
  
!   if (nargin == 0)
!     __image__ (gca ());
!   elseif (nargin == 1)
!     print_usage ();
!   elseif (isscalar (varargin{1}) && ishandle (varargin{1}))
!     h = varargin{1};
!     if (! strcmp (get (h, "type"), "axes"))
!       error ("image: expecting first argument to be an axes object");
!     endif
!     oldh = gca ();
!     unwind_protect
!       axes (h);
!       tmp = __image__ (h, varargin{2:end});
!     unwind_protect_cleanup
!       axes (oldh);
!     end_unwind_protect
!   else
!     tmp = __image__ (gca (), varargin{:});
!   endif
! 
!   if (nargout > 0)
!     retval = tmp;
!   endif
! 
! endfunction
  
! function h = __image__ (ax, x, y, img)
! 
!   ## Deprecated zoom.  Remove this hunk of code if old zoom argument
!   ## is outmoded.
!   if ((nargin == 3 && isscalar (y)) || nargin == 5)
!     warning ("image: zoom argument ignored -- use GUI features");
!   endif
!   if (nargin == 5)
!     nargin = 4;
!   endif
!   if (nargin == 3 && isscalar (y))
!     nargin = 2;
!   endif
  
!   if (nargin == 1)
!     ## Load Bobbie Jo Richardson (Born 3/16/94)
      img = loadimage ("default.img");
      x = y = [];
!   elseif (nargin == 2)
!     img = x;
      x = y = [];
!   elseif (nargin == 3 || nargin > 4)
      print_usage ();
    endif
  
!   h = __img__ (x, y, img);
  
  endfunction
--- 41,81 ----
  
  function retval = image (varargin)
  
!   [ax, varargin, nargin] = __plt_get_axis_arg__ ("image", varargin{:});
  
!   firstnonnumeric = Inf;
!   for i = 1 : nargin
!     if (! isnumeric (varargin{i}))
!       firstnonnumeric = i;
!       break;
!     endif
!   endfor
  
!   if (nargin == 0 || firstnonnumeric == 1)
      img = loadimage ("default.img");
      x = y = [];
!   elseif (nargin == 1 || firstnonnumeric == 2)
!     img = varargin{1};
      x = y = [];
!   elseif (nargin == 2 || firstnonnumeric == 3)
      print_usage ();
+   else
+     x = varargin{1};
+     y = varargin{2};
+     img = varargin{3};
+     firstnonnumeric = 4;
    endif
  
!   oldax = gca ();
!   unwind_protect
!     axes (ax);
!     h = __img__ (x, y, img, varargin {firstnonnumeric:end});
!   unwind_protect_cleanup
!     axes (oldax);
!   end_unwind_protect
! 
!   if (nargout > 0)
!     retval = h;
!   endif
  
  endfunction
*** ./scripts/image/__img__.m.orig5     2007-12-10 13:41:16.076229714 +0100
--- ./scripts/image/__img__.m   2007-12-10 13:40:23.130936905 +0100
***************
*** 32,38 ****
  ## Created: July 1994
  ## Adapted-By: jwe
  
! function h = __img__ (x, y, img)
  
    newplot ();
  
--- 32,38 ----
  ## Created: July 1994
  ## Adapted-By: jwe
  
! function h = __img__ (x, y, img, varargin)
  
    newplot ();
  
***************
*** 53,59 ****
  
    ca = gca ();
  
!   tmp = __go_image__ (ca, "cdata", img, "xdata", xlim, "ydata", ylim);
  
    set (ca, "view", [0, 90]);
  
--- 53,60 ----
  
    ca = gca ();
  
!   tmp = __go_image__ (ca, "cdata", img, "xdata", xlim, "ydata", ylim, 
!                     varargin {:});
  
    set (ca, "view", [0, 90]);
  
*** ./scripts/plot/__patch__.m.orig5    2007-12-10 10:15:58.690594009 +0100
--- ./scripts/plot/__patch__.m  2007-12-10 10:22:44.086063358 +0100
***************
*** 141,149 ****
      error ("patch: not supported");
    endif
  
-   h = __go_patch__ (p);
-   ax = get (h, "parent");
- 
    cargs = {};
    if (have_c)
      if (ischar (c))
--- 141,146 ----
***************
*** 160,173 ****
        cargs{2} = "flat";
        cargs{3} = "cdata";
        cargs{4} = c;
-       clim = get (ax, "clim");
-       if (c(1) < clim(1))
-           set (ax, "clim", [c(1), clim(2)])
-         clim(1) = c(1);
-       endif
-       if (c(1) > clim(2))
-           set (ax, "clim", [clim(1), c(1)])
-       endif
        else
        error ("patch: color value not valid");
        endif
--- 157,162 ----
***************
*** 178,194 ****
        cargs{4} = c;
      else
        ## Color Vectors
- 
        if (rows (c2) != rows (x) || rows (c2) != length (y))
        error ("patch: size of x, y, and c must be equal")
        else
        cargs{1} = "facecolor";
        cargs{2} = "interp";
-       if (abs(max(c2(:)) - min(c2(:))) < eps)
-           set (ax, "clim", [c2(1)-1, c2(1)+1])
-       else
-           set (ax, "clim", [min(c2(:)), max(c2(:))]);
-       endif
        endif
      endif
    else
--- 167,177 ----
***************
*** 196,203 ****
      cargs{2} = [0, 1, 0];
    endif
  
!   set (h, "xdata", x, "ydata", y, "faces", faces, "vertices", vert,
!        cargs{:}, varargin{iarg:end});
    if (have_z)
      set (h, "zdata", z);
    endif
--- 179,186 ----
      cargs{2} = [0, 1, 0];
    endif
  
!   h = __go_patch__ (p, "xdata", x, "ydata", y, "faces", faces, 
!                   "vertices", vert, cargs{:}, varargin{iarg:end});
    if (have_z)
      set (h, "zdata", z);
    endif
*** ./src/graphics.h.in.orig5   2007-12-10 11:40:07.109302118 +0100
--- ./src/graphics.h.in 2007-12-10 11:27:42.484190552 +0100
***************
*** 408,414 ****
  class data_property
  {
  public:
!   data_property (const Matrix& m = Matrix ())
      : data (m), xmin (octave_Inf), xmax (-octave_Inf), xminp (octave_Inf)
    {
      get_data_limits ();
--- 408,420 ----
  class data_property
  {
  public:
!   data_property (const NDArray& m = NDArray ())
!     : data (m), xmin (octave_Inf), xmax (-octave_Inf), xminp (octave_Inf)
!   {
!     get_data_limits ();
!   }
! 
!   data_property (const Matrix& m)
      : data (m), xmin (octave_Inf), xmax (-octave_Inf), xminp (octave_Inf)
    {
      get_data_limits ();
***************
*** 417,423 ****
    data_property (const octave_value& val)
      : data (), xmin (octave_Inf), xmax (-octave_Inf), xminp (octave_Inf)
    {
!     data = val.matrix_value ();
  
      get_data_limits ();
    }
--- 423,429 ----
    data_property (const octave_value& val)
      : data (), xmin (octave_Inf), xmax (-octave_Inf), xminp (octave_Inf)
    {
!     data = val.array_value ();
  
      get_data_limits ();
    }
***************
*** 442,448 ****
    double min_pos (void) const { return xminp; }
  
  private:
!   Matrix data;
    double xmin;
    double xmax;
    double xminp;
--- 448,454 ----
    double min_pos (void) const { return xminp; }
  
  private:
!   NDArray data;
    double xmin;
    double xmax;
    double xminp;
2007-12-10  David Bateman  <address@hidden>

        * image/image.m: Rewritten to allow trailing properties to be
        passed to underlying image object.
        * image/__img__.m: Pass additional arguments to __go_image__.
        * plot/__patch__.m: Don't set clim, rely on autoscaling.

2007-12-10  David Bateman  <address@hidden>

        * graphics.h.in (class data_property): Make data private value be
        of the type NDArray.

reply via email to

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