diff --git a/.readthedocs.yml b/.readthedocs.yml deleted file mode 100644 index 25b0eb6..0000000 --- a/.readthedocs.yml +++ /dev/null @@ -1,35 +0,0 @@ -# Read the Docs configuration file for Sphinx projects -# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details - -# Required -version: 2 - -# Set the OS, Python version and other tools you might need -build: - os: ubuntu-22.04 - tools: - python: "3.11" - # You can also specify other tool versions: - # nodejs: "20" - # rust: "1.70" - # golang: "1.20" - -# Build documentation in the "docs/" directory with Sphinx -sphinx: - configuration: docs/source/conf.py - # You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs - # builder: "dirhtml" - # Fail on all warnings to avoid broken references - # fail_on_warning: true - -# Optionally build your docs in additional formats such as PDF and ePub -# formats: -# - pdf -# - epub - -# Optional but recommended, declare the Python requirements required -# to build your documentation -# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html -python: - install: - - requirements: docs/requirements.txt diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index 9ab870d..0000000 --- a/docs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -generated/ diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index 02344e0..0000000 --- a/docs/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# Minimal makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -SOURCEDIR = source -BUILDDIR = build - -# Put it first so that "make" without argument is like "make help". -help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -.PHONY: help Makefile - -clean: - rm -rf $(BUILDDIR)/* - find source -type d -name generated -print0 | xargs -0 rm -rf - -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index 5183539..0000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -.. -sphinx -sphinx_automodapi -sphinx_rtd_theme diff --git a/docs/rtd_conda.yml b/docs/rtd_conda.yml deleted file mode 100644 index af872e1..0000000 --- a/docs/rtd_conda.yml +++ /dev/null @@ -1,5 +0,0 @@ -# Conda environment definition to build documentation on RTD - -name: imgviz-docs -dependencies: - - python=3 diff --git a/docs/source/_docstring_check.py b/docs/source/_docstring_check.py deleted file mode 100644 index c88e4e7..0000000 --- a/docs/source/_docstring_check.py +++ /dev/null @@ -1,90 +0,0 @@ -import math - - -def check(app, what, name, obj, options, lines): - ctx = DocstringCheckContext(app, what, name, obj, options, lines) - - if what in ('function', 'method'): - _docstring_check_returns_indent(ctx) - - -class DocstringCheckContext(object): - def __init__(self, app, what, name, obj, options, lines): - self.app = app - self.what = what - self.name = name - self.obj = obj - self.options = options - self.lines = lines - - self.iline = 0 - - def nextline(self): - if self.iline >= len(self.lines): - raise StopIteration - line = self.lines[self.iline] - self.iline += 1 - return line - - def error(self, msg, include_line=True, include_source=True): - lines = self.lines - iline = self.iline - 1 - msg = ('{}\n\n' - 'on {}'.format(msg, self.name)) - - if include_line and 0 <= iline < len(lines): - line = lines[iline] - msg += '\n' + 'at line {}: "{}"\n'.format(iline, line) - - if include_source: - msg += '\n' - msg += 'docstring:\n' - digits = int(math.floor(math.log10(len(lines)))) + 1 - linum_fmt = '{{:0{}d}} '.format(digits) - for i, line in enumerate(lines): - msg += linum_fmt.format(i) + line + '\n' - raise InvalidDocstringError(msg, self, iline) - - -class InvalidDocstringError(Exception): - def __init__(self, msg, ctx, iline): - super(InvalidDocstringError, self).__init__(self, msg) - self.msg = msg - self.ctx = ctx - self.iline = iline - - def __str__(self): - return self.msg - - -def _docstring_check_returns_indent(ctx): - # Seek the :returns: header - try: - line = ctx.nextline() - while line != ':returns:': - line = ctx.nextline() - except StopIteration: - return # No `Returns` section - - # Skip empty lines and seek the first line of the content - try: - line = ctx.nextline() - while not line: - line = ctx.nextline() - except StopIteration: - ctx.error('`Returns` section has no content') - - # Find the indentation of the first line - # (note: line should have at least one non-space character) - nindent = next(i for i, c in enumerate(line) if c != ' ') - - # Check the indentation of the following lines - try: - line = ctx.nextline() - while line.startswith(' '): - if (not line.startswith(' ' * nindent) or - line[nindent:].startswith(' ')): - ctx.error('Invalid indentation of `Returns` section') - line = ctx.nextline() - except StopIteration: - pass diff --git a/docs/source/_static/getting_started.jpg b/docs/source/_static/getting_started.jpg deleted file mode 120000 index a607aed..0000000 --- a/docs/source/_static/getting_started.jpg +++ /dev/null @@ -1 +0,0 @@ -../../../.readme/getting_started.jpg \ No newline at end of file diff --git a/docs/source/_static/getting_started.py b/docs/source/_static/getting_started.py deleted file mode 120000 index 9d0d294..0000000 --- a/docs/source/_static/getting_started.py +++ /dev/null @@ -1 +0,0 @@ -../../../getting_started.py \ No newline at end of file diff --git a/docs/source/conf.py b/docs/source/conf.py deleted file mode 100644 index 98ff799..0000000 --- a/docs/source/conf.py +++ /dev/null @@ -1,314 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Configuration file for the Sphinx documentation builder. -# -# This file does only contain a selection of the most common options. For a -# full list see the documentation: -# http://www.sphinx-doc.org/en/master/config - -# -- Path setup -------------------------------------------------------------- - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# -import inspect -import os -import sys - -import pkg_resources -import sphinx_rtd_theme - -sys.path.insert(0, os.path.abspath(os.path.dirname(__file__))) # NOQA - -import _docstring_check - -__version__ = pkg_resources.get_distribution('imgviz').version -on_rtd = os.environ.get('READTHEDOCS', None) == 'True' -tag = 'main' - -# -- Project information ----------------------------------------------------- - -project = u'imgviz' -copyright = '2019, Kentaro Wada' -author = 'Kentaro Wada' - -# The short X.Y version -version = __version__ -# The full version, including alpha/beta/rc tags -release = __version__ - - -# -- General configuration --------------------------------------------------- - -# If your documentation needs a minimal Sphinx version, state it here. -# -# needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.autosummary', - 'sphinx.ext.coverage', - 'sphinx.ext.githubpages', - 'sphinx.ext.intersphinx', - 'sphinx.ext.napoleon', - 'sphinx.ext.linkcode', - 'sphinx.ext.mathjax', -] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix(es) of source filenames. -# You can specify multiple suffix as a list of string: -# -# source_suffix = ['.rst', '.md'] -source_suffix = '.rst' - -# The master toctree document. -master_doc = 'index' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = None - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This pattern also affects html_static_path and html_extra_path. -exclude_patterns = [] - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = None - - -# -- Options for HTML output ------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -# -# html_theme = 'alabaster' -html_theme = 'sphinx_rtd_theme' -html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -# -# html_theme_options = {} - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Custom sidebar templates, must be a dictionary that maps document names -# to template names. -# -# The default sidebars (for documents that don't match any pattern) are -# defined by theme itself. Builtin themes are using these templates by -# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', -# 'searchbox.html']``. -# -# html_sidebars = {} - - -# -- Options for HTMLHelp output --------------------------------------------- - -# Output file base name for HTML help builder. -htmlhelp_basename = 'imgvizdoc' - - -# -- Options for LaTeX output ------------------------------------------------ - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - # - # 'papersize': 'letterpaper', - - # The font size ('10pt', '11pt' or '12pt'). - # - # 'pointsize': '10pt', - - # Additional stuff for the LaTeX preamble. - # - # 'preamble': '', - - # Latex figure (float) alignment - # - # 'figure_align': 'htbp', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - (master_doc, 'imgviz.tex', u'imgviz Documentation', - u'Matthew Matl', 'manual'), -] - - -# -- Options for manual page output ------------------------------------------ - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - (master_doc, 'imgviz', u'imgviz Documentation', [author], 1) -] - - -# -- Options for Texinfo output ---------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - (master_doc, 'imgviz', u'imgviz Documentation', - author, 'imgviz', 'One line description of project.', - 'Miscellaneous'), -] - - -# -- Options for Epub output ------------------------------------------------- - -# Bibliographic Dublin Core info. -epub_title = project - -# The unique identifier of the text. This can be a ISBN number -# or the project homepage. -# -# epub_identifier = '' - -# A unique identification for the text. -# -# epub_uid = '' - -# A list of files that should not be packed into the epub file. -epub_exclude_files = ['search.html'] - - -# -- Extension configuration ------------------------------------------------- - -# -- Options for intersphinx extension --------------------------------------- - -# Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = { - 'python': ('https://docs.python.org/3/', None), - 'numpy': ('https://docs.scipy.org/doc/numpy/', None), -} - -# Autosummary fix -autosummary_generate = True - -# Try to suppress multiple-definition warnings by always taking the shorter -# path when two or more paths have the same base module - - -def setup(app): - app.connect('autodoc-process-docstring', _autodoc_process_docstring) - - -def _autodoc_process_docstring(app, what, name, obj, options, lines): - _docstring_check.check(app, what, name, obj, options, lines) - - -def _import_object_from_name(module_name, fullname): - obj = sys.modules.get(module_name) - if obj is None: - return None - for comp in fullname.split('.'): - obj = getattr(obj, comp) - return obj - - -def _is_egg_directory(path): - return (path.endswith('.egg') and - os.path.isdir(os.path.join(path, 'EGG-INFO'))) - - -def _is_git_root(path): - return os.path.isdir(os.path.join(path, '.git')) - - -_source_root = None - - -def _find_source_root(source_abs_path): - # Note that READTHEDOCS* environment variable cannot be used, because they - # are not set under docker environment. - global _source_root - if _source_root is None: - dir = os.path.dirname(source_abs_path) - while True: - if _is_egg_directory(dir) or _is_git_root(dir): - # Reached the root directory - _source_root = dir - break - - dir_ = os.path.dirname(dir) - if len(dir_) == len(dir): - raise RuntimeError('Couldn\'t parse root directory from ' - 'source file: {}'.format(source_abs_path)) - dir = dir_ - return _source_root - - -def _get_source_relative_path(source_abs_path): - return os.path.relpath(source_abs_path, _find_source_root(source_abs_path)) - - -def _get_sourcefile_and_linenumber(obj): - # Retrieve the original function wrapped by contextlib.contextmanager - if callable(obj): - closure = getattr(obj, '__closure__', None) - if closure is not None: - obj = closure[0].cell_contents - - # Get the source file name and line number at which obj is defined. - try: - filename = inspect.getsourcefile(obj) - except TypeError: - # obj is not a module, class, function, ..etc. - return None, None - - # inspect can return None for cython objects - if filename is None: - return None, None - - # Get the source line number - _, linenum = inspect.getsourcelines(obj) - - return filename, linenum - - -def linkcode_resolve(domain, info): - if domain != 'py' or not info['module']: - return None - if 1 == int(os.environ.get('IMGVIZ_DOCS_SKIP_LINKCODE', 0)): - return None - - # Import the object from module path - obj = _import_object_from_name(info['module'], info['fullname']) - - # If it's not defined in the internal module, return None. - mod = inspect.getmodule(obj) - if mod is None: - return None - if not (mod.__name__ == 'imgviz' or mod.__name__.startswith('imgviz.')): - return None - - # Retrieve source file name and line number - filename, linenum = _get_sourcefile_and_linenumber(obj) - if filename is None or linenum is None: - return None - - filename = os.path.realpath(filename) - relpath = _get_source_relative_path(filename) - - return 'https://github.com/wkentaro/imgviz/blob/{}/{}#L{}'.format( - tag, relpath, linenum) diff --git a/docs/source/getting_started.rst b/docs/source/getting_started.rst deleted file mode 100644 index 4252dc9..0000000 --- a/docs/source/getting_started.rst +++ /dev/null @@ -1,7 +0,0 @@ -Getting Started ---------------- - -.. image:: /_static/getting_started.jpg - :align: center - -.. literalinclude:: /_static/getting_started.py diff --git a/docs/source/index.rst b/docs/source/index.rst deleted file mode 100644 index 15f7040..0000000 --- a/docs/source/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. _root: - -imgviz Documentation -==================== - -Image Visualization Tools. - -.. image:: /_static/getting_started.jpg - :align: center - -.. include:: installation.rst - -.. toctree:: - :maxdepth: 2 - - getting_started.rst - Examples - reference/index.rst - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`search` diff --git a/docs/source/installation.rst b/docs/source/installation.rst deleted file mode 100644 index 085bafd..0000000 --- a/docs/source/installation.rst +++ /dev/null @@ -1,9 +0,0 @@ -Installation ------------- - -.. code-block:: bash - - pip install imgviz - - # there are optional dependencies like skimage, below installs all. - pip install imgviz[all] diff --git a/docs/source/reference/classes/index.rst b/docs/source/reference/classes/index.rst deleted file mode 100644 index b302311..0000000 --- a/docs/source/reference/classes/index.rst +++ /dev/null @@ -1,9 +0,0 @@ -Classes -======= - -.. autosummary:: - :toctree: generated/ - :nosignatures: - - imgviz.Depth2RGB - imgviz.Nchannel2RGB diff --git a/docs/source/reference/draw/index.rst b/docs/source/reference/draw/index.rst deleted file mode 100644 index 2c77027..0000000 --- a/docs/source/reference/draw/index.rst +++ /dev/null @@ -1,14 +0,0 @@ -Draw Module -=========== - -.. autosummary:: - :toctree: generated/ - :nosignatures: - - imgviz.draw.circle - imgviz.draw.rectangle - imgviz.draw.star - imgviz.draw.text - imgviz.draw.text_in_rectangle - imgviz.draw.text_size - imgviz.draw.triangle diff --git a/docs/source/reference/functions/index.rst b/docs/source/reference/functions/index.rst deleted file mode 100644 index 35b3667..0000000 --- a/docs/source/reference/functions/index.rst +++ /dev/null @@ -1,26 +0,0 @@ -Functions -========= - -.. autosummary:: - :toctree: generated/ - :nosignatures: - - imgviz.asgray - imgviz.gray2rgb - imgviz.rgb2gray - imgviz.rgb2rgba - imgviz.rgb2hsv - imgviz.rgba2rgb - imgviz.hsv2rgb - imgviz.depth2rgb - imgviz.flow2rgb - imgviz.instances2rgb - imgviz.label_colormap - imgviz.label2rgb - imgviz.nchannel2rgb - imgviz.plot_trajectory - - imgviz.centerize - imgviz.normalize - imgviz.resize - imgviz.tile diff --git a/docs/source/reference/index.rst b/docs/source/reference/index.rst deleted file mode 100644 index 2ee76e0..0000000 --- a/docs/source/reference/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. _reference: - -API Reference -============= - -.. toctree:: - :maxdepth: 2 - - functions/index.rst - classes/index.rst - draw/index.rst - io/index.rst diff --git a/docs/source/reference/io/index.rst b/docs/source/reference/io/index.rst deleted file mode 100644 index 2d7ade6..0000000 --- a/docs/source/reference/io/index.rst +++ /dev/null @@ -1,15 +0,0 @@ -IO Module -========= - -.. autosummary:: - :toctree: generated/ - :nosignatures: - - imgviz.io.imread - imgviz.io.imsave - imgviz.io.cv_imshow - imgviz.io.cv_waitkey - imgviz.io.pyplot_to_numpy - imgviz.io.pyglet_imshow - imgviz.io.pyglet_run - imgviz.io.PygletThreadedImageViewer