Erotemic / ibeis

image based ecological information system
Apache License 2.0
47 stars 16 forks source link

Dockerize and citation #80

Open michavardy opened 1 year ago

michavardy commented 1 year ago

Hello Erotemic, I want to dockerize this package, will you merge if I add a Dockerfile? is there a specific version of python I should be using? should pip install automatically install Open-CV? should I do this manually? what version? how does Ibeis know the path to open-cv? can we cite ibeis in academic work? How? thanks, Micha

Erotemic commented 1 year ago

FYI the WildMeOrg fork has a docker file: https://github.com/WildMeOrg/wildbook-ia#docker

But yes, I'd merge in a docker file if you want to submit to this repo.

For citations, you might want to simply site the github page itself. There isn't a single associated publication with the system, but [9] Jonathan P. Crall, Charles V. Stewart, Tanya Y. Berger-Wolf, Daniel I. Rubenstein, and Siva R. Sundaresan. HotSpotter - Patterned species instance recognition. In WACV, volume 0, 230–237. IEEE Computer Society, 2013. 00014. doi:10.1109/WACV.2013.6475023. or my thesis is probably the closest thing.

Python versions between 3.7 and 3.10 are officially supported.

Unfortunately, I can't prescribe exactly which opencv to use due to this issue: https://github.com/opencv/opencv-python/issues/467

I generally use the headless version via: pip install opencv-python-headless. As long as the underlying pyhessaff and vtool_ibeis_ext modules are built, only the cv2 python module is needed, and you don't need a source version of opencv. In this case it uses uses the PYTHONPATH.

When building these from scratch I used this file: https://github.com/Erotemic/vtool_ibeis/blob/main/dev/build_base_docker2.py to help me put together a docker image with opencv. When building I use fletch to build/install opencv devel libraries and then I use CMake mechanisms for it to discover opencv at build time. At runtime it should all be taken care of by python mechanisms.