Skip to content
mrseanryan edited this page Jan 6, 2019 · 97 revisions

Done

TODO


tech

  • ! test new install - fix preinstall on newly downloaded repo

  • test tslint ok

  • test bash scripts on Linux - ls -l for Mac

  • ? consider moving to shx - shell for nodeJs: https://www.npmjs.com/package/shx

  • ? state/result cache? consider using sqlLite for nodeJs: https://www.npmjs.com/package/websql

  • add dead code tslint - also in tslint ban, tslint-folders https://eslint.org/docs/rules/no-unused-vars

  • ? try reduce install size (pkg size is ok) - rollup can bundle all except Google, sharp

  • try make main.ts import from the bundle file - then can make all 'dev' except Google, sharp

  • ? merge greenkeeper branches, re-yarn locally

  • ? reduce dependencies by relying on rollup - but could be fragile, hard to test... - move to webpack?

  • (BREAKING CHANGE) use same ENV var for the Vision API as the GeoCoding - then is simpler to setup

  • hide/move detailed output -verbose via IOutputter

  • n/a to logfile - log4net like auto new files per day

  • n/a - quality is not as good and still only JPEG (ref: chocolate-bars) try move to exif-reader as is MIT - see https://www.npmjs.com/package/exif-reader

  • replace ExifReader with another that is MIT - https://www.npmjs.com/package/exif-parser

  • ? try yargs parser

  • ? try snyk - vulnerability scanner https://snyk.io/test/github/inversify/InversifyJS

  • ? use moment.js for the 'next date', 'date range' handling ? (CSV)

  • ? fork the starter kit for future use


unit tests

  • add more unit tests

  • unit test getting props of dir images (the API used as a library)

  • mock out the moving

  • mock out the vision API

  • mock out the geo API

  • re-enable the code coverage in package.json - see coveragePathIgnorePatterns - 80% good enough

  • add back the coveralls badge (see commit of 5 Dec 2018)


features

  • fix: in dryRun, the classifyAndMove phase always returns result count of 0 (important for use as library)

  • add -geocodeOnly option, so no phase 2

  • add -parallel for performance - parallelize calls to geo, vision api

  • add image format - PNG

  • add image format - TIFF (include exif) - try to keep 'ColorSpace' equivalent (so can see sRGB)

  • ? expose resize threshold in MB - cli + lib


image quality filter

  • separate project! re-use here

[fail] - try poor quality images for labels:

  • Google Vision does not support - only negative label seen is 'haze'

  • use crop suggestions (or regions) from Google Vision to focus the quality check

  • detect out of focus (blurred) images

  • detect over exposed

  • detect under exposed

  • low contrast

  • face detection - face out of frame, not horizontal

(see crafting)


add more Vision API results

  • imageProperties
  • landmarkDetection
  • logoDetection
  • ? face detection

future

  • ? combine labels into 'well known' labels e.g. building, architecture -> architecture
Clone this wiki locally