From f825166913037bc0646f1d2d406442c80bd186bc Mon Sep 17 00:00:00 2001 From: bonaime Date: Thu, 23 May 2024 11:32:02 +0200 Subject: [PATCH] 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 `_!