From f825166913037bc0646f1d2d406442c80bd186bc Mon Sep 17 00:00:00 2001 From: bonaime Date: Thu, 23 May 2024 11:32:02 +0200 Subject: [PATCH 1/8] first mermaid flowchart in the doc --- requirements.txt | 2 +- source/conf.py | 4 +- source/flowchart.rst | 161 +++++++++++++++++++++++++++++++++ source/index.rst | 1 + source/requesting-features.rst | 34 +++---- 5 files changed, 183 insertions(+), 19 deletions(-) create mode 100644 source/flowchart.rst diff --git a/requirements.txt b/requirements.txt index a5264d119..39565160f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,4 @@ 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 diff --git a/source/conf.py b/source/conf.py index 108a3f1ba..e2f816e44 100644 --- a/source/conf.py +++ b/source/conf.py @@ -33,7 +33,9 @@ release = version extensions = [ 'sphinx.ext.todo', 'sphinx_rtd_theme', - 'sphinx.ext.githubpages' + 'sphinx.ext.githubpages', + 'sphinxcontrib.mermaid' + ] #For internationalization: locale_dirs = ['locale/'] diff --git a/source/flowchart.rst b/source/flowchart.rst new file mode 100644 index 000000000..b1a0ad6ba --- /dev/null +++ b/source/flowchart.rst @@ -0,0 +1,161 @@ +.. Flowchart with options + +Flowchart with options +======================= + +.. mermaid:: + + %%{init: {'theme':'neutral','flowchart': { 'curve': 'bumpX' ,"defaultRenderer": "elk"}}}%% + + + %% Style de curve bumpX + + graph LR + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% 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 + + + + subgraph Split["`**Split**`"] + sm_cluster:::options + sm_no_align:::options + split:::options + split_image_groups:::options + split_overlap:::options + end + + subgraph OpenSFM["`**OpenSFM**`"] + feature_quality:::options + feature_type:::options + force_gps:::options + ignore_gsd:::options + matcher-neighbors:::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 + + subgraph openmvs["`**openmvs**`"] + pc_filter:::options + pc_skip_geometric:::options + end + + subgraph odm_filterpoints["`**odm_filterpoints**`"] + auto_boundary:::options + auto_boundary_distance:::options + boundary:::options + fast_orthophoto:::options + pc_sample:::options + end + + subgraph odm_meshing["`**odm_meshing**`"] + mesh_octree_depth:::options + mesh_size:::options + skip_3dmodel:::options + end + + 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 + + + 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 + + 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 + + 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 + + subgraph odm_report["`**odm_report**`"] + skip-report:::options + end + + subgraph odm_postprocess["`**odm_postprocess**`"] + 3d-tiles:::options + copy_to:::options + end + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% Links + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + 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 stroke-width:4px,stroke-dasharray: 5,fill:#b0e760 + + %% Style for stages + classDef stages fill:#f96,stroke:#333,stroke-width:4px; + + + style images fill:#f9f,stroke:#333,stroke-width:4px + + diff --git a/source/index.rst b/source/index.rst index c2157c5f1..ed938ea98 100644 --- a/source/index.rst +++ b/source/index.rst @@ -49,6 +49,7 @@ The documentation is available in several languages. Some translations are incom .. toctree:: tutorials + flowchart arguments outputs gcp diff --git a/source/requesting-features.rst b/source/requesting-features.rst index 6acde16ee..1e380295a 100644 --- a/source/requesting-features.rst +++ b/source/requesting-features.rst @@ -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 it’s 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 it’s 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 `_ or `ODM `_ -or similar) or more simply as a discussion topic on `the community forum `_. -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 `_ or `ODM `_ +or similar) or more simply as a discussion topic on `the community forum `_. +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 `_. 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 didn’t 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 *Let’s figure out if we can put together the resources to get this done! Here’s 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 `_ and help improve `this page `_! \ No newline at end of file +`Learn to edit `_ and help improve `this page `_! From 689759d365672a00b5c6647b20af51c005af9643 Mon Sep 17 00:00:00 2001 From: bonaime Date: Thu, 23 May 2024 15:35:16 +0200 Subject: [PATCH 2/8] better style --- source/flowchart.rst | 283 +++++++++++++++++++++++-------------------- 1 file changed, 151 insertions(+), 132 deletions(-) diff --git a/source/flowchart.rst b/source/flowchart.rst index b1a0ad6ba..f488b5079 100644 --- a/source/flowchart.rst +++ b/source/flowchart.rst @@ -5,157 +5,176 @@ Flowchart with options .. mermaid:: - %%{init: {'theme':'neutral','flowchart': { 'curve': 'bumpX' ,"defaultRenderer": "elk"}}}%% + flowchart TB + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% Subgraph Stages + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %% Style de curve bumpX - - graph LR - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %% 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 + 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 - subgraph Split["`**Split**`"] - sm_cluster:::options - sm_no_align:::options - split:::options - split_image_groups:::options - split_overlap:::options - end + subgraph Split["`**Split**`"] + direction TB + sm_cluster:::options + sm_no_align:::options + split:::options + split_image_groups:::options + split_overlap:::options + end - subgraph OpenSFM["`**OpenSFM**`"] - feature_quality:::options - feature_type:::options - force_gps:::options - ignore_gsd:::options - matcher-neighbors:::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 + Spliting - subgraph openmvs["`**openmvs**`"] - pc_filter:::options - pc_skip_geometric:::options - end - - subgraph odm_filterpoints["`**odm_filterpoints**`"] - auto_boundary:::options - auto_boundary_distance:::options - boundary:::options - fast_orthophoto:::options - pc_sample:::options - end - - subgraph odm_meshing["`**odm_meshing**`"] - mesh_octree_depth:::options - mesh_size:::options - skip_3dmodel:::options - end - - 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 + 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 - 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 + subgraph openmvs["`**openmvs**`"] + pc_filter:::options + pc_skip_geometric:::options + end + pc_filter ~~~ pc_skip_geometric - 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 + 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 - 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 + subgraph odm_meshing["`**odm_meshing**`"] + mesh_octree_depth:::options + mesh_size:::options + skip_3dmodel:::options + end + mesh_octree_depth ~~~ mesh_size ~~~ skip_3dmodel - subgraph odm_report["`**odm_report**`"] - skip-report:::options - end + 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 - subgraph odm_postprocess["`**odm_postprocess**`"] - 3d-tiles:::options - copy_to:::options - end + 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 - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %% Links - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + 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 - 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 + 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 - %% Split yes - %%Split -- Yes ----> Spliting -- Merge ----> OpenSFM_detect_features - Split -- Yes --> Spliting --> OpenSFM + subgraph odm_report["`**odm_report**`"] + skip-report:::options + end - %% Styles + subgraph odm_postprocess["`**odm_postprocess**`"] + 3d-tiles:::options + copy_to:::options + end + 3d-tiles ~~~ copy_to - %% Style for options - classDef options stroke-width:4px,stroke-dasharray: 5,fill:#b0e760 - - %% Style for stages - classDef stages fill:#f96,stroke:#333,stroke-width:4px; + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% Links + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - style images fill:#f9f,stroke:#333,stroke-width:4px + 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 stroke-width:4px,stroke-dasharray: 5,fill:#ecc4a5 + + %% Style for stages + classDef stages fill:#5dbae8,rx:10,ry:10 + 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 stages + + classDef splitingstyle fill:#5dbae8,rx:10,ry:10 + class Spliting splitingstyle + + classDef imagesstyle fill:#b0e760,rx:10,ry:10 + class images imagesstyle From 166fe5d8be54ac8e453791f40038c1ab05c2715b Mon Sep 17 00:00:00 2001 From: bonaime Date: Fri, 24 May 2024 11:12:07 +0200 Subject: [PATCH 3/8] zoom with flowchart \n update .venv doc \n links to options --- README.md | 8 +- requirements.txt | 1 + requirements_prod.txt | 1 + source/flowchart.rst | 286 +++++++++++++++++++++++++++--------------- 4 files changed, 192 insertions(+), 104 deletions(-) diff --git a/README.md b/README.md index 112952e8d..0862f5dff 100644 --- a/README.md +++ b/README.md @@ -87,14 +87,14 @@ 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 ``` diff --git a/requirements.txt b/requirements.txt index 39565160f..ec45ba82c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,4 @@ sphinx-autobuild==2021.3.14 sphinx-intl==2.0.1 sphinx-rtd-theme==1.1.1 transifex-client==0.12.5 +sphinxcontrib-mermaid==0.9.2 diff --git a/requirements_prod.txt b/requirements_prod.txt index 2c469b7d6..b7ccc05e9 100644 --- a/requirements_prod.txt +++ b/requirements_prod.txt @@ -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 diff --git a/source/flowchart.rst b/source/flowchart.rst index f488b5079..6fd3c6698 100644 --- a/source/flowchart.rst +++ b/source/flowchart.rst @@ -4,6 +4,7 @@ Flowchart with options ======================= .. mermaid:: + :zoom: flowchart TB @@ -11,155 +12,243 @@ Flowchart with options %% Subgraph Stages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - subgraph dataset_stage["`**dataset_stage**`"] - bg_removal:::options + 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 + 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 + 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 + sm-cluster:::options + sm-no-align:::options split:::options - split_image_groups:::options - split_overlap:::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 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 + 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 + 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 + 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 + pc-filter:::options + pc-skip-geometric:::options end - pc_filter ~~~ pc_skip_geometric + pc-filter ~~~ pc-skip-geometric - subgraph odm_filterpoints["`**odm_filterpoints**`"] - auto_boundary:::options - auto_boundary_distance:::options + 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 + fast-orthophoto:::options + pc-sample:::options end - auto_boundary ~~~ auto_boundary_distance ~~~ boundary ~~~ fast_orthophoto ~~~ pc_sample + auto-boundary ~~~ auto-boundary-distance ~~~ boundary ~~~ fast-orthophoto ~~~ pc-sample - subgraph odm_meshing["`**odm_meshing**`"] - mesh_octree_depth:::options - mesh_size:::options - skip_3dmodel:::options + 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 + mesh-octree-depth ~~~ mesh-size ~~~ skip-3dmodel - subgraph mvs_texturing["`**mvs_texturing**`"] + 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 + 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 + gltf ~~~ texturing-keep-unseen-faces ~~~ texturing-single-material ~~~ texturing-skip-global-seam-leveling ~~~ use-3dmesh - subgraph odm_georeferencing["`**odm_georeferencing**`"] + 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 + 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 + align ~~~ crop ~~~ pc-classify ~~~ pc-copc ~~~ pc-csv + pc-ept ~~~ pc-las ~~~ pc-rectify - subgraph odm_dem["`**odm_dem**`"] + 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 + 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 + 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 + cog ~~~ dem-decimation ~~~ dem-euclidean-map ~~~ dem-gapfill-steps ~~~ dem-resolution + dsm ~~~ dtm ~~~ smrf-scalar ~~~ smrf-slope ~~~ smrf-threshold ~~~ 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 + 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 + build-overviews ~~~ orthophoto-compression ~~~ orthophoto-cutline ~~~ orthophoto-kmz + orthophoto-no-tiled ~~~ orthophoto-png ~~~ orthophoto-resolution ~~~ skip-orthophoto - subgraph odm_report["`**odm_report**`"] + 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 - subgraph odm_postprocess["`**odm_postprocess**`"] + click skip-report "../arguments/skip-report/" + + subgraph odm-postprocess["`**odm-postprocess**`"] 3d-tiles:::options - copy_to:::options + copy-to:::options end - 3d-tiles ~~~ copy_to + 3d-tiles ~~~ copy-to + + click 3d-tiles "../arguments/3d-tiles/" + click copy-to "../arguments/copy-to/" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Links %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - 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 + 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 -- Merge ----> OpenSFM-detect-features Split -- Yes --> Spliting --> OpenSFM %% Styles @@ -168,13 +257,10 @@ Flowchart with options classDef options stroke-width:4px,stroke-dasharray: 5,fill:#ecc4a5 %% Style for stages - classDef stages fill:#5dbae8,rx:10,ry:10 - 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 stages - - classDef splitingstyle fill:#5dbae8,rx:10,ry:10 - class Spliting splitingstyle + classDef stages fill:#11b7aa,rx:10,ry:10 + 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:#b0e760,rx:10,ry:10 class images imagesstyle From c0daf068b8c3fee62d3f1860bbb7f49c1d00ba52 Mon Sep 17 00:00:00 2001 From: bonaime Date: Fri, 24 May 2024 11:24:56 +0200 Subject: [PATCH 4/8] README fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0862f5dff..1d0eb74e6 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ source .venv/bin/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. From 1dba32e22fb4d9cbee92fb9c9e8b5d18d534f11e Mon Sep 17 00:00:00 2001 From: bonaime Date: Fri, 24 May 2024 12:09:28 +0200 Subject: [PATCH 5/8] change colors for flowchart gitignore for .venv --- .gitignore | 1 + source/flowchart.rst | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 956fc7850..b75fdae3d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ _build venv venv_prod .vscode +.venv # Base ignores: # ============= diff --git a/source/flowchart.rst b/source/flowchart.rst index 6fd3c6698..6f1086a5d 100644 --- a/source/flowchart.rst +++ b/source/flowchart.rst @@ -254,10 +254,10 @@ Flowchart with options %% Styles %% Style for options - classDef options stroke-width:4px,stroke-dasharray: 5,fill:#ecc4a5 + classDef options fill:#ffdfef,stroke-width:4px,stroke-dasharray: 5 %% Style for stages - classDef stages fill:#11b7aa,rx:10,ry:10 + classDef stages fill:#ffe771,rx:10,ry:10 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 From e3aa06c20cd5653b9f8c1c2c6c62e8520e476802 Mon Sep 17 00:00:00 2001 From: bonaime Date: Wed, 29 May 2024 17:17:02 +0200 Subject: [PATCH 6/8] change colors --- .gitignore | 1 + source/flowchart.rst | 482 ++++++++++++++++++++++--------------------- 2 files changed, 243 insertions(+), 240 deletions(-) diff --git a/.gitignore b/.gitignore index b75fdae3d..8a96a071b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ venv venv_prod .vscode .venv +.venv_prod # Base ignores: # ============= diff --git a/source/flowchart.rst b/source/flowchart.rst index 6f1086a5d..34d13c5c4 100644 --- a/source/flowchart.rst +++ b/source/flowchart.rst @@ -8,259 +8,261 @@ Flowchart with options 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/" + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% Subgraph Stages + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - Spliting + 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 - 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/" + 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 openmvs["`**openmvs**`"] - pc-filter:::options - pc-skip-geometric:::options - end - pc-filter ~~~ pc-skip-geometric + 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/" - click pc-filter "../arguments/pc-filter/" - click pc-skip-geometric "../arguments/pc-skip-geometric/" + Spliting["`**Spliting**`"] - 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 + 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 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 - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + 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/" - 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 + subgraph Openmvs["`**Openmvs**`"] + pc-filter:::options + pc-skip-geometric:::options + end + pc-filter ~~~ pc-skip-geometric - %% Split yes - %%Split -- Yes ----> Spliting -- Merge ----> OpenSFM-detect-features - Split -- Yes --> Spliting --> OpenSFM + click pc-filter "../arguments/pc-filter/" + click pc-skip-geometric "../arguments/pc-skip-geometric/" - %% Styles + 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 - %% Style for options - classDef options fill:#ffdfef,stroke-width:4px,stroke-dasharray: 5 + 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/" - %% Style for stages - classDef stages fill:#ffe771,rx:10,ry:10 - 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 + subgraph Odm-meshing["`**Odm-meshing**`"] + mesh-octree-depth:::options + mesh-size:::options + skip-3dmodel:::options + end + mesh-octree-depth ~~~ mesh-size ~~~ skip-3dmodel - classDef imagesstyle fill:#b0e760,rx:10,ry:10 - class images imagesstyle + 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 From 068d09b56a326cf1947638c8e28c315d6bc84488 Mon Sep 17 00:00:00 2001 From: bonaime Date: Wed, 29 May 2024 17:21:31 +0200 Subject: [PATCH 7/8] mermaid engine version --- source/conf.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/conf.py b/source/conf.py index e2f816e44..38ae4f22f 100644 --- a/source/conf.py +++ b/source/conf.py @@ -37,6 +37,11 @@ extensions = [ 'sphinxcontrib.mermaid' ] + +# mermaid version +mermaid_version = "10.9.1" + + #For internationalization: locale_dirs = ['locale/'] gettext_compact = False From c5bae8972819f79aa1f379b7573e3b1085bc2d60 Mon Sep 17 00:00:00 2001 From: bonaime Date: Thu, 27 Jun 2024 13:21:23 +0200 Subject: [PATCH 8/8] move chart after options and flags --- source/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/index.rst b/source/index.rst index ed938ea98..4665b5f3c 100644 --- a/source/index.rst +++ b/source/index.rst @@ -49,8 +49,8 @@ The documentation is available in several languages. Some translations are incom .. toctree:: tutorials - flowchart arguments + flowchart outputs gcp map-accuracy