diff --git a/.readthedocs.yml b/.readthedocs.yml index 5aa9d29d5..b5a35d92e 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -9,7 +9,7 @@ version: 2 build: os: ubuntu-24.04 tools: - python: "3.10" + python: "3.12" apt_packages: - openslide-tools - libopenjp2-7-dev diff --git a/README.md b/README.md index e69cfbe33..3780805a7 100644 --- a/README.md +++ b/README.md @@ -45,25 +45,21 @@ ## Getting Started -TIAToolbox is a computational pathology toolbox developed by TIA Centre that provides an end-to-end API for pathology image analysis using best practices. It is based on **[PyTorch](https://pytorch.org/)**, a popular deep learning framework that enables efficient and flexible implementation of state-of-the-art algorithms. TIAToolbox supports many features through a command-line interface and can integrate with standard PyTorch modules. It also offers tools for data loading, pre-processing, model inference, post-processing, and visualization. Whether you are a computational, biomedical, or clinical researcher, TIAToolbox can help you get started in digital pathology with minimal effort. +TIAToolbox is a computational pathology toolbox developed by the TIA Centre. It provides an end-to-end API for pathology image analysis using best practices. Based on **[PyTorch](https://pytorch.org/)**, a popular deep learning framework, TIAToolbox enables efficient and flexible implementation of state-of-the-art algorithms. It supports many features through a command-line interface and can integrate with standard PyTorch modules. The toolbox offers tools for data loading, pre-processing, model inference, post-processing, and visualization. Whether you are a computational, biomedical, or clinical researcher, TIAToolbox can help you get started in digital pathology with minimal effort. ### All Users -This package is for those interested in digital pathology: including graduate students, medical staff, members of the TIA Centre and of PathLAKE, and anyone, anywhere, who may find it useful. We will continue to improve this package, taking account of developments in pathology, microscopy, computing and related disciplines. Please send comments and criticisms to **[tia@dcs.warwick.ac.uk](mailto:tialab@dcs.warwick.ac.uk)**. - -**`tiatoolbox`** is a multipurpose name that we use for 1) a certain computer program, 2) a Python package of related programs, created by us at the TIA Centre to help people get started in Digital Pathology, 3) this repository, 4) a certain virtual environment. +This package is designed for those interested in digital pathology, including graduate students, medical staff, members of the TIA Centre and PathLAKE, and anyone who may find it useful. We will continue to improve this package, taking into account developments in pathology, microscopy, computing, and related disciplines. Please send comments and feedback to **[tia@dcs.warwick.ac.uk](mailto:tialab@dcs.warwick.ac.uk)**. ### Developers -Anyone wanting to contribute to this repository, please first look at our [Wiki](https://github.com/TissueImageAnalytics/tiatoolbox/wiki) and at our web page for [contributors](https://github.com/TissueImageAnalytics/tiatoolbox/blob/master/CONTRIBUTING.rst). See also the *Prepare for development* section of this document. - -### Links, if needed +If you want to contribute to this repository, please first look at our [Wiki](https://github.com/TissueImageAnalytics/tiatoolbox/wiki) and our [contributor guidelines](https://github.com/TissueImageAnalytics/tiatoolbox/blob/master/CONTRIBUTING.rst). Also, see the *Prepare for development* section of this document. -The [bash](https://www.gnu.org/software/bash) shell is available on all commonly encountered platforms. Commands in this README are in bash. Windows users can use the command prompt to install conda and python packages. +### Useful Links -[conda](https://github.com/conda/conda) is a management system for software packages and [virtual environments](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/environments.html). To get `conda`, download [Anaconda](https://www.anaconda.com/), which includes hundreds of the most useful Python packages, using 2GB disk space. Alternatively, [miniconda](https://docs.conda.io/en/latest/miniconda.html) uses 400MB, and packages can be added as needed. +The [bash](https://www.gnu.org/software/bash) shell is available on all commonly encountered platforms. Commands in this README are in bash. Windows users can use the command prompt to install conda and Python packages. -[GitHub](https://github.com/about) is powered by the version control system [git](https://git-scm.com/), which has many users and uses. In GitHub, it is used to track versions of code and other documents. +[conda](https://github.com/conda/conda) is a management system for software packages and [virtual environments](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/environments.html). To get `conda`, download [Anaconda](https://www.anaconda.com/), which includes hundreds of the most useful Python packages, using 2GB of disk space. Alternatively, [miniconda](https://docs.conda.io/en/latest/miniconda.html) uses 400MB, and packages can be added as needed. ### Examples Taster diff --git a/docs/basic_functionalities.rst b/docs/basic_functionalities.rst index aaa9e77b6..8aedd9695 100644 --- a/docs/basic_functionalities.rst +++ b/docs/basic_functionalities.rst @@ -2,7 +2,7 @@ Basic Functionalities ********************* .. toctree:: - :maxdepth: 2 + :maxdepth: 1 :glob: _notebooks/jnb/* diff --git a/docs/conf.py b/docs/conf.py index 088cc873e..91fd2df51 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -84,7 +84,7 @@ # General information about the project. project = "TIA Toolbox" -copyright = "2023, TIA Lab" +copyright = "2025, TIA Lab" author = "TIA Lab" # The version info for the project you're documenting, acts as replacement @@ -2005,8 +2005,8 @@ def all_but_ipynb(dir_path, contents): ) # shutil.copy( -# os.path.join(PROJ_ROOT, "docs/notebooks.rst"), -# os.path.join(PROJ_ROOT, "docs/_notebooks/notebooks.rst"), +# os.path.join(PROJ_ROOT, "docs/usage_examples.rst"), +# os.path.join(PROJ_ROOT, "docs/_notebooks/usage_examples.rst"), # ) # Read in the file @@ -2016,8 +2016,8 @@ def all_but_ipynb(dir_path, contents): # Replace the target string file_data = file_data.replace(".rst", ".html") file_data = file_data.replace(".ipynb", ".html") -file_data = file_data.replace("../docs/", "../") file_data = file_data.replace("](./", "](./jnb/") +file_data = file_data.replace("../docs/", "./") # Write the file out again with open("_notebooks/README.md", "w") as file: diff --git a/docs/index.rst b/docs/index.rst index 0db59ede2..e84f9fb4e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,18 +1,19 @@ Welcome to TIA Toolbox's documentation! ======================================= -.. image:: tia_logo.png - :alt: alternate text - :align: center +.. include:: ../README.md + :parser: myst_parser.sphinx_ + +Index +----- .. toctree:: - :maxdepth: 2 + :maxdepth: 1 Readme Installation - Usage Pre-trained Models - Jupyter Notebooks + Usage Examples Algorithms Visualization API Reference <_autosummary/tiatoolbox> diff --git a/docs/jnb_pipelines.rst b/docs/jnb_pipelines.rst index 76b680e61..d7d4a957d 100644 --- a/docs/jnb_pipelines.rst +++ b/docs/jnb_pipelines.rst @@ -2,7 +2,7 @@ Pipelines ********* .. toctree:: - :maxdepth: 2 + :maxdepth: 1 :glob: _notebooks/jnb/inference-pipelines/* diff --git a/docs/usage.rst b/docs/usage.rst deleted file mode 100644 index cd25e6c21..000000000 --- a/docs/usage.rst +++ /dev/null @@ -1,134 +0,0 @@ -===== -Usage -===== - -To use TIA Toolbox in a project:: - - import tiatoolbox - -^^^^^^^^^^^^^^^^^^^^^^ -Reading WSI Image Data -^^^^^^^^^^^^^^^^^^^^^^ - -- :obj:`wsireader ` -- :obj:`WSIReader ` - - - :obj:`DICOMWSIReader ` - - :obj:`NGFFWSIReader ` - - :obj:`OmnyxJP2WSIReader ` - - :obj:`OpenSlideWSIReader ` - - :obj:`TIFFWSIReader ` - - :obj:`VirtualWSIReader ` - -^^^^^^^^^^^^^^^^^^ -Accessing Metadata -^^^^^^^^^^^^^^^^^^ - -- :obj:`WSIMeta ` - -^^^^^^^^^^ -Functional -^^^^^^^^^^ - -The wsicore module also includes some functional syntax for quickly -obtaining information about a slide or generating tiles. - -- :obj:`slide_info ` -- :obj:`save_tiles ` - -^^^^^^^^^^^^^^^^^^ -Stain Extraction -^^^^^^^^^^^^^^^^^^ - -- :obj:`Stain Extraction ` - -^^^^^^^^^^^^^^^^^^^ -Stain Normalization -^^^^^^^^^^^^^^^^^^^ - -- :obj:`get_normalizer ` -- :obj:`StainNormalizer ` -- :obj:`CustomNormalizer ` -- :obj:`RuifrokNormalizer ` -- :obj:`MacenkoNormalizer ` -- :obj:`VahadaneNormalizer ` -- :obj:`ReinhardNormalizer ` - -^^^^^^^^^^^^^^^ -Tissue Masking -^^^^^^^^^^^^^^^ - -- :obj:`Tissue Mask ` - -^^^^^^^^^^^^^^^^^^ -Stain Augmentation -^^^^^^^^^^^^^^^^^^ - -- :obj:`Stain Augmentation ` - -^^^^^^^^^^^^^^^^^^ -Patch Extraction -^^^^^^^^^^^^^^^^^^ - -- :obj:`get_patch_extractor ` -- :obj:`PointsPatchExtractor ` -- :obj:`SlidingWindowPatchExtractor ` - -^^^^^^^^^^^^^^^^^^ -Graph Construction -^^^^^^^^^^^^^^^^^^ - -- :obj:`Slide Graph Constructor ` - -^^^^^^^^^^^^^^^^^^^^^^^ -Tile Pyramid Generation -^^^^^^^^^^^^^^^^^^^^^^^ - -- :obj:`Tile Pyramid Generator ` -- :obj:`Zoomify ` - -^^^^^^^^^^^^^^^^^^^^ -Dataset -^^^^^^^^^^^^^^^^^^^^ - -- :obj:`Kather Dataset ` - -^^^^^^^^^^^^^^^^^^^^ -Deep Learning Models -^^^^^^^^^^^^^^^^^^^^ - --------------- -Engine --------------- - -- :obj:`Patch Prediction ` -- :obj:`Semantic Segmentation ` -- :obj:`Feature Extraction ` -- :obj:`Nucleus Instance Segmnetation ` - ----------------------------- -Neural Network Architectures ----------------------------- - -- :obj:`Torch Vision CNNs ` -- :obj:`Simplified U-Nets ` -- :obj:`HoVerNet ` -- :obj:`HoVerNet+ ` -- :obj:`MicroNet ` -- :obj:`MapDe ` -- :obj:`SCCNN ` - -Pipelines: - - :obj:`IDARS ` - -^^^^^^^^^ -Utilities -^^^^^^^^^ - -- :obj:`Environment Detection ` -- :obj:`Exceptions ` -- :obj:`Image ` -- :obj:`Metrics ` -- :obj:`Miscellaneous ` -- :obj:`Transforms ` -- :obj:`Visualization ` diff --git a/docs/notebooks.rst b/docs/usage_examples.rst similarity index 64% rename from docs/notebooks.rst rename to docs/usage_examples.rst index 58e5fac03..118bfafaa 100644 --- a/docs/notebooks.rst +++ b/docs/usage_examples.rst @@ -1,23 +1,20 @@ Jupyter Notebooks ################# -.. toctree:: - :maxdepth: 2 - - _notebooks/README.md +.. include:: _notebooks/README.md + :parser: myst_parser.sphinx_ -| +Index +----- .. toctree:: - :maxdepth: 3 - :glob: + :maxdepth: 2 Basic Functionalities | .. toctree:: - :maxdepth: 3 - :glob: + :maxdepth: 2 Pipelines