Skip to content

Commit

Permalink
Merge pull request #957 from alicevision/dev/metadata
Browse files Browse the repository at this point in the history
More generic metadata support
  • Loading branch information
fabiencastan authored Jun 22, 2020
2 parents 51e21aa + 29ad6d3 commit 78c613a
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 11 deletions.
21 changes: 15 additions & 6 deletions meshroom/ui/qml/ImageGallery/IntrinsicsIndicator.qml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,22 @@ ImageBadge {
readonly property string distortionModel: intrinsic ? childAttributeValue(intrinsic, "type", "") : ""
property var metadata: ({})

function findMetadata(key) {
var keyLower = key.toLowerCase()
for(var mKey in metadata)
{
if(mKey.toLowerCase().endsWith(keyLower))
return metadata[mKey]
}
return ""
}
// access useful metadata
readonly property var make: metadata["Make"]
readonly property var model: metadata["Model"]
readonly property var focalLength: metadata["Exif:FocalLength"]
readonly property var focalLength35: metadata["Exif:FocalLengthIn35mmFilm"]
readonly property var bodySerialNumber: metadata["Exif:BodySerialNumber"]
readonly property var lensSerialNumber: metadata["Exif:LensSerialNumber"]
readonly property var make: findMetadata("Make")
readonly property var model: findMetadata("Model")
readonly property var focalLength: findMetadata("FocalLength")
readonly property var focalLength35: findMetadata("FocalLengthIn35mmFilm")
readonly property var bodySerialNumber: findMetadata("BodySerialNumber")
readonly property var lensSerialNumber: findMetadata("LensSerialNumber")
readonly property var sensorWidth: metadata["AliceVision:SensorWidth"]
readonly property var sensorWidthEstimation: metadata["AliceVision:SensorWidthEstimation"]

Expand Down
13 changes: 8 additions & 5 deletions meshroom/ui/qml/Viewer/ImageMetadataView.qml
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,16 @@ FloatingPane {
for(var key in metadata)
{
var entry = {}
entry["raw"] = key
// split on ":" to get group and key
var sKey = key.split(":", 2)
if(sKey.length === 2)
var i = key.lastIndexOf(":")
if(i == -1)
{
entry["group"] = sKey[0]
entry["key"] = sKey[1]
i = key.lastIndexOf("/")
}
if(i != -1)
{
entry["group"] = key.substr(0, i)
entry["key"] = key.substr(i+1)
}
else
{
Expand Down

0 comments on commit 78c613a

Please sign in to comment.