Type: | Package |
Title: | EXIF Image Data in R |
Version: | 0.3.2 |
Maintainer: | Dewey Dunnington <dewey@fishandwhistle.net> |
Description: | Reads EXIF data using ExifTool https://exiftool.org and returns results as a data frame. ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files. ExifTool supports many different metadata formats including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP and ID3, as well as the maker notes of many digital cameras by Canon, Casio, FLIR, FujiFilm, GE, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Motorola, Nikon, Nintendo, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and Sony. |
License: | GPL-2 |
LazyData: | TRUE |
Encoding: | UTF-8 |
Imports: | curl, plyr, tibble, jsonlite, utils, rappdirs |
SystemRequirements: | Perl |
URL: | https://github.com/paleolimbot/exifr |
BugReports: | https://github.com/paleolimbot/exifr/issues |
RoxygenNote: | 7.1.1 |
Suggests: | testthat, covr |
NeedsCompilation: | no |
Packaged: | 2021-03-20 15:24:53 UTC; dewey |
Author: | Dewey Dunnington |
Repository: | CRAN |
Date/Publication: | 2021-03-20 20:40:20 UTC |
Configure perl, ExifTool
Description
Configure perl, ExifTool
Usage
configure_exiftool(
command = NULL,
perl_path = NULL,
install_url = NULL,
install_location = NULL,
quiet = FALSE
)
configure_perl(perl_path = NULL, quiet = FALSE)
configure_exiftool_reset()
Arguments
command |
The exiftool command or location of exiftool.pl |
perl_path |
The path to the perl executable |
install_url |
The url from which exiftool could be installed |
install_location |
The location to install exiftool |
quiet |
Use quiet = FALSE to display status updates |
Value
The exiftool command, invisibly
Call exiftool from R
Description
Uses system()
to run a basic call to exiftool
.
Usage
exiftool_call(args = NULL, fnames = NULL, intern = FALSE, ..., quiet = FALSE)
exiftool_version()
exiftool_command(args = character(0), fnames = character(0))
Arguments
args |
a list of non-shell quoted arguments (e.g. |
fnames |
a list of filenames ( |
intern |
|
... |
additional arguments to be passed to system2 |
quiet |
Suppress output of the command itself. |
Value
The exit code if intern=FALSE
, or the standard output as a character vector
if intern=TRUE
.
Examples
exiftool_call()
exiftool_version()
Read EXIF data from files
Description
Reads EXIF data into a data.frame
by calling the ExifTool command-line
application, written by Phil Harvey. Depending on number of images and
command-line length requirements, the command may be called multiple times.
Usage
read_exif(path, tags = NULL, recursive = FALSE, args = NULL, quiet = TRUE)
Arguments
path |
A vector of filenames |
tags |
A vector of tags to output. It is a good idea to specify this when reading large numbers of files, as it decreases the output overhead significantly. Spaces will be stripped in the output data frame. This parameter is not case-sensitive. |
recursive |
TRUE to pass the "-r" option to ExifTool |
args |
Additional arguments |
quiet |
Use FALSE to display diagnostic information |
Details
From the ExifTool website: ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files. ExifTool supports many different metadata formats including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP and ID3, as well as the maker notes of many digital cameras by Canon, Casio, FLIR, FujiFilm, GE, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Motorola, Nikon, Nintendo, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and Sony. For more information, see the ExifTool website.
Note that binary tags such as thumbnails are loaded as base64-encoded strings that start with "base64:".
Value
A data frame (tibble) with columns SourceFile and one per tag read in each file. The number of rows may differ, particularly if recursive is set to TRUE, but in general will be one per file.
Examples
files <- list.files(path.package("exifr"), recursive=TRUE, pattern="*.jpg", full.names=TRUE)
exifinfo <- read_exif(files)
# is equivalent to
exifinfo <- read_exif(path.package("exifr"), recursive=TRUE)
read_exif(files, tags=c("filename", "imagesize"))