Mercurial > octave-libtiff
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 |
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 |