Mercurial > octave-dspies
view scripts/image/iscolormap.m @ 18683:44f0d1a53ead
Add support for integer data types for image cdata.
* gl-render.cc (draw_image): Add support for 'single' data type by
converting FloatNDArray to GLfloat.
* graphics.cc (convert_cdata_2): Change function signature to add is_real
parameter. Convert data from 1-based indexing to 0-based indexing only
if is_real is true.
* graphics.cc (convert_cdata_1): Change function signature to add is_real
parameter. Pass is_real through to convert_cdata_2.
* graphics.cc (convert_cdata): Change CONVERT_CDATA_1 macro to support IS_REAL
argument. Pass IS_REAL through to convert_cdata_1. Add support for uint16
data type.
* image.m: Remove hack converting all integer cdata to single data type.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 26 Apr 2014 16:39:20 -0700 |
parents | d63878346099 |
children |
line wrap: on
line source
## Copyright (C) 2012-2013 Carnë Draug ## ## This file is part of Octave. ## ## Octave 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. ## ## Octave 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 Octave; see the file COPYING. If not, see ## <http://www.gnu.org/licenses/>. ## -*- texinfo -*- ## @deftypefn {Function File} {} iscolormap (@var{cmap}) ## Return true if @var{cmap} is a colormap. ## ## A colormap is a real matrix with @var{n} rows and 3 columns. ## Each row represents a single color. The columns contain red, green, ## and blue intensities respectively. All entries must be between 0 and 1 ## inclusive. ## @seealso{colormap, rgbplot} ## @end deftypefn ## Author: Carnë Draug <carandraug+dev@gmail.com> function retval = iscolormap (cmap) if (nargin != 1) print_usage; endif retval = (isnumeric (cmap) && isreal (cmap) && ndims (cmap) == 2 && columns (cmap) == 3 && isa (cmap, "double") && min (cmap(:)) >= 0 && max (cmap(:)) <= 1); endfunction %!assert (iscolormap (jet (64))) %!assert (iscolormap ({0 1 0}), false) %!assert (iscolormap ([0 1i 0]), false) %!assert (iscolormap (ones (3,3,3)), false) %!assert (iscolormap (ones (3,4)), false) %!assert (iscolormap (single (jet (64))), false) %!assert (iscolormap ([0 0 -2]), false) %!assert (iscolormap ([0 0 2]), false)