Skip to content

Commit

Permalink
Merge pull request #183 from sbonaime/mermaid_flowchart
Browse files Browse the repository at this point in the history
  • Loading branch information
Saijin-Naib authored Jun 27, 2024
2 parents 09b79b4 + c5bae89 commit a0a93c1
Show file tree
Hide file tree
Showing 8 changed files with 304 additions and 24 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ _build
venv
venv_prod
.vscode
.venv
.venv_prod

# Base ignores:
# =============
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,19 +87,19 @@ From the same Terminal (or command prompt) run the following:

```
cd docs/
pip install virtualenv
virtualenv -p python3 venv
python3 -m venv .venv
source .venv/bin/activate
# Linux/Mac
source venv/bin/activate
source .venv/bin/activate
# Windows
venv\scripts\activate
.venv\scripts\activate
pip install -r requirements.txt
```

After running `source venv/bin/activate` there should be some indication that the Python virtual environment is active (see the `(venv)` that appears at the start of terminal prompt in the screengrab below). **Note:** The next time you can `cd` into the docs folder and just run `source venv/bin/activate`. There should be no need to rerun the `pip install` and `virtualenv` commands.
After running `source .venv/bin/activate` there should be some indication that the Python virtual environment is active (see the `(.venv)` that appears at the start of terminal prompt in the screengrab below). **Note:** The next time you can `cd` into the docs folder and just run `source .venv/bin/activate`. There should be no need to rerun the `pip install` and `python3 -m venv .venv` commands.

Note: If you've installed `sphinx` on your system, you may run into issues with commands using that version instead of the version inside your virtualenv.

Expand Down
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ sphinx==5.3.0
sphinx-autobuild==2021.3.14
sphinx-intl==2.0.1
sphinx-rtd-theme==1.1.1
transifex-client==0.14.4
transifex-client==0.12.5
sphinxcontrib-mermaid==0.9.2
1 change: 1 addition & 0 deletions requirements_prod.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ setuptools
sphinx==5.3.0
sphinx-intl==2.0.1
sphinx-rtd-theme==1.1.1
sphinxcontrib-mermaid==0.9.2
wheel
9 changes: 8 additions & 1 deletion source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,15 @@
extensions = [
'sphinx.ext.todo',
'sphinx_rtd_theme',
'sphinx.ext.githubpages'
'sphinx.ext.githubpages',
'sphinxcontrib.mermaid'

]

# mermaid version
mermaid_version = "10.9.1"


#For internationalization:
locale_dirs = ['locale/']
gettext_compact = False
Expand Down
268 changes: 268 additions & 0 deletions source/flowchart.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,268 @@
.. Flowchart with options
Flowchart with options
=======================

.. mermaid::
:zoom:

flowchart TB



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Subgraph Stages
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

subgraph Dataset-stage["`**Dataset-stage**`"]
bg-removal:::options
camera-lens:::options
cameras:::options
gcp:::options
geo:::options
gps-accuracy:::options
primary-band:::options
sky-removal:::options
use-exif:::options
video-limit:::options
video-resolution:::options
end
bg-removal ~~~ camera-lens ~~~ cameras ~~~ gcp ~~~ geo
gps-accuracy ~~~ primary-band ~~~ sky-removal ~~~ use-exif ~~~ video-limit

click bg-removal "../arguments/bg-removal/"
click camera-lens "../arguments/camera-lens/"
click cameras "../arguments/cameras/"
click gcp "../arguments/gcp/"
click geo "../arguments/geo/"
click gps-accuracy "../arguments/gps-accuracy/"
click primary-band "../arguments/primary-band/"
click sky-removal "../arguments/sky-removal/"
click use-exif "../arguments/use-exif/"
click video-limit "../arguments/video-limit/"
click video-resolution "../arguments/video-resolution/"


subgraph Split["`**Split**`"]
direction TB
sm-cluster:::options
sm-no-align:::options
split:::options
split-image-groups:::options
split-overlap:::options
end
click sm-cluster "../arguments/sm-cluster/"
click sm-no-align "../arguments/sm-no-align/"
click split "../arguments/split/"
click split-image-groups "../arguments/split-image-groups/"
click split-overlap "../arguments/split-overlap/"

Spliting["`**Spliting**`"]

subgraph OpenSFM["`**OpenSFM**`"]
feature-quality:::options
feature-type:::options
force-gps:::options
ignore-gsd:::options
matcher-neighbors:::options
matcher-order:::options
matcher-type:::options
min-num-features:::options
pc-quality:::options
radiometric-calibration:::options
rolling-shutter:::options
rolling-shutter-readout:::options
sfm-algorithm:::options
sfm-no-partial:::options
skip-band-alignment:::options
use-fixed-camera-params:::options
use-hybrid-bundle-adjustment:::options
end
feature-quality ~~~ feature-type ~~~ force-gps ~~~ ignore-gsd ~~~ matcher-neighbors
matcher-order ~~~ matcher-type ~~~ min-num-features ~~~ pc-quality ~~~ radiometric-calibration
rolling-shutter ~~~ rolling-shutter-readout ~~~ sfm-algorithm ~~~ sfm-no-partial ~~~ skip-band-alignment
use-fixed-camera-params ~~~ use-hybrid-bundle-adjustment

click feature-quality "../arguments/feature-quality/"
click feature-type "../arguments/feature-type/"
click force-gps "../arguments/force-gps/"
click ignore-gsd "../arguments/ignore-gsd/"
click matcher-neighbors "../arguments/matcher-neighbors/"
click matcher-order "../arguments/matcher-order/"
click matcher-type "../arguments/matcher-type/"
click min-num-features "../arguments/min-num-features/"
click pc-quality "../arguments/pc-quality/"
click radiometric-calibration "../arguments/radiometric-calibration/"
click rolling-shutter "../arguments/rolling-shutter/"
click rolling-shutter-readout "../arguments/rolling-shutter-readout/"
click sfm-algorithm "../arguments/sfm-algorithm/"
click sfm-no-partial "../arguments/sfm-no-partial/"
click skip-band-alignment "../arguments/skip-band-alignment/"
click use-fixed-camera-params "../arguments/use-fixed-camera-params/"
click use-hybrid-bundle-adjustment "../arguments/use-hybrid-bundle-adjustment/"


subgraph Openmvs["`**Openmvs**`"]
pc-filter:::options
pc-skip-geometric:::options
end
pc-filter ~~~ pc-skip-geometric

click pc-filter "../arguments/pc-filter/"
click pc-skip-geometric "../arguments/pc-skip-geometric/"

subgraph Odm-filterpoints["`**Odm-filterpoints**`"]
auto-boundary:::options
auto-boundary-distance:::options
boundary:::options
fast-orthophoto:::options
pc-sample:::options
end
auto-boundary ~~~ auto-boundary-distance ~~~ boundary ~~~ fast-orthophoto ~~~ pc-sample

click auto-boundary "../arguments/auto-boundary/"
click auto-boundary-distance "../arguments/auto-boundary-distance/"
click boundary "../arguments/boundary/"
click fast-orthophoto "../arguments/fast-orthophoto/"
click pc-sample "../arguments/pc-sample/"

subgraph Odm-meshing["`**Odm-meshing**`"]
mesh-octree-depth:::options
mesh-size:::options
skip-3dmodel:::options
end
mesh-octree-depth ~~~ mesh-size ~~~ skip-3dmodel

click mesh-octree-depth "../arguments/mesh-octree-depth/"
click mesh-size "../arguments/mesh-size/"
click skip-3dmodel "../arguments/skip-3dmodel/"

subgraph Mvs-texturing["`**Mvs-texturing**`"]
gltf:::options
texturing-keep-unseen-faces:::options
texturing-single-material:::options
texturing-skip-global-seam-leveling:::options
use-3dmesh:::options
end
gltf ~~~ texturing-keep-unseen-faces ~~~ texturing-single-material ~~~ texturing-skip-global-seam-leveling ~~~ use-3dmesh

click gltf "../arguments/gltf/"
click texturing-keep-unseen-faces "../arguments/texturing-keep-unseen-faces/"
click texturing-single-material "../arguments/texturing-single-material/"
click texturing-skip-global-seam-leveling "../arguments/texturing-skip-global-seam-leveling/"
click use-3dmesh "../arguments/use-3dmesh/"

subgraph Odm-georeferencing["`**Odm-georeferencing**`"]
align:::options
crop:::options
pc-classify:::options
pc-copc:::options
pc-csv:::options
pc-ept:::options
pc-las:::options
pc-rectify:::options
end
align ~~~ crop ~~~ pc-classify ~~~ pc-copc ~~~ pc-csv
pc-ept ~~~ pc-las ~~~ pc-rectify

click align "../arguments/align/"
click crop "../arguments/crop/"
click pc-classify "../arguments/pc-classify/"
click pc-copc "../arguments/pc-copc/"
click pc-csv "../arguments/pc-csv/"
click pc-ept "../arguments/pc-ept/"
click pc-las "../arguments/pc-las/"
click pc-rectify "../arguments/pc-rectify/"

subgraph Odm-dem["`**Odm-dem**`"]
cog:::options
dem-decimation:::options
dem-euclidean-map:::options
dem-gapfill-steps:::options
dem-resolution:::options
dsm:::options
dtm:::options
smrf-scalar:::options
smrf-slope:::options
smrf-threshold:::options
smrf-window:::options
tiles:::options
end
cog ~~~ dem-decimation ~~~ dem-euclidean-map ~~~ dem-gapfill-steps ~~~ dem-resolution
dsm ~~~ dtm ~~~ smrf-scalar ~~~ smrf-slope ~~~ smrf-threshold ~~~ smrf-window

click cog "../arguments/cog/"
click dem-decimation "../arguments/dem-decimation/"
click dem-euclidean-map "../arguments/dem-euclidean-map/"
click dem-gapfill-steps "../arguments/dem-gapfill-steps/"
click dem-resolution "../arguments/dem-resolution/"
click dsm "../arguments/dsm/"
click dtm "../arguments/dtm/"
click smrf-scalar "../arguments/smrf-scalar/"
click smrf-slope "../arguments/smrf-slope/"
click smrf-threshold "../arguments/smrf-threshold/"
click smrf-window "../arguments/smrf-window/"

subgraph Odm-orthophoto["`**Odm-orthophoto**`"]
build-overviews:::options
orthophoto-compression:::options
orthophoto-cutline:::options
orthophoto-kmz:::options
orthophoto-no-tiled:::options
orthophoto-png:::options
orthophoto-resolution:::options
skip-orthophoto:::options
end
build-overviews ~~~ orthophoto-compression ~~~ orthophoto-cutline ~~~ orthophoto-kmz
orthophoto-no-tiled ~~~ orthophoto-png ~~~ orthophoto-resolution ~~~ skip-orthophoto

click build-overviews "../arguments/build-overviews/"
click orthophoto-compression "../arguments/orthophoto-compression/"
click orthophoto-cutline "../arguments/orthophoto-cutline/"
click orthophoto-kmz "../arguments/orthophoto-kmz/"
click orthophoto-no-tiled "../arguments/orthophoto-no-tiled/"
click orthophoto-png "../arguments/orthophoto-png/"
click orthophoto-resolution "../arguments/orthophoto-resolution/"
click skip-orthophoto "../arguments/skip-orthophoto/"

subgraph Odm-report["`**Odm-report**`"]
skip-report:::options
end

click skip-report "../arguments/skip-report/"

subgraph Odm-postprocess["`**Odm-postprocess**`"]
3d-tiles:::options
copy-to:::options
end
3d-tiles ~~~ copy-to

click 3d-tiles "../arguments/3d-tiles/"
click copy-to "../arguments/copy-to/"

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Links
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


images{"Images"} ==> Dataset-stage ==> Split == No ==> OpenSFM ==> Openmvs
Openmvs ==> Odm-filterpoints ==> Odm-meshing ==> Mvs-texturing ==> Odm-georeferencing
Odm-georeferencing ==> Odm-dem ==> Odm-orthophoto ==> Odm-report ==> Odm-postprocess

%% Split yes
%%Split == Yes ==> Spliting == Merge ==> OpenSFM-detect-features
Split == Yes ==> Spliting ==> OpenSFM

%% Styles

%% Style for options
classDef options fill:#ffffde,stroke-width:4px,stroke-dasharray:5,stroke:#f66

%% Style for stages
classDef stages fill:#3699db,rx:10,ry:10,rx:10,ry:10,stroke:#333,stroke-width:2px,font-size:15pt;
class Dataset-stage,Split,OpenSFM,Openmvs,Odm-filterpoints stages
class Odm-meshing,Mvs-texturing,Odm-georeferencing,Odm-dem stages
class Odm-orthophoto,Odm-report,Odm-postprocess,Spliting stages

classDef imagesstyle fill:#64ff0c,rx:10,ry:10,stroke:#333,stroke-width:2px;
class images imagesstyle
1 change: 1 addition & 0 deletions source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ The documentation is available in several languages. Some translations are incom
.. toctree::
tutorials
arguments
flowchart
outputs
gcp
map-accuracy
Expand Down
Loading

0 comments on commit a0a93c1

Please sign in to comment.