Mercurial > octave-nkf
annotate scripts/image/rgbplot.m @ 15515:4beb3a4bd440
rgbplot.m, cmpermute.m, cmunique.m, ind2rgb.m, imwrite.m: use core iscolormap function
author | Carnë Draug <carandraug+dev@gmail.com> |
---|---|
date | Fri, 12 Oct 2012 23:11:08 +0200 |
parents | e2a14d1b4eaa |
children | 3f1b306e2ba9 |
rev | line source |
---|---|
14271
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
1 ## Copyright (C) 2012 Rik Wehbring |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
2 ## |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
3 ## This file is part of Octave. |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
4 ## |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
5 ## Octave is free software; you can redistribute it and/or modify it |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
6 ## under the terms of the GNU General Public License as published by |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
7 ## the Free Software Foundation; either version 3 of the License, or (at |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
8 ## your option) any later version. |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
9 ## |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
10 ## Octave is distributed in the hope that it will be useful, but |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
13 ## General Public License for more details. |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
14 ## |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
15 ## You should have received a copy of the GNU General Public License |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
16 ## along with Octave; see the file COPYING. If not, see |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
17 ## <http://www.gnu.org/licenses/>. |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
18 |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
19 ## -*- texinfo -*- |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
20 ## @deftypefn {Function File} {} rgbplot (@var{cmap}) |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
21 ## Plot the components of a colormap. |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
22 ## |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
23 ## The first column is plotted in red, the second column in green, and |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
24 ## the third column in blue. The values are between 0 and 1 and represent |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
25 ## the intensity of the RGB components in the given indexed color. |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
26 ## @seealso{colormap} |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
27 ## @end deftypefn |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
28 |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
29 function rgbplot (cmap) |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
30 |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
31 if (nargin != 1) |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
32 print_usage (); |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
33 endif |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
34 |
15515
4beb3a4bd440
rgbplot.m, cmpermute.m, cmunique.m, ind2rgb.m, imwrite.m: use core iscolormap function
Carnë Draug <carandraug+dev@gmail.com>
parents:
14271
diff
changeset
|
35 if (! iscolormap (cmap)) |
4beb3a4bd440
rgbplot.m, cmpermute.m, cmunique.m, ind2rgb.m, imwrite.m: use core iscolormap function
Carnë Draug <carandraug+dev@gmail.com>
parents:
14271
diff
changeset
|
36 error ("rgbplot: CMAP must be a colormap"); |
14271
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
37 endif |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
38 |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
39 plot (cmap(:,1),"r", cmap(:,2),"g", cmap(:,3),"b"); |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
40 set (gca, 'ytick', 0:0.1:1); |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
41 xlabel ("color index"); |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
42 |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
43 endfunction |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
44 |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
45 |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
46 %!demo |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
47 %! clf; |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
48 %! rgbplot (ocean); |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
49 |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
50 %%test input validation |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
51 %!error rgbplot () |
e2a14d1b4eaa
rgbplot.m: Add new Matlab compatible function for plotting colormaps
Rik <octave@nomad.inbox5.com>
parents:
diff
changeset
|
52 %!error rgbplot (1,2) |
15515
4beb3a4bd440
rgbplot.m, cmpermute.m, cmunique.m, ind2rgb.m, imwrite.m: use core iscolormap function
Carnë Draug <carandraug+dev@gmail.com>
parents:
14271
diff
changeset
|
53 %!error <CMAP must be a colormap> rgbplot ({0 1 0}) |