mbrush is an improvement on the Matlab capability brush.

Limitations of Matlab brush:
  • For updating the source data it relies on the linkdata (see here for problems with linkdata)
  • Limited ability to use from commandline or from code (automated brushing)
  • No undo feature.
  • User cannot customise the format of the brush data.
  • User can only select data using a rectangle tool.
  • No way to exclude certain plots from being brushed.
The key features of the matpi gui toolbox brush are:
  • Includes all of the good features of the Matlab brush tool
  • User can brush 3D data.
  • Data can be selected using lasso capability.
  • User specifies which data are brushed (rather than all in a plot).
  • User can change the format of the brushed data.
  • Invert current selection.
  • Easy to add a user defined function for replacing the selected data.
  • Replace with linear interpolation
  • Undo feature.
  • Highlight data using a user defined circle, square, rectangle or custom shape.
  • Group data so that when brushed different plots are highlighted differently.
All of the above capability are exposed through the class methods - this allows for automated brushing/replacing of data.

See here for a video & some screenshots on the capability - when used with the mlink class.  Additional screen shots are shown below:

The best way to understand how mbrush works is to download demo and run the example.

Brushing data using the lasso shape tool:

Highlighting data using the circle tool

Highlighting multiple data using different sources using the custom shpe tool: