Menpo has been designed for academic use. The project changes quickly as determined by our research, and this should be kept in mind at all times.
Menpo was designed from the ground up to make importing, manipulating and
visualizing image and mesh data as simple as possible. In particular,
we focus on annotated data which is common within the fields of Machine
Learning and Computer Vision. All core types are Landmarkable
and
visualizing these landmarks is very simple. Since landmarks are first class
citizens within Menpo, it makes tasks like masking images, cropping images
inside landmarks and aligning images very simple.
Menpo were facial armours which covered all or part of the face and provided a way to secure the top-heavy kabuto (helmet). The Shinobi-no-o (chin cord) of the kabuto would be tied under the chin of the menpo. There were small hooks called ori-kugi or posts called odome located on various places to help secure the kabuto's chin cord.
--- Wikipedia, Menpo
Here in the Menpo team, we are firm believers in making installation as simple as possible. Unfortunately, we are a complex project that relies on satisfying a number of complex 3rd party library dependencies. The default Python packing environment does not make this an easy task. Therefore, we evangelise the use of the conda ecosystem, provided by Anaconda. In order to make things as simple as possible, we suggest that you use conda too! To try and persuade you, go to the Menpo website to find installation instructions for all major platforms.
Menpo makes extensive use of IPython Notebooks to explain functionality of the package. These Notebooks are hosted in the menpo/menpo-notebooks repository. We strongly suggest that after installation you:
- Download the latest version of the notebooks
- Run
ipython notebook
- Play around with the notebooks.
Want to get a feel for Menpo without installing anything? You can browse the notebooks straight from the menpo website.
Menpo is designed to be a core library for implementing algorithms within the Machine Learning and Computer Vision fields. For example, we have developed a number of more specific libraries that rely on the core components of Menpo:
- menpofit: Implementations of state-of-the-art deformable modelling algorithms including Active Appearance Models, Constrained Local Models and the Supervised Descent Method.
- menpo3d: Useful tools for handling 3D mesh data including visualization and an OpenGL rasterizer. The requirements of this package are complex and really benefit from the use of conda!
- menpodetect: A package that wraps existing sources of object detection. The core project is under a BSD license, but since other projects are wrapped, they may not be compatible with this BSD license. Therefore, we urge caution be taken when interacting with this library for non-academic purposes.
See our documentation on ReadTheDocs
We use nose for unit tests. You can check our current coverage on coveralls.
After installing nose
, running
>> nosetests .
from the top of the repository will run all of the unit tests. Some tests
check the behavior of viewing functions which should only be importable if the
user also has menpo3d
installed - if you are running the test suite in an
environment with all of the menpo libraries installed, you will want to exclude
these tests by running
>> nosetests -a '!viewing' .
instead.