Skip to content
/ edo Public

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.

Notifications You must be signed in to change notification settings

cloudbank/edo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published