1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
  | # 
 |  # The Python Imaging Library. 
 |  # $Id$ 
 |  # 
 |  # EXIF tags 
 |  # 
 |  # Copyright (c) 2003 by Secret Labs AB 
 |  # 
 |  # See the README file for information on usage and redistribution. 
 |  # 
 |    
 |  ## 
 |  # This module provides constants and clear-text names for various 
 |  # well-known EXIF tags. 
 |  ## 
 |    
 |  ## 
 |  # Maps EXIF tags to tag names. 
 |    
 |  TAGS = { 
 |    
 |      # possibly incomplete 
 |      0x0100: "ImageWidth", 
 |      0x0101: "ImageLength", 
 |      0x0102: "BitsPerSample", 
 |      0x0103: "Compression", 
 |      0x0106: "PhotometricInterpretation", 
 |      0x010e: "ImageDescription", 
 |      0x010f: "Make", 
 |      0x0110: "Model", 
 |      0x0111: "StripOffsets", 
 |      0x0112: "Orientation", 
 |      0x0115: "SamplesPerPixel", 
 |      0x0116: "RowsPerStrip", 
 |      0x0117: "StripByteConunts", 
 |      0x011a: "XResolution", 
 |      0x011a: "XResolution", 
 |      0x011b: "YResolution", 
 |      0x011b: "YResolution", 
 |      0x011c: "PlanarConfiguration", 
 |      0x0128: "ResolutionUnit", 
 |      0x0128: "ResolutionUnit", 
 |      0x012d: "TransferFunction", 
 |      0x0131: "Software", 
 |      0x0132: "DateTime", 
 |      0x013b: "Artist", 
 |      0x013e: "WhitePoint", 
 |      0x013f: "PrimaryChromaticities", 
 |      0x0201: "JpegIFOffset", 
 |      0x0202: "JpegIFByteCount", 
 |      0x0211: "YCbCrCoefficients", 
 |      0x0211: "YCbCrCoefficients", 
 |      0x0212: "YCbCrSubSampling", 
 |      0x0213: "YCbCrPositioning", 
 |      0x0213: "YCbCrPositioning", 
 |      0x0214: "ReferenceBlackWhite", 
 |      0x0214: "ReferenceBlackWhite", 
 |      0x1000: "RelatedImageFileFormat", 
 |      0x1001: "RelatedImageLength", 
 |      0x1001: "RelatedImageWidth", 
 |      0x828d: "CFARepeatPatternDim", 
 |      0x828e: "CFAPattern", 
 |      0x828f: "BatteryLevel", 
 |      0x8298: "Copyright", 
 |      0x829a: "ExposureTime", 
 |      0x829d: "FNumber", 
 |      0x8769: "ExifOffset", 
 |      0x8773: "InterColorProfile", 
 |      0x8822: "ExposureProgram", 
 |      0x8824: "SpectralSensitivity", 
 |      0x8825: "GPSInfo", 
 |      0x8827: "ISOSpeedRatings", 
 |      0x8828: "OECF", 
 |      0x8829: "Interlace", 
 |      0x882a: "TimeZoneOffset", 
 |      0x882b: "SelfTimerMode", 
 |      0x9000: "ExifVersion", 
 |      0x9003: "DateTimeOriginal", 
 |      0x9004: "DateTimeDigitized", 
 |      0x9101: "ComponentsConfiguration", 
 |      0x9102: "CompressedBitsPerPixel", 
 |      0x9201: "ShutterSpeedValue", 
 |      0x9202: "ApertureValue", 
 |      0x9203: "BrightnessValue", 
 |      0x9204: "ExposureBiasValue", 
 |      0x9205: "MaxApertureValue", 
 |      0x9206: "SubjectDistance", 
 |      0x9207: "MeteringMode", 
 |      0x9208: "LightSource", 
 |      0x9209: "Flash", 
 |      0x920a: "FocalLength", 
 |      0x920b: "FlashEnergy", 
 |      0x920c: "SpatialFrequencyResponse", 
 |      0x920d: "Noise", 
 |      0x9211: "ImageNumber", 
 |      0x9212: "SecurityClassification", 
 |      0x9213: "ImageHistory", 
 |      0x9214: "SubjectLocation", 
 |      0x9215: "ExposureIndex", 
 |      0x9216: "TIFF/EPStandardID", 
 |      0x927c: "MakerNote", 
 |      0x9286: "UserComment", 
 |      0x9290: "SubsecTime", 
 |      0x9291: "SubsecTimeOriginal", 
 |      0x9292: "SubsecTimeDigitized", 
 |      0xa000: "FlashPixVersion", 
 |      0xa001: "ColorSpace", 
 |      0xa002: "ExifImageWidth", 
 |      0xa003: "ExifImageHeight", 
 |      0xa004: "RelatedSoundFile", 
 |      0xa005: "ExifInteroperabilityOffset", 
 |      0xa20b: "FlashEnergy", 
 |      0xa20c: "SpatialFrequencyResponse", 
 |      0xa20e: "FocalPlaneXResolution", 
 |      0xa20f: "FocalPlaneYResolution", 
 |      0xa210: "FocalPlaneResolutionUnit", 
 |      0xa214: "SubjectLocation", 
 |      0xa215: "ExposureIndex", 
 |      0xa217: "SensingMethod", 
 |      0xa300: "FileSource", 
 |      0xa301: "SceneType", 
 |      0xa302: "CFAPattern", 
 |    
 |  } 
 |    
 |  ## 
 |  # Maps EXIF GSP tags to tag names. 
 |    
 |  GPSTAGS = { 
 |      0: "GPSVersionID", 
 |      1: "GPSLatitudeRef", 
 |      2: "GPSLatitude", 
 |      3: "GPSLongitudeRef", 
 |      4: "GPSLongitude", 
 |      5: "GPSAltitudeRef", 
 |      6: "GPSAltitude", 
 |      7: "GPSTimeStamp", 
 |      8: "GPSSatellites", 
 |      9: "GPSStatus", 
 |      10: "GPSMeasureMode", 
 |      11: "GPSDOP", 
 |      12: "GPSSpeedRef", 
 |      13: "GPSSpeed", 
 |      14: "GPSTrackRef", 
 |      15: "GPSTrack", 
 |      16: "GPSImgDirectionRef", 
 |      17: "GPSImgDirection", 
 |      18: "GPSMapDatum", 
 |      19: "GPSDestLatitudeRef", 
 |      20: "GPSDestLatitude", 
 |      21: "GPSDestLongitudeRef", 
 |      22: "GPSDestLongitude", 
 |      23: "GPSDestBearingRef", 
 |      24: "GPSDestBearing", 
 |      25: "GPSDestDistanceRef", 
 |      26: "GPSDestDistance" 
 |  } 
 |  
  |