def trace_roi(hemi, map_proj, closed=True, event_handlers=None, alternate_plots=None, **kw):
    '''
    trace_roi(hemi, map_proj) yields an ROIDrawer object that controls the tracing of lines around
      an ROI in a 2D matplotlib plot. After the ROI has been drawn in the plot, the resulting path
      trace can be obtained via the roi_drawer.trace object.

    ROI tracing is very simple: any point in the plot is appended to the path as it is clicked; in
    order to eliminate the previous point, hold shift while clicking. To end the path, hold control
    while clicking. To abort the path, hold both shift and control while clicking. (Double-clicking
    should be equivalent to control-clicking, but this does not work in all setups.) In order to use
    the ROI tracing, `%matplotlib notebook` is recommended.

    The trace_roi() function accepts all options that can be passed to cortex_plot() as well as the
    following options:
      * closed (default: True) specifies whether the path-trace that is constructed should be closed
        (True) or open (False).
      * event_handlers (default: None) specifies additional event handlers (named by key) for the
        ROIDrawer().
      * alternate_plots (default: None) specifies a list of alternate plotting functions that must
        accept the axes as an argument (these are cycled with tab-click). Alternately, these may be
        matplotlib TriMesh objects that are simply made visible.
    '''
    if event_handlers is None: event_handlers = {}
    if alternate_plots is None: alternate_plots = []
    # if if there are alternate plots, go ahead and set them up:
    if alternate_plots:
        pass
trace_roi(hemi, map_proj) yields an ROIDrawer object that controls the tracing of lines around
      an ROI in a 2D matplotlib plot. After the ROI has been drawn in the plot, the resulting path
      trace can be obtained via the roi_drawer.trace object.

    ROI tracing is very simple: any point in the plot is appended to the path as it is clicked; in
    order to eliminate the previous point, hold shift while clicking. To end the path, hold control
    while clicking. To abort the path, hold both shift and control while clicking. (Double-clicking
    should be equivalent to control-clicking, but this does not work in all setups.) In order to use
    the ROI tracing, `%matplotlib notebook` is recommended.

    The trace_roi() function accepts all options that can be passed to cortex_plot() as well as the
    following options:
      * closed (default: True) specifies whether the path-trace that is constructed should be closed
        (True) or open (False).
      * event_handlers (default: None) specifies additional event handlers (named by key) for the
        ROIDrawer().
      * alternate_plots (default: None) specifies a list of alternate plotting functions that must
        accept the axes as an argument (these are cycled with tab-click). Alternately, these may be
        matplotlib TriMesh objects that are simply made visible.