Merge pull request #183 from sbonaime/mermaid_flowchart

pull/186/head
Saijin-Naib 2024-06-27 07:24:15 -04:00 zatwierdzone przez GitHub
commit a0a93c1ccc
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
8 zmienionych plików z 304 dodań i 24 usunięć

2
.gitignore vendored
Wyświetl plik

@ -2,6 +2,8 @@ _build
venv
venv_prod
.vscode
.venv
.venv_prod
# Base ignores:
# =============

Wyświetl plik

@ -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.

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -33,8 +33,15 @@ release = version
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

Wyświetl plik

@ -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

Wyświetl plik

@ -50,6 +50,7 @@ The documentation is available in several languages. Some translations are incom
.. toctree::
tutorials
arguments
flowchart
outputs
gcp
map-accuracy

Wyświetl plik

@ -1,31 +1,31 @@
How To Request Features
=======================
All software needs user feedback and feature requests, to grow and maintain
alignment with the needs of its users.
All software needs user feedback and feature requests, to grow and maintain
alignment with the needs of its users.
OpenDroneMap is FOSS software. Free and open source (FOSS) projects are interesting
from the inside and outside: from the outside, successful ones feel like they should be able
to do anything, and its hard to know what a reasonable request is. From the inside of a
project, they can feel very resource constrained: largely by time, money, and opportunity
OpenDroneMap is FOSS software. Free and open source (FOSS) projects are interesting
from the inside and outside: from the outside, successful ones feel like they should be able
to do anything, and its hard to know what a reasonable request is. From the inside of a
project, they can feel very resource constrained: largely by time, money, and opportunity
overload.
**Demanding that a feature be implemented is probably not going to convince the development team to do so**. Imagine
**Demanding that a feature be implemented is probably not going to convince the development team to do so**. Imagine
if somebody knocked on your door and asked you to "stop reading this page right now and come to my house to cook me dinner!". Your first response might very reasonably be "who on earth is this person and why should I spend my time and energy fulfilling his agenda instead of my own?".
**Suggesting** that a feature be implemented is a more effective (and cordial) way to ask for new features, especially if you're prepared to offer some of your own resources (time, funds or both) to help get the feature implemented. Explaining why
**Suggesting** that a feature be implemented is a more effective (and cordial) way to ask for new features, especially if you're prepared to offer some of your own resources (time, funds or both) to help get the feature implemented. Explaining why
*your* suggestion can benefit others can also help. If the feature benefits you exclusively, it might be harder to convince others to do the work for you.
A feature request can be submitted as issues on the applicable Github repository (e.g.,
`WebODM <https://github.com/OpenDroneMap/WebODM/issues>`_ or `ODM <https://github.com/OpenDroneMap/ODM/issues>`_
or similar) or more simply as a discussion topic on `the community forum <https://community.opendronemap.org/>`_.
Try to start by searching these sources to see if someone else has already brought it up. Sometimes a feature is already in
A feature request can be submitted as issues on the applicable Github repository (e.g.,
`WebODM <https://github.com/OpenDroneMap/WebODM/issues>`_ or `ODM <https://github.com/OpenDroneMap/ODM/issues>`_
or similar) or more simply as a discussion topic on `the community forum <https://community.opendronemap.org/>`_.
Try to start by searching these sources to see if someone else has already brought it up. Sometimes a feature is already in
the works, or has at least been discussed.
To request the addition of support for new drone cameras: please share a set of test images on the `datasets channel on the forum <https://community.opendronemap.org/c/datasets/10>`_. Without test images there's not much the developers can do.
And importantly, the trick is to listen: if someone within the project says: "This is a big lift,
we need MONEY or TIME or SOMEONE TO HELP CODE IT" (or possibly a combination of the three)
And importantly, the trick is to listen: if someone within the project says: "This is a big lift,
we need MONEY or TIME or SOMEONE TO HELP CODE IT" (or possibly a combination of the three)
then there are two answers that work really well in response:
*Ok. I didnt know it was a big feature request! I hope someone comes along with the necessary resources. As a community member, I would be happy to be an early user and tester!*
@ -34,9 +34,9 @@ or
*Lets figure out if we can put together the resources to get this done! Heres what I can contribute toward it: …*
We are glad you are excited to see new features added to the project. Some new features need support,
and some are easier to implement. We'll do our best to help you understand where your request falls, and
We are glad you are excited to see new features added to the project. Some new features need support,
and some are easier to implement. We'll do our best to help you understand where your request falls, and
we appreciate any support you can provide.
`Learn to edit <https://github.com/opendronemap/docs#how-to-make-your-first-contribution>`_ and help improve `this page <https://github.com/OpenDroneMap/docs/blob/publish/source/requesting-features.rst>`_!
`Learn to edit <https://github.com/opendronemap/docs#how-to-make-your-first-contribution>`_ and help improve `this page <https://github.com/OpenDroneMap/docs/blob/publish/source/requesting-features.rst>`_!