-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #59 from AhmedBasem20/api-docs
Generate API documentation using Sphinx.
- Loading branch information
Showing
6 changed files
with
203 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
name: Build & Deploy Documentation | ||
|
||
on: | ||
workflow_run: | ||
workflows: [Algorithm Analysis] | ||
types: | ||
- completed | ||
permissions: | ||
contents: read | ||
pages: write | ||
id-token: write | ||
jobs: | ||
build: | ||
environment: | ||
name: github-pages | ||
url: ${{ steps.deployment.outputs.page_url }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup Pages | ||
uses: actions/configure-pages@v4 | ||
- name: Set up Python | ||
id: setup_python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
- name: Cache pip | ||
uses: actions/cache@v3 | ||
id: pip-cache | ||
with: | ||
key: ${{ runner.os }}-${{ env.pythonLocation }}-pip-${{ hashFiles('**/requirements.txt') }} | ||
path: ${{ env.pythonLocation }} | ||
if: steps.pip-cache.outputs.cache-hit != 'true' | ||
|
||
- name: Install dependencies | ||
run: | | ||
pip install -r requirements.txt | ||
# Action to download artifacts from a different workflow (analysis.yml) | ||
- name: 'Download artifact' | ||
if: ${{ github.event.workflow_run.conclusion == 'success' }} | ||
uses: actions/github-script@v6 | ||
with: | ||
script: | | ||
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
run_id: context.payload.workflow_run.id, | ||
}); | ||
let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { | ||
return artifact.name == "Figures" | ||
})[0]; | ||
let download = await github.rest.actions.downloadArtifact({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
artifact_id: matchArtifact.id, | ||
archive_format: 'zip', | ||
}); | ||
let fs = require('fs'); | ||
fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/Figures.zip`, Buffer.from(download.data)); | ||
- name: 'Unzip artifact' | ||
run: unzip Figures.zip | ||
|
||
- name: Build html | ||
run: | | ||
mkdir docs/_static | ||
mv *.pdf docs/_static/ | ||
sphinx-apidoc -o docs src | ||
cd docs/ | ||
make html | ||
- name: Upload docs artifact | ||
uses: actions/upload-pages-artifact@v3 | ||
with: | ||
path: 'docs/_build/html' | ||
|
||
- name: Deploy to GitHub Pages | ||
id: deployment | ||
uses: actions/deploy-pages@v4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# 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 = . | ||
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 | ||
|
||
# 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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Configuration file for the Sphinx documentation builder. | ||
# | ||
# For the full list of built-in configuration values, see the documentation: | ||
# https://www.sphinx-doc.org/en/master/usage/configuration.html | ||
|
||
# -- Project information ----------------------------------------------------- | ||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information | ||
|
||
import os | ||
import sys | ||
|
||
sys.path.insert(0, os.path.abspath("..")) | ||
|
||
project = 'TF2.4 IVIM MRI Code Collection' | ||
copyright = '2024, OSIPI' | ||
author = 'OSIPI team' | ||
|
||
# -- General configuration --------------------------------------------------- | ||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration | ||
|
||
extensions = ["sphinx.ext.todo", "sphinx.ext.viewcode", "sphinx.ext.autodoc"] | ||
|
||
templates_path = ['_templates'] | ||
exclude_patterns = ['Thumbs.db', '.DS_Store'] | ||
|
||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. | ||
html_show_sphinx = False | ||
|
||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. | ||
html_show_copyright = False | ||
|
||
# -- Options for HTML output ------------------------------------------------- | ||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output | ||
|
||
html_theme = 'sphinx_rtd_theme' | ||
html_static_path = ['_static'] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
Algorithm Analysis Figures | ||
=========== | ||
|
||
.. raw:: html | ||
|
||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>Algorithm Analysis Figures</title> | ||
<style> | ||
embed { | ||
width: 90%; | ||
margin-bottom: 4rem; | ||
height: 100vh; | ||
} | ||
</style> | ||
</head> | ||
<body> | ||
<h4>Diffusion grid for limited algorithms:</h4> | ||
<embed src="_static/D_limited.pdf" type="application/pdf" frameborder="0" scrolling="auto"> | ||
<h4>Diffusion grid for all algorithms:</h4> | ||
<embed src="_static/D.pdf" type="application/pdf" frameborder="0" scrolling="auto"> | ||
|
||
<h4>Perfusion grid for limited algorithms:</h4> | ||
<embed src="_static/Dp_limited.pdf" type="application/pdf" frameborder="0" scrolling="auto"> | ||
<h4>Perfusion grid for all algorithms:</h4> | ||
<embed src="_static/Dp.pdf" type="application/pdf" frameborder="0" scrolling="auto"> | ||
|
||
<h4>Perfusion fraction grid for limited algorithms:</h4> | ||
<embed src="_static/f_limited.pdf" type="application/pdf" frameborder="0" scrolling="auto"> | ||
<h4>Perfusion fraction grid for all algorithms:</h4> | ||
<embed src="_static/f.pdf" type="application/pdf" frameborder="0" scrolling="auto"> | ||
|
||
<h4>Fitted curves:</h4> | ||
<embed src="_static/fitted_curves.pdf" type="application/pdf" frameborder="0" scrolling="auto"> | ||
<h4>Curve plot:</h4> | ||
<embed src="_static/curve_plot.pdf" type="application/pdf" frameborder="0" scrolling="auto"> | ||
<h4>Algorithm Fitting duration:</h4> | ||
<embed src="_static/durations.pdf" type="application/pdf" frameborder="0" scrolling="auto"> | ||
|
||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
.. TF2.4 IVIM MRI Code Collection documentation master file, created by | ||
sphinx-quickstart on Wed Mar 6 00:06:13 2024. | ||
You can adapt this file completely to your liking, but it should at least | ||
contain the root `toctree` directive. | ||
Welcome to TF2.4 IVIM MRI Code Collection's documentation! | ||
========================================================== | ||
|
||
.. toctree:: | ||
:maxdepth: 4 | ||
:caption: Contents: | ||
|
||
figures | ||
modules | ||
|
||
Indices and tables | ||
================== | ||
|
||
* :ref:`modindex` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,4 +10,6 @@ scienceplots | |
cvxpy | ||
zenodo-get | ||
pytest | ||
tqdm | ||
tqdm | ||
sphinx | ||
sphinx_rtd_theme |