Changelog

0.4.0 (2015/02/04)

The 0.4.0 release (pending any currently unknown bugs), represents a very significant overhaul of Menpo from v0.3.0. In particular, Menpo has been broken into four distinct packages: Menpo, MenpoFit, Menpo3D and MenpotDetect.

Visualization has had major improvements for 2D viewing, in particular through the use of IPython widgets and explicit options on the viewing methods for common tasks (like changing the landmark marker color). This final release is a much smaller set of changes over the alpha releases, so please check the full changelog for the alphas to see all changes from v0.3.0 to v0.4.0.

Summary of changes since v0.4.0a2:

  • Lots of documentation rendering fixes and style fixes including this changelog.
  • Move the LJSON format to V2. V1 is now being deprecated over the next version.
  • More visualization customization fixes including multiple marker colors for landmark groups.

Github Pull Requests

  • #546 IO doc fixes (@jabooth)
  • #545 Different marker colour per label (@nontas)
  • #543 Bug fix for importing an image, case of a dot in image name. (@grigorisg9gr)
  • #544 Move docs to Sphinx 1.3b2 (@patricksnape)
  • #536 Docs fixes (@patricksnape)
  • #530 Visualization and Widgets upgrade (@patricksnape, @nontas)
  • #540 LJSON v2 (@jabooth)
  • #537 fix BU3DFE connectivity, pretty JSON files (@jabooth)
  • #529 BU3D-FE labeller added (@jabooth)
  • #527 fixes paths for pickle importing (@jabooth)
  • #525 Fix .rst doc files, auto-generation script (@jabooth)

v0.4.0a2 (2014/12/03)

Alpha 2 moves towards extending the graphing API so that visualization is more dependable.

Summary:

  • Add graph classes, PointGraph, PointDirectedGraph, PointTree, PointUndirectedGraph. This makes visualization of landmarks much nicer looking.
  • Better support of pickling menpo objects
  • Add a bounding box method to PointCloud for calculating the correctly oriented bounding box of point clouds.
  • Allow PCA to operate in place for large data matrices.

Github Pull Requests

  • #522 Add bounding box method to pointclouds (@patricksnape)
  • #523 HOTFIX: fix export_pickle bug, add path support (@jabooth)
  • #521 menpo.io add pickle support, move to pathlib (@jabooth)
  • #520 Documentation fixes (@patricksnape, @jabooth)
  • #518 PCA memory improvements, inplace dot product (@jabooth)
  • #519 replace wrapt with functools.wraps - we can pickle (@jabooth)
  • #517 (@jabooth)
  • #514 Remove the use of triplot (@patricksnape)
  • #516 Fix how images are converted to PIL (@patricksnape)
  • #515 Show the path in the image widgets (@patricksnape)
  • #511 2D Rotation convenience constructor, Image.rotate_ccw_about_centre (@jabooth)
  • #510 all menpo io glob operations are now always sorted (@jabooth)
  • #508 visualize image on MaskedImage reports Mask proportion (@jabooth)
  • #509 path is now preserved on image warping (@jabooth)
  • #507 fix rounding issue in n_components (@jabooth)
  • #506 is_tree update in Graph (@nontas)
  • #505 (@nontas)
  • #504 explicitly have kwarg in IO for landmark extensions (@jabooth)
  • #503 Update the README (@patricksnape)

v0.4.0a1 (2014/10/31)

This first alpha release makes a number of large, breaking changes to Menpo from v0.3.0. The biggest change is that Menpo3D and MenpoFit were created and thus all AAM and 3D visualization/rasterization code has been moved out of the main Menpo repository. This is working towards Menpo being pip installable.

Summary:

  • Fixes memory leak whereby weak references were being kept between landmarks and their host objects. The Landmark manager now no longer keeps references to its host object. This also helps with serialization.
  • Use pathlib instead of strings for paths in the io module.
  • Importing of builtin assets from a simple function
  • Improve support for image importing (including ability to import without normalising)
  • Add fast methods for image warping, warp_to_mask and warp_to_shape instead of warp_to
  • Allow masking of triangle meshes
  • Add IPython visualization widgets for our core types
  • All expensive properties (properties that would be worth caching in a variable and are not merely a lookup) are changed to methods.

Github Pull Requests

  • #502 Fixes pseudoinverse for Alignment Transforms (@jalabort, @patricksnape)
  • #501 Remove menpofit widgets (@nontas)
  • #500 Shapes widget (@nontas)
  • #499 spin out AAM, CLM, SDM, ATM and related code to menpofit (@jabooth)
  • #498 Minimum spanning tree bug fix (@nontas)
  • #492 Some fixes for PIL image importing (@patricksnape)
  • #494 Widgets bug fix and Active Template Model widget (@nontas)
  • #491 Widgets fixes (@nontas)
  • #489 remove _view, fix up color_list -> colour_list (@jabooth)
  • #486 Image visualisation improvements (@patricksnape)
  • #488 Move expensive image properties to methods (@jabooth)
  • #487 Change expensive PCA properties to methods (@jabooth)
  • #485 MeanInstanceLinearModel.mean is now a method (@jabooth)
  • #452 Advanced widgets (@patricksnape, @nontas)
  • #481 Remove 3D (@patricksnape)
  • #480 Graphs functionality (@nontas)
  • #479 Extract patches on image (@patricksnape)
  • #469 Active Template Models (@nontas)
  • #478 Fix residuals for AAMs (@patricksnape, @jabooth)
  • #474 remove HDF5able making room for h5it (@jabooth)
  • #475 Normalize norm and std of Image object (@nontas)
  • #472 Daisy features (@nontas)
  • #473 Fix from_mask for Trimesh subclasses (@patricksnape)
  • #470 expensive properties should really be methods (@jabooth)
  • #467 get a progress bar on top level feature computation (@jabooth)
  • #466 Spin out rasterization and related methods to menpo3d (@jabooth)
  • #465 ‘me_norm’ error type in tests (@nontas)
  • #463 goodbye ioinfo, hello path (@jabooth)
  • #464 make mayavi an optional dependency (@jabooth)
  • #447 Displacements in fitting result (@nontas)
  • #451 AppVeyor Windows continuous builds from condaci (@jabooth)
  • #445 Serialize fit results (@patricksnape)
  • #444 remove pyramid_on_features from Menpo (@jabooth)
  • #443 create_pyramid now applies features even if pyramid_on_features=False, SDM uses it too (@jabooth)
  • #369 warp_to_mask, warp_to_shape, fast resizing of images (@nontas, @patricksnape, @jabooth)
  • #442 add rescale_to_diagonal, diagonal property to Image (@jabooth)
  • #441 adds constrain_to_landmarks on BooleanImage (@jabooth)
  • #440 pathlib.Path can no be used in menpo.io (@jabooth)
  • #439 Labelling fixes (@jabooth, @patricksnape)
  • #438 extract_channels (@jabooth)
  • #437 GLRasterizer becomes HDF5able (@jabooth)
  • #435 import_builtin_asset.ASSET_NAME (@jabooth)
  • #434 check_regression_features unified with check_features, classmethods removed from SDM (@jabooth)
  • #433 tidy classifiers (@jabooth)
  • #432 aam.fitter, clm.fitter, sdm.trainer packages (@jabooth)
  • #431 More fitmultilevel tidying (@jabooth)
  • #430 Remove classmethods from DeformableModelBuilder (@jabooth)
  • #412 First visualization widgets (@jalabort, @nontas)
  • #429 Masked image fixes (@patricksnape)
  • #426 rename ‘feature_type’ to ‘features throughout Menpo (@jabooth)
  • #427 Adds HDF5able serialization support to Menpo (@jabooth)
  • #425 Faster cached piecewise affine, Cython varient demoted (@jabooth)
  • #424 (@nontas)
  • #378 Fitting result fixes (@jabooth, @nontas, @jalabort)
  • #423 name now displays on constrained features (@jabooth)
  • #421 Travis CI now makes builds, Linux/OS X Python 2.7/3.4 (@jabooth, @patricksnape)
  • #400 Features as functions (@nontas, @patricksnape, @jabooth)
  • #420 move IOInfo to use pathlib (@jabooth)
  • #405 import menpo is now twice as fast (@jabooth)
  • #416 waffle.io Badge (@waffle-iron)
  • #415 export_mesh with .OBJ exporter (@jabooth, @patricksnape)
  • #410 Fix the render_labels logic (@patricksnape)
  • #407 Exporters (@patricksnape)
  • #406 Fix greyscale PIL images (@patricksnape)
  • #404 LandmarkGroup tojson method and PointGraph (@patricksnape)
  • #403 Fixes a couple of viewing problems in fitting results (@patricksnape)
  • #402 Landmarks fixes (@jabooth, @patricksnape)
  • #401 Dogfood landmark_resolver in menpo.io (@jabooth)
  • #399 bunch of Python 3 compatibility fixes (@jabooth)
  • #398 throughout Menpo. (@jabooth)
  • #397 Performance improvements for Similarity family (@jabooth)
  • #396 More efficient initialisations of Menpo types (@jabooth)
  • #395 remove cyclic target reference from landmarks (@jabooth)
  • #393 Groundwork for dense correspondence pipeline (@jabooth)
  • #394 weakref to break cyclic references (@jabooth)
  • #389 assorted fixes (@jabooth)
  • #390 (@jabooth)
  • #387 Adds landmark label for tongues (@nontas)
  • #386 Adds labels for the ibug eye annotation scheme (@jalabort)
  • #382 BUG fixed: block element not reset if norm=0 (@dubzzz)
  • #381 Recursive globbing (@jabooth)
  • #384 Adds support for odd patch shapes in function extract_local_patches_fast (@jalabort)
  • #379 imported textures have ioinfo, docs improvements (@jabooth)

v0.3.0 (2014/05/27)

First public release of Menpo, this release coincided with submission to the ACM Multimedia Open Source Software Competition 2014. This provides the basic scaffolding for Menpo, but it is not advised to use this version over the improvements in 0.4.0.

Github Pull Requests

  • #377 Simple fixes (@patricksnape)
  • #375 improvements to importing multiple assets (@jabooth)
  • #374 Menpo’s User guide (@jabooth)