Helios++
Helios software for LiDAR simulations
MainHelp.h
1
#pragma once
2
3
#include <iostream>
4
5
namespace
helios {
namespace
main{
6
10
void
printMainHelp(){
11
std::cout <<
"HELIOS++ main help:\n\n"
12
<<
"\tSyntax: helios <survey_file_path> [OPTIONAL ARGUMENTS]\n\n"
13
<<
"\tOPTIONAL ARGUMENTS:\n\n"
14
15
<<
"\t\t-h or --help : Show this help\n\n"
16
17
<<
"\t\t--version : Show the full version of HELIOS++\n\n"
18
19
<<
"\t\t--test : Run tests to check helios++ behaves as expected\n\n"
20
21
<<
"\t\t--unzip <input_path> <output_path>\n"
22
<<
"\t\t\tDecompress the file at input path and write it decompressed "
23
<<
"at output path.\n"
24
<<
"\t\t\tFile at input path must be the compressed output of helios++"
25
<<
"\n\n"
26
27
<<
"\t\t--assets <dir_path> : Specify the path to assets directory\n"
28
<<
"\t\t\tBy default: ./assets/\n\n"
29
30
<<
"\t\t--output <dir_path> : Specify the path to output directory\n"
31
<<
"\t\t\tBy default: ./output/\n\n"
32
33
<<
"\t\t--splitByChannel : Use this flag to enable the one-file-per-device"
34
"\n\t\t\twriting mode when using a multi-channel scanner.\n"
35
"\t\t\tBy default one-file-for-all writing is enabled\n\n"
36
37
<<
"\t\t--writeWaveform : Use this flag to enable full waveform "
38
<<
"writing\n"
39
<<
"\t\t\tBy default waveform is NOT written to output file\n\n"
40
41
<<
"\t\t--calcEchowidth : Use this flag to enable full waveform "
42
<<
"fitting\n"
43
<<
"\t\t\tBy default the full waveform is NOT fitted\n\n"
44
45
<<
"\t\t--fullwaveNoise : Use this flag to add noise when computing "
46
<<
"full waveform\n"
47
<<
"\t\t\tBy default: full waveform noise is disabled\n\n"
48
49
<<
"\t\t--fixedIncidenceAngle : Use this flag to use fixed incidence "
50
<<
"angle\n"
51
<<
"\t\t\tFixed incidence angle of exactly 0.0 will be considered for "
52
<<
"all intersections\n\n"
53
54
<<
"\t\t--seed <seed>: Specify the seed for randomness generation\n"
55
<<
"\t\t\tIt can be an intenger, a decimal or a timestamp with format "
56
<<
"\n\t\t\tYYYY-mm-DD HH::MM::SS\n"
57
<<
"\t\t\t\tBy default: a random seed is generated\n\n"
58
59
<<
"\t\t--gpsStartTime <string>: Specify a fixed start time for GPS\n"
60
<<
"\t\t\tIt can be either a posix timestamp or a"
61
"\"YYYY-MM-DD hh:mm:ss\" date time string\n"
62
<<
"\t\t\t\tBy default: An empty string \"\" is used, which leads to\n"
63
<<
"\t\t\t\t\tusing current system time\n\n"
64
65
<<
"\t\t--lasOutput : Use this flag to generate the output point cloud "
66
"in LAS format (v 1.4)\n\n"
67
<<
"\t\t--las10: Use this flag to write in LAS format (v 1.0)\n\n"
68
69
<<
"\t\t--zipOutput : Use this flag to generate compressed output\n\n"
70
71
<<
"\t\t--lasScale : Specify the decimal scale factor for LAS output"
72
<<
"\n\n"
73
74
<<
"\t\t--parallelization <integer> : Specify the parallelization "
75
<<
"strategy\n"
76
<<
"\t\t\t0 for a static/dynamic chunk based parallelization and 1 "
77
<<
"for a\n\t\t\twarehouse based one."
78
<<
"\n\t\t\t\tBy default: Static/dynamic chunk based strategy is used"
79
<<
"\n\n"
80
81
<<
"\t\t-j or --njobs or --nthreads <integer> : Specify the number of"
82
<<
"\n\t\t\tjobs to be used to compute the simulation\n"
83
<<
"\t\t\t\tBy default: all available threads are used\n\n"
84
85
<<
"\t\t--chunkSize <integer> : Specify the chunk size to be used for"
86
<<
"\n\t\t\tparallel computing. If a negative number is given, then "
87
<<
"its"
88
<<
"\n\t\t\tabsolute value is used as starting size of the dynamic "
89
<<
"chunk-size strategy."
90
<<
"\n\t\t\tPositive numbers specify the size for a static chunk-size "
91
<<
"strategy"
92
<<
"\n\t\t\t\tBy default: 32\n\n"
93
94
<<
"\t\t--warehouseFactor <integer> : Specify the warehouse factor."
95
<<
"\n\t\t\tThe number of tasks in the warehouse would be k times the "
96
<<
"\n\t\t\tnumber of workers. The greater the factor, the less the "
97
<<
"\n\t\t\tprobability of idle cores but the greater the memory "
98
<<
"consumption."
99
<<
"\n\t\t\t\tBy default: 4\n\n"
100
101
<<
"\t\t--rebuildScene : Force scene rebuild even when a previously\n"
102
<<
"\t\t\tbuilt scene is available\n"
103
<<
"\t\t\t\tBy default: previous scene is used if found\n\n"
104
105
<<
"\t\t--kdt <integer> : Specify the type of KDTree to be built for "
106
<<
"for the scene\n"
107
<<
"\t\t\tUsing 1 is for the simple KDTree based on median "
108
<<
" balancing, 2 for \n"
109
<<
"\t\t\tthe SAH based KDTree, 3 for the SAH with best axis\n"
110
<<
"\t\t\tbased KDTree and 4 (default) for a fast SAH "
111
<<
"approximation\n\n"
112
113
<<
"\t\t--kdtJobs <integer> : Specify the number of threads to be used"
114
" for building the KDTree.\n"
115
"\t\t\tIf 1, then the KDTree will be built in a sequential fashion"
116
"\n\t\t\tIf >1, then the KDTree will be built in a parallel fashion"
117
"\n\t\t\tIf 0, then the KDTree will be built using as many threads "
118
"as available\n\n"
119
120
<<
"\t\t--kdtGeomJobs <integer> : Specify the number of threads to "
121
"be used for building the\n\t\t\t"
122
"upper nodes of the KDTree (geometry-level parallelization).\n"
123
"\t\t\tIf 1, then there is no geometry-level parallelization"
124
"\n\t\t\tIf >1, then geometry-level parallelization uses as many "
125
"threads as specified."
126
"\n\t\t\tIf 0 (default), then geometry-level parallelization uses"
127
"\n\t\t\tas many threads as node-level.\n\n"
128
129
130
<<
"\t\t--sahNodes <integer> : Specify how many nodes must be used by "
131
<<
"the\n"
132
<<
"\t\t\tSurface Area Heuristic when building a SAH based KDTree\n"
133
<<
"\t\t\tFor the SAH KDTree it is recommended to be 21.\n"
134
<<
"\t\t\tMore nodes lead to a best search process\n"
135
<<
"\t\t\tto find split position, at the expenses of a\n"
136
<<
"\t\t\tgreater computational cost. When using a fast SAH\n"
137
<<
"\t\t\tapproximation it is recommended to set this to 32 (default)"
138
<<
".\n\n"
139
140
<<
"\t\t--disablePlatformNoise : Disable platform noise, no matter\n"
141
<<
"\t\t\twhat is specified on XML files\n"
142
<<
"\t\t\t\tBy default: XML specifications are considered\n\n"
143
144
<<
"\t\t--disableLegNoise : Disable leg noise, no matter what is\n"
145
<<
"\t\t\tspecified on XML files\n"
146
<<
"\t\t\t\tBy default: XML specifications are considered\n\n"
147
148
<<
"\t\t--logFile : Logging will be outputted to a file, not only\n"
149
<<
"\t\t\tto standard output.\n"
150
<<
"\t\t\t\tBy default: logging will be written to standard output\n\n"
151
152
<<
"\t\t--logFileOnly : Logging will be outputted ONLY to a file\n"
153
<<
"\t\t\tBy default: logging will be outputted to standard output\n\n"
154
155
<<
"\t\t--silent : Disable logging output\n"
156
<<
"\t\t\tBy default: only information and errors are reported\n\n"
157
158
<<
"\t\t-q or --quiet : Specify the verbosity level to errors only\n"
159
<<
"\t\t\tBy default: only information and errors are reported\n\n"
160
161
<<
"\t\t-vt : Specify the verbosity level to time and errors only\n"
162
<<
"\t\t\tBy default: only information and errors are reported\n\n"
163
164
165
<<
"\t\t-v : Specify the verbosity level to errors, information and "
166
<<
"warnings\n"
167
<<
"\t\t\tBy default: only information and errors are reported\n\n"
168
169
<<
"\t\t-v2 or -vv : Specify the verbosity level to report all "
170
<<
"messages\n"
171
<<
"\t\t\tBy default: only information and errors are reported\n\n"
172
173
#ifdef PCL_BINDING
174
<<
"\n\n\tDEV-MODE ONLY ARGUMENTS:\n\n"
175
"\t\t--demo <demo_name>\n"
176
"\t\t\tRun demo with given name.\n"
177
"\t\t\t\tFor example: --demo simple_primitives\n\n"
178
#endif
179
<< std::endl;
180
}
181
182
}}
src
main
MainHelp.h
Generated by
1.9.1