phosta.1.scd (5654B)
1 phosta(1) "phosta" "phosta Documenation" 2 3 # NAME 4 phosta - photo statistic processor for your terminal 5 6 # SYNOPSIS 7 *phosta* [*-v*] [*-D* _<file>_] ... 8 9 *phosta* is a small statistics processor for your terminal. 10 It extracts EXIF data of your images and stores it in an internal database. This allows you to query many different aggregations (like "which lens did i use most recently?") without the need to read over all your images again and again. You don't even need to have access to your images when digging through the stats. 11 12 # USAGE 13 14 You could use as many different databases as you'd like to, whatever suits your needs (maybe split private and commercial data). Use the *-D* param to specify on which database file you want to operate. 15 16 ## POPULATE DATABASE 17 The first step is to populate your database with the EXIF data extracted from your images. You can import the data of all your images at once or doing incremental imports. Each import will update existing data and add new files based on file path and name. 18 19 Different image processing tools may use a different naming for one and the same body or lens. To sanitize your data, *phosta* supports a simple word replacement mechanism during data import, see *phosta-alias*(5) for more information. 20 21 ## QUERY DATA 22 *Selecting Data*++ 23 What data you are going to see is specified by the *-s* param. urrently the following fields are collected and stored in the database: 24 25 - file 26 - maker 27 - model 28 - lensmaker 29 - lens 30 - aperture 31 - exposuretime 32 - iso 33 - focallength 34 - focallength35mm 35 36 *Grouping*++ 37 Grouping can be applied based on various pre-defined time ranges. 38 39 *Filters*++ 40 Filtering the raw data allows you to narrow down the result set. You can filter by time range using the *-t* param or apply an arbitrary text filter with the *-f* param. 41 42 *Limits*++ 43 You can limit the output to the top results using the *-n* param. The tool will tell you how many lines are skipped due to this param. 44 45 Additionally there's the *-e* switch to skip the "empty" result. The empty result occur especially on some EXIF fields like exposure time, aperture and the like where sometimes invalid values are stored in the images. 46 47 *Ordering*++ 48 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. 49 50 Additionally there's the *-r* flag to invert the sort order, which means order in ascending manner. 51 52 You can find a set of sample querys in *phosta-examples*(7). 53 54 # OPTIONS 55 Options in CAPITAL LETTERS (like *-D*) will automatically be persisted in the user's config file located at _~/.phosta.conf_. 56 57 ## GENERIC OPTIONS 58 *-D* <file> 59 Path and name of the database file to use, either for populating a new database or defining which database should be queried.++ 60 The last database used is automatically persisted to the user config so you may skip the parameter for the next query.++ 61 default: _~/photo_stats.db_ 62 63 *-c* 64 Remove all data from the working database (see *-D*). Use with caution, there will be no additional warning! 65 66 ## DATA EXTRACTION OPTIONS 67 *-p* <folder> 68 Read the media files that match the extension filter (see *-E*) in the given folder and all subfolders, extract the EXIF data Populate database with the EXIF data of the media files in the specified folder 69 70 *-E* <ext> 71 List of comma separated extensions used for scanning image files.++ 72 Only media files which match (case-insensitive!) the given extensions are added to the database.++ 73 Default: _jpg,jpeg_ 74 75 ## QUERY OPTIONS 76 *-e* 77 Skip lines with empty selected or grouping fields. 78 79 *-f* <expr> 80 Filter images based on the given expression, multiple expression can be given as a comma-separated list.++ 81 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++ 82 Allowed values: _file_, _maker_, _model_, _lensmake_, _lens_, _aperture_, _exposuretime_, _iso_, _focallength_, _focallength35mm_ 83 84 *-g* <period> 85 Group result set by a time period.++ 86 Default: total (which means no grouping by period)++ 87 Allowed values: _year_, _month_, _week_, _dayofmonth_, _dayofweek_, _hour_ 88 89 *-n* <number> 90 Limit the resultset to <number> of lines. 91 92 *-o* <fields> 93 Sort the output by the given fields (sequence matters!) in descending order.++ 94 Allowed values: any comma separated combination of the values of *-g* and *-s* param and _count_ 95 96 *-r* 97 Sort in reverse (ascending) order, default is descending order 98 99 *-s* <fields> 100 Specify the information you want to include in the output, multiple fields should be listed comma-separated (without withspaces or enclosed in "")++ 101 Default: none (just show number of images)++ 102 Allowed values: _file_, _maker_, _model_, _lensmake_, _lens_, _aperture_, _exposuretime_, _iso_, _focallength_, _focallength35mm_ 103 104 *-t* <range> 105 only take images into account which have been taken in the given timerange.++ 106 <range> must be specified as _YYYYMMDD-YYYYMMDD_, you can omit the first or the later value, e.g. _-YYYYMMDD_. 107 108 *-T* <value> 109 Show results as always as a table (on) or not (off) or auto (display as chart only when single field is selected).++ 110 Default: auto++ 111 Allowed values: _auto_, _on_, _off_ 112 113 *-W* <number> 114 Define maximum width of the output in characters, _-1_ deletes the current setting.++ 115 Default: 80 (a minimum of 50 is required for meaningful output) 116 117 # SEE ALSO 118 119 *phosta_alias*(5), *phosta-examples*(7), *phosta-faq*(7) 120 121 # AUTHOR 122 123 Maintained by René Wagner <rwa@clttr.info>.++ 124 Project repo can be found at https://git.sr.ht/~rwa/photo-stats