ExiftoolMetadataExtractor.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: BSD-3-Clause
2 // SPDX-FileCopyrightText: Czech Technical University in Prague
3 
10 #pragma once
11 
12 #include <memory>
13 #include <string>
14 
18 
19 namespace movie_publisher
20 {
21 
22 struct ExiftoolMetadataPrivate;
23 
28 {
29 public:
39  const cras::LogHelperPtr& log, const std::weak_ptr<MetadataManager>& manager,
40  const std::string& filename, size_t width, size_t height);
41  ~ExiftoolMetadataExtractor() override;
42 
43  std::string getName() const override;
44  int getPriority() const override;
45 
46  cras::optional<ros::Time> getCreationTime() override;
47  cras::optional<int> getRotation() override;
48  cras::optional<double> getCropFactor() override;
49 
50 protected:
51  cras::optional<double> getGPSLatitude() override;
52  cras::optional<double> getGPSLongitude() override;
53  cras::optional<double> getGPSAltitude() override;
54  cras::optional<ros::Time> getGPSTime() override;
55 
56  cras::optional<ExifData<ExifAscii>> getExifMake() override;
57  cras::optional<ExifData<ExifAscii>> getExifModel() override;
58  cras::optional<ExifData<ExifAscii>> getExifLensMake() override;
59  cras::optional<ExifData<ExifAscii>> getExifLensModel() override;
60  cras::optional<ExifData<ExifAscii>> getExifBodySerialNumber() override;
61  cras::optional<ExifData<ExifAscii>> getExifLensSerialNumber() override;
62  cras::optional<ExifData<ExifAscii>> getExifDateTimeOriginal() override;
63  cras::optional<ExifData<ExifAscii>> getExifOffsetTimeOriginal() override;
64  cras::optional<ExifData<ExifAscii>> getExifSubSecTimeOriginal() override;
65  cras::optional<ExifData<ExifShort>> getExifOrientation() override;
66  cras::optional<ExifData<ExifRational>> getExifFocalPlaneXRes() override;
67  cras::optional<ExifData<ExifRational>> getExifFocalPlaneYRes() override;
68  cras::optional<ExifData<ExifShort>> getExifFocalPlaneResUnit() override;
69  cras::optional<ExifData<ExifShort>> getExifResUnit() override;
70  cras::optional<ExifData<ExifShort>> getExifFocalLength35MM() override;
71  cras::optional<ExifData<ExifRational>> getExifFocalLength() override;
72  cras::optional<ExifData<ExifAscii>> getExifGpsLatRef() override;
73  cras::optional<ExifData<ExifRational>> getExifGpsLat(size_t n) override;
74  cras::optional<ExifData<ExifAscii>> getExifGpsLonRef() override;
75  cras::optional<ExifData<ExifRational>> getExifGpsLon(size_t n) override;
76  cras::optional<ExifData<ExifByte>> getExifGpsAltRef() override;
77  cras::optional<ExifData<ExifRational>> getExifGpsAlt() override;
78  cras::optional<ExifData<ExifAscii>> getExifGpsMeasureMode() override;
79  cras::optional<ExifData<ExifRational>> getExifGpsDOP() override;
80  cras::optional<ExifData<ExifAscii>> getExifGpsSpeedRef() override;
81  cras::optional<ExifData<ExifRational>> getExifGpsSpeed() override;
82  cras::optional<ExifData<ExifAscii>> getExifGpsTrackRef() override;
83  cras::optional<ExifData<ExifRational>> getExifGpsTrack() override;
84  cras::optional<ExifData<ExifRational>> getExifGpsTimeStamp(size_t n) override;
85  cras::optional<ExifData<ExifAscii>> getExifGpsDateStamp() override;
86  cras::optional<ExifData<ExifShort>> getExifGpsDifferential() override;
87  cras::optional<ExifData<ExifRational>> getExifGpsHPositioningError() override;
88  cras::optional<ExifData<ExifAscii>> getExifGpsImgDirectionRef() override;
89  cras::optional<ExifData<ExifRational>> getExifGpsImgDirection() override;
90  cras::optional<ExifData<ExifSRational>> getExifAcceleration(size_t n) override;
91  cras::optional<ExifData<ExifSRational>> getExifRollAngle() override;
92  cras::optional<ExifData<ExifSRational>> getExifPitchAngle() override;
93 
94 private:
95  std::unique_ptr<ExiftoolMetadataPrivate> data;
96 };
97 
102 {
104 };
105 
106 }
movie_publisher::ExiftoolMetadataExtractor::getExifLensMake
cras::optional< ExifData< ExifAscii > > getExifLensMake() override
optional.hpp
movie_publisher::ExifBaseMetadataExtractor::width
size_t width
movie_publisher::ExiftoolMetadataExtractor::data
std::unique_ptr< ExiftoolMetadataPrivate > data
PIMPL.
Definition: ExiftoolMetadataExtractor.h:95
movie_publisher::ExiftoolMetadataExtractor::getExifGpsHPositioningError
cras::optional< ExifData< ExifRational > > getExifGpsHPositioningError() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsAltRef
cras::optional< ExifData< ExifByte > > getExifGpsAltRef() override
movie_publisher::ExiftoolMetadataExtractor::getCreationTime
cras::optional< ros::Time > getCreationTime() override
movie_publisher::ExiftoolMetadataExtractor::getExifAcceleration
cras::optional< ExifData< ExifSRational > > getExifAcceleration(size_t n) override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsDateStamp
cras::optional< ExifData< ExifAscii > > getExifGpsDateStamp() override
movie_publisher::ExiftoolMetadataExtractor::getExifOffsetTimeOriginal
cras::optional< ExifData< ExifAscii > > getExifOffsetTimeOriginal() override
movie_publisher::ExiftoolMetadataExtractor::getExifPitchAngle
cras::optional< ExifData< ExifSRational > > getExifPitchAngle() override
movie_publisher::ExiftoolMetadataExtractor::ExiftoolMetadataExtractor
ExiftoolMetadataExtractor(const cras::LogHelperPtr &log, const std::weak_ptr< MetadataManager > &manager, const std::string &filename, size_t width, size_t height)
Constructor.
movie_publisher::ExiftoolMetadataExtractor::getExifResUnit
cras::optional< ExifData< ExifShort > > getExifResUnit() override
movie_publisher::ExiftoolMetadataExtractor::getGPSLongitude
cras::optional< double > getGPSLongitude() override
movie_publisher::ExiftoolMetadataExtractor::getGPSAltitude
cras::optional< double > getGPSAltitude() override
movie_publisher::ExiftoolMetadataExtractor
Metadata extractor using exiftool backend.
Definition: ExiftoolMetadataExtractor.h:27
ExifBaseMetadataExtractor.h
movie_publisher::ExiftoolMetadataExtractor::getExifModel
cras::optional< ExifData< ExifAscii > > getExifModel() override
movie_publisher::ExiftoolMetadataExtractor::getExifLensModel
cras::optional< ExifData< ExifAscii > > getExifLensModel() override
movie_publisher::ExiftoolMetadataExtractor::getExifFocalPlaneYRes
cras::optional< ExifData< ExifRational > > getExifFocalPlaneYRes() override
movie_publisher::ExiftoolMetadataExtractor::getExifFocalPlaneXRes
cras::optional< ExifData< ExifRational > > getExifFocalPlaneXRes() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsImgDirectionRef
cras::optional< ExifData< ExifAscii > > getExifGpsImgDirectionRef() override
movie_publisher::ExiftoolMetadataExtractor::getGPSTime
cras::optional< ros::Time > getGPSTime() override
movie_publisher::ExiftoolMetadataExtractor::getGPSLatitude
cras::optional< double > getGPSLatitude() override
movie_publisher::ExiftoolMetadataExtractor::getExifSubSecTimeOriginal
cras::optional< ExifData< ExifAscii > > getExifSubSecTimeOriginal() override
movie_publisher::ExiftoolMetadataExtractorPlugin::getExtractor
MetadataExtractor::Ptr getExtractor(const MetadataExtractorParams &params) override
movie_publisher::ExiftoolMetadataExtractorPlugin
Plugin for instantiating ExiftoolMetadataExtractor.
Definition: ExiftoolMetadataExtractor.h:101
movie_publisher::ExiftoolMetadataExtractor::getExifGpsLon
cras::optional< ExifData< ExifRational > > getExifGpsLon(size_t n) override
movie_publisher::ExiftoolMetadataExtractor::getExifMake
cras::optional< ExifData< ExifAscii > > getExifMake() override
metadata_extractor.h
movie_publisher::ExiftoolMetadataExtractor::getRotation
cras::optional< int > getRotation() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsLat
cras::optional< ExifData< ExifRational > > getExifGpsLat(size_t n) override
movie_publisher::ExiftoolMetadataExtractor::getExifFocalPlaneResUnit
cras::optional< ExifData< ExifShort > > getExifFocalPlaneResUnit() override
n
constexpr auto n() noexcept
movie_publisher::ExifBaseMetadataExtractor
movie_publisher::ExiftoolMetadataExtractor::getExifLensSerialNumber
cras::optional< ExifData< ExifAscii > > getExifLensSerialNumber() override
movie_publisher::ExiftoolMetadataExtractor::getExifDateTimeOriginal
cras::optional< ExifData< ExifAscii > > getExifDateTimeOriginal() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsLonRef
cras::optional< ExifData< ExifAscii > > getExifGpsLonRef() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsAlt
cras::optional< ExifData< ExifRational > > getExifGpsAlt() override
movie_publisher::ExiftoolMetadataExtractor::getExifFocalLength
cras::optional< ExifData< ExifRational > > getExifFocalLength() override
cras::LogHelperPtr
::cras::LogHelper::Ptr LogHelperPtr
movie_publisher::MetadataExtractor::Ptr
std::shared_ptr< MetadataExtractor > Ptr
movie_publisher::ExiftoolMetadataExtractor::getExifGpsDOP
cras::optional< ExifData< ExifRational > > getExifGpsDOP() override
movie_publisher
movie_publisher::ExiftoolMetadataExtractor::getPriority
int getPriority() const override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsImgDirection
cras::optional< ExifData< ExifRational > > getExifGpsImgDirection() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsSpeed
cras::optional< ExifData< ExifRational > > getExifGpsSpeed() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsDifferential
cras::optional< ExifData< ExifShort > > getExifGpsDifferential() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsSpeedRef
cras::optional< ExifData< ExifAscii > > getExifGpsSpeedRef() override
movie_publisher::ExifBaseMetadataExtractor::height
size_t height
cras::HasLogger::log
::cras::LogHelperPtr log
movie_publisher::ExiftoolMetadataExtractor::getExifRollAngle
cras::optional< ExifData< ExifSRational > > getExifRollAngle() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsMeasureMode
cras::optional< ExifData< ExifAscii > > getExifGpsMeasureMode() override
movie_publisher::MetadataExtractorPlugin
movie_publisher::ExiftoolMetadataExtractor::getExifBodySerialNumber
cras::optional< ExifData< ExifAscii > > getExifBodySerialNumber() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsTrack
cras::optional< ExifData< ExifRational > > getExifGpsTrack() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsLatRef
cras::optional< ExifData< ExifAscii > > getExifGpsLatRef() override
movie_publisher::ExiftoolMetadataExtractor::getName
std::string getName() const override
movie_publisher::ExiftoolMetadataExtractor::getExifFocalLength35MM
cras::optional< ExifData< ExifShort > > getExifFocalLength35MM() override
movie_publisher::MetadataExtractorParams
movie_publisher::ExiftoolMetadataExtractor::getExifGpsTrackRef
cras::optional< ExifData< ExifAscii > > getExifGpsTrackRef() override
movie_publisher::ExiftoolMetadataExtractor::getCropFactor
cras::optional< double > getCropFactor() override
movie_publisher::ExiftoolMetadataExtractor::getExifGpsTimeStamp
cras::optional< ExifData< ExifRational > > getExifGpsTimeStamp(size_t n) override
movie_publisher::ExiftoolMetadataExtractor::~ExiftoolMetadataExtractor
~ExiftoolMetadataExtractor() override
movie_publisher::ExiftoolMetadataExtractor::getExifOrientation
cras::optional< ExifData< ExifShort > > getExifOrientation() override


exiftool_metadata_extractor
Author(s): Martin Pecka
autogenerated on Wed May 28 2025 02:07:28