Counting images by focal length
Hi, does anyone know how to create a count of images by focal length, preferably also with selection/filter criteria like star rating? I'm trying to find out which focal length dominates my favourite images. I mostly use zoom lenses so the actual focal length isn't necessarily an integer value from a simple list.
The ideal output would be something like this:
Filter: [one] star
Focal length from - to count
0 - 14 20
15 - 23 138
24 - 27 345
....
Any help greatly appreciated!
The ideal output would be something like this:
Filter: [one] star
Focal length from - to count
0 - 14 20
15 - 23 138
24 - 27 345
....
Any help greatly appreciated!
0
-
This might get you started
set focalLength to get EXIF focal length of image of current document
set starRating to get rating of variant of current document
Exif focal length reports the mm focal length (70 mm).0 -
This works, note that the brackets are essential. tell application "Capture One 12" to get count of (images whose EXIF focal length is "75 mm")
However, to get a count of images within a range of focal lengths you likely need to do some thing like this
use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions
tell application "Capture One 12" to set focalLenghtStringL to EXIF focal length of every image
set focalLenghtNumL to {}
set ctrFocalLengthLow to 0
set UpperThresholdFocalLengthLow to 100
repeat with thisFocalLengthString in focalLenghtStringL
repeat with spacePtr from 1 to length of thisFocalLengthString
if " " = text spacePtr of thisFocalLengthString then exit repeat
end repeat
set thisFocalLenghtNum to (text 1 thru (spacePtr - 1) of thisFocalLengthString) as real
set end of focalLenghtNumL to thisFocalLenghtNum
## Put some counters here
if UpperThresholdFocalLengthLow > thisFocalLenghtNum then set ctrFocalLengthLow to ctrFocalLengthLow + 1
end repeat0 -
Thanks, I'll give that a try! 0 -
Here is another approach use AppleScript version "2.4" -- Yosemite (10.10) or later
use framework "Foundation"
use scripting additions
tell application "Capture One 12"
set focalLength to get EXIF focal length of image of current document
set starRating to get rating of variant of current document
end tell
set L0_24 to 0
set L25_49 to 0
set L50_74 to 0
set L75_100 to 0
set theList to {}
repeat with i from 1 to (count of focalLength)
if item i of starRating is not 0 then
set theList's end to item 1 of my theSplit(item i of focalLength, space)
end if
end repeat
repeat with a from 1 to (count of theList)
set itemA to item a of theList as integer
if itemA is less than or equal to 24 then
set L0_24 to L0_24 + 1
end if
if itemA < 49 and itemA > 25 then
set L25_49 to L25_49 + 1
end if
if itemA < 74 and itemA > 50 then
set L50_74 to L50_74 + 1
end if
if itemA < 100 and itemA > 75 then
set L75_100 to L75_100 + 1
end if
end repeat
display dialog "Favorite focal lengths" & return & return & "less than 24mm = " & L0_24 & return & "24mm - 49mm = " & L25_49 & return & "50mm - 74mm = " & L50_74 & return & "75mm - 100mm = " & L75_100
on theSplit(theString, theDelimiter)
-- save delimiters to restore old settings
set oldDelimiters to AppleScript's text item delimiters
-- set delimiters to delimiter to be used
set AppleScript's text item delimiters to theDelimiter
-- create the array
set theArray to every text item of theString
-- restore the old setting
set AppleScript's text item delimiters to oldDelimiters
-- return the result
return theArray
end theSplit
change the L0-24 ranges to suit0
Post is closed for comments.
Comments
4 comments