annotate scripts/image/private/__tiff_imfinfo__.m @ 31201:e5e8cb049b4b

__tiff_imfinfo__: converted to private octave function * libinterp/corefcn/__tiff__.cc: removed internal function __tiff__imfinfo__. * scipts/image/private/__tiff_imfinfo__.m: implemented private octave function __tiff_imfinfo__. * scripts/image/module.mk: added entry for the new function.
author magedrifaat <magedrifaat@gmail.com>
date Fri, 02 Sep 2022 20:52:47 +0200
parents
children be6ccdcd5775
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31201
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
1 function info = __tiff_imfinfo__ (filename)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
2 tif = Tiff (filename);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
3 dir_count = tif.numberOfDirectories ();
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
4
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
5 info = struct ();
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
6
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
7 if __have_feature__ ("MAGICK")
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
8 ## Obtain data from magick if available (as it handles EXIF tags)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
9 info = __imfinfo__ (filename);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
10 else
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
11 ## Otherwise just obtain common tags and ignore EXIF tags
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
12 [file_stat, err, msg] = stat (filename);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
13 if err > 0
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
14 error ("imfinfo: Failed to access file: %s", msg);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
15 endif
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
16
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
17 for dir_idx = 1:dir_count
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
18 info(dir_idx).Filename = filename;
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
19 info(dir_idx).FileModDate = strftime ("%e-%b-%Y %H:%M:%S",
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
20 localtime (file_stat.ctime));
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
21 info(dir_idx).FileSize = file_stat.size;
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
22 info(dir_idx).Format = "tif";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
23 info(dir_idx).FormatVersion = "";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
24 endfor
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
25 endif
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
26
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
27 for dir_idx = 1:dir_count
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
28 tif.setDirectory (dir_idx);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
29
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
30 ## Read the file signature (first 4 bytes)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
31 a = fopen (filename);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
32 info(dir_idx).FormatSignature = reshape (fread (a, 4, "uint8"), [1, 4]);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
33 fclose (a);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
34
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
35 info(dir_idx).Width = tif.getTag (Tiff.TagID.ImageWidth);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
36 info(dir_idx).Height = tif.getTag (Tiff.TagID.ImageLength);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
37
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
38 info(dir_idx).SamplesPerPixel = tif.getTag (Tiff.TagID.SamplesPerPixel);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
39 info(dir_idx).BitsPerSample = tif.getTag (Tiff.TagID.BitsPerSample);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
40 info(dir_idx).BitDepth = info(dir_idx).SamplesPerPixel ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
41 * info(dir_idx).BitsPerSample;
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
42
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
43 planar = tif.getTag (Tiff.TagID.PlanarConfiguration);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
44 if planar == Tiff.PlanarConfiguration.Chunky
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
45 info(dir_idx).PlanarConfiguration = "Chunky";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
46 elseif planar == Tiff.PlanarConfiguration.Separate
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
47 info(dir_idx).PlanarConfiguration = "Separate";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
48 else
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
49 info(dir_idx).PlanarConfiguration = "Unrecognized";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
50 endif
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
51
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
52 info(dir_idx).Colormap = [];
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
53
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
54 photometrics = [Tiff.Photometric.MinIsBlack, Tiff.Photometric.MinIsWhite,...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
55 Tiff.Photometric.RGB, Tiff.Photometric.Palette,...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
56 Tiff.Photometric.Separated];
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
57 color_types = {"grayscale", "grayscale", "truecolor", "indexed", "cmyk"};
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
58 photometric_strs = {"BlackIsZero", "WhiteIsZero", "RGB",...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
59 "RGB Palette", "CMYK"};
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
60
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
61 photometric = get_tag_defaulted (tif, Tiff.TagID.Photometric,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
62 Tiff.Photometric.MinIsBlack);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
63 idx = (photometric == photometrics);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
64 if ! any (idx)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
65 info(dir_idx).ColorType = "undefined";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
66 info(dir_idx).PhotometricInterpretation = "undefined";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
67 else
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
68 info(dir_idx).ColorType = color_types{idx};
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
69 info(dir_idx).PhotometricInterpretation = photometric_strs{idx};
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
70 if (photometric == Tiff.Photometric.Palette)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
71 info(dir_idx).Colormap ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
72 = get_tag_defaulted (tif, Tiff.TagID.ColorMap, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
73 endif
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
74 endif
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
75
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
76 ## FIXME: implement isBigEndian
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
77 # if (tif.isBigEndian ())
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
78 # info(dir_idx).ByteOrder = "big-endian";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
79 # else
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
80 # info(dir_idx).ByteOrder = "little-endian";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
81 # endif
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
82
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
83 info(dir_idx).NewSubFileType ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
84 = get_tag_defaulted (tif, Tiff.TagID.SubFileType,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
85 Tiff.SubFileType.Default);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
86
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
87
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
88 info(dir_idx).Compression = "unrecognized";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
89 compressions = fieldnames (Tiff.Compression);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
90 compression = tif.getTag (Tiff.TagID.Compression);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
91 for comp_idx = 1:numel (compressions)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
92 if (compression == Tiff.Compression.(compressions{comp_idx}))
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
93 info(dir_idx).Compression = compressions{comp_idx};
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
94 break;
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
95 endif
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
96 endfor
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
97
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
98 info(dir_idx).TileLength ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
99 = get_tag_defaulted (tif, Tiff.TagID.TileLength, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
100 info(dir_idx).TileWidth ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
101 = get_tag_defaulted (tif, Tiff.TagID.TileWidth, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
102
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
103 info(dir_idx).TileOffsets ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
104 = get_tag_defaulted (tif, Tiff.TagID.TileOffsets, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
105 info(dir_idx).TileByteCounts ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
106 = get_tag_defaulted (tif, Tiff.TagID.TileByteCounts, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
107
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
108 info(dir_idx).RowsPerStrip ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
109 = get_tag_defaulted (tif, Tiff.TagID.RowsPerStrip, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
110 info(dir_idx).StripOffsets ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
111 = get_tag_defaulted (tif, Tiff.TagID.StripOffsets, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
112 info(dir_idx).StripByteCounts ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
113 = get_tag_defaulted (tif, Tiff.TagID.StripByteCounts, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
114
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
115 info(dir_idx).XResolution ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
116 = get_tag_defaulted (tif, Tiff.TagID.XResolution, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
117 info(dir_idx).YResolution ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
118 = get_tag_defaulted (tif, Tiff.TagID.YResolution, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
119
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
120 info(dir_idx).ResolutionUnit = "Inch";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
121 try
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
122 resunit = tif.getTag (tiff.TagID.ResolutionUnit);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
123 if (resunit == Tiff.ResolutionUnit.None)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
124 info(dir_idx).ResolutionUnit = "None";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
125 elseif (resuint == Tiff.ResolutionUnit.Centimeter)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
126 info(dir_idx).ResolutionUnit = "Centimeter";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
127 endif
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
128 end_try_catch
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
129
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
130 info(dir_idx).Orientation ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
131 = get_tag_defaulted (tif, Tiff.TagID.Orientation,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
132 Tiff.Orientation.TopLeft);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
133
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
134 info(dir_idx).FillOrder ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
135 = get_tag_defaulted (tif, Tiff.TagID.FillOrder, 1);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
136
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
137 gray_unit = get_tag_defaulted (tif, Tiff.TagID.GrayResponseUnit, 2);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
138 info(dir_idx).GrayResponseUnit = 1 / (10 ^ gray_unit);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
139
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
140 info(dir_idx).MinSampleValue ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
141 = get_tag_defaulted (tif, Tiff.TagID.MinSampleValue, 0);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
142 info(dir_idx).MaxSampleValue ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
143 = get_tag_defaulted (tif, Tiff.TagID.MaxSampleValue,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
144 2^info(dir_idx).BitsPerSample - 1);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
145 info(dir_idx).MinSampleValue ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
146 = repmat (info(dir_idx).MinSampleValue,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
147 [1, info(dir_idx).SamplesPerPixel]);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
148 info(dir_idx).MaxSampleValue ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
149 = repmat (info(dir_idx).MaxSampleValue,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
150 [1, info(dir_idx).SamplesPerPixel]);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
151
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
152 info(dir_idx).Thresholding ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
153 = get_tag_defaulted (tif, Tiff.TagID.Thresholding,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
154 Tiff.Thresholding.BiLevel);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
155
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
156 ## FIXME: implement getDirectoryOffset method
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
157 # info(dir_idx).Offset = tif.getDirectoryOffset ();
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
158
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
159 info(dir_idx).ImageDescription ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
160 = get_tag_defaulted (tif, Tiff.TagID.ImageDescription, "");
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
161
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
162 info(dir_idx).Photoshop ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
163 = get_tag_defaulted (tif, Tiff.TagID.Photoshop, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
164
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
165 info(dir_idx).XMP ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
166 = get_tag_defaulted (tif, Tiff.TagID.XMP, "");
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
167 endfor
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
168 endfunction
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
169
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
170 function tag_val = get_tag_defaulted (tif, tag, default_val)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
171 tag_val = default_val;
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
172 try
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
173 tag_val = tif.getTag (tag);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
174 end_try_catch
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
175 endfunction