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