annotate scripts/image/private/__tiff_imread__.m @ 31197:1604c8812b67

Tiff: added numberOfDirectories method.
author magedrifaat <magedrifaat@gmail.com>
date Thu, 01 Sep 2022 01:56:20 +0200
parents
children e5e8cb049b4b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31197
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
1 function [A, cmap, alpha] = __tiff_imread__ (filename, varargin)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
2 img = Tiff (filename);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
3 dir_count = img.numberOfDirectories ();
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
4
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
5 ## A lot of the input sanitising logic here is copied from
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
6 ## scripts/image/__imread__.m and adapted to the needs of the Tiff
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
7 ## interface
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
8
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
9 pages = [1];
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
10 offset = 1;
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
11 if (nargin > 1 && ! ischar (varargin{1}))
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
12 if (! is_valid_index_option (varargin {1}))
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
13 error ("imread: IDX must be a numeric vector");
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
14 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
15 pages = varargin{1};
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
16 offset = 2;
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
17 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
18
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
19 if (rem (numel (varargin) - offset + 1, 2) != 0)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
20 error ("imread: PARAM/VALUE arguments must occur in pairs");
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
21 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
22
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
23 ## Check for Index/Frames argument
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
24 idx = strcmpi ("index", varargin) | strcmpi ("frames", varargin);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
25 if (any (idx))
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
26 if (sum (idx) > 1)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
27 error ("imread: Index or Frames may only be specified once");
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
28 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
29 val = varargin{circshift (idx, 1)};
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
30 if (! is_valid_index_option (val) && ! strcmpi (val, "all"))
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
31 error ("imread: %s must be a vector or the string 'all'", varargin{idx});
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
32 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
33 if (strcmpi (val, "all"))
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
34 pages = 1:dir_count;
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
35 else
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
36 pages = val;
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
37 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
38 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
39
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
40 if (any ((pages < 1) | (pages > dir_count)))
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
41 error ("imread: index/frames specified are outside the number of images");
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
42 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
43
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
44 img.setDirectory (pages(1));
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
45 info = get_image_info (img);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
46
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
47 ## Verify that all images have the same dimensions, number of channels,
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
48 ## bit-depth, and data type
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
49 for page_idx = 2:numel (pages)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
50 img.setDirectory (pages(page_idx));
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
51 dir_info = get_image_info (img);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
52 if (info.width != dir_info.width || info.height != dir_info.height)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
53 error ("imread: all frames must have the same size but frame %d is different",
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
54 pages(page_idx));
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
55 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
56 if (info.bitdepth != dir_info.bitdepth)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
57 error ("imread: all frames must have the same bit depth but frame %d is different",
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
58 pages(page_idx));
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
59 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
60 if (info.nchannels != dir_info.nchannels)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
61 error ("imread: all frames must have the same number of channels but frame %d is different",
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
62 pages(page_idx));
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
63 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
64 if (info.datatype != dir_info.datatype)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
65 error ("imread: all frames must have the same data type but frame %d is different",
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
66 pages(page_idx));
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
67 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
68 if (info.photometric != dir_info.photometric)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
69 error ("imread: all frames must have the same photometric interpretation but frame %d is different",
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
70 pages(page_idx));
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
71 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
72 endfor
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
73
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
74 region = {1:info.height, 1:info.width};
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
75 for idx = offset:2:(numel (varargin) - offset + 1)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
76 switch (tolower (varargin{idx}))
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
77
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
78 case {"frames", "index"}
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
79 ## Do nothing. This option was already processed before the loop.
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
80
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
81 case "pixelregion"
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
82 region = varargin{idx+1};
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
83 if (! iscell (region) || numel (region) != 2)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
84 error ("imread: %s must be a 2-element cell array",
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
85 varargin{idx});
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
86 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
87 for reg_idx = 1:2
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
88 if (numel (region{reg_idx}) == 3)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
89 ## do nothing
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
90 elseif (numel (region{reg_idx}) == 2)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
91 region{reg_idx}(3) = region{reg_idx}(2);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
92 region{reg_idx}(2) = 1;
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
93 else
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
94 error ("imread: range for %s must be a 2 or 3 element vector",
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
95 varargin{idx});
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
96 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
97 region{reg_idx} = floor (region{reg_idx}(1)): ...
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
98 floor (region{reg_idx}(2)): ...
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
99 floor (region{reg_idx}(3));
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
100 endfor
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
101 if (region{1}(end) > info.height)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
102 error ("imread: end ROWS for PixelRegions option is larger than image height");
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
103 elseif (region{2}(end) > info.width)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
104 error ("imread: end COLS for PixelRegions option is larger than image width");
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
105 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
106
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
107 case "info"
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
108 ## We ignore this option. This parameter exists in Matlab to
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
109 ## speed up the reading of multipage TIFF by passing a structure
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
110 ## that contains information about the start on the file of each
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
111 ## page. We can't control it through GraphicsMagic but at least
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
112 ## we allow to load multiple pages with one command.
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
113
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
114 otherwise
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
115 error ("imread: invalid PARAMETER '%s'", varargin{idx});
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
116
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
117 endswitch
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
118 endfor
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
119
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
120 A = [];
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
121 cmap = [];
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
122 alpha = [];
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
123 for page_idx = 1:numel(pages)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
124 img.setDirectory (pages(page_idx));
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
125 ## FIXME: This an ineffecient way to read pixel regions because it
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
126 ## always reads the entire image first. A better way is to figure
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
127 ## out which strips/tiles are needed for the region and read only those.
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
128 data = img.read ();
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
129 data = data (region{1}, region{2}, :);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
130 A = cat (4, A, data);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
131 if (info.photometric == Tiff.Photometric.Palette)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
132 cmap = cat (3, cmap, img.getTag (Tiff.TagID.ColorMap));
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
133 endif
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
134 endfor
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
135
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
136 img.close ();
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
137 endfunction
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
138
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
139 function bool = is_valid_index_option (arg)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
140 bool = isvector (arg) && isnumeric (arg) && isreal (arg);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
141 endfunction
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
142
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
143 function info = get_image_info (img)
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
144 info.height = img.getTag (Tiff.TagID.ImageLength);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
145 info.width = img.getTag (Tiff.TagID.ImageWidth);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
146 info.bitdepth = img.getTag (Tiff.TagID.BitsPerSample);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
147 info.nchannels = img.getTag (Tiff.TagID.BitsPerSample);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
148 info.datatype = img.getTag (Tiff.TagID.SampleFormat);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
149 info.photometric = img.getTag (Tiff.TagID.Photometric);
1604c8812b67 Tiff: added numberOfDirectories method.
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
150 endfunction