cloudbank / edo

An Android app that parses photos from Harvard Art Museums API from the Edo Period to remove duplicates. The code in this app has not been maintained for the lastest Android release.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

edo

         

A demo backend focused app for eliminating duplicate images with Dagger2, Architecture including MVVM, Paging, LiveData, Room, Paging, and a custom dupe detector integrated with the Glide recyclerview preloader written in Kotlin. It uses a modified dhash fingerprint algorithm to get matches within epsilon in C++ and coarse grained synchronization with coroutines in Kotlin.

  • [coroutines] I am able to match colorized images and some variations in resolution within a hamming distance of 3. I also reduced the search for similar images to within +/- 1 of the population count of the hash. I was able to refactor from a critical section and an ExecutorService to Kotlin coroutines and coarse grained synchronization, reducing dhash times 99%! (3s to .006s)

                             

(in seconds)

  • hash147580 20 :: 1529688601:::time::0.009626643--15
  • hash147462 18 :: 757939307:::time::0.005973385--17
  • hash147344 17 :: 2914562479:::time::0.015411176--19
  • hash147344 16 :: 2914562479:::time::0.007672204--19
  • hash147066 15 :: 3329153925:::time::0.008064992--18
  • hash147044 14 :: 1281709129:::time::0.008693842--13
  • hash147798 25 :: 1697199892:::time::0.007136103--14
  • hash147867 27 :: 1806095048:::time::0.044139966--16

                             

Edo v1.28 (POC demo portfolio app)

Building a dhasher library within an image download API

Target 28 SDK 14+, Oreo compatible, for phone and tablet

  • Dagger2 for DI abstraction
  • Roboelectric, Espresso, and Mockito tests
  • Paging boundary callback for Room/Retrofit decision making
  • MVVM, Repository, DAO patterns with LiveData for lifecycle managment
  • Glide RecyclerView integration library for image preload
  • Kotlin extensions and coroutines
  • Image duplicates removal built in at preload

Designed with the Material theme and latest, greatest android libs for best viewing pleasure!

--> download from the Google Play Store

License

Building

This app was built with Android Studio which uses the gradle build system.

Acknowledgements

This project uses the [Github API] ( https://www.github.com)

About

An Android app that parses photos from Harvard Art Museums API from the Edo Period to remove duplicates. The code in this app has not been maintained for the lastest Android release.


Languages

Language:Kotlin 75.4%Language:Java 20.9%Language:C++ 2.2%Language:CMake 1.6%