phosta(1) "phosta" "phosta Documenation" # NAME phosta - photo statistic processor for your terminal # SYNOPSIS *phosta* [*-v*] [*-D* __] ... *phosta* is a small statistics processor for your terminal. 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. # USAGE 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. ## POPULATE DATABASE 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. 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. ## QUERY DATA *Selecting Data*++ What data you are going to see is specified by the *-s* param. urrently the following fields are collected and stored in the database: - file - maker - model - lensmaker - lens - aperture - exposuretime - iso - focallength - focallength35mm *Grouping*++ Grouping can be applied based on various pre-defined time ranges. *Filters*++ 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. *Limits*++ 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. 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. *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. You can find a set of sample querys in *phosta-examples*(7). # OPTIONS Options in CAPITAL LETTERS (like *-D*) will automatically be persisted in the user's config file located at _~/.phosta.conf_. ## GENERIC OPTIONS *-D* Path and name of the database file to use, either for populating a new database or defining which database should be queried.++ The last database used is automatically persisted to the user config so you may skip the parameter for the next query.++ default: _~/photo_stats.db_ *-c* Remove all data from the working database (see *-D*). Use with caution, there will be no additional warning! ## DATA EXTRACTION OPTIONS *-p* 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 *-E* List of comma separated extensions used for scanning image files.++ Only media files which match (case-insensitive!) the given extensions are added to the database.++ Default: _jpg,jpeg_ ## QUERY OPTIONS *-e* Skip lines with empty selected or grouping fields. *-f* Filter images based on the given expression, multiple expression can be given as a comma-separated list.++ 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 values: _file_, _maker_, _model_, _lensmake_, _lens_, _aperture_, _exposuretime_, _iso_, _focallength_, _focallength35mm_ *-g* Group result set by a time period.++ Default: total (which means no grouping by period)++ Allowed values: _year_, _month_, _week_, _dayofmonth_, _dayofweek_, _hour_ *-n* Limit the resultset to of lines. *-o* Sort the output by the given fields (sequence matters!) in descending order.++ Allowed values: any comma separated combination of the values of *-g* and *-s* param and _count_ *-r* Sort in reverse (ascending) order, default is descending order *-s* Specify the information you want to include in the output, multiple fields should be listed comma-separated (without withspaces or enclosed in "")++ Default: none (just show number of images)++ Allowed values: _file_, _maker_, _model_, _lensmake_, _lens_, _aperture_, _exposuretime_, _iso_, _focallength_, _focallength35mm_ *-t* only take images into account which have been taken in the given timerange.++ must be specified as _YYYYMMDD-YYYYMMDD_, you can omit the first or the later value, e.g. _-YYYYMMDD_. *-T* Show results as always as a table (on) or not (off) or auto (display as chart only when single field is selected).++ Default: auto++ Allowed values: _auto_, _on_, _off_ *-W* Define maximum width of the output in characters, _-1_ deletes the current setting.++ Default: 80 (a minimum of 50 is required for meaningful output) # SEE ALSO *phosta_alias*(5), *phosta-examples*(7), *phosta-faq*(7) # AUTHOR Maintained by René Wagner .++ Project repo can be found at https://git.sr.ht/~rwa/photo-stats