Skip to content

Commit

Permalink
Add documentation structure
Browse files Browse the repository at this point in the history
  • Loading branch information
Mr-Milk committed Jul 2, 2024
1 parent 3b70373 commit f15a383
Show file tree
Hide file tree
Showing 16 changed files with 1,877 additions and 0 deletions.
24 changes: 24 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
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

deepclean:
@$(SPHINXBUILD) -M clean "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
rm -rf $(SOURCEDIR)/api/_autogen/*

# 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)
35 changes: 35 additions & 0 deletions docs/make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)

if "%1" == "" goto help

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

:end
popd
31 changes: 31 additions & 0 deletions docs/source/_static/custom.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*For type annotation in API documentation*/
span.classifier {
margin-left: .5rem;
}

#left-sidebar a.expandable {
justify-content: start;
}

div.container.cell {
margin-top: 1rem;
}

#content h1 {
display: flex;
align-items: center;
}

span > svg {
margin-right: 2px !important;
}

nav[aria-label="breadcrumbs"] > span[aria-current="page"] {
display: flex;
align-items: center;
}

div.sd-card-title {
display: flex;
align-items: center;
}
1 change: 1 addition & 0 deletions docs/source/api/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
_autogen/
87 changes: 87 additions & 0 deletions docs/source/api/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
:octicon:`file-directory;1em;mr-1` API Reference
================================================

WSI Object
----------

.. currentmodule:: lazyslide
.. autosummary::
:toctree: _autogen

WSI

pp
--

.. currentmodule:: lazyslide.pp
.. autosummary::
:toctree: _autogen

find_tissue
tiles
tiles_qc


tl
--

.. currentmodule:: lazyslide.tl
.. autosummary::
:toctree: _autogen

tissue_props
feature_extraction
anatomical_domain
annotate


pl
--

.. currentmodule:: lazyslide.pl
.. autosummary::
:toctree: _autogen

tissue
tiles


get
---

.. currentmodule:: lazyslide.get
.. autosummary::
:toctree: _autogen


tissue_contours
tissue_images
tile_images
features_anndata
pyramids
n_tissue
n_tiles

data
----

.. currentmodule:: lazyslide.data
.. autosummary::
:toctree: _autogen

TileImagesDataset
DiskDatasetBuilder

models
------

.. currentmodule:: lazyslide.models
.. autosummary::
:toctree: _autogen

PLIP
PLIPVision
CONCH
CONCHVision


17 changes: 17 additions & 0 deletions docs/source/cli.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
:octicon:`terminal;1em;mr-1` CLI Usage
======================================

tissue
------

.. code-block:: bash
$ lazyslide tissue --help
.. option:: slide

The slide file to process

.. option:: --output

By default will write to a zarr file with the same name as the slide file
43 changes: 43 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Configuration file for the Sphinx documentation builder.
from sphinxawesome_theme.postprocess import Icons

project = "LazySlide"
copyright = "2024, Yimin Zheng, Ernesto Abila, André F. Rendeiro"
author = "LazySlide Contributors"
release = "0.1.0"

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

extensions = [
"numpydoc",
"sphinx.ext.autodoc",
"sphinx.ext.autosummary",
"sphinx.ext.autosectionlabel",
"matplotlib.sphinxext.plot_directive",
"sphinx.ext.intersphinx",
"sphinx_design",
"myst_nb",
]
autoclass_content = "class"
autodoc_docstring_signature = True
autodoc_default_options = {"members": None, "undoc-members": None}
autodoc_typehints = "none"

templates_path = ["_templates"]
exclude_patterns = []


html_theme = "sphinxawesome_theme"
html_static_path = ["_static"]
html_css_files = ["custom.css"]
html_permalinks_icon = Icons.permalinks_icon
html_theme_options = {
"main_nav_links": {
"Installation": "/installation",
"Tutorial": "/tutorial/index",
"API": "/api/index",
}
}

jupyter_execute_notebooks = "off"
50 changes: 50 additions & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
.. LazySlide documentation master file, created by
sphinx-quickstart on Sat Jun 15 08:19:55 2024.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to LazySlide's documentation!
=====================================


LazySlide introduction here.



.. toctree::
:maxdepth: 3
:hidden:

installation
tutorial/index
api/index
cli
nextflow


.. grid :: 1 2 2 2
:gutter: 2
.. grid-item-card :: :octicon:`package;1em;mr-1` Installation
:link: installation
:link-type: doc
How to install LazySlide
.. grid-item-card :: :octicon:`telescope;1em;mr-1` Tutorial
:link: tutorial/index
:link-type: doc
A step-by-step guide to using LazySlide
.. grid-item-card :: :octicon:`file-directory;1em;mr-1` API
:link: api/index
:link-type: doc
LazySlide API documentation
.. grid-item-card :: :octicon:`terminal;1em;mr-1` CLI
:link: cli
:link-type: doc
LazySlide command line interface
48 changes: 48 additions & 0 deletions docs/source/installation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
:octicon:`package;1em;mr-1` Installation
==========================================

PIP
---

To install the released version, simply run:


.. code-block:: bash
pip install lazyslide
To install the latest development version, run:


.. code-block:: bash
pip install git+https://github.com/rendeirolab/LazySlide.git
Installation for openslide
--------------------------

By default, LazySlide will try to use :code:`openslide` when available to support wider range of image formats.

It will also load :code:`tiffslide` when :code:`openslide` is not available. Especially on windows platform.

For Linux and OSX users, it's suggested that you install :code:`openslide` with conda or mamba:

.. code-block:: bash
conda install -c conda-forge openslide-python
# or
mamba install -c conda-forge openslide-python
For Windows users, you need to download compiled :code:`openslide` from
`GitHub Release <https://github.com/openslide/openslide-bin/releases>`_.

Before import lazyslide in your code, you need to set the path to the :code:`openslide` library:

.. code-block:: python
import os
with os.add_dll_directory("path/to/openslide/bin")):
import openslide
4 changes: 4 additions & 0 deletions docs/source/nextflow.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Nextflow Usage
==============

How to run lazyslide in a nextflow pipeline.
1 change: 1 addition & 0 deletions docs/source/tutorial/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/tmp
Loading

0 comments on commit f15a383

Please sign in to comment.