The first commit's message is:

Tuple value for radius

In confocal stacks, mostly the z pixel size is larger than the xy pixel
size. Features will have a different diameter and separation. This
feature allows for a tuple value of diameter and separation.

The binary_mask function could perform better, but it works.

The bpass filter does not allow different smoothing sizes, it just takes
the first value (depending on the order of your image, typically this is
the z value). This should be changed.

Also a change in subpx bias plot has been made so that it also plots the
z subpx bias.

This is the 2nd commit message:

Update masks.py

Unsure wether x,y order is right for 2D images (unimportant if feature size x = feature size y)

This is the 3nd commit message:

Corrected 1D code

This is the 4th commit message:

Updated bandpass filter for 3D

Function bandpass accepts tuple value for smoothing and noise. Noise
filtering is not done for dimensions with noise*2 <= smoothing.

Updated initiation at start of feature, added dimension mismatch check.
Margin calculation for tuples (Travis CI build)
Changes following @danielballan 's remarks

- removed unused `ndim` variable from new `percentile_threshold()`
- updated eliminate duplicates to tuple separation, missed it after
rebasing after PR soft-matter#143
- allow tuple value for `noise_size` / `lshort`
- rewrote `diameter`, `separation`, `smoothing_size`, `noise_size`
initiation
- some minor adaptations
Characterization with tuple valued diameter

- Characterization is turned off when pixels are not square or cubic
- Characterization works again with tuple valued diameter
- Bug in peak fuser (https://github.com/soft-matter/trackpy/pull/143) +
big error by myself in same code
- Bug in roi: threshold should default to None, else float pictures will
be made completely black.
- Slices named 'square' are now named 'rect'
- Validate_tuple function to utils + check in masks and bandpass
Eliminate duplicates changes
Bandpass filter updated

- was not functioning since latest commit
- now gives error if any 2*lshort >= llong
Nosetests should work now

- Check if radius is iterable at refine(), for direct calls
- Numba engine works with radius[0]
Deleted lshortfiltered
3D functionality in msd/drift calculation

Added pos_columns argument in a bunch of functions in motion.py.
Defaults to ['x', 'y'], as before.
In test_feature, no reversion of coordinates

Internally, coordinates are now processed in y, x or z, y, x order. This
to have the same dimensional order as in image.shape and to stop me
getting more and more confused on whether to reverse coordinates or not.
Anisotropic feature tests + some enhancements

- made feature tests compatible with anisotropic features in 2 or 3
dimensions
- draw_gaussian_spot only calculates the gaussian in a square with size
6*radius, this greatly increases speed.
- added a margin option in gen_random_locations, so that generated
features will not be missed by trackpy.locate
- added test_one_centered_gaussian_3D_anisotropic
- added test_multiple_anisotropic_3D_simple
FIX: Check if position is in image bounds
Cleanup & two bugs

- probably due to rebase: `import validate_tuple` added in `feature.py`
- check for odd diameters `if not np.any([x & 1 for x in diameter])`
changed to `if not np.any([x & 1 for x in diameter])`
Clip to max value in `draw_gaussian_spot`
Default smoothing_size to diameter

As in master branch, default `smoothing_size` to `diameter` instead of
`separation` (which defaults to `diameter + 1`)
Increase _safe_center_of_mass performance

As radius is a tuple now, the fallback value of _safe_center_of_mass
doesn't require array broadcasting anymore.
DOC: Advertise N-dimensional feature diameter capability
Merge pull request #162 from caspervdw/feature3d

ENH: Enable feature-finding in 3D (or ND) with anisotropic resolution.