view scripts/io/Tiff.m @ 31107:fae39152ddcf

Complete the TagID structure * tiff.m: added all missing fields in the TagID structure.
author magedrifaat <magedrifaat@gmail.com>
date Tue, 05 Jul 2022 04:07:22 +0200
parents ab5b33e447b0
children 99a301eb315e
line wrap: on
line source

classdef Tiff
    properties (Constant = true)
        % TODO(maged): Add the remaining fields
        TagID = struct(
            "SubFileType", 254
            "ImageWidth", 256
            "ImageLength", 257
            "BitsPerSample", 258
            "Compression", 259
            "Photometric", 262
            "Thresholding", 263
            "FillOrder", 266
            "DocumentName", 269
            "ImageDescription", 270
            "Make", 271
            "Model", 272
            "StripOffsets", 273
            "Orientation", 274
            "SamplesPerPixel", 277
            "RowsPerStrip", 278
            "StripByteCounts", 279
            "MinSampleValue", 280
            "MaxSampleValue", 281
            "XResolution", 282
            "YResolution", 283
            "PlanarConfiguration", 284
            "PageName", 285
            "XPosition", 286
            "YPosition", 287
            "GrayResponseUnit", 290,
            'GrayResponseCurve'. 291,
            "Group3Options", 292
            "Group4Options", 293
            "ResolutionUnit", 296
            "PageNumber", 297
            "TransferFunction", 301
            "Software", 305
            "DateTime", 306
            "Artist", 315
            "HostComputer", 316
            "WhitePoint", 318
            "PrimaryChromaticities", 319
            "ColorMap", 320
            "HalfToneHints", 321
            "TileWidth", 322
            "TileLength", 323
            "TileOffsets", 324
            "TileByteCounts", 325
            "SubIFD", 330
            "InkSet", 332
            "InkNames", 333
            "NumberOfInks", 334
            "DotRange", 336
            "TargetPrinter", 337
            "ExtraSamples", 338
            "SampleFormat", 339
            "SMinSampleValue", 340
            "SMaxSampleValue", 341
            "YCbCrCoefficients", 529
            "YCbCrSubSampling", 530
            "YCbCrPositioning", 531
            "ReferenceBlackWhite", 532
            "XMP", 700
            "ImageDepth", 32997
            "Copyright", 33432
            "RichTIFFIPTC", 33723
            "Photoshop", 34377
            "ICCProfile", 34675
            "SToNits", 37439
            "JPEGQuality", 65537
            "JPEGColorMode", 65538
            "ZipQuality", 65557
            "SGILogDataFmt", 65560
        )
    endproperties

    properties (Access = private)
        tiff_handle
    endproperties

    methods
        function t = Tiff(filename, mode="r")
            if (nargin == 0 || nargin > 2)
                % print_usage();
                error("Usage: Tiff(filename[, mode])");
            endif

            t.tiff_handle = __open_tiff__(filename, mode);
        endfunction

        function close(t)
            __close_tiff__(t.tiff_handle);
        endfunction

        function tag = getTag(t, tagName)
            tag = __tiff_get_tag__(t.tiff_handle, tagName);
        endfunction

        % TODO(maged): implement a print_usage
    endmethods
endclassdef