exiftool_vendored 12.18.0 → 12.33.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +236 -4
- data/bin/MANIFEST +23 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +45 -43
- data/bin/arg_files/xmp2exif.args +2 -1
- data/bin/config_files/acdsee.config +193 -6
- data/bin/config_files/convert_regions.config +25 -14
- data/bin/config_files/cuepointlist.config +70 -0
- data/bin/config_files/example.config +2 -9
- data/bin/exiftool +152 -97
- data/bin/fmt_files/gpx.fmt +2 -2
- data/bin/fmt_files/gpx_wpt.fmt +2 -2
- data/bin/fmt_files/kml.fmt +1 -1
- data/bin/fmt_files/kml_track.fmt +1 -1
- data/bin/lib/Image/ExifTool/Apple.pm +3 -2
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +31 -13
- data/bin/lib/Image/ExifTool/CBOR.pm +331 -0
- data/bin/lib/Image/ExifTool/Canon.pm +44 -19
- data/bin/lib/Image/ExifTool/DJI.pm +6 -6
- data/bin/lib/Image/ExifTool/DPX.pm +13 -2
- data/bin/lib/Image/ExifTool/DjVu.pm +6 -5
- data/bin/lib/Image/ExifTool/Exif.pm +124 -13
- data/bin/lib/Image/ExifTool/FITS.pm +13 -2
- data/bin/lib/Image/ExifTool/FlashPix.pm +35 -10
- data/bin/lib/Image/ExifTool/FujiFilm.pm +19 -8
- data/bin/lib/Image/ExifTool/GPS.pm +22 -11
- data/bin/lib/Image/ExifTool/Geotag.pm +13 -2
- data/bin/lib/Image/ExifTool/GoPro.pm +16 -1
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +2 -2
- data/bin/lib/Image/ExifTool/ID3.pm +15 -3
- data/bin/lib/Image/ExifTool/JPEG.pm +74 -4
- data/bin/lib/Image/ExifTool/JSON.pm +30 -5
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +395 -16
- data/bin/lib/Image/ExifTool/LIF.pm +153 -0
- data/bin/lib/Image/ExifTool/Lang/nl.pm +60 -59
- data/bin/lib/Image/ExifTool/M2TS.pm +137 -5
- data/bin/lib/Image/ExifTool/MIE.pm +4 -3
- data/bin/lib/Image/ExifTool/MRC.pm +341 -0
- data/bin/lib/Image/ExifTool/MWG.pm +3 -3
- data/bin/lib/Image/ExifTool/MXF.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +3 -3
- data/bin/lib/Image/ExifTool/Microsoft.pm +298 -82
- data/bin/lib/Image/ExifTool/Nikon.pm +18 -5
- data/bin/lib/Image/ExifTool/NikonSettings.pm +19 -2
- data/bin/lib/Image/ExifTool/Olympus.pm +10 -3
- data/bin/lib/Image/ExifTool/Other.pm +93 -0
- data/bin/lib/Image/ExifTool/PDF.pm +9 -12
- data/bin/lib/Image/ExifTool/PNG.pm +8 -7
- data/bin/lib/Image/ExifTool/Panasonic.pm +28 -3
- data/bin/lib/Image/ExifTool/Pentax.pm +28 -5
- data/bin/lib/Image/ExifTool/PhaseOne.pm +4 -3
- data/bin/lib/Image/ExifTool/Photoshop.pm +6 -0
- data/bin/lib/Image/ExifTool/QuickTime.pm +234 -75
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +283 -141
- data/bin/lib/Image/ExifTool/README +5 -2
- data/bin/lib/Image/ExifTool/RIFF.pm +89 -12
- data/bin/lib/Image/ExifTool/Samsung.pm +48 -10
- data/bin/lib/Image/ExifTool/Shortcuts.pm +9 -0
- data/bin/lib/Image/ExifTool/Sony.pm +230 -69
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +1 -0
- data/bin/lib/Image/ExifTool/TagLookup.pm +4145 -4029
- data/bin/lib/Image/ExifTool/TagNames.pod +671 -287
- data/bin/lib/Image/ExifTool/Torrent.pm +18 -11
- data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePDF.pl +1 -0
- data/bin/lib/Image/ExifTool/WritePNG.pl +2 -0
- data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -0
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +55 -21
- data/bin/lib/Image/ExifTool/WriteXMP.pl +7 -3
- data/bin/lib/Image/ExifTool/Writer.pl +47 -10
- data/bin/lib/Image/ExifTool/XMP.pm +45 -15
- data/bin/lib/Image/ExifTool/XMP2.pl +3 -1
- data/bin/lib/Image/ExifTool/XMPStruct.pl +3 -1
- data/bin/lib/Image/ExifTool/ZISRAW.pm +121 -2
- data/bin/lib/Image/ExifTool.pm +233 -81
- data/bin/lib/Image/ExifTool.pod +114 -93
- data/bin/perl-Image-ExifTool.spec +43 -42
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +28 -13
@@ -32,7 +32,9 @@ sub SerializeStruct($;$)
|
|
32
32
|
my ($key, $val, @vals, $rtnVal);
|
33
33
|
|
34
34
|
if (ref $obj eq 'HASH') {
|
35
|
-
|
35
|
+
# support hashes with ordered keys
|
36
|
+
my @keys = $$obj{_ordered_keys_} ? @{$$obj{_ordered_keys_}} : sort keys %$obj;
|
37
|
+
foreach $key (@keys) {
|
36
38
|
push @vals, $key . '=' . SerializeStruct($$obj{$key}, '}');
|
37
39
|
}
|
38
40
|
$rtnVal = '{' . join(',', @vals) . '}';
|
@@ -14,7 +14,7 @@ use strict;
|
|
14
14
|
use vars qw($VERSION);
|
15
15
|
use Image::ExifTool qw(:DataAccess :Utils);
|
16
16
|
|
17
|
-
$VERSION = '1.
|
17
|
+
$VERSION = '1.01';
|
18
18
|
|
19
19
|
%Image::ExifTool::ZISRAW::Main = (
|
20
20
|
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
|
@@ -41,6 +41,123 @@ $VERSION = '1.00';
|
|
41
41
|
},
|
42
42
|
);
|
43
43
|
|
44
|
+
#------------------------------------------------------------------------------
|
45
|
+
# Shorten obscenely long CZI tag names
|
46
|
+
# Inputs: Tag name
|
47
|
+
# Returns: Shortened tag name
|
48
|
+
sub ShortenTagNames($)
|
49
|
+
{
|
50
|
+
local $_;
|
51
|
+
$_ = shift;
|
52
|
+
s/^HardwareSetting//;
|
53
|
+
s/^DevicesDevice/Device/;
|
54
|
+
s/LightPathNode//g;
|
55
|
+
s/Successors//g;
|
56
|
+
s/ExperimentExperiment/Experiment/g;
|
57
|
+
s/ObjectivesObjective/Objective/;
|
58
|
+
s/ChannelsChannel/Channel/;
|
59
|
+
s/TubeLensesTubeLens/TubeLens/;
|
60
|
+
s/^ExperimentHardwareSettingsPoolHardwareSetting/HardwareSetting/;
|
61
|
+
s/SharpnessMeasureSetSharpnessMeasure/Sharpness/;
|
62
|
+
s/FocusSetupAutofocusSetup/Autofocus/;
|
63
|
+
s/TracksTrack/Track/;
|
64
|
+
s/ChannelRefsChannelRef/ChannelRef/;
|
65
|
+
s/ChangerChanger/Changer/;
|
66
|
+
s/ElementsChangerElement/Changer/;
|
67
|
+
s/ChangerElements/Changer/;
|
68
|
+
s/ContrastChangerContrast/Contrast/;
|
69
|
+
s/KeyFunctionsKeyFunction/KeyFunction/;
|
70
|
+
s/ManagerContrastManager(Contrast)?/ManagerContrast/;
|
71
|
+
s/ObjectiveChangerObjective/ObjectiveChanger/;
|
72
|
+
s/ManagerLightManager/ManagerLight/;
|
73
|
+
s/WavelengthAreasWavelengthArea/WavelengthArea/;
|
74
|
+
s/ReflectorChangerReflector/ReflectorChanger/;
|
75
|
+
s/^StageStageAxesStageAxis/StageAxis/;
|
76
|
+
s/ShutterChangerShutter/ShutterChanger/;
|
77
|
+
s/OnOffChangerOnOff/OnOffChanger/;
|
78
|
+
s/UnsharpMaskStateUnsharpMask/UnsharpMask/;
|
79
|
+
s/Acquisition/Acq/;
|
80
|
+
s/Continuous/Cont/;
|
81
|
+
s/Resolution/Res/;
|
82
|
+
s/Experiment/Expt/g;
|
83
|
+
s/Threshold/Thresh/;
|
84
|
+
s/Reference/Ref/;
|
85
|
+
s/Magnification/Mag/;
|
86
|
+
s/Original/Orig/;
|
87
|
+
s/FocusSetupFocusStrategySetup/Focus/;
|
88
|
+
s/ParametersParameter/Parameter/;
|
89
|
+
s/IntervalInfo/Interval/;
|
90
|
+
s/ExptBlocksAcqBlock/AcqBlock/;
|
91
|
+
s/MicroscopesMicroscope/Microscope/;
|
92
|
+
s/TimeSeriesInterval/TimeSeries/;
|
93
|
+
s/Interval(.*Interval)/$1/;
|
94
|
+
s/SingleTileRegionsSingleTileRegion/SingleTileRegion/;
|
95
|
+
s/AcquisitionMode//;
|
96
|
+
s/DetectorsDetector/Detector/;
|
97
|
+
s/Setup//;
|
98
|
+
s/Setting//;
|
99
|
+
s/TrackTrack/Track/;
|
100
|
+
s/AnalogOutMaximumsAnalogOutMaximum/AnalogOutMaximum/;
|
101
|
+
s/AnalogOutMinimumsAnalogOutMinimum/AnalogOutMinimum/;
|
102
|
+
s/DigitalOutLabelsDigitalOutLabelLabel/DigitalOutLabelLabel/;
|
103
|
+
s/(VivaTomeOpticalSectionInformation)+VivaTomeOpticalSectionInformation/VivaTomeOpticalSectionInformation/;
|
104
|
+
s/FocusDefiniteFocus/FocusDefinite/;
|
105
|
+
s/ChangerChanger/Changer/;
|
106
|
+
s/Calibration/Cal/;
|
107
|
+
s/LightSwitchChangerRLTLSwitch/LightSwitchChangerRLTL/;
|
108
|
+
s/Parameters//;
|
109
|
+
s/Fluorescence/Fluor/;
|
110
|
+
s/CameraGeometryCameraGeometry/CameraGeometry/;
|
111
|
+
s/CameraCamera/Camera/;
|
112
|
+
s/DetectorsCamera/Camera/;
|
113
|
+
s/FilterChangerLeftChangerEmissionFilter/LeftChangerEmissionFilter/;
|
114
|
+
s/SwitchingStatesSwitchingState/SwitchingState/;
|
115
|
+
s/Information/Info/;
|
116
|
+
s/SubDimensions?//g;
|
117
|
+
s/Setups?//;
|
118
|
+
s/Parameters?//;
|
119
|
+
s/Calculate/Calc/;
|
120
|
+
s/Visibility/Vis/;
|
121
|
+
s/Orientation/Orient/;
|
122
|
+
s/ListItems/Items/;
|
123
|
+
s/Increment/Incr/;
|
124
|
+
s/Parameter/Param/;
|
125
|
+
s/(ParfocalParcentralValues)+ParfocalParcentralValue/Parcentral/;
|
126
|
+
s/ParcentralParcentral/Parcentral/;
|
127
|
+
s/CorrFocusCorrection/FocusCorr/;
|
128
|
+
s/(ApoTomeDepthInfo)+Element/ApoTomeDepth/;
|
129
|
+
s/(ApoTomeClickStopInfo)+Element/ApoTomeClickStop/;
|
130
|
+
s/DepthDepth/Depth/;
|
131
|
+
s/(Devices?)+Device/Device/;
|
132
|
+
s/(BeamPathNode)+/BeamPathNode/;
|
133
|
+
s/BeamPathsBeamPath/BeamPath/g;
|
134
|
+
s/BeamPathBeamPath/BeamPath/g;
|
135
|
+
s/Configuration/Config/;
|
136
|
+
s/StageAxesStageAxis/StageAxis/;
|
137
|
+
s/RangesRange/Range/;
|
138
|
+
s/DataGridDatasGridData(Grid)?/DataGrid/;
|
139
|
+
s/DataMicroscopeDatasMicroscopeData(Microscope)?/DataMicroscope/;
|
140
|
+
s/DataWegaDatasWegaData/DataWega/;
|
141
|
+
s/ClickStopPositionsClickStopPosition/ClickStopPosition/;
|
142
|
+
s/LightSourcess?LightSource(Settings)?(LightSource)?/LightSource/;
|
143
|
+
s/FilterSetsFilterSet/FilterSet/;
|
144
|
+
s/EmissionFiltersEmissionFilter/EmissionFilter/;
|
145
|
+
s/ExcitationFiltersExcitationFilter/ExcitationFilter/;
|
146
|
+
s/FiltersFilter/Filter/;
|
147
|
+
s/DichroicsDichroic/Dichronic/;
|
148
|
+
s/WavelengthsWavelength/Wavelength/;
|
149
|
+
s/MultiTrackSetup/MultiTrack/;
|
150
|
+
s/TrackTrack/Track/;
|
151
|
+
s/DataGrabberSetup/DataGrabber/;
|
152
|
+
s/CameraFrameSetup/CameraFrame/;
|
153
|
+
s/TimeSeries(TimeSeries|Setups)/TimeSeries/;
|
154
|
+
s/FocusFocus/Focus/;
|
155
|
+
s/FocusAutofocus/Autofocus/;
|
156
|
+
s/Focus(Hardware|Software)(Autofocus)+/Autofocus$1/;
|
157
|
+
s/AutofocusAutofocus/Autofocus/;
|
158
|
+
return $_;
|
159
|
+
}
|
160
|
+
|
44
161
|
#------------------------------------------------------------------------------
|
45
162
|
# Extract metadata from a ZISRAW (CZI) image
|
46
163
|
# Inputs: 0) ExifTool object reference, 1) dirInfo reference
|
@@ -76,7 +193,9 @@ sub ProcessCZI($$)
|
|
76
193
|
$tagTablePtr = GetTagTable('Image::ExifTool::XMP::XML');
|
77
194
|
$dirInfo{DirLen} = length $buff;
|
78
195
|
# shorten tag names somewhat by removing 'ImageDocumentMetadata' prefix from all
|
79
|
-
$$et{XmpIgnoreProps} = [ 'ImageDocument', 'Metadata' ];
|
196
|
+
$$et{XmpIgnoreProps} = [ 'ImageDocument', 'Metadata', 'Information' ];
|
197
|
+
$$et{ShortenXmpTags} = \&ShortenTagNames;
|
198
|
+
|
80
199
|
$et->ProcessDirectory(\%dirInfo, $tagTablePtr);
|
81
200
|
|
82
201
|
return 1;
|