  tools package
  =============
  
  tools.mask module
  -----------------
  
  .. automodule:: tools.mask
     :members:
     :undoc-members:
     :show-inheritance:
 
</s> remove .. automodule:: tools.mask
 </s> add .. automodule:: tools.mask.mask </s> remove tools.preview module
--------------------
 </s> add tools.preview.preview module
---------------------------- </s> remove .. automodule:: tools.preview
 </s> add .. automodule:: tools.preview.preview </s> remove     exit(0)
 </s> add     sys.exit(0)


def _get_cli_opts():
    """ Optain the subparsers and cli options for available tools """
    base_path = os.path.realpath(os.path.dirname(sys.argv[0]))
    tools_dir = os.path.join(base_path, "tools")
    for tool_name in sorted(os.listdir(tools_dir)):
        cli_file = os.path.join(tools_dir, tool_name, "cli.py")
        if os.path.exists(cli_file):
            mod = ".".join(("tools", tool_name, "cli"))
            module = import_module(mod)
            cliarg_class = getattr(module, "{}Args".format(tool_name.title()))
            help_text = getattr(module, "_HELPTEXT")
            yield tool_name, help_text, cliarg_class
tools.mask.mask module
----------------------
  tools package
  =============
  
tools.mask.mask module
----------------------
tools.mask.mask module
----------------------
  
  .. automodule:: tools.mask
     :members:
     :undoc-members:
     :show-inheritance:
keep keep keep replace replace keep keep keep keep keep
 Tools Restructure (#990)

* Restructure tools to allow dynamic (plugable) loading

* Update gui cli parsing to allow new tools structure 
docs/full/tools.rst