Exiv2MetadataExtractor.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 // SPDX-FileCopyrightText: Czech Technical University in Prague
3 
10 #pragma once
11 
12 #include <memory>
13 #include <string>
14 
15 #include <compass_msgs/Azimuth.h>
17 #include <geometry_msgs/Quaternion.h>
21 #include <ros/time.h>
22 #include <sensor_msgs/CameraInfo.h>
23 #include <sensor_msgs/NavSatFix.h>
24 
25 namespace movie_publisher
26 {
27 
28 struct Exiv2MetadataPrivate;
29 
34 {
35 public:
45  const cras::LogHelperPtr& log, const std::weak_ptr<MetadataManager>& manager,
46  const std::string& filename, size_t width, size_t height);
47  ~Exiv2MetadataExtractor() override;
48 
49  std::string getName() const override;
50  int getPriority() const override;
51 
52 protected:
53  cras::optional<ExifData<ExifAscii>> getExifMake() override;
54  cras::optional<ExifData<ExifAscii>> getExifModel() override;
55  cras::optional<ExifData<ExifAscii>> getExifLensMake() override;
56  cras::optional<ExifData<ExifAscii>> getExifLensModel() override;
57  cras::optional<ExifData<ExifAscii>> getExifBodySerialNumber() override;
58  cras::optional<ExifData<ExifAscii>> getExifDateTimeOriginal() override;
59  cras::optional<ExifData<ExifAscii>> getExifOffsetTimeOriginal() override;
60  cras::optional<ExifData<ExifAscii>> getExifSubSecTimeOriginal() override;
61  cras::optional<ExifData<ExifShort>> getExifOrientation() override;
62  cras::optional<ExifData<ExifRational>> getExifFocalPlaneXRes() override;
63  cras::optional<ExifData<ExifRational>> getExifFocalPlaneYRes() override;
64  cras::optional<ExifData<ExifShort>> getExifFocalPlaneResUnit() override;
65  cras::optional<ExifData<ExifShort>> getExifResUnit() override;
66  cras::optional<ExifData<ExifShort>> getExifFocalLength35MM() override;
67  cras::optional<ExifData<ExifRational>> getExifFocalLength() override;
68  cras::optional<ExifData<ExifAscii>> getExifGpsLatRef() override;
69  cras::optional<ExifData<ExifRational>> getExifGpsLat(size_t n) override;
70  cras::optional<ExifData<ExifAscii>> getExifGpsLonRef() override;
71  cras::optional<ExifData<ExifRational>> getExifGpsLon(size_t n) override;
72  cras::optional<ExifData<ExifByte>> getExifGpsAltRef() override;
73  cras::optional<ExifData<ExifRational>> getExifGpsAlt() override;
74  cras::optional<ExifData<ExifAscii>> getExifGpsMeasureMode() override;
75  cras::optional<ExifData<ExifRational>> getExifGpsDOP() override;
76  cras::optional<ExifData<ExifAscii>> getExifGpsSpeedRef() override;
77  cras::optional<ExifData<ExifRational>> getExifGpsSpeed() override;
78  cras::optional<ExifData<ExifAscii>> getExifGpsTrackRef() override;
79  cras::optional<ExifData<ExifRational>> getExifGpsTrack() override;
80  cras::optional<ExifData<ExifRational>> getExifGpsTimeStamp(size_t n) override;
81  cras::optional<ExifData<ExifAscii>> getExifGpsDateStamp() override;
82  cras::optional<ExifData<ExifShort>> getExifGpsDifferential() override;
83  cras::optional<ExifData<ExifRational>> getExifGpsHPositioningError() override;
84  cras::optional<ExifData<ExifAscii>> getExifGpsImgDirectionRef() override;
85  cras::optional<ExifData<ExifRational>> getExifGpsImgDirection() override;
86  cras::optional<ExifData<ExifSRational>> getExifAcceleration(size_t n) override;
87  cras::optional<ExifData<ExifSRational>> getExifRollAngle() override;
88  cras::optional<ExifData<ExifSRational>> getExifPitchAngle() override;
89 
90 private:
91  std::unique_ptr<Exiv2MetadataPrivate> data;
92 };
93 
98 {
100 };
101 
102 }
optional.hpp
movie_publisher::ExifBaseMetadataExtractor::width
size_t width
movie_publisher::Exiv2MetadataExtractor::getExifGpsAltRef
cras::optional< ExifData< ExifByte > > getExifGpsAltRef() override
movie_publisher::Exiv2MetadataExtractor::getExifOrientation
cras::optional< ExifData< ExifShort > > getExifOrientation() override
movie_publisher::Exiv2MetadataExtractor::getExifOffsetTimeOriginal
cras::optional< ExifData< ExifAscii > > getExifOffsetTimeOriginal() override
movie_publisher::Exiv2MetadataExtractor::getExifBodySerialNumber
cras::optional< ExifData< ExifAscii > > getExifBodySerialNumber() override
movie_publisher::Exiv2MetadataExtractor::getName
std::string getName() const override
movie_publisher::Exiv2MetadataExtractor::getExifAcceleration
cras::optional< ExifData< ExifSRational > > getExifAcceleration(size_t n) override
movie_publisher::Exiv2MetadataExtractor::getExifGpsImgDirectionRef
cras::optional< ExifData< ExifAscii > > getExifGpsImgDirectionRef() override
movie_publisher::Exiv2MetadataExtractor::getPriority
int getPriority() const override
time.h
movie_publisher::Exiv2MetadataExtractor::getExifGpsDateStamp
cras::optional< ExifData< ExifAscii > > getExifGpsDateStamp() override
movie_publisher::Exiv2MetadataExtractor::getExifGpsLonRef
cras::optional< ExifData< ExifAscii > > getExifGpsLonRef() override
movie_publisher::Exiv2MetadataExtractor::getExifMake
cras::optional< ExifData< ExifAscii > > getExifMake() override
movie_publisher::Exiv2MetadataExtractor::getExifDateTimeOriginal
cras::optional< ExifData< ExifAscii > > getExifDateTimeOriginal() override
ExifBaseMetadataExtractor.h
movie_publisher::MetadataExtractor::Ptr
std::shared_ptr< MetadataExtractor > Ptr
movie_publisher::Exiv2MetadataExtractor::getExifGpsAlt
cras::optional< ExifData< ExifRational > > getExifGpsAlt() override
movie_publisher::Exiv2MetadataExtractor::getExifGpsTrackRef
cras::optional< ExifData< ExifAscii > > getExifGpsTrackRef() override
movie_publisher::Exiv2MetadataExtractor::getExifGpsHPositioningError
cras::optional< ExifData< ExifRational > > getExifGpsHPositioningError() override
movie_publisher::Exiv2MetadataExtractor::getExifFocalPlaneYRes
cras::optional< ExifData< ExifRational > > getExifFocalPlaneYRes() override
movie_publisher::Exiv2MetadataExtractor::getExifGpsMeasureMode
cras::optional< ExifData< ExifAscii > > getExifGpsMeasureMode() override
movie_publisher::Exiv2MetadataExtractor::getExifResUnit
cras::optional< ExifData< ExifShort > > getExifResUnit() override
movie_publisher::Exiv2MetadataExtractor::data
std::unique_ptr< Exiv2MetadataPrivate > data
PIMPL.
Definition: Exiv2MetadataExtractor.h:91
movie_publisher::Exiv2MetadataExtractor::~Exiv2MetadataExtractor
~Exiv2MetadataExtractor() override
movie_publisher::Exiv2MetadataExtractor::getExifGpsLon
cras::optional< ExifData< ExifRational > > getExifGpsLon(size_t n) override
movie_publisher::Exiv2MetadataExtractor::getExifRollAngle
cras::optional< ExifData< ExifSRational > > getExifRollAngle() override
movie_publisher::Exiv2MetadataExtractor::getExifGpsDOP
cras::optional< ExifData< ExifRational > > getExifGpsDOP() override
metadata_extractor.h
movie_publisher::Exiv2MetadataExtractor::getExifSubSecTimeOriginal
cras::optional< ExifData< ExifAscii > > getExifSubSecTimeOriginal() override
movie_publisher::Exiv2MetadataExtractor::getExifGpsLat
cras::optional< ExifData< ExifRational > > getExifGpsLat(size_t n) override
movie_publisher::ExifBaseMetadataExtractor
movie_publisher::Exiv2MetadataExtractor::getExifGpsSpeed
cras::optional< ExifData< ExifRational > > getExifGpsSpeed() override
movie_publisher::Exiv2MetadataExtractor::getExifGpsImgDirection
cras::optional< ExifData< ExifRational > > getExifGpsImgDirection() override
movie_publisher::Exiv2MetadataExtractor::getExifGpsDifferential
cras::optional< ExifData< ExifShort > > getExifGpsDifferential() override
cras::LogHelperPtr
::cras::LogHelper::Ptr LogHelperPtr
movie_publisher
movie_publisher::Exiv2MetadataExtractor::getExifFocalPlaneXRes
cras::optional< ExifData< ExifRational > > getExifFocalPlaneXRes() override
movie_publisher::Exiv2MetadataExtractor::getExifLensMake
cras::optional< ExifData< ExifAscii > > getExifLensMake() override
movie_publisher::Exiv2MetadataExtractorPlugin::getExtractor
MetadataExtractor::Ptr getExtractor(const MetadataExtractorParams &params) override
movie_publisher::Exiv2MetadataExtractor::getExifGpsLatRef
cras::optional< ExifData< ExifAscii > > getExifGpsLatRef() override
movie_publisher::ExifBaseMetadataExtractor::height
size_t height
cras::HasLogger::log
::cras::LogHelperPtr log
movie_publisher::Exiv2MetadataExtractor::getExifFocalPlaneResUnit
cras::optional< ExifData< ExifShort > > getExifFocalPlaneResUnit() override
movie_publisher::Exiv2MetadataExtractor::getExifModel
cras::optional< ExifData< ExifAscii > > getExifModel() override
movie_publisher::Exiv2MetadataExtractor::getExifGpsSpeedRef
cras::optional< ExifData< ExifAscii > > getExifGpsSpeedRef() override
movie_publisher::MetadataExtractorPlugin
movie_publisher::Exiv2MetadataExtractor::getExifFocalLength35MM
cras::optional< ExifData< ExifShort > > getExifFocalLength35MM() override
movie_publisher::Exiv2MetadataExtractor::getExifFocalLength
cras::optional< ExifData< ExifRational > > getExifFocalLength() override
movie_publisher::Exiv2MetadataExtractor
Metadata extractor using exiv2 backend.
Definition: Exiv2MetadataExtractor.h:33
metadata_manager.h
movie_publisher::Exiv2MetadataExtractor::getExifLensModel
cras::optional< ExifData< ExifAscii > > getExifLensModel() override
movie_publisher::MetadataExtractorParams
movie_publisher::Exiv2MetadataExtractor::getExifGpsTrack
cras::optional< ExifData< ExifRational > > getExifGpsTrack() override
movie_publisher::Exiv2MetadataExtractor::Exiv2MetadataExtractor
Exiv2MetadataExtractor(const cras::LogHelperPtr &log, const std::weak_ptr< MetadataManager > &manager, const std::string &filename, size_t width, size_t height)
Constructor.
movie_publisher::Exiv2MetadataExtractor::getExifPitchAngle
cras::optional< ExifData< ExifSRational > > getExifPitchAngle() override
movie_publisher::Exiv2MetadataExtractor::getExifGpsTimeStamp
cras::optional< ExifData< ExifRational > > getExifGpsTimeStamp(size_t n) override
movie_publisher::Exiv2MetadataExtractorPlugin
Plugin for instantiating Exiv2MetadataExtractor.
Definition: Exiv2MetadataExtractor.h:97


exiv2_metadata_extractor
Author(s): Martin Pecka
autogenerated on Fri Feb 28 2025 03:08:23