Mercurial > octave-antonio
annotate scripts/image/ind2gray.m @ 20158:7503499a252b stable
doc: Update docstrings to have one sentence summary as first line.
Update scripts in audio, elfun, general, geometry, and image directories.
* scripts/audio/@audioplayer/__get_properties__.m,
scripts/audio/@audioplayer/audioplayer.m, scripts/audio/@audioplayer/get.m,
scripts/audio/@audioplayer/isplaying.m, scripts/audio/@audioplayer/play.m,
scripts/audio/@audioplayer/playblocking.m, scripts/audio/@audioplayer/set.m,
scripts/audio/@audioplayer/subsasgn.m, scripts/audio/@audioplayer/subsref.m,
scripts/audio/@audiorecorder/audiorecorder.m,
scripts/audio/@audiorecorder/get.m,
scripts/audio/@audiorecorder/getaudiodata.m,
scripts/audio/@audiorecorder/getplayer.m,
scripts/audio/@audiorecorder/isrecording.m,
scripts/audio/@audiorecorder/play.m, scripts/audio/@audiorecorder/record.m,
scripts/audio/@audiorecorder/recordblocking.m,
scripts/audio/@audiorecorder/set.m, scripts/audio/@audiorecorder/stop.m,
scripts/audio/@audiorecorder/subsasgn.m,
scripts/audio/@audiorecorder/subsref.m, scripts/audio/lin2mu.m,
scripts/audio/mu2lin.m, scripts/audio/record.m, scripts/audio/sound.m,
scripts/audio/soundsc.m, scripts/audio/wavread.m, scripts/audio/wavwrite.m,
scripts/elfun/cosd.m, scripts/elfun/sind.m, scripts/elfun/tand.m,
scripts/general/accumarray.m, scripts/general/accumdim.m,
scripts/general/bitcmp.m, scripts/general/bitget.m, scripts/general/bitset.m,
scripts/general/blkdiag.m, scripts/general/cart2pol.m,
scripts/general/cart2sph.m, scripts/general/cell2mat.m,
scripts/general/celldisp.m, scripts/general/chop.m,
scripts/general/circshift.m, scripts/general/common_size.m,
scripts/general/cplxpair.m, scripts/general/cumtrapz.m,
scripts/general/dblquad.m, scripts/general/deal.m, scripts/general/del2.m,
scripts/general/display.m, scripts/general/divergence.m,
scripts/general/fieldnames.m, scripts/general/flip.m,
scripts/general/flipdim.m, scripts/general/fliplr.m, scripts/general/flipud.m,
scripts/general/gradient.m, scripts/general/interp3.m,
scripts/general/interpft.m, scripts/general/interpn.m,
scripts/general/loadobj.m, scripts/general/logspace.m,
scripts/general/methods.m, scripts/general/nargchk.m,
scripts/general/narginchk.m, scripts/general/nargoutchk.m,
scripts/general/nextpow2.m, scripts/general/nthargout.m,
scripts/general/num2str.m, scripts/general/pol2cart.m,
scripts/general/polyarea.m, scripts/general/postpad.m,
scripts/general/prepad.m, scripts/general/profile.m, scripts/general/quadgk.m,
scripts/general/quadl.m, scripts/general/quadv.m, scripts/general/randi.m,
scripts/general/rat.m, scripts/general/repmat.m, scripts/general/rot90.m,
scripts/general/rotdim.m, scripts/general/saveobj.m, scripts/general/shift.m,
scripts/general/shiftdim.m, scripts/general/sortrows.m,
scripts/general/sph2cart.m, scripts/general/structfun.m,
scripts/general/subsindex.m, scripts/general/trapz.m,
scripts/general/triplequad.m, scripts/geometry/delaunayn.m,
scripts/geometry/dsearch.m, scripts/geometry/dsearchn.m,
scripts/geometry/griddata.m, scripts/geometry/griddata3.m,
scripts/geometry/griddatan.m, scripts/geometry/inpolygon.m,
scripts/geometry/rectint.m, scripts/geometry/tsearchn.m,
scripts/geometry/voronoi.m, scripts/geometry/voronoin.m,
scripts/help/__unimplemented__.m, scripts/help/doc.m,
scripts/help/doc_cache_create.m, scripts/help/get_first_help_sentence.m,
scripts/help/help.m, scripts/help/lookfor.m, scripts/help/print_usage.m,
scripts/help/type.m, scripts/help/which.m, scripts/image/autumn.m,
scripts/image/bone.m, scripts/image/brighten.m, scripts/image/cmpermute.m,
scripts/image/colorcube.m, scripts/image/contrast.m, scripts/image/cool.m,
scripts/image/copper.m, scripts/image/cubehelix.m, scripts/image/flag.m,
scripts/image/gmap40.m, scripts/image/gray.m, scripts/image/gray2ind.m,
scripts/image/hot.m, scripts/image/hsv.m, scripts/image/image.m,
scripts/image/imagesc.m, scripts/image/imfinfo.m, scripts/image/imformats.m,
scripts/image/imread.m, scripts/image/imshow.m, scripts/image/imwrite.m,
scripts/image/iscolormap.m, scripts/image/jet.m, scripts/image/lines.m,
scripts/image/ntsc2rgb.m, scripts/image/ocean.m, scripts/image/pink.m,
scripts/image/prism.m, scripts/image/rainbow.m, scripts/image/rgb2ntsc.m,
scripts/image/spinmap.m, scripts/image/spring.m, scripts/image/summer.m,
scripts/image/white.m, scripts/image/winter.m:
Update docstrings to have one sentence summary as first line.
Re-structure to have line lengths <= 80 chars.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 03 May 2015 09:36:20 -0700 |
parents | 9fc020886ae9 |
children |
rev | line source |
---|---|
19697
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19596
diff
changeset
|
1 ## Copyright (C) 1994-2015 John W. Eaton |
2313 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
2313 | 9 ## |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
1024 | 18 |
3381 | 19 ## -*- texinfo -*- |
15712
74ff287f41cb
Remove default colormap for ind2rgb and ind2gray.
Carnë Draug <carandraug+dev@gmail.com>
parents:
15693
diff
changeset
|
20 ## @deftypefn {Function File} {@var{I} =} ind2gray (@var{x}, @var{map}) |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
21 ## Convert a color indexed image to a grayscale intensity image. |
15693
a1b634240352
maint: merge default into image-overhaul head, specially changeset 806ea52. Resolving many conflicts and fixing bugs related to correctly indexing on image class (float vs integer have different offset)
Carnë Draug <carandraug+dev@gmail.com>
diff
changeset
|
22 ## |
15712
74ff287f41cb
Remove default colormap for ind2rgb and ind2gray.
Carnë Draug <carandraug+dev@gmail.com>
parents:
15693
diff
changeset
|
23 ## The image @var{x} must be an indexed image which will be converted using the |
74ff287f41cb
Remove default colormap for ind2rgb and ind2gray.
Carnë Draug <carandraug+dev@gmail.com>
parents:
15693
diff
changeset
|
24 ## colormap @var{cmap}. If @var{cmap} does not contain enough colors for the |
74ff287f41cb
Remove default colormap for ind2rgb and ind2gray.
Carnë Draug <carandraug+dev@gmail.com>
parents:
15693
diff
changeset
|
25 ## image, pixels in @var{x} outside the range are mapped to the last color in |
74ff287f41cb
Remove default colormap for ind2rgb and ind2gray.
Carnë Draug <carandraug+dev@gmail.com>
parents:
15693
diff
changeset
|
26 ## the map before conversion to grayscale. |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
27 ## |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
28 ## The output @var{I} is of the same class as the input @var{x} and may be |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
29 ## one of @code{uint8}, @code{uint16}, @code{single}, or @code{double}. |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
30 ## |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
31 ## Implementation Note: There are several ways of converting colors to |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
32 ## grayscale intensities. This functions uses the luminance value obtained |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
15714
diff
changeset
|
33 ## from @code{rgb2ntsc} which is @code{I = 0.299*R + 0.587*G + 0.114*B}. |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
34 ## Other possibilities include the value component from @code{rgb2hsv} or |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
35 ## using a single color channel from @code{ind2rgb}. |
14260
1f911333ed3d
doc: Update docstrings for functions in image/ directory
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
36 ## @seealso{gray2ind, ind2rgb} |
3373 | 37 ## @end deftypefn |
904 | 38 |
3202 | 39 ## Author: Tony Richardson <arichard@stark.cc.oh.us> |
2312 | 40 ## Created: July 1994 |
41 ## Adapted-By: jwe | |
559 | 42 |
15712
74ff287f41cb
Remove default colormap for ind2rgb and ind2gray.
Carnë Draug <carandraug+dev@gmail.com>
parents:
15693
diff
changeset
|
43 function I = ind2gray (x, map) |
1024 | 44 |
15712
74ff287f41cb
Remove default colormap for ind2rgb and ind2gray.
Carnë Draug <carandraug+dev@gmail.com>
parents:
15693
diff
changeset
|
45 if (nargin != 2) |
6046 | 46 print_usage (); |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
47 endif |
15714
b1cd65881592
Clean up scripts in image directory.
Rik <rik@octave.org>
parents:
15712
diff
changeset
|
48 [x, map] = ind2x ("ind2gray", x, map); |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
49 |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
17744
diff
changeset
|
50 ## Convert colormap to luminance intensity values |
15693
a1b634240352
maint: merge default into image-overhaul head, specially changeset 806ea52. Resolving many conflicts and fixing bugs related to correctly indexing on image class (float vs integer have different offset)
Carnë Draug <carandraug+dev@gmail.com>
diff
changeset
|
51 map *= [0.29894; 0.58704; 0.11402]; |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
52 |
15714
b1cd65881592
Clean up scripts in image directory.
Rik <rik@octave.org>
parents:
15712
diff
changeset
|
53 ## Convert colormap to same class as that of input so that reshape |
b1cd65881592
Clean up scripts in image directory.
Rik <rik@octave.org>
parents:
15712
diff
changeset
|
54 ## will produce output of the same type as the input. |
15693
a1b634240352
maint: merge default into image-overhaul head, specially changeset 806ea52. Resolving many conflicts and fixing bugs related to correctly indexing on image class (float vs integer have different offset)
Carnë Draug <carandraug+dev@gmail.com>
diff
changeset
|
55 cls = class (x); |
15712
74ff287f41cb
Remove default colormap for ind2rgb and ind2gray.
Carnë Draug <carandraug+dev@gmail.com>
parents:
15693
diff
changeset
|
56 if (isinteger (x)) |
74ff287f41cb
Remove default colormap for ind2rgb and ind2gray.
Carnë Draug <carandraug+dev@gmail.com>
parents:
15693
diff
changeset
|
57 ## if we later add support for int16 images, this will not work. Look into |
74ff287f41cb
Remove default colormap for ind2rgb and ind2gray.
Carnë Draug <carandraug+dev@gmail.com>
parents:
15693
diff
changeset
|
58 ## im2int16 from image package for such case |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
59 map *= intmax (cls); |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
60 elseif (strcmp (cls, "single")) |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
61 map = single (map); |
559 | 62 endif |
63 | |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
64 ## Replace indices in the input matrix with the indexed luminance value. |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
65 I = reshape (map(x(:)), size (x)); |
559 | 66 |
67 endfunction | |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
68 |
15714
b1cd65881592
Clean up scripts in image directory.
Rik <rik@octave.org>
parents:
15712
diff
changeset
|
69 |
15693
a1b634240352
maint: merge default into image-overhaul head, specially changeset 806ea52. Resolving many conflicts and fixing bugs related to correctly indexing on image class (float vs integer have different offset)
Carnë Draug <carandraug+dev@gmail.com>
diff
changeset
|
70 %!shared i2g |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
71 %! i2g = ind2gray (1:100, gray (100)); |
18566
875f4510d6dc
Accept indexed images with color values below the first colormap entry (bug #41851).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
72 %! |
875f4510d6dc
Accept indexed images with color values below the first colormap entry (bug #41851).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
73 %!assert (i2g, 0:1/99:1, eps) |
875f4510d6dc
Accept indexed images with color values below the first colormap entry (bug #41851).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
74 %!assert (gray2ind (i2g, 100), uint8 (0:99)) |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
75 |
19833
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
76 ## Test input validation |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
77 %!error ind2gray () |
15714
b1cd65881592
Clean up scripts in image directory.
Rik <rik@octave.org>
parents:
15712
diff
changeset
|
78 %!error ind2gray (1) |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
79 %!error ind2gray (1,2,3) |
18566
875f4510d6dc
Accept indexed images with color values below the first colormap entry (bug #41851).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
80 %!error <X must be an indexed image> ind2gray (ones (3,3,3), jet (64)) |
15714
b1cd65881592
Clean up scripts in image directory.
Rik <rik@octave.org>
parents:
15712
diff
changeset
|
81 %!error <X must be an indexed image> ind2gray (1+i, jet (64)) |
b1cd65881592
Clean up scripts in image directory.
Rik <rik@octave.org>
parents:
15712
diff
changeset
|
82 %!error <X must be an indexed image> ind2gray (sparse (1), jet (64)) |
b1cd65881592
Clean up scripts in image directory.
Rik <rik@octave.org>
parents:
15712
diff
changeset
|
83 %!error <X must be an indexed image> ind2gray (1.1, jet (64)) |
18566
875f4510d6dc
Accept indexed images with color values below the first colormap entry (bug #41851).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
84 %!error <X must be an indexed image> ind2gray ({1}, jet (64)) |
15683
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
85 %!error <MAP must be a valid colormap> ind2gray (1, {1}) |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
86 %!error <MAP must be a valid colormap> ind2gray (1, 1+i) |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
87 %!error <MAP must be a valid colormap> ind2gray (1, ones (2,2,2)) |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
88 %!error <MAP must be a valid colormap> ind2gray (1, ones (2,4)) |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
89 %!error <MAP must be a valid colormap> ind2gray (1, [-1]) |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
90 %!error <MAP must be a valid colormap> ind2gray (1, [2]) |
806ea52af230
Overhaul m-files in image directory to provide better support for images stored as integers.
Rik <rik@octave.org>
parents:
14260
diff
changeset
|
91 |
18566
875f4510d6dc
Accept indexed images with color values below the first colormap entry (bug #41851).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
92 %!warning <contains colors outside of colormap> ind2gray ([0 1 2], gray (5)); |
875f4510d6dc
Accept indexed images with color values below the first colormap entry (bug #41851).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
93 %!warning <contains colors outside of colormap> ind2gray ([1 2 6], gray (5)); |
875f4510d6dc
Accept indexed images with color values below the first colormap entry (bug #41851).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
94 %!warning <contains colors outside of colormap> ind2gray (uint8 ([1 2 5]), gray (5)); |
875f4510d6dc
Accept indexed images with color values below the first colormap entry (bug #41851).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
95 |