annotate scripts/image/private/__tiff_imfinfo__.m @ 31202:be6ccdcd5775

Tiff: added isBigEndian and getDirectoryOffset methods to the class * scripts/io/Tiff.m: added isBigEndian and getDirectoryOffset methods to the class. * libtinterp/corefcn/tiff.cc: added __tiff_is_big_endian__ and __tiff_get_directory_offset__ as internal functions for isBigEndian and getDirectoryOffset repectively. * scripts/image/private/__tiff_imfinfo__.m: used the two new methods to get the corresponding info fields.
author magedrifaat <magedrifaat@gmail.com>
date Fri, 02 Sep 2022 21:20:56 +0200
parents e5e8cb049b4b
children
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",
31202
be6ccdcd5775 Tiff: added isBigEndian and getDirectoryOffset methods to the class
magedrifaat <magedrifaat@gmail.com>
parents: 31201
diff changeset
20 localtime (file_stat.mtime));
31201
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
31202
be6ccdcd5775 Tiff: added isBigEndian and getDirectoryOffset methods to the class
magedrifaat <magedrifaat@gmail.com>
parents: 31201
diff changeset
76 if (tif.isBigEndian ())
be6ccdcd5775 Tiff: added isBigEndian and getDirectoryOffset methods to the class
magedrifaat <magedrifaat@gmail.com>
parents: 31201
diff changeset
77 info(dir_idx).ByteOrder = "big-endian";
be6ccdcd5775 Tiff: added isBigEndian and getDirectoryOffset methods to the class
magedrifaat <magedrifaat@gmail.com>
parents: 31201
diff changeset
78 else
be6ccdcd5775 Tiff: added isBigEndian and getDirectoryOffset methods to the class
magedrifaat <magedrifaat@gmail.com>
parents: 31201
diff changeset
79 info(dir_idx).ByteOrder = "little-endian";
be6ccdcd5775 Tiff: added isBigEndian and getDirectoryOffset methods to the class
magedrifaat <magedrifaat@gmail.com>
parents: 31201
diff changeset
80 endif
31201
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
81
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
82 info(dir_idx).NewSubFileType ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
83 = get_tag_defaulted (tif, Tiff.TagID.SubFileType,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
84 Tiff.SubFileType.Default);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
85
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 info(dir_idx).Compression = "unrecognized";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
88 compressions = fieldnames (Tiff.Compression);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
89 compression = tif.getTag (Tiff.TagID.Compression);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
90 for comp_idx = 1:numel (compressions)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
91 if (compression == Tiff.Compression.(compressions{comp_idx}))
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
92 info(dir_idx).Compression = compressions{comp_idx};
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
93 break;
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
94 endif
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
95 endfor
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
96
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
97 info(dir_idx).TileLength ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
98 = get_tag_defaulted (tif, Tiff.TagID.TileLength, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
99 info(dir_idx).TileWidth ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
100 = get_tag_defaulted (tif, Tiff.TagID.TileWidth, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
101
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
102 info(dir_idx).TileOffsets ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
103 = get_tag_defaulted (tif, Tiff.TagID.TileOffsets, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
104 info(dir_idx).TileByteCounts ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
105 = get_tag_defaulted (tif, Tiff.TagID.TileByteCounts, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
106
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
107 info(dir_idx).RowsPerStrip ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
108 = get_tag_defaulted (tif, Tiff.TagID.RowsPerStrip, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
109 info(dir_idx).StripOffsets ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
110 = get_tag_defaulted (tif, Tiff.TagID.StripOffsets, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
111 info(dir_idx).StripByteCounts ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
112 = get_tag_defaulted (tif, Tiff.TagID.StripByteCounts, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
113
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
114 info(dir_idx).XResolution ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
115 = get_tag_defaulted (tif, Tiff.TagID.XResolution, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
116 info(dir_idx).YResolution ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
117 = get_tag_defaulted (tif, Tiff.TagID.YResolution, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
118
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
119 info(dir_idx).ResolutionUnit = "Inch";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
120 try
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
121 resunit = tif.getTag (tiff.TagID.ResolutionUnit);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
122 if (resunit == Tiff.ResolutionUnit.None)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
123 info(dir_idx).ResolutionUnit = "None";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
124 elseif (resuint == Tiff.ResolutionUnit.Centimeter)
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
125 info(dir_idx).ResolutionUnit = "Centimeter";
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
126 endif
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
127 end_try_catch
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
128
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
129 info(dir_idx).Orientation ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
130 = get_tag_defaulted (tif, Tiff.TagID.Orientation,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
131 Tiff.Orientation.TopLeft);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
132
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
133 info(dir_idx).FillOrder ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
134 = get_tag_defaulted (tif, Tiff.TagID.FillOrder, 1);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
135
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
136 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
137 info(dir_idx).GrayResponseUnit = 1 / (10 ^ gray_unit);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
138
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
139 info(dir_idx).MinSampleValue ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
140 = get_tag_defaulted (tif, Tiff.TagID.MinSampleValue, 0);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
141 info(dir_idx).MaxSampleValue ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
142 = get_tag_defaulted (tif, Tiff.TagID.MaxSampleValue,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
143 2^info(dir_idx).BitsPerSample - 1);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
144 info(dir_idx).MinSampleValue ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
145 = repmat (info(dir_idx).MinSampleValue,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
146 [1, info(dir_idx).SamplesPerPixel]);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
147 info(dir_idx).MaxSampleValue ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
148 = repmat (info(dir_idx).MaxSampleValue,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
149 [1, info(dir_idx).SamplesPerPixel]);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
150
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
151 info(dir_idx).Thresholding ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
152 = get_tag_defaulted (tif, Tiff.TagID.Thresholding,
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
153 Tiff.Thresholding.BiLevel);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
154
31202
be6ccdcd5775 Tiff: added isBigEndian and getDirectoryOffset methods to the class
magedrifaat <magedrifaat@gmail.com>
parents: 31201
diff changeset
155 info(dir_idx).Offset = tif.getDirectoryOffset ();
31201
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
156
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
157 info(dir_idx).ImageDescription ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
158 = get_tag_defaulted (tif, Tiff.TagID.ImageDescription, "");
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
159
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
160 info(dir_idx).Photoshop ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
161 = get_tag_defaulted (tif, Tiff.TagID.Photoshop, []);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
162
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
163 info(dir_idx).XMP ...
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
164 = get_tag_defaulted (tif, Tiff.TagID.XMP, "");
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
165 endfor
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
166 endfunction
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
167
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
168 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
169 tag_val = default_val;
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
170 try
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
171 tag_val = tif.getTag (tag);
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
172 end_try_catch
e5e8cb049b4b __tiff_imfinfo__: converted to private octave function
magedrifaat <magedrifaat@gmail.com>
parents:
diff changeset
173 endfunction