my personal gemini capsule
git clone
Log (Feed) | Files | Refs (Tags)

commit b07de64ce39e0abd9b16c0b95235161444003bb6
Author: René Wagner <>
Date:   Mon,  2 Nov 2020 11:58:15 +0100

add photo-workflow wiki

Aindex.gmi | 10++++++++++
Aphoto/index.gmi | 41+++++++++++++++++++++++++++++++++++++++++
Aphoto/photo-stats-examples.gmi | 24++++++++++++++++++++++++
Aphoto/photo-stats-faq.gmi | 15+++++++++++++++
Aphoto/photo-stats-params.gmi | 52++++++++++++++++++++++++++++++++++++++++++++++++++++
Aphoto/photo-stats.gmi | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 207 insertions(+), 0 deletions(-)

diff --git a/index.gmi b/index.gmi @@ -0,0 +1,10 @@ +# + +Welcome to my GEMINI SPACE! + +## content + +information about my photo workflow tools +=> photo/ Photo-Wiki + +## contact diff --git a/photo/index.gmi b/photo/index.gmi @@ -0,0 +1,41 @@ +# Photo Workflow + +Photo Workflow is my collection of small tools that back my raw development workflow. + +## my raw development workflow +My normal workflow when coming back from a shooting looks like: +1. copy the images from the sd card to a working folder +2. do a first review and delete images that are not worth the +3. start developing the images (mostly with [ART]( and convert them to JPEG +4. when a few images are done, move them to the Server, proceed with 3 till done +5. upload selected images to social media/online gallery/cloud ... +6. be curious what i've done the last years and browse images or query some stats + +## get in contact + +There are two prefered options to choose from to get in contact for feature request, bug reports, question and everything else: + +=> the ticket tracker +=> the mailing list + +## the tools + +### photo-stats + +=> git project + +Photo Stats is a small statistical tool for analyzing your photographic habits. + +=> photo-stats.gmi wiki page +=> photo-stats-params.gmi params +=> photo-stats-examples.gmi usage examples +=> photo-stats-faq.gmi FAQ + +### photo-helpers + +=> git project + +Photo Helpers are a bunch of small helpers scripts to manage the file mess a photographer typically creates. ;) + +=> photo-helpers.gmi wiki page + diff --git a/photo/photo-stats-examples.gmi b/photo/photo-stats-examples.gmi @@ -0,0 +1,24 @@ +--- +title: Photo Stats - examples +--- + +FAQ for photo stats. + +## data gathering + +* `phosta -E jpg,jpeg,tiff -D ~/Documents/stats.db -p ~/Pictures` + +load EXIF data of files with the extensions jpg, jpeg and tiff in folder ~/Pictures to the database located in ~/Documents/stats.db + +## stats query +* `phosta -s model -g month -t 20190101-20121231 -o month,count` + +show number of pictures taken with a specific camera body in 2019 grouped by month, sorted by newest month first + +* `phosta -n 10 -s lens -o count` + +show top 10 lenses used the most + +* `phosta -s model -f maker!=ricoh` + +show camera models where the maker field does not contain the term "ricoh" diff --git a/photo/photo-stats-faq.gmi b/photo/photo-stats-faq.gmi @@ -0,0 +1,15 @@ +# Photo Stats - FAQ + +FAQ for photo stats. + +## I want to use a filter with whitespaces, how can i do that? + +*You need to surround the parameter value with quotation marks, e.g.* `phosta -f "maker=best company"`. + +## I have my images on a network share, how can i include them into the stats? + +*You should mount the share and use is like a local directory.* + +## Can i add different folders to the statistics? + +*Omit the -c param when populating the database to avoid cleaning up old values. The tool will take care that now duplicates are added.* diff --git a/photo/photo-stats-params.gmi b/photo/photo-stats-params.gmi @@ -0,0 +1,52 @@ +# Photo Stats - Commandline Parameters + +commandline params for **phosta** + +``` +usage: phosta(.pl) [options] + +generic options: + -D <file> : path and name of the db file to use, defaults to <workingdir>/photo_stats.db + This option is automatically saved in the user config and be can omitted when using same db again. + -c : clear the database + -v : be verbose - print some debug output + --help : show this help + +data gathering: + -p <folder> : populate database with the EXIF data of the media files in the specified folder + -E <ext> : list of comma separated extensions used for scanning image files, defaults to jpg,jpeg + only media files which match (case-insensitive!) the given extensions are added to the database + This option is automatically saved to the user config. + +stats querying: + -g <period> : group by a time period, defaults to total (which means no grouping by period) + allowed values: year, month, week, hour + -s <fields> : specify the information you want to select, defaults to none (just show number of images) + allowed values: file, maker, model, lensmake, lens, aperture, exposuretime, iso, focallength, focallength35mm + multiple fields should be listed comma-separated without whitespaces + -t <range> : only take images into account which have been taken in the given timerange + <range> must be specified as 'YYYYMMDD-YYYYMMDD', you can omit the first or the later value + -f <expr> : filter images based on the given expression, multiple expression can be given comma-separated + this works as a case-insensitive search, multiple expressions need to match all (AND logic) + use "field=value" for CONTAINS and "field!=value" for NOT CONTAINS + allowed fields: file, maker, model, lensmake, lens, aperture, exposuretime, iso, focallength, focallength35mm + -n <number> : limit the resultset to <number> of lines + -o <fields> : sort your output by the given fields (sequence matters!) in descending order + allowed values: any comma separated combination of the values of -t and -s param and 'count' + -r : sort in reverse (ascending) order, default is descending order + -e : skip lines with empty selected or grouping fields + -W <number> : define max char width of output, default: 80, a minimum of 50 is required for meaningful output + This option is automatically saved to the user config. +examples: + phosta -E jpg,jpeg,tiff -D ~/Documents/stats.db -p ~/Pictures + load EXIF data of files with the extensions jpg, jpeg and tiff in folder ~/Pictures to the database located in ~/Documents/stats.db + + phosta -s model -g month -t 20190101-20121231 -o month,count + show number of pictures taken with a specific camera body in 2019 grouped by month, sorted by newest month first + + phosta -n 10 -s lens -o count + show top 10 lenses used the most + + phosta -s model -f maker!=ricoh + show camera models where the maker field does not contain the term "ricoh" +``` diff --git a/photo/photo-stats.gmi b/photo/photo-stats.gmi @@ -0,0 +1,65 @@ +# Photo Stats + +Some information about the general usage of photo stats. + +# general + +Before querying some stats you need to populate the database(s), the stats generations only uses the database. There's no need to scan your media files again and again for different information. You don't even need access to your images when digging through the stats. + +## config file + +# collect data +Based on filename, the importer will take care that no duplicates will be added to the database. When an already existing file is scanned again, it's data is updated. + +You could use as many different databases as you'd like to, whatever suits your needs. Use the `-D` param to specify on which database file you want to operate. + +## text aliases +A simple way to deal with different names for bodies and lenses that are used by different raw converters is the usage of aliases. + +The aliases can be defined in the file `~/phosta.alias`, which should hold one alias definition by line. Each definition consists of an original string which should be replaced and a new string separated by atleast one tabulator, e.g.: +``` +Old company new company +lensname real lensname +``` + +The aliases will be applied during data import in the order they appear in the file. + +# querying data + +The stats are basically infos about how much images you have taken match a specific criteria, for example has been taken with a specific camera body. There are different filters available to match + +## selecting data +You can use the `-s` param to select specific information to build stats about. Currently the following fields are collected and stored in the database: +* file +* maker +* model +* lens maker +* lens +* aperture +* exposuretime +* iso +* focallength +* focallength35mm + +## filters + +Filters allow you to + +### by time range +Using the `-t` param you can filter the images that have been taken during a given period. + +You need to specify the timerange in a form of `YYYYMMDD-YYYYMMDD` for starting date to end date. + +### arbitrary text filter + +## grouping + +## limiting output +You can limit the output to the top <n> results using the `-n` param. The tool will tell you how many lines are skipped due to this param. + +Additionally there's the `-e` switch to skip the "empty" result. The empty result occurs especially on some EXIF fields like exposure time, aperture and the like where sometimes invalid values are stored in the images. + +## custom ordering +By default the ordering starts with the results with the most count and descends. You can enforce an arbitrary ordering by specifying the fields you want to order by with the `-o` param. + +Additionally there's the `-r` flag to invert the sort order, which means order in ascending manner.