69# pragma warning(disable : 4251)
85 static constexpr const char *path{
"" };
88 static constexpr const char *name{
"Settings" };
91 static constexpr const char *description{
92 R
"description(Settings used when capturing with a Zivid camera)description"
95 static constexpr size_t version{ 22 };
105 static constexpr std::array<uint8_t, 3> binaryId{
's',
'e',
't' };
119 static constexpr const char *path{
"Acquisition" };
122 static constexpr const char *name{
"Acquisition" };
125 static constexpr const char *description{ R
"description(Settings for a single acquisition)description" };
139 static constexpr const char *path{
"Acquisition/Aperture" };
142 static constexpr const char *name{
"Aperture" };
145 static constexpr const char *description{
146 R
"description(Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to
147the effective aperture diameter).
157 return { 1.4, 32.0 };
165 : m_opt{ verifyValue(value) }
186 return m_opt == other.m_opt;
192 return m_opt != other.m_opt;
198 return m_opt < other.m_opt;
204 return m_opt > other.m_opt;
210 return m_opt <= other.m_opt;
216 return m_opt >= other.m_opt;
226 void setFromString(
const std::string &value);
228 constexpr ValueType
static verifyValue(
const ValueType &value)
230 return validRange().isInRange(value)
232 :
throw std::out_of_range{
"Aperture{ " + std::to_string(value) +
" } is not in range ["
233 + std::to_string(validRange().min()) +
", "
234 + std::to_string(validRange().max()) +
"]" };
237 Zivid::DataModel::Detail::Optional<double> m_opt;
239 friend struct DataModel::Detail::Befriend<
Aperture>;
262 static constexpr const char *path{
"Acquisition/Brightness" };
265 static constexpr const char *name{
"Brightness" };
268 static constexpr const char *description{
269 R
"description(Brightness controls the light output from the projector.
271Brightness above 1.0 may be needed when the distance between the camera and the scene is large,
272or in case of high levels of ambient lighting.
274When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera
275can capture) will be reduced. The duty cycle in boost mode is 50%. The duty cycle is calculated
276over a 10 second period. This limitation is enforced automatically by the camera. Calling capture
277when the duty cycle limit has been reached will cause the camera to first wait (sleep) for a
278duration of time to cool down, before capture will start.
296 : m_opt{ verifyValue(value) }
317 return m_opt == other.m_opt;
323 return m_opt != other.m_opt;
329 return m_opt < other.m_opt;
335 return m_opt > other.m_opt;
341 return m_opt <= other.m_opt;
347 return m_opt >= other.m_opt;
357 void setFromString(
const std::string &value);
359 constexpr ValueType
static verifyValue(
const ValueType &value)
361 return validRange().isInRange(value)
363 :
throw std::out_of_range{
"Brightness{ " + std::to_string(value)
364 +
" } is not in range [" + std::to_string(validRange().min())
365 +
", " + std::to_string(validRange().max()) +
"]" };
368 Zivid::DataModel::Detail::Optional<double> m_opt;
370 friend struct DataModel::Detail::Befriend<
Brightness>;
383 static constexpr const char *path{
"Acquisition/ExposureTime" };
386 static constexpr const char *name{
"ExposureTime" };
389 static constexpr const char *description{
390 R
"description(Exposure time for each single image in the measurement. Affects frame rate.)description"
399 return { std::chrono::microseconds{ 1677 }, std::chrono::microseconds{ 100000 } };
407 : m_opt{ verifyValue(value) }
414 std::chrono::microseconds
value()
const;
428 return m_opt == other.m_opt;
434 return m_opt != other.m_opt;
440 return m_opt < other.m_opt;
446 return m_opt > other.m_opt;
452 return m_opt <= other.m_opt;
458 return m_opt >= other.m_opt;
468 void setFromString(
const std::string &value);
470 constexpr ValueType
static verifyValue(
const ValueType &value)
472 return validRange().isInRange(value)
474 :
throw std::out_of_range{
"ExposureTime{ " + std::to_string(value.count())
475 +
" } is not in range ["
476 + std::to_string(validRange().min().count()) +
", "
477 + std::to_string(validRange().max().count()) +
"]" };
480 Zivid::DataModel::Detail::Optional<std::chrono::microseconds> m_opt;
482 friend struct DataModel::Detail::Befriend<
ExposureTime>;
495 static constexpr const char *path{
"Acquisition/Gain" };
498 static constexpr const char *name{
"Gain" };
501 static constexpr const char *description{ R
"description(Analog gain in the camera)description" };
516 explicit constexpr Gain(
double value)
517 : m_opt{ verifyValue(value) }
538 return m_opt == other.m_opt;
544 return m_opt != other.m_opt;
550 return m_opt < other.m_opt;
556 return m_opt > other.m_opt;
562 return m_opt <= other.m_opt;
568 return m_opt >= other.m_opt;
578 void setFromString(
const std::string &value);
580 constexpr ValueType
static verifyValue(
const ValueType &value)
582 return validRange().isInRange(value)
584 :
throw std::out_of_range{
"Gain{ " + std::to_string(value) +
" } is not in range ["
585 + std::to_string(validRange().min()) +
", "
586 + std::to_string(validRange().max()) +
"]" };
589 Zivid::DataModel::Detail::Optional<double> m_opt;
591 friend struct DataModel::Detail::Befriend<
Gain>;
620 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
621 typename std::enable_if<
622 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
626 template<typename... Args>
630 using namespace Zivid::Detail::TypeTraits;
633 AllArgsDecayedAreUnique<Args...>::value,
634 "Found duplicate types among the arguments passed to Acquisition(...). "
635 "Types should be listed at most once.");
637 set(std::forward<Args>(args)...);
654 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
656 template<typename... Args>
660 using namespace Zivid::Detail::TypeTraits;
662 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
664 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
667 AllArgsDecayedAreUnique<Args...>::value,
668 "Found duplicate types among the arguments passed to set(...). "
669 "Types should be listed at most once.");
671 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
689 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
691 template<typename... Args>
695 using namespace Zivid::Detail::TypeTraits;
697 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
699 AllArgsAreDescendantNodes::value,
700 "All arguments passed to copyWith(...) must be descendant nodes.");
703 AllArgsDecayedAreUnique<Args...>::value,
704 "Found duplicate types among the arguments passed to copyWith(...). "
705 "Types should be listed at most once.");
708 copy.
set(std::forward<Args>(args)...);
746 m_brightness = value;
753 return m_exposureTime;
759 return m_exposureTime;
765 m_exposureTime = value;
790 typename std::enable_if<std::is_same<T, Settings::Acquisition::Aperture>::value,
int>::type = 0>
798 typename std::enable_if<std::is_same<T, Settings::Acquisition::Brightness>::value,
int>::type = 0>
806 typename std::enable_if<std::is_same<T, Settings::Acquisition::ExposureTime>::value,
int>::type = 0>
809 return m_exposureTime;
814 typename std::enable_if<std::is_same<T, Settings::Acquisition::Gain>::value,
int>::type = 0>
820 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
826 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
832 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
835 return m_exposureTime;
838 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
880 void setFromString(
const std::string &value);
882 void setFromString(
const std::string &fullPath,
const std::string &value);
884 std::string getString(
const std::string &fullPath)
const;
887 Brightness m_brightness;
888 ExposureTime m_exposureTime;
891 friend struct DataModel::Detail::Befriend<
Acquisition>;
904 static constexpr const char *path{
"Acquisitions" };
907 static constexpr const char *name{
"Acquisitions" };
910 static constexpr const char *description{ R
"description(List of Acquisition objects)description" };
918 return { 0, std::numeric_limits<ValueType::size_type>::max() };
926 : m_value{ std::move(value) }
930 explicit Acquisitions(std::initializer_list<Settings::Acquisition> value)
935 const std::vector<Settings::Acquisition> &
value()
const;
941 std::size_t
size() const noexcept;
944 bool isEmpty() const noexcept;
951 template<typename... Args>
952 void emplaceBack(Args &&...args)
954 m_value.emplace_back(std::forward<Args>(args)...);
989 for(
auto &child : m_value)
999 for(
const auto &child : m_value)
1006 using Iterator = std::vector<Settings::Acquisition>::iterator;
1032 return m_value == other.m_value;
1038 return m_value != other.m_value;
1048 void setFromString(
const std::string &value);
1050 std::vector<Settings::Acquisition> m_value{};
1052 friend struct DataModel::Detail::Befriend<
Acquisitions>;
1071 static constexpr const char *path{
"Diagnostics" };
1074 static constexpr const char *name{
"Diagnostics" };
1077 static constexpr const char *description{
1078 R
"description(When Diagnostics is enabled, additional diagnostic data is recorded during capture and included when saving
1079the frame to a .zdf file. This enables Zivid's Customer Success team to provide better assistance and more
1080thorough troubleshooting.
1082Enabling Diagnostics increases the capture time and the RAM usage. It will also increase the size of the
1083.zdf file. It is recommended to enable Diagnostics only when reporting issues to Zivid's support team.
1097 static constexpr const char *path{
"Diagnostics/Enabled" };
1100 static constexpr const char *name{
"Enabled" };
1103 static constexpr const char *description{ R
"description(Enable diagnostics)description" };
1113 return {
false,
true };
1142 return m_opt == other.m_opt;
1148 return m_opt != other.m_opt;
1158 void setFromString(
const std::string &value);
1160 Zivid::DataModel::Detail::Optional<bool> m_opt;
1162 friend struct DataModel::Detail::Befriend<
Enabled>;
1184 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1185 typename std::enable_if<
1186 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1190 template<typename... Args>
1194 using namespace Zivid::Detail::TypeTraits;
1197 AllArgsDecayedAreUnique<Args...>::value,
1198 "Found duplicate types among the arguments passed to Diagnostics(...). "
1199 "Types should be listed at most once.");
1201 set(std::forward<Args>(args)...);
1215 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1217 template<typename... Args>
1221 using namespace Zivid::Detail::TypeTraits;
1223 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1225 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1228 AllArgsDecayedAreUnique<Args...>::value,
1229 "Found duplicate types among the arguments passed to set(...). "
1230 "Types should be listed at most once.");
1232 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1247 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1249 template<typename... Args>
1253 using namespace Zivid::Detail::TypeTraits;
1255 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1257 AllArgsAreDescendantNodes::value,
1258 "All arguments passed to copyWith(...) must be descendant nodes.");
1261 AllArgsDecayedAreUnique<Args...>::value,
1262 "Found duplicate types among the arguments passed to copyWith(...). "
1263 "Types should be listed at most once.");
1266 copy.
set(std::forward<Args>(args)...);
1291 typename std::enable_if<std::is_same<T, Settings::Diagnostics::Enabled>::value,
int>::type = 0>
1297 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1304 template<
typename F>
1311 template<
typename F>
1333 void setFromString(
const std::string &value);
1335 void setFromString(
const std::string &fullPath,
const std::string &value);
1337 std::string getString(
const std::string &fullPath)
const;
1341 friend struct DataModel::Detail::Befriend<
Diagnostics>;
1354 static constexpr const char *path{
"Experimental" };
1357 static constexpr const char *name{
"Experimental" };
1360 static constexpr const char *description{
1361 R
"description(Experimental features. These settings may be changed, renamed, moved or deleted in the future.)description"
1393 static constexpr const char *path{
"Experimental/Engine" };
1396 static constexpr const char *name{
"Engine" };
1399 static constexpr const char *description{ R
"description(Set the Zivid Vision Engine to use.
1401The Phase Engine is the fastest choice in terms of both acquisition time and total capture
1402time, and is a good compromise between quality and speed. The Phase Engine is recommended for
1403objects that are diffuse, opaque, and slightly specular, and is suitable for applications in
1404logistics such as parcel induction.
1406The Stripe Engine is built for exceptional point cloud quality in scenes with highly specular
1407reflective objects. This makes the engine suitable for applications such as factory automation,
1408manufacturing, and bin picking. Additional acquisition and processing time are required for
1411The Omni Engine is built for exceptional point cloud quality on all scenes, including scenes
1412with extremely specular reflective objects, as well as transparent objects. This makes the Omni
1413Engine suitable for applications such as piece picking. Same as for the Stripe Engine, it trades
1414off speed for quality. The Omni Engine is only available for Zivid 2+.
1416The Stripe and Omni engines are currently experimental, and may be changed and improved
1434 return { ValueType::phase, ValueType::stripe, ValueType::omni };
1442 : m_opt{ verifyValue(value) }
1469 return m_opt == other.m_opt;
1475 return m_opt != other.m_opt;
1485 void setFromString(
const std::string &value);
1487 constexpr ValueType
static verifyValue(
const ValueType &value)
1489 return value == ValueType::phase || value == ValueType::stripe || value == ValueType::omni
1491 :
throw std::invalid_argument{
1492 "Invalid value: Engine{ "
1493 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
1497 Zivid::DataModel::Detail::Optional<ValueType> m_opt;
1499 friend struct DataModel::Detail::Befriend<
Engine>;
1521 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1522 typename std::enable_if<
1523 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1527 template<typename... Args>
1531 using namespace Zivid::Detail::TypeTraits;
1534 AllArgsDecayedAreUnique<Args...>::value,
1535 "Found duplicate types among the arguments passed to Experimental(...). "
1536 "Types should be listed at most once.");
1538 set(std::forward<Args>(args)...);
1552 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1554 template<typename... Args>
1558 using namespace Zivid::Detail::TypeTraits;
1560 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1562 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1565 AllArgsDecayedAreUnique<Args...>::value,
1566 "Found duplicate types among the arguments passed to set(...). "
1567 "Types should be listed at most once.");
1569 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1584 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1586 template<typename... Args>
1590 using namespace Zivid::Detail::TypeTraits;
1592 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1594 AllArgsAreDescendantNodes::value,
1595 "All arguments passed to copyWith(...) must be descendant nodes.");
1598 AllArgsDecayedAreUnique<Args...>::value,
1599 "Found duplicate types among the arguments passed to copyWith(...). "
1600 "Types should be listed at most once.");
1603 copy.
set(std::forward<Args>(args)...);
1628 typename std::enable_if<std::is_same<T, Settings::Experimental::Engine>::value,
int>::type = 0>
1634 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1641 template<
typename F>
1648 template<
typename F>
1670 void setFromString(
const std::string &value);
1672 void setFromString(
const std::string &fullPath,
const std::string &value);
1674 std::string getString(
const std::string &fullPath)
const;
1678 friend struct DataModel::Detail::Befriend<
Experimental>;
1691 static constexpr const char *path{
"Processing" };
1694 static constexpr const char *name{
"Processing" };
1697 static constexpr const char *description{
1698 R
"description(Settings related to processing of a capture, including filters and color balance)description"
1711 static constexpr const char *path{
"Processing/Color" };
1714 static constexpr const char *name{
"Color" };
1717 static constexpr const char *description{ R
"description(Color settings)description" };
1729 static constexpr const char *path{
"Processing/Color/Balance" };
1732 static constexpr const char *name{
"Balance" };
1735 static constexpr const char *description{ R
"description(Color balance settings)description" };
1747 static constexpr const char *path{
"Processing/Color/Balance/Blue" };
1750 static constexpr const char *name{
"Blue" };
1753 static constexpr const char *description{
1754 R
"description(Digital gain applied to blue channel)description"
1763 return { 1.0, 8.0 };
1770 explicit constexpr Blue(
double value)
1771 : m_opt{ verifyValue(value) }
1792 return m_opt == other.m_opt;
1798 return m_opt != other.m_opt;
1804 return m_opt < other.m_opt;
1810 return m_opt > other.m_opt;
1816 return m_opt <= other.m_opt;
1822 return m_opt >= other.m_opt;
1832 void setFromString(
const std::string &value);
1834 constexpr ValueType
static verifyValue(
const ValueType &value)
1836 return validRange().isInRange(value)
1838 :
throw std::out_of_range{
"Blue{ " + std::to_string(value)
1839 +
" } is not in range ["
1840 + std::to_string(validRange().min()) +
", "
1841 + std::to_string(validRange().max()) +
"]" };
1844 Zivid::DataModel::Detail::Optional<double> m_opt;
1846 friend struct DataModel::Detail::Befriend<
Blue>;
1859 static constexpr const char *path{
"Processing/Color/Balance/Green" };
1862 static constexpr const char *name{
"Green" };
1865 static constexpr const char *description{
1866 R
"description(Digital gain applied to green channel)description"
1875 return { 1.0, 8.0 };
1883 : m_opt{ verifyValue(value) }
1904 return m_opt == other.m_opt;
1910 return m_opt != other.m_opt;
1916 return m_opt < other.m_opt;
1922 return m_opt > other.m_opt;
1928 return m_opt <= other.m_opt;
1934 return m_opt >= other.m_opt;
1944 void setFromString(
const std::string &value);
1946 constexpr ValueType
static verifyValue(
const ValueType &value)
1948 return validRange().isInRange(value)
1950 :
throw std::out_of_range{
"Green{ " + std::to_string(value)
1951 +
" } is not in range ["
1952 + std::to_string(validRange().min()) +
", "
1953 + std::to_string(validRange().max()) +
"]" };
1956 Zivid::DataModel::Detail::Optional<double> m_opt;
1958 friend struct DataModel::Detail::Befriend<
Green>;
1971 static constexpr const char *path{
"Processing/Color/Balance/Red" };
1974 static constexpr const char *name{
"Red" };
1977 static constexpr const char *description{
1978 R
"description(Digital gain applied to red channel)description"
1987 return { 1.0, 8.0 };
1994 explicit constexpr Red(
double value)
1995 : m_opt{ verifyValue(value) }
2016 return m_opt == other.m_opt;
2022 return m_opt != other.m_opt;
2028 return m_opt < other.m_opt;
2034 return m_opt > other.m_opt;
2040 return m_opt <= other.m_opt;
2046 return m_opt >= other.m_opt;
2056 void setFromString(
const std::string &value);
2058 constexpr ValueType
static verifyValue(
const ValueType &value)
2060 return validRange().isInRange(value)
2062 :
throw std::out_of_range{
"Red{ " + std::to_string(value)
2063 +
" } is not in range ["
2064 + std::to_string(validRange().min()) +
", "
2065 + std::to_string(validRange().max()) +
"]" };
2068 Zivid::DataModel::Detail::Optional<double> m_opt;
2070 friend struct DataModel::Detail::Befriend<
Red>;
2097 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2098 typename std::enable_if<
2099 Zivid::Detail::TypeTraits::
2100 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
2103 template<typename... Args>
2107 using namespace Zivid::Detail::TypeTraits;
2110 AllArgsDecayedAreUnique<Args...>::value,
2111 "Found duplicate types among the arguments passed to Balance(...). "
2112 "Types should be listed at most once.");
2114 set(std::forward<Args>(args)...);
2130 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2132 template<typename... Args>
2136 using namespace Zivid::Detail::TypeTraits;
2138 using AllArgsAreDescendantNodes =
2139 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2141 AllArgsAreDescendantNodes::value,
2142 "All arguments passed to set(...) must be descendant nodes.");
2145 AllArgsDecayedAreUnique<Args...>::value,
2146 "Found duplicate types among the arguments passed to set(...). "
2147 "Types should be listed at most once.");
2149 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2166 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2168 template<typename... Args>
2172 using namespace Zivid::Detail::TypeTraits;
2174 using AllArgsAreDescendantNodes =
2175 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2177 AllArgsAreDescendantNodes::value,
2178 "All arguments passed to copyWith(...) must be descendant nodes.");
2181 AllArgsDecayedAreUnique<Args...>::value,
2182 "Found duplicate types among the arguments passed to copyWith(...). "
2183 "Types should be listed at most once.");
2186 copy.
set(std::forward<Args>(args)...);
2249 typename std::enable_if<
2250 std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
2259 typename std::enable_if<
2260 std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
2270 enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::type = 0>
2276 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2282 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2288 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
2295 template<
typename F>
2304 template<
typename F>
2328 void setFromString(
const std::string &value);
2330 void setFromString(
const std::string &fullPath,
const std::string &value);
2332 std::string getString(
const std::string &fullPath)
const;
2338 friend struct DataModel::Detail::Befriend<
Balance>;
2351 static constexpr const char *path{
"Processing/Color/Experimental" };
2354 static constexpr const char *name{
"Experimental" };
2357 static constexpr const char *description{
2358 R
"description(Experimental color settings. These may be renamed, moved or deleted in the future.)description"
2392 static constexpr const char *path{
"Processing/Color/Experimental/Mode" };
2395 static constexpr const char *name{
"Mode" };
2398 static constexpr const char *description{
2399 R
"description(This setting controls how the color image is computed.
2401`automatic` is the default option. `automatic` is identical to `useFirstAcquisition` for
2402single-acquisition captures and multi-acquisition captures when all the acquisitions have
2403identical (duplicated) acquisition settings. `automatic` is identical to `toneMapping` for
2404multi-acquisition HDR captures with differing acquisition settings.
2406`useFirstAcquisition` uses the color data acquired from the first acquisition provided. If
2407the capture consists of more than one acquisition, then the remaining acquisitions are not used
2408for the color image. No tone mapping is performed. This option provides the most control of
2409the color image, and the color values will be consistent over repeated captures with the same
2412`toneMapping` uses all the acquisitions to create one merged and normalized color image. For
2413HDR captures the dynamic range of the captured images is usually higher than the 8-bit color
2414image range. `toneMapping` will map the HDR color data to the 8-bit color output range by
2415applying a scaling factor. `toneMapping` can also be used for single-acquisition captures to
2416normalize the captured color image to the full 8-bit output. Note that when using `toneMapping`
2417mode the color values can be inconsistent over repeated captures if you move, add or remove
2418objects in the scene. For the most control over the colors, select the `useFirstAcquisition`
2427 useFirstAcquisition,
2437 return { ValueType::automatic, ValueType::useFirstAcquisition, ValueType::toneMapping };
2445 : m_opt{ verifyValue(value) }
2472 return m_opt == other.m_opt;
2478 return m_opt != other.m_opt;
2488 void setFromString(
const std::string &value);
2490 constexpr ValueType
static verifyValue(
const ValueType &value)
2492 return value == ValueType::automatic || value == ValueType::useFirstAcquisition
2493 || value == ValueType::toneMapping
2495 :
throw std::invalid_argument{
2496 "Invalid value: Mode{ "
2497 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value))
2502 Zivid::DataModel::Detail::Optional<ValueType> m_opt;
2504 friend struct DataModel::Detail::Befriend<
Mode>;
2507 using Descendants = std::tuple<Settings::Processing::Color::Experimental::Mode>;
2526 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2527 typename std::enable_if<
2528 Zivid::Detail::TypeTraits::
2529 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
2532 template<typename... Args>
2536 using namespace Zivid::Detail::TypeTraits;
2539 AllArgsDecayedAreUnique<Args...>::value,
2540 "Found duplicate types among the arguments passed to Experimental(...). "
2541 "Types should be listed at most once.");
2543 set(std::forward<Args>(args)...);
2557 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2559 template<typename... Args>
2563 using namespace Zivid::Detail::TypeTraits;
2565 using AllArgsAreDescendantNodes =
2566 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2568 AllArgsAreDescendantNodes::value,
2569 "All arguments passed to set(...) must be descendant nodes.");
2572 AllArgsDecayedAreUnique<Args...>::value,
2573 "Found duplicate types among the arguments passed to set(...). "
2574 "Types should be listed at most once.");
2576 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2591 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2593 template<typename... Args>
2597 using namespace Zivid::Detail::TypeTraits;
2599 using AllArgsAreDescendantNodes =
2600 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2602 AllArgsAreDescendantNodes::value,
2603 "All arguments passed to copyWith(...) must be descendant nodes.");
2606 AllArgsDecayedAreUnique<Args...>::value,
2607 "Found duplicate types among the arguments passed to copyWith(...). "
2608 "Types should be listed at most once.");
2611 copy.
set(std::forward<Args>(args)...);
2636 typename std::enable_if<
2637 std::is_same<T, Settings::Processing::Color::Experimental::Mode>::value,
2644 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2651 template<
typename F>
2658 template<
typename F>
2680 void setFromString(
const std::string &value);
2682 void setFromString(
const std::string &fullPath,
const std::string &value);
2684 std::string getString(
const std::string &fullPath)
const;
2688 friend struct DataModel::Detail::Befriend<
Experimental>;
2703 static constexpr const char *path{
"Processing/Color/Gamma" };
2706 static constexpr const char *name{
"Gamma" };
2709 static constexpr const char *description{
2710 R
"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma
2711greater than 1 makes the colors darker.
2721 return { 0.25, 1.5 };
2729 : m_opt{ verifyValue(value) }
2750 return m_opt == other.m_opt;
2756 return m_opt != other.m_opt;
2762 return m_opt < other.m_opt;
2768 return m_opt > other.m_opt;
2774 return m_opt <= other.m_opt;
2780 return m_opt >= other.m_opt;
2790 void setFromString(
const std::string &value);
2792 constexpr ValueType
static verifyValue(
const ValueType &value)
2794 return validRange().isInRange(value)
2796 :
throw std::out_of_range{
"Gamma{ " + std::to_string(value) +
" } is not in range ["
2797 + std::to_string(validRange().min()) +
", "
2798 + std::to_string(validRange().max()) +
"]" };
2801 Zivid::DataModel::Detail::Optional<double> m_opt;
2803 friend struct DataModel::Detail::Befriend<
Gamma>;
2838 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2839 typename std::enable_if<
2840 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2844 template<typename... Args>
2848 using namespace Zivid::Detail::TypeTraits;
2851 AllArgsDecayedAreUnique<Args...>::value,
2852 "Found duplicate types among the arguments passed to Color(...). "
2853 "Types should be listed at most once.");
2855 set(std::forward<Args>(args)...);
2875 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2877 template<typename... Args>
2881 using namespace Zivid::Detail::TypeTraits;
2883 using AllArgsAreDescendantNodes =
2884 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2886 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2889 AllArgsDecayedAreUnique<Args...>::value,
2890 "Found duplicate types among the arguments passed to set(...). "
2891 "Types should be listed at most once.");
2893 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2914 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2916 template<typename... Args>
2920 using namespace Zivid::Detail::TypeTraits;
2922 using AllArgsAreDescendantNodes =
2923 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2925 AllArgsAreDescendantNodes::value,
2926 "All arguments passed to copyWith(...) must be descendant nodes.");
2929 AllArgsDecayedAreUnique<Args...>::value,
2930 "Found duplicate types among the arguments passed to copyWith(...). "
2931 "Types should be listed at most once.");
2934 copy.
set(std::forward<Args>(args)...);
2960 m_balance.
set(value);
2967 m_balance.
set(value);
2974 m_balance.
set(value);
2981 return m_experimental;
2987 return m_experimental;
2993 m_experimental = value;
3000 m_experimental.
set(value);
3025 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type =
3034 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
int>::
3043 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
int>::
3052 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::
3061 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
int>::
3065 return m_experimental;
3070 typename std::enable_if<
3071 std::is_same<T, Settings::Processing::Color::Experimental::Mode>::value,
3080 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
3086 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3092 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3095 return m_experimental;
3098 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
3105 template<
typename F>
3114 template<
typename F>
3138 void setFromString(
const std::string &value);
3140 void setFromString(
const std::string &fullPath,
const std::string &value);
3142 std::string getString(
const std::string &fullPath)
const;
3148 friend struct DataModel::Detail::Befriend<
Color>;
3161 static constexpr const char *path{
"Processing/Filters" };
3164 static constexpr const char *name{
"Filters" };
3167 static constexpr const char *description{ R
"description(Filters)description" };
3180 static constexpr const char *path{
"Processing/Filters/Cluster" };
3183 static constexpr const char *name{
"Cluster" };
3186 static constexpr const char *description{
3187 R
"description(Removes floating points and isolated clusters from the point cloud.
3201 static constexpr const char *path{
"Processing/Filters/Cluster/Removal" };
3204 static constexpr const char *name{
"Removal" };
3207 static constexpr const char *description{ R
"description(Removal)description" };
3219 static constexpr const char *path{
"Processing/Filters/Cluster/Removal/Enabled" };
3222 static constexpr const char *name{
"Enabled" };
3225 static constexpr const char *description{ R
"description(Enabled)description" };
3235 return {
false,
true };
3264 return m_opt == other.m_opt;
3270 return m_opt != other.m_opt;
3280 void setFromString(
const std::string &value);
3282 Zivid::DataModel::Detail::Optional<bool> m_opt;
3284 friend struct DataModel::Detail::Befriend<
Enabled>;
3300 static constexpr const char *path{
3301 "Processing/Filters/Cluster/Removal/MaxNeighborDistance"
3305 static constexpr const char *name{
"MaxNeighborDistance" };
3308 static constexpr const char *description{
3309 R
"description(Maximum normalized distance between neighboring points that are still classified as
3310belonging to the same cluster. The default value is optimal for most scenes. On messy
3311scenes turning this setting down helps removing more bad points.
3321 return { 2.0, 10.0 };
3329 : m_opt{ verifyValue(value) }
3350 return m_opt == other.m_opt;
3356 return m_opt != other.m_opt;
3362 return m_opt < other.m_opt;
3368 return m_opt > other.m_opt;
3374 return m_opt <= other.m_opt;
3380 return m_opt >= other.m_opt;
3390 void setFromString(
const std::string &value);
3392 constexpr ValueType
static verifyValue(
const ValueType &value)
3394 return validRange().isInRange(value)
3396 :
throw std::out_of_range{
"MaxNeighborDistance{ " + std::to_string(value)
3397 +
" } is not in range ["
3398 + std::to_string(validRange().min()) +
", "
3399 + std::to_string(validRange().max()) +
"]" };
3402 Zivid::DataModel::Detail::Optional<double> m_opt;
3419 static constexpr const char *path{
"Processing/Filters/Cluster/Removal/MinArea" };
3422 static constexpr const char *name{
"MinArea" };
3425 static constexpr const char *description{
3426 R
"description(Clusters with area below this threshold are removed by the filter.
3427The area is given in mm^2.
3437 return { 0.0, 1500.0 };
3445 : m_opt{ verifyValue(value) }
3466 return m_opt == other.m_opt;
3472 return m_opt != other.m_opt;
3478 return m_opt < other.m_opt;
3484 return m_opt > other.m_opt;
3490 return m_opt <= other.m_opt;
3496 return m_opt >= other.m_opt;
3506 void setFromString(
const std::string &value);
3508 constexpr ValueType
static verifyValue(
const ValueType &value)
3510 return validRange().isInRange(value)
3512 :
throw std::out_of_range{
"MinArea{ " + std::to_string(value)
3513 +
" } is not in range ["
3514 + std::to_string(validRange().min()) +
", "
3515 + std::to_string(validRange().max()) +
"]" };
3518 Zivid::DataModel::Detail::Optional<double> m_opt;
3520 friend struct DataModel::Detail::Befriend<
MinArea>;
3547 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3548 typename std::enable_if<
3549 Zivid::Detail::TypeTraits::
3550 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
3553 template<typename... Args>
3557 using namespace Zivid::Detail::TypeTraits;
3560 AllArgsDecayedAreUnique<Args...>::value,
3561 "Found duplicate types among the arguments passed to Removal(...). "
3562 "Types should be listed at most once.");
3564 set(std::forward<Args>(args)...);
3580 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3582 template<typename... Args>
3586 using namespace Zivid::Detail::TypeTraits;
3588 using AllArgsAreDescendantNodes =
3589 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3591 AllArgsAreDescendantNodes::value,
3592 "All arguments passed to set(...) must be descendant nodes.");
3595 AllArgsDecayedAreUnique<Args...>::value,
3596 "Found duplicate types among the arguments passed to set(...). "
3597 "Types should be listed at most once.");
3599 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3616 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3618 template<typename... Args>
3622 using namespace Zivid::Detail::TypeTraits;
3624 using AllArgsAreDescendantNodes =
3625 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3627 AllArgsAreDescendantNodes::value,
3628 "All arguments passed to copyWith(...) must be descendant nodes.");
3631 AllArgsDecayedAreUnique<Args...>::value,
3632 "Found duplicate types among the arguments passed to copyWith(...). "
3633 "Types should be listed at most once.");
3636 copy.
set(std::forward<Args>(args)...);
3662 return m_maxNeighborDistance;
3668 return m_maxNeighborDistance;
3674 m_maxNeighborDistance = value;
3699 typename std::enable_if<
3700 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::Enabled>::value,
3709 typename std::enable_if<
3710 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance>::
3715 return m_maxNeighborDistance;
3720 typename std::enable_if<
3721 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MinArea>::value,
3728 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3734 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3737 return m_maxNeighborDistance;
3740 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
3747 template<
typename F>
3751 f(m_maxNeighborDistance);
3756 template<
typename F>
3760 f(m_maxNeighborDistance);
3780 void setFromString(
const std::string &value);
3782 void setFromString(
const std::string &fullPath,
const std::string &value);
3784 std::string getString(
const std::string &fullPath)
const;
3787 MaxNeighborDistance m_maxNeighborDistance;
3790 friend struct DataModel::Detail::Befriend<
Removal>;
3819 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3820 typename std::enable_if<
3821 Zivid::Detail::TypeTraits::
3822 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
3825 template<typename... Args>
3829 using namespace Zivid::Detail::TypeTraits;
3832 AllArgsDecayedAreUnique<Args...>::value,
3833 "Found duplicate types among the arguments passed to Cluster(...). "
3834 "Types should be listed at most once.");
3836 set(std::forward<Args>(args)...);
3853 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3855 template<typename... Args>
3859 using namespace Zivid::Detail::TypeTraits;
3861 using AllArgsAreDescendantNodes =
3862 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3864 AllArgsAreDescendantNodes::value,
3865 "All arguments passed to set(...) must be descendant nodes.");
3868 AllArgsDecayedAreUnique<Args...>::value,
3869 "Found duplicate types among the arguments passed to set(...). "
3870 "Types should be listed at most once.");
3872 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3890 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3892 template<typename... Args>
3896 using namespace Zivid::Detail::TypeTraits;
3898 using AllArgsAreDescendantNodes =
3899 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3901 AllArgsAreDescendantNodes::value,
3902 "All arguments passed to copyWith(...) must be descendant nodes.");
3905 AllArgsDecayedAreUnique<Args...>::value,
3906 "Found duplicate types among the arguments passed to copyWith(...). "
3907 "Types should be listed at most once.");
3910 copy.
set(std::forward<Args>(args)...);
3936 m_removal.
set(value);
3943 m_removal.
set(value);
3950 m_removal.
set(value);
3956 typename std::enable_if<
3957 std::is_same<T, Settings::Processing::Filters::Cluster::Removal>::value,
3966 typename std::enable_if<
3967 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::Enabled>::value,
3976 typename std::enable_if<
3977 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance>::
3987 typename std::enable_if<
3988 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MinArea>::value,
3995 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4002 template<
typename F>
4009 template<
typename F>
4031 void setFromString(
const std::string &value);
4033 void setFromString(
const std::string &fullPath,
const std::string &value);
4035 std::string getString(
const std::string &fullPath)
const;
4039 friend struct DataModel::Detail::Befriend<
Cluster>;
4052 static constexpr const char *path{
"Processing/Filters/Experimental" };
4055 static constexpr const char *name{
"Experimental" };
4058 static constexpr const char *description{
4059 R
"description(Experimental filters. These may be renamed, moved or deleted in the future.)description"
4076 static constexpr const char *path{
"Processing/Filters/Experimental/ContrastDistortion" };
4079 static constexpr const char *name{
"ContrastDistortion" };
4082 static constexpr const char *description{
4083 R
"description(Corrects artifacts that appear when imaging scenes with large texture gradients
4084or high contrast. These artifacts are caused by blurring in the lens. The filter
4085works best when aperture values are chosen such that the camera has quite good focus.
4086The filter also supports removing the points that experience a large correction.
4100 static constexpr const char *path{
4101 "Processing/Filters/Experimental/ContrastDistortion/Correction"
4105 static constexpr const char *name{
"Correction" };
4108 static constexpr const char *description{ R
"description(Correction)description" };
4120 static constexpr const char *path{
4121 "Processing/Filters/Experimental/ContrastDistortion/Correction/Enabled"
4125 static constexpr const char *name{
"Enabled" };
4128 static constexpr const char *description{ R
"description(Enabled)description" };
4138 return {
false,
true };
4167 return m_opt == other.m_opt;
4173 return m_opt != other.m_opt;
4183 void setFromString(
const std::string &value);
4185 Zivid::DataModel::Detail::Optional<bool> m_opt;
4187 friend struct DataModel::Detail::Befriend<
Enabled>;
4200 static constexpr const char *path{
4201 "Processing/Filters/Experimental/ContrastDistortion/Correction/Strength"
4205 static constexpr const char *name{
"Strength" };
4208 static constexpr const char *description{
4209 R
"description(Higher values gives more correction.)description"
4218 return { 0.0, 1.0 };
4226 : m_opt{ verifyValue(value) }
4247 return m_opt == other.m_opt;
4253 return m_opt != other.m_opt;
4259 return m_opt < other.m_opt;
4265 return m_opt > other.m_opt;
4271 return m_opt <= other.m_opt;
4277 return m_opt >= other.m_opt;
4287 void setFromString(
const std::string &value);
4289 constexpr ValueType
static verifyValue(
const ValueType &value)
4291 return validRange().isInRange(value)
4293 :
throw std::out_of_range{
"Strength{ " + std::to_string(value)
4294 +
" } is not in range ["
4295 + std::to_string(validRange().min()) +
", "
4296 + std::to_string(validRange().max()) +
"]" };
4299 Zivid::DataModel::Detail::Optional<double> m_opt;
4301 friend struct DataModel::Detail::Befriend<
Strength>;
4326 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4327 typename std::enable_if<
4328 Zivid::Detail::TypeTraits::
4329 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
4332 template<typename... Args>
4336 using namespace Zivid::Detail::TypeTraits;
4339 AllArgsDecayedAreUnique<Args...>::value,
4340 "Found duplicate types among the arguments passed to Correction(...). "
4341 "Types should be listed at most once.");
4343 set(std::forward<Args>(args)...);
4358 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4360 template<typename... Args>
4364 using namespace Zivid::Detail::TypeTraits;
4366 using AllArgsAreDescendantNodes =
4367 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4369 AllArgsAreDescendantNodes::value,
4370 "All arguments passed to set(...) must be descendant nodes.");
4373 AllArgsDecayedAreUnique<Args...>::value,
4374 "Found duplicate types among the arguments passed to set(...). "
4375 "Types should be listed at most once.");
4377 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4393 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4395 template<typename... Args>
4399 using namespace Zivid::Detail::TypeTraits;
4401 using AllArgsAreDescendantNodes =
4402 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4404 AllArgsAreDescendantNodes::value,
4405 "All arguments passed to copyWith(...) must be descendant nodes.");
4408 AllArgsDecayedAreUnique<Args...>::value,
4409 "Found duplicate types among the arguments passed to copyWith(...). "
4410 "Types should be listed at most once.");
4413 copy.
set(std::forward<Args>(args)...);
4457 typename std::enable_if<
4460 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
4471 typename std::enable_if<
4474 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
4477 const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
4484 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4491 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4492 const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
4500 template<
typename F>
4508 template<
typename F>
4531 void setFromString(
const std::string &value);
4533 void setFromString(
const std::string &fullPath,
const std::string &value);
4535 std::string getString(
const std::string &fullPath)
const;
4540 friend struct DataModel::Detail::Befriend<
Correction>;
4553 static constexpr const char *path{
4554 "Processing/Filters/Experimental/ContrastDistortion/Removal"
4558 static constexpr const char *name{
"Removal" };
4561 static constexpr const char *description{ R
"description(Removal)description" };
4573 static constexpr const char *path{
4574 "Processing/Filters/Experimental/ContrastDistortion/Removal/Enabled"
4578 static constexpr const char *name{
"Enabled" };
4581 static constexpr const char *description{ R
"description(Enabled)description" };
4591 return {
false,
true };
4620 return m_opt == other.m_opt;
4626 return m_opt != other.m_opt;
4636 void setFromString(
const std::string &value);
4638 Zivid::DataModel::Detail::Optional<bool> m_opt;
4640 friend struct DataModel::Detail::Befriend<
Enabled>;
4653 static constexpr const char *path{
4654 "Processing/Filters/Experimental/ContrastDistortion/Removal/Threshold"
4658 static constexpr const char *name{
"Threshold" };
4661 static constexpr const char *description{
4662 R
"description(Higher values remove more points.)description"
4671 return { 0.0, 1.0 };
4679 : m_opt{ verifyValue(value) }
4700 return m_opt == other.m_opt;
4706 return m_opt != other.m_opt;
4712 return m_opt < other.m_opt;
4718 return m_opt > other.m_opt;
4724 return m_opt <= other.m_opt;
4730 return m_opt >= other.m_opt;
4740 void setFromString(
const std::string &value);
4742 constexpr ValueType
static verifyValue(
const ValueType &value)
4744 return validRange().isInRange(value)
4746 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
4747 +
" } is not in range ["
4748 + std::to_string(validRange().min()) +
", "
4749 + std::to_string(validRange().max()) +
"]" };
4752 Zivid::DataModel::Detail::Optional<double> m_opt;
4754 friend struct DataModel::Detail::Befriend<
Threshold>;
4779 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4780 typename std::enable_if<
4781 Zivid::Detail::TypeTraits::
4782 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
4785 template<typename... Args>
4789 using namespace Zivid::Detail::TypeTraits;
4792 AllArgsDecayedAreUnique<Args...>::value,
4793 "Found duplicate types among the arguments passed to Removal(...). "
4794 "Types should be listed at most once.");
4796 set(std::forward<Args>(args)...);
4811 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4813 template<typename... Args>
4817 using namespace Zivid::Detail::TypeTraits;
4819 using AllArgsAreDescendantNodes =
4820 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4822 AllArgsAreDescendantNodes::value,
4823 "All arguments passed to set(...) must be descendant nodes.");
4826 AllArgsDecayedAreUnique<Args...>::value,
4827 "Found duplicate types among the arguments passed to set(...). "
4828 "Types should be listed at most once.");
4830 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4846 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4848 template<typename... Args>
4852 using namespace Zivid::Detail::TypeTraits;
4854 using AllArgsAreDescendantNodes =
4855 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4857 AllArgsAreDescendantNodes::value,
4858 "All arguments passed to copyWith(...) must be descendant nodes.");
4861 AllArgsDecayedAreUnique<Args...>::value,
4862 "Found duplicate types among the arguments passed to copyWith(...). "
4863 "Types should be listed at most once.");
4866 copy.
set(std::forward<Args>(args)...);
4904 m_threshold = value;
4910 typename std::enable_if<
4913 Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::
4924 typename std::enable_if<
4927 Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::
4936 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4943 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4951 template<
typename F>
4959 template<
typename F>
4982 void setFromString(
const std::string &value);
4984 void setFromString(
const std::string &fullPath,
const std::string &value);
4986 std::string getString(
const std::string &fullPath)
const;
4991 friend struct DataModel::Detail::Befriend<
Removal>;
5024 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5025 typename std::enable_if<
5026 Zivid::Detail::TypeTraits::
5027 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
5030 template<typename... Args>
5034 using namespace Zivid::Detail::TypeTraits;
5037 AllArgsDecayedAreUnique<Args...>::value,
5038 "Found duplicate types among the arguments passed to ContrastDistortion(...). "
5039 "Types should be listed at most once.");
5041 set(std::forward<Args>(args)...);
5060 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5062 template<typename... Args>
5066 using namespace Zivid::Detail::TypeTraits;
5068 using AllArgsAreDescendantNodes =
5069 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5071 AllArgsAreDescendantNodes::value,
5072 "All arguments passed to set(...) must be descendant nodes.");
5075 AllArgsDecayedAreUnique<Args...>::value,
5076 "Found duplicate types among the arguments passed to set(...). "
5077 "Types should be listed at most once.");
5079 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5099 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5101 template<typename... Args>
5105 using namespace Zivid::Detail::TypeTraits;
5107 using AllArgsAreDescendantNodes =
5108 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5110 AllArgsAreDescendantNodes::value,
5111 "All arguments passed to copyWith(...) must be descendant nodes.");
5114 AllArgsDecayedAreUnique<Args...>::value,
5115 "Found duplicate types among the arguments passed to copyWith(...). "
5116 "Types should be listed at most once.");
5119 copy.
set(std::forward<Args>(args)...);
5126 return m_correction;
5132 return m_correction;
5138 m_correction = value;
5145 m_correction.
set(value);
5152 m_correction.
set(value);
5178 m_removal.
set(value);
5185 m_removal.
set(value);
5191 typename std::enable_if<
5198 return m_correction;
5203 typename std::enable_if<
5206 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
5212 return m_correction.get<
5218 typename std::enable_if<
5221 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
5227 return m_correction.get<Settings::Processing::Filters::Experimental::ContrastDistortion::
5228 Correction::Strength>();
5233 typename std::enable_if<
5245 typename std::enable_if<
5254 return m_removal.get<
5260 typename std::enable_if<
5263 Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::
5269 return m_removal.get<
5273 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5276 return m_correction;
5279 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
5286 template<
typename F>
5294 template<
typename F>
5317 void setFromString(
const std::string &value);
5319 void setFromString(
const std::string &fullPath,
const std::string &value);
5321 std::string getString(
const std::string &fullPath)
const;
5323 Correction m_correction;
5340 static constexpr const char *path{
"Processing/Filters/Experimental/HoleFilling" };
5343 static constexpr const char *name{
"HoleFilling" };
5346 static constexpr const char *description{
5347 R
"description(Fills in removed points by interpolating remaining surrounding points.
5361 static constexpr const char *path{
"Processing/Filters/Experimental/HoleFilling/Enabled" };
5364 static constexpr const char *name{
"Enabled" };
5367 static constexpr const char *description{ R
"description(Enabled)description" };
5377 return {
false,
true };
5406 return m_opt == other.m_opt;
5412 return m_opt != other.m_opt;
5422 void setFromString(
const std::string &value);
5424 Zivid::DataModel::Detail::Optional<bool> m_opt;
5426 friend struct DataModel::Detail::Befriend<
Enabled>;
5442 static constexpr const char *path{
"Processing/Filters/Experimental/HoleFilling/HoleSize" };
5445 static constexpr const char *name{
"HoleSize" };
5448 static constexpr const char *description{
5449 R
"description(Relative diameter of holes to fill. Increasing this will fill more points, but require more
5450computation time. The maximum allowed hole size scales with distance, so that we allow
5451filling larger holes at greater distances, measured in mm.
5461 return { 0.0, 1.0 };
5469 : m_opt{ verifyValue(value) }
5490 return m_opt == other.m_opt;
5496 return m_opt != other.m_opt;
5502 return m_opt < other.m_opt;
5508 return m_opt > other.m_opt;
5514 return m_opt <= other.m_opt;
5520 return m_opt >= other.m_opt;
5530 void setFromString(
const std::string &value);
5532 constexpr ValueType
static verifyValue(
const ValueType &value)
5534 return validRange().isInRange(value)
5536 :
throw std::out_of_range{
"HoleSize{ " + std::to_string(value)
5537 +
" } is not in range ["
5538 + std::to_string(validRange().min()) +
", "
5539 + std::to_string(validRange().max()) +
"]" };
5542 Zivid::DataModel::Detail::Optional<double> m_opt;
5544 friend struct DataModel::Detail::Befriend<
HoleSize>;
5561 static constexpr const char *path{
5562 "Processing/Filters/Experimental/HoleFilling/Strictness"
5566 static constexpr const char *name{
"Strictness" };
5569 static constexpr const char *description{
5570 R
"description(Level of strictness when considering if a point should be filled. A higher level of
5571strictness requires a missing point to be surrounded by valid points on more sides in
5572order to be filled. Increasing this will fill fewer points, but it will be less likely to
5573fill gaps that are not circular, for example between two edges.
5591 : m_opt{ verifyValue(value) }
5612 return m_opt == other.m_opt;
5618 return m_opt != other.m_opt;
5624 return m_opt < other.m_opt;
5630 return m_opt > other.m_opt;
5636 return m_opt <= other.m_opt;
5642 return m_opt >= other.m_opt;
5652 void setFromString(
const std::string &value);
5654 constexpr ValueType
static verifyValue(
const ValueType &value)
5656 return validRange().isInRange(value)
5658 :
throw std::out_of_range{
"Strictness{ " + std::to_string(value)
5659 +
" } is not in range ["
5660 + std::to_string(validRange().min()) +
", "
5661 + std::to_string(validRange().max()) +
"]" };
5664 Zivid::DataModel::Detail::Optional<int32_t> m_opt;
5666 friend struct DataModel::Detail::Befriend<
Strictness>;
5693 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5694 typename std::enable_if<
5695 Zivid::Detail::TypeTraits::
5696 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
5699 template<typename... Args>
5703 using namespace Zivid::Detail::TypeTraits;
5706 AllArgsDecayedAreUnique<Args...>::value,
5707 "Found duplicate types among the arguments passed to HoleFilling(...). "
5708 "Types should be listed at most once.");
5710 set(std::forward<Args>(args)...);
5726 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5728 template<typename... Args>
5732 using namespace Zivid::Detail::TypeTraits;
5734 using AllArgsAreDescendantNodes =
5735 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5737 AllArgsAreDescendantNodes::value,
5738 "All arguments passed to set(...) must be descendant nodes.");
5741 AllArgsDecayedAreUnique<Args...>::value,
5742 "Found duplicate types among the arguments passed to set(...). "
5743 "Types should be listed at most once.");
5745 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5762 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5764 template<typename... Args>
5768 using namespace Zivid::Detail::TypeTraits;
5770 using AllArgsAreDescendantNodes =
5771 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5773 AllArgsAreDescendantNodes::value,
5774 "All arguments passed to copyWith(...) must be descendant nodes.");
5777 AllArgsDecayedAreUnique<Args...>::value,
5778 "Found duplicate types among the arguments passed to copyWith(...). "
5779 "Types should be listed at most once.");
5782 copy.
set(std::forward<Args>(args)...);
5827 return m_strictness;
5833 return m_strictness;
5839 m_strictness = value;
5845 typename std::enable_if<
5846 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::Enabled>::
5856 typename std::enable_if<
5857 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::HoleSize>::
5867 typename std::enable_if<
5868 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::Strictness>::
5873 return m_strictness;
5876 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5882 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
5888 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
5891 return m_strictness;
5895 template<
typename F>
5904 template<
typename F>
5928 void setFromString(
const std::string &value);
5930 void setFromString(
const std::string &fullPath,
const std::string &value);
5932 std::string getString(
const std::string &fullPath)
const;
5935 HoleSize m_holeSize;
5938 friend struct DataModel::Detail::Befriend<
HoleFilling>;
5981 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5982 typename std::enable_if<
5983 Zivid::Detail::TypeTraits::
5984 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
5987 template<typename... Args>
5991 using namespace Zivid::Detail::TypeTraits;
5994 AllArgsDecayedAreUnique<Args...>::value,
5995 "Found duplicate types among the arguments passed to Experimental(...). "
5996 "Types should be listed at most once.");
5998 set(std::forward<Args>(args)...);
6022 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6024 template<typename... Args>
6028 using namespace Zivid::Detail::TypeTraits;
6030 using AllArgsAreDescendantNodes =
6031 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6033 AllArgsAreDescendantNodes::value,
6034 "All arguments passed to set(...) must be descendant nodes.");
6037 AllArgsDecayedAreUnique<Args...>::value,
6038 "Found duplicate types among the arguments passed to set(...). "
6039 "Types should be listed at most once.");
6041 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6066 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6068 template<typename... Args>
6072 using namespace Zivid::Detail::TypeTraits;
6074 using AllArgsAreDescendantNodes =
6075 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6077 AllArgsAreDescendantNodes::value,
6078 "All arguments passed to copyWith(...) must be descendant nodes.");
6081 AllArgsDecayedAreUnique<Args...>::value,
6082 "Found duplicate types among the arguments passed to copyWith(...). "
6083 "Types should be listed at most once.");
6086 copy.
set(std::forward<Args>(args)...);
6093 return m_contrastDistortion;
6099 return m_contrastDistortion;
6105 m_contrastDistortion = value;
6112 m_contrastDistortion.
set(value);
6119 m_contrastDistortion.
set(value);
6126 m_contrastDistortion.
set(value);
6133 m_contrastDistortion.
set(value);
6140 m_contrastDistortion.
set(value);
6147 m_contrastDistortion.
set(value);
6154 return m_holeFilling;
6160 return m_holeFilling;
6166 m_holeFilling = value;
6173 m_holeFilling.
set(value);
6180 m_holeFilling.
set(value);
6187 m_holeFilling.
set(value);
6193 typename std::enable_if<
6194 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
6198 return m_contrastDistortion;
6203 typename std::enable_if<
6210 return m_contrastDistortion
6216 typename std::enable_if<
6225 return m_contrastDistortion.get<
6231 typename std::enable_if<
6240 return m_contrastDistortion.get<
6246 typename std::enable_if<
6247 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::
6252 return m_contrastDistortion
6258 typename std::enable_if<
6266 return m_contrastDistortion
6272 typename std::enable_if<
6281 return m_contrastDistortion
6287 typename std::enable_if<
6288 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling>::value,
6292 return m_holeFilling;
6297 typename std::enable_if<
6298 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::Enabled>::value,
6307 typename std::enable_if<
6308 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::HoleSize>::value,
6317 typename std::enable_if<
6318 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::Strictness>::
6323 return m_holeFilling
6327 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6330 return m_contrastDistortion;
6333 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
6336 return m_holeFilling;
6340 template<
typename F>
6343 f(m_contrastDistortion);
6348 template<
typename F>
6351 f(m_contrastDistortion);
6371 void setFromString(
const std::string &value);
6373 void setFromString(
const std::string &fullPath,
const std::string &value);
6375 std::string getString(
const std::string &fullPath)
const;
6377 ContrastDistortion m_contrastDistortion;
6380 friend struct DataModel::Detail::Befriend<
Experimental>;
6393 static constexpr const char *path{
"Processing/Filters/Noise" };
6396 static constexpr const char *name{
"Noise" };
6399 static constexpr const char *description{
6400 R
"description(Contains filters that can be used to clean up a noisy point cloud)description"
6413 static constexpr const char *path{
"Processing/Filters/Noise/Removal" };
6416 static constexpr const char *name{
"Removal" };
6419 static constexpr const char *description{
6420 R
"description(Discard points with signal-to-noise ratio (SNR) values below a threshold)description"
6433 static constexpr const char *path{
"Processing/Filters/Noise/Removal/Enabled" };
6436 static constexpr const char *name{
"Enabled" };
6439 static constexpr const char *description{
6440 R
"description(Enable or disable the SNR filter)description"
6451 return {
false,
true };
6480 return m_opt == other.m_opt;
6486 return m_opt != other.m_opt;
6496 void setFromString(
const std::string &value);
6498 Zivid::DataModel::Detail::Optional<bool> m_opt;
6500 friend struct DataModel::Detail::Befriend<
Enabled>;
6513 static constexpr const char *path{
"Processing/Filters/Noise/Removal/Threshold" };
6516 static constexpr const char *name{
"Threshold" };
6519 static constexpr const char *description{
6520 R
"description(Discard points with signal-to-noise ratio (SNR) below the given value)description"
6529 return { 0.0, 100.0 };
6537 : m_opt{ verifyValue(value) }
6558 return m_opt == other.m_opt;
6564 return m_opt != other.m_opt;
6570 return m_opt < other.m_opt;
6576 return m_opt > other.m_opt;
6582 return m_opt <= other.m_opt;
6588 return m_opt >= other.m_opt;
6598 void setFromString(
const std::string &value);
6600 constexpr ValueType
static verifyValue(
const ValueType &value)
6602 return validRange().isInRange(value)
6604 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
6605 +
" } is not in range ["
6606 + std::to_string(validRange().min()) +
", "
6607 + std::to_string(validRange().max()) +
"]" };
6610 Zivid::DataModel::Detail::Optional<double> m_opt;
6612 friend struct DataModel::Detail::Befriend<
Threshold>;
6637 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6638 typename std::enable_if<
6639 Zivid::Detail::TypeTraits::
6640 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
6643 template<typename... Args>
6647 using namespace Zivid::Detail::TypeTraits;
6650 AllArgsDecayedAreUnique<Args...>::value,
6651 "Found duplicate types among the arguments passed to Removal(...). "
6652 "Types should be listed at most once.");
6654 set(std::forward<Args>(args)...);
6669 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6671 template<typename... Args>
6675 using namespace Zivid::Detail::TypeTraits;
6677 using AllArgsAreDescendantNodes =
6678 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6680 AllArgsAreDescendantNodes::value,
6681 "All arguments passed to set(...) must be descendant nodes.");
6684 AllArgsDecayedAreUnique<Args...>::value,
6685 "Found duplicate types among the arguments passed to set(...). "
6686 "Types should be listed at most once.");
6688 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6704 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6706 template<typename... Args>
6710 using namespace Zivid::Detail::TypeTraits;
6712 using AllArgsAreDescendantNodes =
6713 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6715 AllArgsAreDescendantNodes::value,
6716 "All arguments passed to copyWith(...) must be descendant nodes.");
6719 AllArgsDecayedAreUnique<Args...>::value,
6720 "Found duplicate types among the arguments passed to copyWith(...). "
6721 "Types should be listed at most once.");
6724 copy.
set(std::forward<Args>(args)...);
6762 m_threshold = value;
6768 typename std::enable_if<
6769 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
6778 typename std::enable_if<
6779 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
6786 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6792 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
6799 template<
typename F>
6807 template<
typename F>
6830 void setFromString(
const std::string &value);
6832 void setFromString(
const std::string &fullPath,
const std::string &value);
6834 std::string getString(
const std::string &fullPath)
const;
6839 friend struct DataModel::Detail::Befriend<
Removal>;
6855 static constexpr const char *path{
"Processing/Filters/Noise/Repair" };
6858 static constexpr const char *name{
"Repair" };
6861 static constexpr const char *description{
6862 R
"description(Get better surface coverage by repairing regions of missing data due to noisy points.
6863Consider disabling this filter if you require all points in your point cloud to be of
6878 static constexpr const char *path{
"Processing/Filters/Noise/Repair/Enabled" };
6881 static constexpr const char *name{
"Enabled" };
6884 static constexpr const char *description{
6885 R
"description(Enable or disable noise repair)description"
6896 return {
false,
true };
6925 return m_opt == other.m_opt;
6931 return m_opt != other.m_opt;
6941 void setFromString(
const std::string &value);
6943 Zivid::DataModel::Detail::Optional<bool> m_opt;
6945 friend struct DataModel::Detail::Befriend<
Enabled>;
6948 using Descendants = std::tuple<Settings::Processing::Filters::Noise::Repair::Enabled>;
6967 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6968 typename std::enable_if<
6969 Zivid::Detail::TypeTraits::
6970 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
6973 template<typename... Args>
6977 using namespace Zivid::Detail::TypeTraits;
6980 AllArgsDecayedAreUnique<Args...>::value,
6981 "Found duplicate types among the arguments passed to Repair(...). "
6982 "Types should be listed at most once.");
6984 set(std::forward<Args>(args)...);
6998 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
7000 template<typename... Args>
7004 using namespace Zivid::Detail::TypeTraits;
7006 using AllArgsAreDescendantNodes =
7007 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7009 AllArgsAreDescendantNodes::value,
7010 "All arguments passed to set(...) must be descendant nodes.");
7013 AllArgsDecayedAreUnique<Args...>::value,
7014 "Found duplicate types among the arguments passed to set(...). "
7015 "Types should be listed at most once.");
7017 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
7032 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
7034 template<typename... Args>
7038 using namespace Zivid::Detail::TypeTraits;
7040 using AllArgsAreDescendantNodes =
7041 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7043 AllArgsAreDescendantNodes::value,
7044 "All arguments passed to copyWith(...) must be descendant nodes.");
7047 AllArgsDecayedAreUnique<Args...>::value,
7048 "Found duplicate types among the arguments passed to copyWith(...). "
7049 "Types should be listed at most once.");
7052 copy.
set(std::forward<Args>(args)...);
7077 typename std::enable_if<
7078 std::is_same<T, Settings::Processing::Filters::Noise::Repair::Enabled>::value,
7085 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
7092 template<
typename F>
7099 template<
typename F>
7121 void setFromString(
const std::string &value);
7123 void setFromString(
const std::string &fullPath,
const std::string &value);
7125 std::string getString(
const std::string &fullPath)
const;
7129 friend struct DataModel::Detail::Befriend<
Repair>;
7145 static constexpr const char *path{
"Processing/Filters/Noise/Suppression" };
7148 static constexpr const char *name{
"Suppression" };
7151 static constexpr const char *description{
7152 R
"description(Reduce noise and outliers in the point cloud. This filter can also be used to reduce
7153ripple effects caused by interreflections. Consider disabling this filter if you need to
7154distinguish very fine details and thus need to avoid any smoothing effects.
7168 static constexpr const char *path{
"Processing/Filters/Noise/Suppression/Enabled" };
7171 static constexpr const char *name{
"Enabled" };
7174 static constexpr const char *description{
7175 R
"description(Enable or disable noise suppression)description"
7186 return {
false,
true };
7215 return m_opt == other.m_opt;
7221 return m_opt != other.m_opt;
7231 void setFromString(
const std::string &value);
7233 Zivid::DataModel::Detail::Optional<bool> m_opt;
7235 friend struct DataModel::Detail::Befriend<
Enabled>;
7238 using Descendants = std::tuple<Settings::Processing::Filters::Noise::Suppression::Enabled>;
7257 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
7258 typename std::enable_if<
7259 Zivid::Detail::TypeTraits::
7260 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
7263 template<typename... Args>
7267 using namespace Zivid::Detail::TypeTraits;
7270 AllArgsDecayedAreUnique<Args...>::value,
7271 "Found duplicate types among the arguments passed to Suppression(...). "
7272 "Types should be listed at most once.");
7274 set(std::forward<Args>(args)...);
7288 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
7290 template<typename... Args>
7294 using namespace Zivid::Detail::TypeTraits;
7296 using AllArgsAreDescendantNodes =
7297 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7299 AllArgsAreDescendantNodes::value,
7300 "All arguments passed to set(...) must be descendant nodes.");
7303 AllArgsDecayedAreUnique<Args...>::value,
7304 "Found duplicate types among the arguments passed to set(...). "
7305 "Types should be listed at most once.");
7307 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
7322 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
7324 template<typename... Args>
7328 using namespace Zivid::Detail::TypeTraits;
7330 using AllArgsAreDescendantNodes =
7331 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7333 AllArgsAreDescendantNodes::value,
7334 "All arguments passed to copyWith(...) must be descendant nodes.");
7337 AllArgsDecayedAreUnique<Args...>::value,
7338 "Found duplicate types among the arguments passed to copyWith(...). "
7339 "Types should be listed at most once.");
7342 copy.
set(std::forward<Args>(args)...);
7367 typename std::enable_if<
7368 std::is_same<T, Settings::Processing::Filters::Noise::Suppression::Enabled>::value,
7375 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
7382 template<
typename F>
7389 template<
typename F>
7411 void setFromString(
const std::string &value);
7413 void setFromString(
const std::string &fullPath,
const std::string &value);
7415 std::string getString(
const std::string &fullPath)
const;
7419 friend struct DataModel::Detail::Befriend<
Suppression>;
7454 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
7455 typename std::enable_if<
7456 Zivid::Detail::TypeTraits::
7457 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
7460 template<typename... Args>
7464 using namespace Zivid::Detail::TypeTraits;
7467 AllArgsDecayedAreUnique<Args...>::value,
7468 "Found duplicate types among the arguments passed to Noise(...). "
7469 "Types should be listed at most once.");
7471 set(std::forward<Args>(args)...);
7491 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
7493 template<typename... Args>
7497 using namespace Zivid::Detail::TypeTraits;
7499 using AllArgsAreDescendantNodes =
7500 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7502 AllArgsAreDescendantNodes::value,
7503 "All arguments passed to set(...) must be descendant nodes.");
7506 AllArgsDecayedAreUnique<Args...>::value,
7507 "Found duplicate types among the arguments passed to set(...). "
7508 "Types should be listed at most once.");
7510 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
7531 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
7533 template<typename... Args>
7537 using namespace Zivid::Detail::TypeTraits;
7539 using AllArgsAreDescendantNodes =
7540 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7542 AllArgsAreDescendantNodes::value,
7543 "All arguments passed to copyWith(...) must be descendant nodes.");
7546 AllArgsDecayedAreUnique<Args...>::value,
7547 "Found duplicate types among the arguments passed to copyWith(...). "
7548 "Types should be listed at most once.");
7551 copy.
set(std::forward<Args>(args)...);
7577 m_removal.
set(value);
7584 m_removal.
set(value);
7610 m_repair.
set(value);
7617 return m_suppression;
7623 return m_suppression;
7629 m_suppression = value;
7636 m_suppression.
set(value);
7642 typename std::enable_if<
7643 std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
7652 typename std::enable_if<
7653 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
7662 typename std::enable_if<
7663 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
7672 typename std::enable_if<
7673 std::is_same<T, Settings::Processing::Filters::Noise::Repair>::value,
7682 typename std::enable_if<
7683 std::is_same<T, Settings::Processing::Filters::Noise::Repair::Enabled>::value,
7692 typename std::enable_if<
7693 std::is_same<T, Settings::Processing::Filters::Noise::Suppression>::value,
7697 return m_suppression;
7702 typename std::enable_if<
7703 std::is_same<T, Settings::Processing::Filters::Noise::Suppression::Enabled>::value,
7710 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
7716 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
7722 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
7725 return m_suppression;
7729 template<
typename F>
7738 template<
typename F>
7762 void setFromString(
const std::string &value);
7764 void setFromString(
const std::string &fullPath,
const std::string &value);
7766 std::string getString(
const std::string &fullPath)
const;
7772 friend struct DataModel::Detail::Befriend<
Noise>;
7785 static constexpr const char *path{
"Processing/Filters/Outlier" };
7788 static constexpr const char *name{
"Outlier" };
7791 static constexpr const char *description{
7792 R
"description(Contains a filter that removes points with large Euclidean distance to neighboring points)description"
7805 static constexpr const char *path{
"Processing/Filters/Outlier/Removal" };
7808 static constexpr const char *name{
"Removal" };
7811 static constexpr const char *description{
7812 R
"description(Discard point if Euclidean distance to neighboring points is above a threshold)description"
7825 static constexpr const char *path{
"Processing/Filters/Outlier/Removal/Enabled" };
7828 static constexpr const char *name{
"Enabled" };
7831 static constexpr const char *description{
7832 R
"description(Enable or disable the outlier filter)description"
7843 return {
false,
true };
7872 return m_opt == other.m_opt;
7878 return m_opt != other.m_opt;
7888 void setFromString(
const std::string &value);
7890 Zivid::DataModel::Detail::Optional<bool> m_opt;
7892 friend struct DataModel::Detail::Befriend<
Enabled>;
7905 static constexpr const char *path{
"Processing/Filters/Outlier/Removal/Threshold" };
7908 static constexpr const char *name{
"Threshold" };
7911 static constexpr const char *description{
7912 R
"description(Discard point if Euclidean distance to neighboring points is above the given value)description"
7921 return { 0.0, 100.0 };
7929 : m_opt{ verifyValue(value) }
7950 return m_opt == other.m_opt;
7956 return m_opt != other.m_opt;
7962 return m_opt < other.m_opt;
7968 return m_opt > other.m_opt;
7974 return m_opt <= other.m_opt;
7980 return m_opt >= other.m_opt;
7990 void setFromString(
const std::string &value);
7992 constexpr ValueType
static verifyValue(
const ValueType &value)
7994 return validRange().isInRange(value)
7996 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
7997 +
" } is not in range ["
7998 + std::to_string(validRange().min()) +
", "
7999 + std::to_string(validRange().max()) +
"]" };
8002 Zivid::DataModel::Detail::Optional<double> m_opt;
8004 friend struct DataModel::Detail::Befriend<
Threshold>;
8029 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
8030 typename std::enable_if<
8031 Zivid::Detail::TypeTraits::
8032 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
8035 template<typename... Args>
8039 using namespace Zivid::Detail::TypeTraits;
8042 AllArgsDecayedAreUnique<Args...>::value,
8043 "Found duplicate types among the arguments passed to Removal(...). "
8044 "Types should be listed at most once.");
8046 set(std::forward<Args>(args)...);
8061 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
8063 template<typename... Args>
8067 using namespace Zivid::Detail::TypeTraits;
8069 using AllArgsAreDescendantNodes =
8070 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8072 AllArgsAreDescendantNodes::value,
8073 "All arguments passed to set(...) must be descendant nodes.");
8076 AllArgsDecayedAreUnique<Args...>::value,
8077 "Found duplicate types among the arguments passed to set(...). "
8078 "Types should be listed at most once.");
8080 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
8096 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
8098 template<typename... Args>
8102 using namespace Zivid::Detail::TypeTraits;
8104 using AllArgsAreDescendantNodes =
8105 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8107 AllArgsAreDescendantNodes::value,
8108 "All arguments passed to copyWith(...) must be descendant nodes.");
8111 AllArgsDecayedAreUnique<Args...>::value,
8112 "Found duplicate types among the arguments passed to copyWith(...). "
8113 "Types should be listed at most once.");
8116 copy.
set(std::forward<Args>(args)...);
8154 m_threshold = value;
8160 typename std::enable_if<
8161 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
8170 typename std::enable_if<
8171 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
8178 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
8184 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
8191 template<
typename F>
8199 template<
typename F>
8222 void setFromString(
const std::string &value);
8224 void setFromString(
const std::string &fullPath,
const std::string &value);
8226 std::string getString(
const std::string &fullPath)
const;
8231 friend struct DataModel::Detail::Befriend<
Removal>;
8258 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
8259 typename std::enable_if<
8260 Zivid::Detail::TypeTraits::
8261 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
8264 template<typename... Args>
8268 using namespace Zivid::Detail::TypeTraits;
8271 AllArgsDecayedAreUnique<Args...>::value,
8272 "Found duplicate types among the arguments passed to Outlier(...). "
8273 "Types should be listed at most once.");
8275 set(std::forward<Args>(args)...);
8291 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
8293 template<typename... Args>
8297 using namespace Zivid::Detail::TypeTraits;
8299 using AllArgsAreDescendantNodes =
8300 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8302 AllArgsAreDescendantNodes::value,
8303 "All arguments passed to set(...) must be descendant nodes.");
8306 AllArgsDecayedAreUnique<Args...>::value,
8307 "Found duplicate types among the arguments passed to set(...). "
8308 "Types should be listed at most once.");
8310 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
8327 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
8329 template<typename... Args>
8333 using namespace Zivid::Detail::TypeTraits;
8335 using AllArgsAreDescendantNodes =
8336 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8338 AllArgsAreDescendantNodes::value,
8339 "All arguments passed to copyWith(...) must be descendant nodes.");
8342 AllArgsDecayedAreUnique<Args...>::value,
8343 "Found duplicate types among the arguments passed to copyWith(...). "
8344 "Types should be listed at most once.");
8347 copy.
set(std::forward<Args>(args)...);
8373 m_removal.
set(value);
8380 m_removal.
set(value);
8386 typename std::enable_if<
8387 std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
8396 typename std::enable_if<
8397 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
8406 typename std::enable_if<
8407 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
8414 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
8421 template<
typename F>
8428 template<
typename F>
8450 void setFromString(
const std::string &value);
8452 void setFromString(
const std::string &fullPath,
const std::string &value);
8454 std::string getString(
const std::string &fullPath)
const;
8458 friend struct DataModel::Detail::Befriend<
Outlier>;
8471 static constexpr const char *path{
"Processing/Filters/Reflection" };
8474 static constexpr const char *name{
"Reflection" };
8477 static constexpr const char *description{
8478 R
"description(Contains a filter that removes points likely introduced by reflections (useful for shiny materials))description"
8491 static constexpr const char *path{
"Processing/Filters/Reflection/Removal" };
8494 static constexpr const char *name{
"Removal" };
8497 static constexpr const char *description{
8498 R
"description(Discard points likely introduced by reflections (useful for shiny materials))description"
8511 static constexpr const char *path{
"Processing/Filters/Reflection/Removal/Enabled" };
8514 static constexpr const char *name{
"Enabled" };
8517 static constexpr const char *description{
8518 R
"description(Enable or disable the reflection filter. Note that this filter is computationally intensive and may affect the frame rate)description"
8529 return {
false,
true };
8558 return m_opt == other.m_opt;
8564 return m_opt != other.m_opt;
8574 void setFromString(
const std::string &value);
8576 Zivid::DataModel::Detail::Optional<bool> m_opt;
8578 friend struct DataModel::Detail::Befriend<
Enabled>;
8591 static constexpr const char *path{
"Processing/Filters/Reflection/Removal/Experimental" };
8594 static constexpr const char *name{
"Experimental" };
8597 static constexpr const char *description{
8598 R
"description(Experimental reflection filter related settings)description"
8618 static constexpr const char *path{
8619 "Processing/Filters/Reflection/Removal/Experimental/Mode"
8623 static constexpr const char *name{
"Mode" };
8626 static constexpr const char *description{
8627 R
"description(The reflection filter has two modes: Local and Global. Local mode preserves more 3D data
8628on thinner objects, generally removes more reflection artifacts and processes faster than
8629the Global filter. The Global filter is generally better at removing outlier points in
8630the point cloud. It is advised to use the Outlier filter together with the Local
8633Global mode was introduced in SDK 1.0 and Local mode was introduced in SDK 2.7.
8649 return { ValueType::global, ValueType::local };
8657 : m_opt{ verifyValue(value) }
8684 return m_opt == other.m_opt;
8690 return m_opt != other.m_opt;
8700 void setFromString(
const std::string &value);
8702 constexpr ValueType
static verifyValue(
const ValueType &value)
8704 return value == ValueType::global || value == ValueType::local
8706 :
throw std::invalid_argument{
8707 "Invalid value: Mode{ "
8709 static_cast<std::underlying_type<ValueType>::type
>(value))
8714 Zivid::DataModel::Detail::Optional<ValueType> m_opt;
8716 friend struct DataModel::Detail::Befriend<
Mode>;
8720 std::tuple<Settings::Processing::Filters::Reflection::Removal::Experimental::Mode>;
8739 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
8740 typename std::enable_if<
8741 Zivid::Detail::TypeTraits::
8742 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
8745 template<typename... Args>
8749 using namespace Zivid::Detail::TypeTraits;
8752 AllArgsDecayedAreUnique<Args...>::value,
8753 "Found duplicate types among the arguments passed to Experimental(...). "
8754 "Types should be listed at most once.");
8756 set(std::forward<Args>(args)...);
8770 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
8772 template<typename... Args>
8776 using namespace Zivid::Detail::TypeTraits;
8778 using AllArgsAreDescendantNodes =
8779 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8781 AllArgsAreDescendantNodes::value,
8782 "All arguments passed to set(...) must be descendant nodes.");
8785 AllArgsDecayedAreUnique<Args...>::value,
8786 "Found duplicate types among the arguments passed to set(...). "
8787 "Types should be listed at most once.");
8789 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
8804 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
8806 template<typename... Args>
8810 using namespace Zivid::Detail::TypeTraits;
8812 using AllArgsAreDescendantNodes =
8813 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8815 AllArgsAreDescendantNodes::value,
8816 "All arguments passed to copyWith(...) must be descendant nodes.");
8819 AllArgsDecayedAreUnique<Args...>::value,
8820 "Found duplicate types among the arguments passed to copyWith(...). "
8821 "Types should be listed at most once.");
8824 copy.
set(std::forward<Args>(args)...);
8849 typename std::enable_if<
8859 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
8866 template<
typename F>
8873 template<
typename F>
8895 void setFromString(
const std::string &value);
8897 void setFromString(
const std::string &fullPath,
const std::string &value);
8899 std::string getString(
const std::string &fullPath)
const;
8903 friend struct DataModel::Detail::Befriend<
Experimental>;
8930 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
8931 typename std::enable_if<
8932 Zivid::Detail::TypeTraits::
8933 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
8936 template<typename... Args>
8940 using namespace Zivid::Detail::TypeTraits;
8943 AllArgsDecayedAreUnique<Args...>::value,
8944 "Found duplicate types among the arguments passed to Removal(...). "
8945 "Types should be listed at most once.");
8947 set(std::forward<Args>(args)...);
8963 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
8965 template<typename... Args>
8969 using namespace Zivid::Detail::TypeTraits;
8971 using AllArgsAreDescendantNodes =
8972 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8974 AllArgsAreDescendantNodes::value,
8975 "All arguments passed to set(...) must be descendant nodes.");
8978 AllArgsDecayedAreUnique<Args...>::value,
8979 "Found duplicate types among the arguments passed to set(...). "
8980 "Types should be listed at most once.");
8982 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
8999 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
9001 template<typename... Args>
9005 using namespace Zivid::Detail::TypeTraits;
9007 using AllArgsAreDescendantNodes =
9008 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9010 AllArgsAreDescendantNodes::value,
9011 "All arguments passed to copyWith(...) must be descendant nodes.");
9014 AllArgsDecayedAreUnique<Args...>::value,
9015 "Found duplicate types among the arguments passed to copyWith(...). "
9016 "Types should be listed at most once.");
9019 copy.
set(std::forward<Args>(args)...);
9045 return m_experimental;
9051 return m_experimental;
9057 m_experimental = value;
9064 m_experimental.
set(value);
9070 typename std::enable_if<
9071 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
9080 typename std::enable_if<
9081 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Experimental>::
9086 return m_experimental;
9091 typename std::enable_if<
9098 return m_experimental
9102 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
9108 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
9111 return m_experimental;
9115 template<
typename F>
9123 template<
typename F>
9146 void setFromString(
const std::string &value);
9148 void setFromString(
const std::string &fullPath,
const std::string &value);
9150 std::string getString(
const std::string &fullPath)
const;
9155 friend struct DataModel::Detail::Befriend<
Removal>;
9184 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
9185 typename std::enable_if<
9186 Zivid::Detail::TypeTraits::
9187 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
9190 template<typename... Args>
9194 using namespace Zivid::Detail::TypeTraits;
9197 AllArgsDecayedAreUnique<Args...>::value,
9198 "Found duplicate types among the arguments passed to Reflection(...). "
9199 "Types should be listed at most once.");
9201 set(std::forward<Args>(args)...);
9218 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
9220 template<typename... Args>
9224 using namespace Zivid::Detail::TypeTraits;
9226 using AllArgsAreDescendantNodes =
9227 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9229 AllArgsAreDescendantNodes::value,
9230 "All arguments passed to set(...) must be descendant nodes.");
9233 AllArgsDecayedAreUnique<Args...>::value,
9234 "Found duplicate types among the arguments passed to set(...). "
9235 "Types should be listed at most once.");
9237 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
9255 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
9257 template<typename... Args>
9261 using namespace Zivid::Detail::TypeTraits;
9263 using AllArgsAreDescendantNodes =
9264 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9266 AllArgsAreDescendantNodes::value,
9267 "All arguments passed to copyWith(...) must be descendant nodes.");
9270 AllArgsDecayedAreUnique<Args...>::value,
9271 "Found duplicate types among the arguments passed to copyWith(...). "
9272 "Types should be listed at most once.");
9275 copy.
set(std::forward<Args>(args)...);
9301 m_removal.
set(value);
9308 m_removal.
set(value);
9315 m_removal.
set(value);
9321 typename std::enable_if<
9322 std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
9331 typename std::enable_if<
9332 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
9341 typename std::enable_if<
9342 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Experimental>::value,
9351 typename std::enable_if<
9352 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Experimental::Mode>::
9360 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
9367 template<
typename F>
9374 template<
typename F>
9396 void setFromString(
const std::string &value);
9398 void setFromString(
const std::string &fullPath,
const std::string &value);
9400 std::string getString(
const std::string &fullPath)
const;
9404 friend struct DataModel::Detail::Befriend<
Reflection>;
9417 static constexpr const char *path{
"Processing/Filters/Smoothing" };
9420 static constexpr const char *name{
"Smoothing" };
9423 static constexpr const char *description{ R
"description(Smoothing filters)description" };
9435 static constexpr const char *path{
"Processing/Filters/Smoothing/Gaussian" };
9438 static constexpr const char *name{
"Gaussian" };
9441 static constexpr const char *description{
9442 R
"description(Gaussian smoothing of the point cloud)description"
9455 static constexpr const char *path{
"Processing/Filters/Smoothing/Gaussian/Enabled" };
9458 static constexpr const char *name{
"Enabled" };
9461 static constexpr const char *description{
9462 R
"description(Enable or disable the smoothing filter)description"
9473 return {
false,
true };
9502 return m_opt == other.m_opt;
9508 return m_opt != other.m_opt;
9518 void setFromString(
const std::string &value);
9520 Zivid::DataModel::Detail::Optional<bool> m_opt;
9522 friend struct DataModel::Detail::Befriend<
Enabled>;
9535 static constexpr const char *path{
"Processing/Filters/Smoothing/Gaussian/Sigma" };
9538 static constexpr const char *name{
"Sigma" };
9541 static constexpr const char *description{
9542 R
"description(Higher values result in smoother point clouds (Standard deviation of the filter coefficients))description"
9559 : m_opt{ verifyValue(value) }
9580 return m_opt == other.m_opt;
9586 return m_opt != other.m_opt;
9592 return m_opt < other.m_opt;
9598 return m_opt > other.m_opt;
9604 return m_opt <= other.m_opt;
9610 return m_opt >= other.m_opt;
9620 void setFromString(
const std::string &value);
9622 constexpr ValueType
static verifyValue(
const ValueType &value)
9624 return validRange().isInRange(value)
9626 :
throw std::out_of_range{
"Sigma{ " + std::to_string(value)
9627 +
" } is not in range ["
9628 + std::to_string(validRange().min()) +
", "
9629 + std::to_string(validRange().max()) +
"]" };
9632 Zivid::DataModel::Detail::Optional<double> m_opt;
9634 friend struct DataModel::Detail::Befriend<
Sigma>;
9659 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
9660 typename std::enable_if<
9661 Zivid::Detail::TypeTraits::
9662 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
9665 template<typename... Args>
9669 using namespace Zivid::Detail::TypeTraits;
9672 AllArgsDecayedAreUnique<Args...>::value,
9673 "Found duplicate types among the arguments passed to Gaussian(...). "
9674 "Types should be listed at most once.");
9676 set(std::forward<Args>(args)...);
9691 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
9693 template<typename... Args>
9697 using namespace Zivid::Detail::TypeTraits;
9699 using AllArgsAreDescendantNodes =
9700 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9702 AllArgsAreDescendantNodes::value,
9703 "All arguments passed to set(...) must be descendant nodes.");
9706 AllArgsDecayedAreUnique<Args...>::value,
9707 "Found duplicate types among the arguments passed to set(...). "
9708 "Types should be listed at most once.");
9710 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
9726 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
9728 template<typename... Args>
9732 using namespace Zivid::Detail::TypeTraits;
9734 using AllArgsAreDescendantNodes =
9735 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9737 AllArgsAreDescendantNodes::value,
9738 "All arguments passed to copyWith(...) must be descendant nodes.");
9741 AllArgsDecayedAreUnique<Args...>::value,
9742 "Found duplicate types among the arguments passed to copyWith(...). "
9743 "Types should be listed at most once.");
9746 copy.
set(std::forward<Args>(args)...);
9790 typename std::enable_if<
9791 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
9800 typename std::enable_if<
9801 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
9808 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
9814 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
9821 template<
typename F>
9829 template<
typename F>
9852 void setFromString(
const std::string &value);
9854 void setFromString(
const std::string &fullPath,
const std::string &value);
9856 std::string getString(
const std::string &fullPath)
const;
9861 friend struct DataModel::Detail::Befriend<
Gaussian>;
9888 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
9889 typename std::enable_if<
9890 Zivid::Detail::TypeTraits::
9891 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
9894 template<typename... Args>
9898 using namespace Zivid::Detail::TypeTraits;
9901 AllArgsDecayedAreUnique<Args...>::value,
9902 "Found duplicate types among the arguments passed to Smoothing(...). "
9903 "Types should be listed at most once.");
9905 set(std::forward<Args>(args)...);
9921 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
9923 template<typename... Args>
9927 using namespace Zivid::Detail::TypeTraits;
9929 using AllArgsAreDescendantNodes =
9930 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9932 AllArgsAreDescendantNodes::value,
9933 "All arguments passed to set(...) must be descendant nodes.");
9936 AllArgsDecayedAreUnique<Args...>::value,
9937 "Found duplicate types among the arguments passed to set(...). "
9938 "Types should be listed at most once.");
9940 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
9957 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
9959 template<typename... Args>
9963 using namespace Zivid::Detail::TypeTraits;
9965 using AllArgsAreDescendantNodes =
9966 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9968 AllArgsAreDescendantNodes::value,
9969 "All arguments passed to copyWith(...) must be descendant nodes.");
9972 AllArgsDecayedAreUnique<Args...>::value,
9973 "Found duplicate types among the arguments passed to copyWith(...). "
9974 "Types should be listed at most once.");
9977 copy.
set(std::forward<Args>(args)...);
10003 m_gaussian.
set(value);
10010 m_gaussian.
set(value);
10016 typename std::enable_if<
10017 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
10026 typename std::enable_if<
10027 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
10036 typename std::enable_if<
10037 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
10044 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
10051 template<
typename F>
10058 template<
typename F>
10076 return stream << value.
toString();
10080 void setFromString(
const std::string &value);
10082 void setFromString(
const std::string &fullPath,
const std::string &value);
10084 std::string getString(
const std::string &fullPath)
const;
10088 friend struct DataModel::Detail::Befriend<
Smoothing>;
10185 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
10186 typename std::enable_if<
10187 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
10191 template<typename... Args>
10195 using namespace Zivid::Detail::TypeTraits;
10198 AllArgsDecayedAreUnique<Args...>::value,
10199 "Found duplicate types among the arguments passed to Filters(...). "
10200 "Types should be listed at most once.");
10202 set(std::forward<Args>(args)...);
10253 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
10255 template<typename... Args>
10259 using namespace Zivid::Detail::TypeTraits;
10261 using AllArgsAreDescendantNodes =
10262 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
10264 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
10267 AllArgsDecayedAreUnique<Args...>::value,
10268 "Found duplicate types among the arguments passed to set(...). "
10269 "Types should be listed at most once.");
10271 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
10323 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
10325 template<typename... Args>
10329 using namespace Zivid::Detail::TypeTraits;
10331 using AllArgsAreDescendantNodes =
10332 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
10334 AllArgsAreDescendantNodes::value,
10335 "All arguments passed to copyWith(...) must be descendant nodes.");
10338 AllArgsDecayedAreUnique<Args...>::value,
10339 "Found duplicate types among the arguments passed to copyWith(...). "
10340 "Types should be listed at most once.");
10342 auto copy{ *
this };
10343 copy.
set(std::forward<Args>(args)...);
10369 m_cluster.
set(value);
10376 m_cluster.
set(value);
10383 m_cluster.
set(value);
10390 m_cluster.
set(value);
10397 return m_experimental;
10403 return m_experimental;
10409 m_experimental = value;
10416 m_experimental.
set(value);
10423 m_experimental.
set(value);
10430 m_experimental.
set(value);
10437 m_experimental.
set(value);
10444 m_experimental.
set(value);
10451 m_experimental.
set(value);
10458 m_experimental.
set(value);
10465 m_experimental.
set(value);
10472 m_experimental.
set(value);
10479 m_experimental.
set(value);
10486 m_experimental.
set(value);
10512 m_noise.
set(value);
10519 m_noise.
set(value);
10526 m_noise.
set(value);
10533 m_noise.
set(value);
10540 m_noise.
set(value);
10547 m_noise.
set(value);
10554 m_noise.
set(value);
10580 m_outlier.
set(value);
10587 m_outlier.
set(value);
10594 m_outlier.
set(value);
10601 return m_reflection;
10607 return m_reflection;
10613 m_reflection = value;
10620 m_reflection.
set(value);
10627 m_reflection.
set(value);
10634 m_reflection.
set(value);
10641 m_reflection.
set(value);
10648 return m_smoothing;
10654 return m_smoothing;
10660 m_smoothing = value;
10667 m_smoothing.
set(value);
10674 m_smoothing.
set(value);
10681 m_smoothing.
set(value);
10687 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Cluster>::value,
int>::type =
10696 typename std::enable_if<
10697 std::is_same<T, Settings::Processing::Filters::Cluster::Removal>::value,
10706 typename std::enable_if<
10707 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::Enabled>::value,
10716 typename std::enable_if<
10717 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance>::value,
10726 typename std::enable_if<
10727 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MinArea>::value,
10736 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
int>::
10740 return m_experimental;
10745 typename std::enable_if<
10746 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
10755 typename std::enable_if<
10756 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::
10761 return m_experimental
10767 typename std::enable_if<
10775 return m_experimental
10781 typename std::enable_if<
10789 return m_experimental
10795 typename std::enable_if<
10796 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::
10801 return m_experimental
10807 typename std::enable_if<
10814 return m_experimental
10820 typename std::enable_if<
10827 return m_experimental
10833 typename std::enable_if<
10834 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling>::value,
10843 typename std::enable_if<
10844 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::Enabled>::value,
10853 typename std::enable_if<
10854 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::HoleSize>::value,
10863 typename std::enable_if<
10864 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::Strictness>::value,
10873 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type =
10883 enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
int>::type = 0>
10891 typename std::enable_if<
10892 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
10901 typename std::enable_if<
10902 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
10911 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Repair>::value,
int>::
10920 typename std::enable_if<
10921 std::is_same<T, Settings::Processing::Filters::Noise::Repair::Enabled>::value,
10930 typename std::enable_if<
10931 std::is_same<T, Settings::Processing::Filters::Noise::Suppression>::value,
10940 typename std::enable_if<
10941 std::is_same<T, Settings::Processing::Filters::Noise::Suppression::Enabled>::value,
10950 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type =
10959 typename std::enable_if<
10960 std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
10969 typename std::enable_if<
10970 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
10979 typename std::enable_if<
10980 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
10989 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
int>::
10993 return m_reflection;
10998 typename std::enable_if<
10999 std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
11008 typename std::enable_if<
11009 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
11018 typename std::enable_if<
11019 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Experimental>::value,
11028 typename std::enable_if<
11029 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Experimental::Mode>::value,
11038 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
int>::
11042 return m_smoothing;
11047 typename std::enable_if<
11048 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
11057 typename std::enable_if<
11058 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
11067 typename std::enable_if<
11068 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
11075 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
11081 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
11084 return m_experimental;
11087 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
11093 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
11099 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
11102 return m_reflection;
11105 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
11108 return m_smoothing;
11112 template<
typename F>
11124 template<
typename F>
11147 return stream << value.
toString();
11151 void setFromString(
const std::string &value);
11153 void setFromString(
const std::string &fullPath,
const std::string &value);
11155 std::string getString(
const std::string &fullPath)
const;
11161 Reflection m_reflection;
11164 friend struct DataModel::Detail::Befriend<
Filters>;
11279 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
11280 typename std::enable_if<
11281 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
11285 template<typename... Args>
11289 using namespace Zivid::Detail::TypeTraits;
11292 AllArgsDecayedAreUnique<Args...>::value,
11293 "Found duplicate types among the arguments passed to Processing(...). "
11294 "Types should be listed at most once.");
11296 set(std::forward<Args>(args)...);
11356 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
11358 template<typename... Args>
11362 using namespace Zivid::Detail::TypeTraits;
11364 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
11366 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
11369 AllArgsDecayedAreUnique<Args...>::value,
11370 "Found duplicate types among the arguments passed to set(...). "
11371 "Types should be listed at most once.");
11373 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
11434 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
11436 template<typename... Args>
11440 using namespace Zivid::Detail::TypeTraits;
11442 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
11444 AllArgsAreDescendantNodes::value,
11445 "All arguments passed to copyWith(...) must be descendant nodes.");
11448 AllArgsDecayedAreUnique<Args...>::value,
11449 "Found duplicate types among the arguments passed to copyWith(...). "
11450 "Types should be listed at most once.");
11452 auto copy{ *
this };
11453 copy.
set(std::forward<Args>(args)...);
11479 m_color.
set(value);
11486 m_color.
set(value);
11493 m_color.
set(value);
11500 m_color.
set(value);
11507 m_color.
set(value);
11514 m_color.
set(value);
11521 m_color.
set(value);
11547 m_filters.
set(value);
11554 m_filters.
set(value);
11561 m_filters.
set(value);
11568 m_filters.
set(value);
11575 m_filters.
set(value);
11582 m_filters.
set(value);
11589 m_filters.
set(value);
11596 m_filters.
set(value);
11603 m_filters.
set(value);
11610 m_filters.
set(value);
11617 m_filters.
set(value);
11624 m_filters.
set(value);
11631 m_filters.
set(value);
11638 m_filters.
set(value);
11645 m_filters.
set(value);
11652 m_filters.
set(value);
11659 m_filters.
set(value);
11666 m_filters.
set(value);
11673 m_filters.
set(value);
11680 m_filters.
set(value);
11687 m_filters.
set(value);
11694 m_filters.
set(value);
11701 m_filters.
set(value);
11708 m_filters.
set(value);
11715 m_filters.
set(value);
11722 m_filters.
set(value);
11729 m_filters.
set(value);
11736 m_filters.
set(value);
11743 m_filters.
set(value);
11750 m_filters.
set(value);
11757 m_filters.
set(value);
11764 m_filters.
set(value);
11771 m_filters.
set(value);
11778 m_filters.
set(value);
11785 m_filters.
set(value);
11792 m_filters.
set(value);
11799 m_filters.
set(value);
11806 m_filters.
set(value);
11812 typename std::enable_if<std::is_same<T, Settings::Processing::Color>::value,
int>::type = 0>
11820 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type = 0>
11828 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
int>::type =
11837 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
int>::
11846 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::type =
11855 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
int>::type =
11864 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental::Mode>::value,
int>::
11873 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
11881 typename std::enable_if<std::is_same<T, Settings::Processing::Filters>::value,
int>::type = 0>
11889 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Cluster>::value,
int>::type = 0>
11897 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Cluster::Removal>::value,
int>::
11906 typename std::enable_if<
11907 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::Enabled>::value,
11916 typename std::enable_if<
11917 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance>::value,
11926 typename std::enable_if<
11927 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MinArea>::value,
11936 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
int>::
11945 typename std::enable_if<
11946 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
11955 typename std::enable_if<
11956 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
11965 typename std::enable_if<
11978 typename std::enable_if<
11991 typename std::enable_if<
11992 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
12001 typename std::enable_if<
12002 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled>::
12013 typename std::enable_if<
12026 typename std::enable_if<
12027 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling>::value,
12036 typename std::enable_if<
12037 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::Enabled>::value,
12046 typename std::enable_if<
12047 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::HoleSize>::value,
12056 typename std::enable_if<
12057 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::Strictness>::value,
12066 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type = 0>
12074 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
int>::
12083 typename std::enable_if<
12084 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
12093 typename std::enable_if<
12094 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
12103 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Repair>::value,
int>::
12112 typename std::enable_if<
12113 std::is_same<T, Settings::Processing::Filters::Noise::Repair::Enabled>::value,
12123 enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Suppression>::value,
int>::type = 0>
12131 typename std::enable_if<
12132 std::is_same<T, Settings::Processing::Filters::Noise::Suppression::Enabled>::value,
12141 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type = 0>
12149 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
int>::
12158 typename std::enable_if<
12159 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
12168 typename std::enable_if<
12169 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
12178 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
int>::type =
12187 typename std::enable_if<
12188 std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
12197 typename std::enable_if<
12198 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
12207 typename std::enable_if<
12208 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Experimental>::value,
12217 typename std::enable_if<
12218 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Experimental::Mode>::value,
12227 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
int>::type =
12236 typename std::enable_if<
12237 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
12246 typename std::enable_if<
12247 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
12256 typename std::enable_if<
12257 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
12264 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
12270 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
12277 template<
typename F>
12285 template<
typename F>
12304 return stream << value.
toString();
12308 void setFromString(
const std::string &value);
12310 void setFromString(
const std::string &fullPath,
const std::string &value);
12312 std::string getString(
const std::string &fullPath)
const;
12317 friend struct DataModel::Detail::Befriend<
Processing>;
12331 static constexpr const char *path{
"RegionOfInterest" };
12334 static constexpr const char *name{
"RegionOfInterest" };
12337 static constexpr const char *description{ R
"description(Removes points outside the region of interest.
12360 static constexpr const char *path{
"RegionOfInterest/Box" };
12363 static constexpr const char *name{
"Box" };
12366 static constexpr const char *description{ R
"description(Removes the points outside the box.
12368The box is defined by three points: O, A and B. These points define two vectors,
12369OA that goes from PointO to PointA, and OB that goes from PointO to PointB.
12370This gives 4 points O, A, B and (O + OA + OB), that together form a
12371parallelogram in 3D.
12373Two extents can be provided, to extrude the parallelogram along the surface
12374normal vector of the parallelogram plane. This creates a 3D volume (parallelepiped).
12375The surface normal vector is defined by the cross product OA x OB.
12388 static constexpr const char *path{
"RegionOfInterest/Box/Enabled" };
12391 static constexpr const char *name{
"Enabled" };
12394 static constexpr const char *description{ R
"description(Enabled)description" };
12404 return {
false,
true };
12433 return m_opt == other.m_opt;
12439 return m_opt != other.m_opt;
12445 return stream << value.
toString();
12449 void setFromString(
const std::string &value);
12451 Zivid::DataModel::Detail::Optional<bool> m_opt;
12453 friend struct DataModel::Detail::Befriend<
Enabled>;
12466 static constexpr const char *path{
"RegionOfInterest/Box/Extents" };
12469 static constexpr const char *name{
"Extents" };
12472 static constexpr const char *description{
12473 R
"description(Two points on the normal describing the direction and distance from the plane from which the normal is derived.)description"
12503 explicit constexpr Extents(
double minValue,
double maxValue)
12510 return m_opt == other.m_opt;
12516 return m_opt != other.m_opt;
12522 return stream << value.
toString();
12526 void setFromString(
const std::string &value);
12528 Zivid::DataModel::Detail::Optional<Zivid::Range<double>> m_opt;
12530 friend struct DataModel::Detail::Befriend<
Extents>;
12543 static constexpr const char *path{
"RegionOfInterest/Box/PointA" };
12546 static constexpr const char *name{
"PointA" };
12549 static constexpr const char *description{
12550 R
"description(A point such that the vector from PointO to PointA describes the first edge of the parallelogram)description"
12580 explicit constexpr PointA(
float x,
float y,
float z)
12587 return m_opt == other.m_opt;
12593 return m_opt != other.m_opt;
12599 return stream << value.
toString();
12603 void setFromString(
const std::string &value);
12605 Zivid::DataModel::Detail::Optional<Zivid::PointXYZ> m_opt;
12607 friend struct DataModel::Detail::Befriend<
PointA>;
12620 static constexpr const char *path{
"RegionOfInterest/Box/PointB" };
12623 static constexpr const char *name{
"PointB" };
12626 static constexpr const char *description{
12627 R
"description(A point such that the vector from PointO to PointB describes the second edge of the parallelogram)description"
12657 explicit constexpr PointB(
float x,
float y,
float z)
12664 return m_opt == other.m_opt;
12670 return m_opt != other.m_opt;
12676 return stream << value.
toString();
12680 void setFromString(
const std::string &value);
12682 Zivid::DataModel::Detail::Optional<Zivid::PointXYZ> m_opt;
12684 friend struct DataModel::Detail::Befriend<
PointB>;
12697 static constexpr const char *path{
"RegionOfInterest/Box/PointO" };
12700 static constexpr const char *name{
"PointO" };
12703 static constexpr const char *description{
12704 R
"description(The point at the intersection of two adjacent edges defining a parallelogram)description"
12734 explicit constexpr PointO(
float x,
float y,
float z)
12741 return m_opt == other.m_opt;
12747 return m_opt != other.m_opt;
12753 return stream << value.
toString();
12757 void setFromString(
const std::string &value);
12759 Zivid::DataModel::Detail::Optional<Zivid::PointXYZ> m_opt;
12761 friend struct DataModel::Detail::Befriend<
PointO>;
12792 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
12793 typename std::enable_if<
12794 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
12798 template<typename... Args>
12802 using namespace Zivid::Detail::TypeTraits;
12805 AllArgsDecayedAreUnique<Args...>::value,
12806 "Found duplicate types among the arguments passed to Box(...). "
12807 "Types should be listed at most once.");
12809 set(std::forward<Args>(args)...);
12827 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
12829 template<typename... Args>
12833 using namespace Zivid::Detail::TypeTraits;
12835 using AllArgsAreDescendantNodes =
12836 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
12838 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
12841 AllArgsDecayedAreUnique<Args...>::value,
12842 "Found duplicate types among the arguments passed to set(...). "
12843 "Types should be listed at most once.");
12845 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
12864 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
12866 template<typename... Args>
12870 using namespace Zivid::Detail::TypeTraits;
12872 using AllArgsAreDescendantNodes =
12873 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
12875 AllArgsAreDescendantNodes::value,
12876 "All arguments passed to copyWith(...) must be descendant nodes.");
12879 AllArgsDecayedAreUnique<Args...>::value,
12880 "Found duplicate types among the arguments passed to copyWith(...). "
12881 "Types should be listed at most once.");
12883 auto copy{ *
this };
12884 copy.
set(std::forward<Args>(args)...);
12985 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Enabled>::value,
int>::
12994 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Extents>::value,
int>::
13003 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointA>::value,
int>::
13012 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointB>::value,
int>::
13021 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointO>::value,
int>::
13028 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
13034 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
13040 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
13046 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
13052 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
13059 template<
typename F>
13070 template<
typename F>
13092 return stream << value.
toString();
13096 void setFromString(
const std::string &value);
13098 void setFromString(
const std::string &fullPath,
const std::string &value);
13100 std::string getString(
const std::string &fullPath)
const;
13108 friend struct DataModel::Detail::Befriend<
Box>;
13123 static constexpr const char *path{
"RegionOfInterest/Depth" };
13126 static constexpr const char *name{
"Depth" };
13129 static constexpr const char *description{
13130 R
"description(Removes points that reside outside of a depth range, meaning that their Z coordinate
13131falls above a given maximum or below a given minimum.
13145 static constexpr const char *path{
"RegionOfInterest/Depth/Enabled" };
13148 static constexpr const char *name{
"Enabled" };
13151 static constexpr const char *description{ R
"description(Enabled)description" };
13161 return {
false,
true };
13190 return m_opt == other.m_opt;
13196 return m_opt != other.m_opt;
13202 return stream << value.
toString();
13206 void setFromString(
const std::string &value);
13208 Zivid::DataModel::Detail::Optional<bool> m_opt;
13210 friend struct DataModel::Detail::Befriend<
Enabled>;
13223 static constexpr const char *path{
"RegionOfInterest/Depth/Range" };
13226 static constexpr const char *name{
"Range" };
13229 static constexpr const char *description{
13230 R
"description(Specify the minimum and maximum Z value that will be included.)description"
13260 explicit constexpr Range(
double minValue,
double maxValue)
13267 return m_opt == other.m_opt;
13273 return m_opt != other.m_opt;
13279 return stream << value.
toString();
13283 void setFromString(
const std::string &value);
13285 Zivid::DataModel::Detail::Optional<Zivid::Range<double>> m_opt;
13287 friend struct DataModel::Detail::Befriend<
Range>;
13291 std::tuple<Settings::RegionOfInterest::Depth::Enabled, Settings::RegionOfInterest::Depth::Range>;
13311 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
13312 typename std::enable_if<
13313 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
13317 template<typename... Args>
13321 using namespace Zivid::Detail::TypeTraits;
13324 AllArgsDecayedAreUnique<Args...>::value,
13325 "Found duplicate types among the arguments passed to Depth(...). "
13326 "Types should be listed at most once.");
13328 set(std::forward<Args>(args)...);
13343 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
13345 template<typename... Args>
13349 using namespace Zivid::Detail::TypeTraits;
13351 using AllArgsAreDescendantNodes =
13352 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
13354 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
13357 AllArgsDecayedAreUnique<Args...>::value,
13358 "Found duplicate types among the arguments passed to set(...). "
13359 "Types should be listed at most once.");
13361 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
13377 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
13379 template<typename... Args>
13383 using namespace Zivid::Detail::TypeTraits;
13385 using AllArgsAreDescendantNodes =
13386 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
13388 AllArgsAreDescendantNodes::value,
13389 "All arguments passed to copyWith(...) must be descendant nodes.");
13392 AllArgsDecayedAreUnique<Args...>::value,
13393 "Found duplicate types among the arguments passed to copyWith(...). "
13394 "Types should be listed at most once.");
13396 auto copy{ *
this };
13397 copy.
set(std::forward<Args>(args)...);
13441 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Enabled>::value,
int>::
13450 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Range>::value,
int>::
13457 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
13463 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
13470 template<
typename F>
13478 template<
typename F>
13497 return stream << value.
toString();
13501 void setFromString(
const std::string &value);
13503 void setFromString(
const std::string &fullPath,
const std::string &value);
13505 std::string getString(
const std::string &fullPath)
const;
13510 friend struct DataModel::Detail::Befriend<
Depth>;
13549 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
13550 typename std::enable_if<
13551 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
13555 template<typename... Args>
13559 using namespace Zivid::Detail::TypeTraits;
13562 AllArgsDecayedAreUnique<Args...>::value,
13563 "Found duplicate types among the arguments passed to RegionOfInterest(...). "
13564 "Types should be listed at most once.");
13566 set(std::forward<Args>(args)...);
13588 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
13590 template<typename... Args>
13594 using namespace Zivid::Detail::TypeTraits;
13596 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
13598 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
13601 AllArgsDecayedAreUnique<Args...>::value,
13602 "Found duplicate types among the arguments passed to set(...). "
13603 "Types should be listed at most once.");
13605 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
13628 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
13630 template<typename... Args>
13634 using namespace Zivid::Detail::TypeTraits;
13636 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
13638 AllArgsAreDescendantNodes::value,
13639 "All arguments passed to copyWith(...) must be descendant nodes.");
13642 AllArgsDecayedAreUnique<Args...>::value,
13643 "Found duplicate types among the arguments passed to copyWith(...). "
13644 "Types should be listed at most once.");
13646 auto copy{ *
this };
13647 copy.
set(std::forward<Args>(args)...);
13727 m_depth.
set(value);
13734 m_depth.
set(value);
13740 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box>::value,
int>::type = 0>
13748 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Enabled>::value,
int>::type =
13757 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Extents>::value,
int>::type =
13766 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointA>::value,
int>::type = 0>
13774 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointB>::value,
int>::type = 0>
13782 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointO>::value,
int>::type = 0>
13790 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth>::value,
int>::type = 0>
13798 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Enabled>::value,
int>::type =
13807 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Range>::value,
int>::type =
13814 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
13820 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
13827 template<
typename F>
13835 template<
typename F>
13854 return stream << value.
toString();
13858 void setFromString(
const std::string &value);
13860 void setFromString(
const std::string &fullPath,
const std::string &value);
13862 std::string getString(
const std::string &fullPath)
const;
13881 static constexpr const char *path{
"Sampling" };
13884 static constexpr const char *name{
"Sampling" };
13887 static constexpr const char *description{ R
"description(Sampling group
13904 static constexpr const char *path{
"Sampling/Color" };
13907 static constexpr const char *name{
"Color" };
13910 static constexpr const char *description{
13911 R
"description(Choose how to sample colors for the pointcloud. The `rgb` option gives all
13912colors for a regular Zivid camera. The `disabled` option gives no colors and
13913can allow for faster captures. It is also useful if you want to avoid projecting
13914white light in the subsampling modes under `Sampling::Pixel`.
13930 return { ValueType::rgb, ValueType::disabled };
13938 : m_opt{ verifyValue(value) }
13965 return m_opt == other.m_opt;
13971 return m_opt != other.m_opt;
13977 return stream << value.
toString();
13981 void setFromString(
const std::string &value);
13983 constexpr ValueType
static verifyValue(
const ValueType &value)
13985 return value == ValueType::rgb || value == ValueType::disabled
13987 :
throw std::invalid_argument{
13988 "Invalid value: Color{ "
13989 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
13993 Zivid::DataModel::Detail::Optional<ValueType> m_opt;
13995 friend struct DataModel::Detail::Befriend<
Color>;
14016 static constexpr const char *path{
"Sampling/Pixel" };
14019 static constexpr const char *name{
"Pixel" };
14022 static constexpr const char *description{
14023 R
"description(Set whether the full image sensor should be used with white projector light or
14024only specific color channels with corresponding projector light.
14025Using only a specific color channel will subsample pixels and give a
14028Subsampling decreases the capture time, as less data will be captured and processed.
14029Picking a specific color channel can also help reduce noise and effects of ambient light.
14030Projecting blue light will in most cases give better data than red light.
14052 return { ValueType::all,
14053 ValueType::blueSubsample2x2,
14054 ValueType::redSubsample2x2,
14055 ValueType::blueSubsample4x4,
14056 ValueType::redSubsample4x4 };
14064 : m_opt{ verifyValue(value) }
14091 return m_opt == other.m_opt;
14097 return m_opt != other.m_opt;
14103 return stream << value.
toString();
14107 void setFromString(
const std::string &value);
14109 constexpr ValueType
static verifyValue(
const ValueType &value)
14111 return value == ValueType::all || value == ValueType::blueSubsample2x2
14112 || value == ValueType::redSubsample2x2 || value == ValueType::blueSubsample4x4
14113 || value == ValueType::redSubsample4x4
14115 :
throw std::invalid_argument{
14116 "Invalid value: Pixel{ "
14117 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
14121 Zivid::DataModel::Detail::Optional<ValueType> m_opt;
14123 friend struct DataModel::Detail::Befriend<
Pixel>;
14126 using Descendants = std::tuple<Settings::Sampling::Color, Settings::Sampling::Pixel>;
14146 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
14147 typename std::enable_if<
14148 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
14152 template<typename... Args>
14156 using namespace Zivid::Detail::TypeTraits;
14159 AllArgsDecayedAreUnique<Args...>::value,
14160 "Found duplicate types among the arguments passed to Sampling(...). "
14161 "Types should be listed at most once.");
14163 set(std::forward<Args>(args)...);
14178 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
14180 template<typename... Args>
14184 using namespace Zivid::Detail::TypeTraits;
14186 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
14188 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
14191 AllArgsDecayedAreUnique<Args...>::value,
14192 "Found duplicate types among the arguments passed to set(...). "
14193 "Types should be listed at most once.");
14195 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
14211 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
14213 template<typename... Args>
14217 using namespace Zivid::Detail::TypeTraits;
14219 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
14221 AllArgsAreDescendantNodes::value,
14222 "All arguments passed to copyWith(...) must be descendant nodes.");
14225 AllArgsDecayedAreUnique<Args...>::value,
14226 "Found duplicate types among the arguments passed to copyWith(...). "
14227 "Types should be listed at most once.");
14229 auto copy{ *
this };
14230 copy.
set(std::forward<Args>(args)...);
14274 typename std::enable_if<std::is_same<T, Settings::Sampling::Color>::value,
int>::type = 0>
14282 typename std::enable_if<std::is_same<T, Settings::Sampling::Pixel>::value,
int>::type = 0>
14288 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
14294 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
14301 template<
typename F>
14309 template<
typename F>
14328 return stream << value.
toString();
14332 void setFromString(
const std::string &value);
14334 void setFromString(
const std::string &fullPath,
const std::string &value);
14336 std::string getString(
const std::string &fullPath)
const;
14341 friend struct DataModel::Detail::Befriend<
Sampling>;
14497 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
14498 typename std::enable_if<
14499 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
14502 template<typename... Args>
14506 using namespace Zivid::Detail::TypeTraits;
14509 AllArgsDecayedAreUnique<Args...>::value,
14510 "Found duplicate types among the arguments passed to Settings(...). "
14511 "Types should be listed at most once.");
14513 set(std::forward<Args>(args)...);
14592 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
14594 template<typename... Args>
14598 using namespace Zivid::Detail::TypeTraits;
14600 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
14602 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
14605 AllArgsDecayedAreUnique<Args...>::value,
14606 "Found duplicate types among the arguments passed to set(...). "
14607 "Types should be listed at most once.");
14609 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
14689 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
14691 template<typename... Args>
14695 using namespace Zivid::Detail::TypeTraits;
14697 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
14699 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
14702 AllArgsDecayedAreUnique<Args...>::value,
14703 "Found duplicate types among the arguments passed to copyWith(...). "
14704 "Types should be listed at most once.");
14706 auto copy{ *
this };
14707 copy.
set(std::forward<Args>(args)...);
14714 return m_acquisitions;
14720 return m_acquisitions;
14726 m_acquisitions = value;
14733 return m_diagnostics;
14739 return m_diagnostics;
14745 m_diagnostics = value;
14752 m_diagnostics.
set(value);
14759 return m_experimental;
14765 return m_experimental;
14771 m_experimental = value;
14778 m_experimental.
set(value);
14785 return m_processing;
14791 return m_processing;
14797 m_processing = value;
14804 m_processing.
set(value);
14811 m_processing.
set(value);
14818 m_processing.
set(value);
14825 m_processing.
set(value);
14832 m_processing.
set(value);
14839 m_processing.
set(value);
14846 m_processing.
set(value);
14853 m_processing.
set(value);
14860 m_processing.
set(value);
14867 m_processing.
set(value);
14874 m_processing.
set(value);
14881 m_processing.
set(value);
14888 m_processing.
set(value);
14895 m_processing.
set(value);
14902 m_processing.
set(value);
14909 m_processing.
set(value);
14916 m_processing.
set(value);
14923 m_processing.
set(value);
14930 m_processing.
set(value);
14937 m_processing.
set(value);
14944 m_processing.
set(value);
14951 m_processing.
set(value);
14958 m_processing.
set(value);
14965 m_processing.
set(value);
14972 m_processing.
set(value);
14979 m_processing.
set(value);
14986 m_processing.
set(value);
14993 m_processing.
set(value);
15000 m_processing.
set(value);
15007 m_processing.
set(value);
15014 m_processing.
set(value);
15021 m_processing.
set(value);
15028 m_processing.
set(value);
15035 m_processing.
set(value);
15042 m_processing.
set(value);
15049 m_processing.
set(value);
15056 m_processing.
set(value);
15063 m_processing.
set(value);
15070 m_processing.
set(value);
15077 m_processing.
set(value);
15084 m_processing.
set(value);
15091 m_processing.
set(value);
15098 m_processing.
set(value);
15105 m_processing.
set(value);
15112 m_processing.
set(value);
15119 m_processing.
set(value);
15126 m_processing.
set(value);
15133 return m_regionOfInterest;
15139 return m_regionOfInterest;
15145 m_regionOfInterest = value;
15152 m_regionOfInterest.
set(value);
15159 m_regionOfInterest.
set(value);
15166 m_regionOfInterest.
set(value);
15173 m_regionOfInterest.
set(value);
15180 m_regionOfInterest.
set(value);
15187 m_regionOfInterest.
set(value);
15194 m_regionOfInterest.
set(value);
15201 m_regionOfInterest.
set(value);
15208 m_regionOfInterest.
set(value);
15227 m_sampling = value;
15234 m_sampling.
set(value);
15241 m_sampling.
set(value);
15245 template<typename T, typename std::enable_if<std::is_same<T, Settings::Acquisitions>::value,
int>::type = 0>
15248 return m_acquisitions;
15251 template<typename T, typename std::enable_if<std::is_same<T, Settings::Diagnostics>::value,
int>::type = 0>
15254 return m_diagnostics;
15259 typename std::enable_if<std::is_same<T, Settings::Diagnostics::Enabled>::value,
int>::type = 0>
15265 template<typename T, typename std::enable_if<std::is_same<T, Settings::Experimental>::value,
int>::type = 0>
15268 return m_experimental;
15273 typename std::enable_if<std::is_same<T, Settings::Experimental::Engine>::value,
int>::type = 0>
15279 template<typename T, typename std::enable_if<std::is_same<T, Settings::Processing>::value,
int>::type = 0>
15282 return m_processing;
15287 typename std::enable_if<std::is_same<T, Settings::Processing::Color>::value,
int>::type = 0>
15295 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type = 0>
15303 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
int>::type = 0>
15311 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
int>::type = 0>
15319 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::type = 0>
15327 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
int>::type = 0>
15335 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental::Mode>::value,
int>::
15344 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
15352 typename std::enable_if<std::is_same<T, Settings::Processing::Filters>::value,
int>::type = 0>
15360 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Cluster>::value,
int>::type = 0>
15368 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Cluster::Removal>::value,
int>::
15377 typename std::enable_if<
15378 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::Enabled>::value,
15387 typename std::enable_if<
15388 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance>::value,
15397 typename std::enable_if<
15398 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MinArea>::value,
15407 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
int>::type = 0>
15415 typename std::enable_if<
15416 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
15425 typename std::enable_if<
15426 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
15435 typename std::enable_if<
15436 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled>::
15441 return m_processing
15447 typename std::enable_if<
15448 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength>::
15453 return m_processing
15459 typename std::enable_if<
15460 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
15469 typename std::enable_if<
15470 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled>::
15475 return m_processing
15481 typename std::enable_if<
15482 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold>::
15487 return m_processing
15493 typename std::enable_if<
15494 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling>::value,
15503 typename std::enable_if<
15504 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::Enabled>::value,
15513 typename std::enable_if<
15514 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::HoleSize>::value,
15523 typename std::enable_if<
15524 std::is_same<T, Settings::Processing::Filters::Experimental::HoleFilling::Strictness>::value,
15533 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type = 0>
15541 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
int>::type =
15550 typename std::enable_if<
15551 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
15560 typename std::enable_if<
15561 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
15570 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Repair>::value,
int>::type =
15580 enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Repair::Enabled>::value,
int>::type = 0>
15588 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Suppression>::value,
int>::
15597 typename std::enable_if<
15598 std::is_same<T, Settings::Processing::Filters::Noise::Suppression::Enabled>::value,
15607 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type = 0>
15615 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
int>::
15624 typename std::enable_if<
15625 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
15634 typename std::enable_if<
15635 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
15644 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
int>::type = 0>
15652 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
int>::
15661 typename std::enable_if<
15662 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
15671 typename std::enable_if<
15672 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Experimental>::value,
15681 typename std::enable_if<
15682 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Experimental::Mode>::value,
15691 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
int>::type = 0>
15699 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
int>::
15708 typename std::enable_if<
15709 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
15718 typename std::enable_if<
15719 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
15726 template<typename T, typename std::enable_if<std::is_same<T, Settings::RegionOfInterest>::value,
int>::type = 0>
15729 return m_regionOfInterest;
15734 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box>::value,
int>::type = 0>
15742 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Enabled>::value,
int>::type = 0>
15750 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Extents>::value,
int>::type = 0>
15758 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointA>::value,
int>::type = 0>
15766 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointB>::value,
int>::type = 0>
15774 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointO>::value,
int>::type = 0>
15782 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth>::value,
int>::type = 0>
15790 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Enabled>::value,
int>::type = 0>
15798 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Range>::value,
int>::type = 0>
15804 template<typename T, typename std::enable_if<std::is_same<T, Settings::Sampling>::value,
int>::type = 0>
15810 template<typename T, typename std::enable_if<std::is_same<T, Settings::Sampling::Color>::value,
int>::type = 0>
15816 template<typename T, typename std::enable_if<std::is_same<T, Settings::Sampling::Pixel>::value,
int>::type = 0>
15822 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
15825 return m_acquisitions;
15828 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
15831 return m_diagnostics;
15834 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
15837 return m_experimental;
15840 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
15843 return m_processing;
15846 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
15849 return m_regionOfInterest;
15852 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
15859 template<
typename F>
15866 f(m_regionOfInterest);
15871 template<
typename F>
15878 f(m_regionOfInterest);
15894 return stream << value.
toString();
15898 void save(
const std::string &fileName)
const;
15901 void load(
const std::string &fileName);
15904 void setFromString(
const std::string &value);
15906 void setFromString(
const std::string &fullPath,
const std::string &value);
15908 std::string getString(
const std::string &fullPath)
const;
15917 friend struct DataModel::Detail::Befriend<
Settings>;
15931 struct Settings::Version<22>
15933 using Type = Settings;
15940# pragma warning(pop)
15944# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
15949 struct tuple_size<
Zivid::Settings::Diagnostics> : integral_constant<size_t, 1>
15953 struct tuple_element<i,
Zivid::Settings::Diagnostics>
15955 static_assert(i < tuple_size<Zivid::Settings::Diagnostics>::value,
"Index must be less than 1");
15958 =
decltype(declval<Zivid::Settings::Diagnostics>().get<i>());
15962 struct tuple_size<
Zivid::Settings::Experimental> : integral_constant<size_t, 1>
15966 struct tuple_element<i,
Zivid::Settings::Experimental>
15968 static_assert(i < tuple_size<Zivid::Settings::Experimental>::value,
"Index must be less than 1");
15971 =
decltype(declval<Zivid::Settings::Experimental>().get<i>());
15975 struct tuple_size<
Zivid::Settings::Processing> : integral_constant<size_t, 2>
15979 struct tuple_element<i,
Zivid::Settings::Processing>
15981 static_assert(i < tuple_size<Zivid::Settings::Processing>::value,
"Index must be less than 2");
15984 =
decltype(declval<Zivid::Settings::Processing>().get<i>());
15988 struct tuple_size<
Zivid::Settings::Processing::Color> : integral_constant<size_t, 3>
15992 struct tuple_element<i,
Zivid::Settings::Processing::Color>
15994 static_assert(i < tuple_size<Zivid::Settings::Processing::Color>::value,
"Index must be less than 3");
15997 =
decltype(declval<Zivid::Settings::Processing::Color>().get<i>());
16001 struct tuple_size<
Zivid::Settings::Processing::Color::Balance> : integral_constant<size_t, 3>
16005 struct tuple_element<i,
Zivid::Settings::Processing::Color::Balance>
16007 static_assert(i < tuple_size<Zivid::Settings::Processing::Color::Balance>::value,
"Index must be less than 3");
16010 =
decltype(declval<Zivid::Settings::Processing::Color::Balance>().get<i>());
16014 struct tuple_size<
Zivid::Settings::Processing::Color::Experimental> : integral_constant<size_t, 1>
16018 struct tuple_element<i,
Zivid::Settings::Processing::Color::Experimental>
16021 i < tuple_size<Zivid::Settings::Processing::Color::Experimental>::value,
16022 "Index must be less than 1");
16025 =
decltype(declval<Zivid::Settings::Processing::Color::Experimental>().get<i>());
16029 struct tuple_size<
Zivid::Settings::Processing::Filters> : integral_constant<size_t, 6>
16033 struct tuple_element<i,
Zivid::Settings::Processing::Filters>
16035 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters>::value,
"Index must be less than 6");
16038 =
decltype(declval<Zivid::Settings::Processing::Filters>().get<i>());
16042 struct tuple_size<
Zivid::Settings::Processing::Filters::Cluster> : integral_constant<size_t, 1>
16046 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Cluster>
16049 i < tuple_size<Zivid::Settings::Processing::Filters::Cluster>::value,
16050 "Index must be less than 1");
16053 =
decltype(declval<Zivid::Settings::Processing::Filters::Cluster>().get<i>());
16057 struct tuple_size<
Zivid::Settings::Processing::Filters::Cluster::Removal> : integral_constant<size_t, 3>
16061 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Cluster::Removal>
16064 i < tuple_size<Zivid::Settings::Processing::Filters::Cluster::Removal>::value,
16065 "Index must be less than 3");
16068 =
decltype(declval<Zivid::Settings::Processing::Filters::Cluster::Removal>().get<i>());
16072 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental> : integral_constant<size_t, 2>
16076 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental>
16079 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental>::value,
16080 "Index must be less than 2");
16083 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental>().get<i>());
16087 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>
16088 : integral_constant<size_t, 2>
16092 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>
16095 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
16096 "Index must be less than 2");
16099 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>().get<i>());
16103 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>
16104 : integral_constant<size_t, 2>
16108 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>
16111 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
16112 "Index must be less than 2");
16115 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>()
16120 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>
16121 : integral_constant<size_t, 2>
16125 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>
16128 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
16129 "Index must be less than 2");
16132 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>()
16137 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::HoleFilling> : integral_constant<size_t, 3>
16141 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::HoleFilling>
16144 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::HoleFilling>::value,
16145 "Index must be less than 3");
16148 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental::HoleFilling>().get<i>());
16152 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise> : integral_constant<size_t, 3>
16156 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise>
16158 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Noise>::value,
"Index must be less than 3");
16161 =
decltype(declval<Zivid::Settings::Processing::Filters::Noise>().get<i>());
16165 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise::Removal> : integral_constant<size_t, 2>
16169 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise::Removal>
16172 i < tuple_size<Zivid::Settings::Processing::Filters::Noise::Removal>::value,
16173 "Index must be less than 2");
16176 =
decltype(declval<Zivid::Settings::Processing::Filters::Noise::Removal>().get<i>());
16180 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise::Repair> : integral_constant<size_t, 1>
16184 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise::Repair>
16187 i < tuple_size<Zivid::Settings::Processing::Filters::Noise::Repair>::value,
16188 "Index must be less than 1");
16191 =
decltype(declval<Zivid::Settings::Processing::Filters::Noise::Repair>().get<i>());
16195 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise::Suppression> : integral_constant<size_t, 1>
16199 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise::Suppression>
16202 i < tuple_size<Zivid::Settings::Processing::Filters::Noise::Suppression>::value,
16203 "Index must be less than 1");
16206 =
decltype(declval<Zivid::Settings::Processing::Filters::Noise::Suppression>().get<i>());
16210 struct tuple_size<
Zivid::Settings::Processing::Filters::Outlier> : integral_constant<size_t, 1>
16214 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Outlier>
16217 i < tuple_size<Zivid::Settings::Processing::Filters::Outlier>::value,
16218 "Index must be less than 1");
16221 =
decltype(declval<Zivid::Settings::Processing::Filters::Outlier>().get<i>());
16225 struct tuple_size<
Zivid::Settings::Processing::Filters::Outlier::Removal> : integral_constant<size_t, 2>
16229 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Outlier::Removal>
16232 i < tuple_size<Zivid::Settings::Processing::Filters::Outlier::Removal>::value,
16233 "Index must be less than 2");
16236 =
decltype(declval<Zivid::Settings::Processing::Filters::Outlier::Removal>().get<i>());
16240 struct tuple_size<
Zivid::Settings::Processing::Filters::Reflection> : integral_constant<size_t, 1>
16244 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Reflection>
16247 i < tuple_size<Zivid::Settings::Processing::Filters::Reflection>::value,
16248 "Index must be less than 1");
16251 =
decltype(declval<Zivid::Settings::Processing::Filters::Reflection>().get<i>());
16255 struct tuple_size<
Zivid::Settings::Processing::Filters::Reflection::Removal> : integral_constant<size_t, 2>
16259 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Reflection::Removal>
16262 i < tuple_size<Zivid::Settings::Processing::Filters::Reflection::Removal>::value,
16263 "Index must be less than 2");
16266 =
decltype(declval<Zivid::Settings::Processing::Filters::Reflection::Removal>().get<i>());
16270 struct tuple_size<
Zivid::Settings::Processing::Filters::Reflection::Removal::Experimental>
16271 : integral_constant<size_t, 1>
16275 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Reflection::Removal::Experimental>
16278 i < tuple_size<Zivid::Settings::Processing::Filters::Reflection::Removal::Experimental>::value,
16279 "Index must be less than 1");
16282 =
decltype(declval<Zivid::Settings::Processing::Filters::Reflection::Removal::Experimental>().get<i>());
16286 struct tuple_size<
Zivid::Settings::Processing::Filters::Smoothing> : integral_constant<size_t, 1>
16290 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Smoothing>
16293 i < tuple_size<Zivid::Settings::Processing::Filters::Smoothing>::value,
16294 "Index must be less than 1");
16297 =
decltype(declval<Zivid::Settings::Processing::Filters::Smoothing>().get<i>());
16301 struct tuple_size<
Zivid::Settings::Processing::Filters::Smoothing::Gaussian> : integral_constant<size_t, 2>
16305 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Smoothing::Gaussian>
16308 i < tuple_size<Zivid::Settings::Processing::Filters::Smoothing::Gaussian>::value,
16309 "Index must be less than 2");
16312 =
decltype(declval<Zivid::Settings::Processing::Filters::Smoothing::Gaussian>().get<i>());
16316 struct tuple_size<
Zivid::Settings::RegionOfInterest> : integral_constant<size_t, 2>
16320 struct tuple_element<i,
Zivid::Settings::RegionOfInterest>
16322 static_assert(i < tuple_size<Zivid::Settings::RegionOfInterest>::value,
"Index must be less than 2");
16325 =
decltype(declval<Zivid::Settings::RegionOfInterest>().get<i>());
16329 struct tuple_size<
Zivid::Settings::RegionOfInterest::Box> : integral_constant<size_t, 5>
16333 struct tuple_element<i,
Zivid::Settings::RegionOfInterest::Box>
16335 static_assert(i < tuple_size<Zivid::Settings::RegionOfInterest::Box>::value,
"Index must be less than 5");
16338 =
decltype(declval<Zivid::Settings::RegionOfInterest::Box>().get<i>());
16342 struct tuple_size<
Zivid::Settings::RegionOfInterest::Depth> : integral_constant<size_t, 2>
16346 struct tuple_element<i,
Zivid::Settings::RegionOfInterest::Depth>
16348 static_assert(i < tuple_size<Zivid::Settings::RegionOfInterest::Depth>::value,
"Index must be less than 2");
16351 =
decltype(declval<Zivid::Settings::RegionOfInterest::Depth>().get<i>());
16355 struct tuple_size<
Zivid::Settings::Sampling> : integral_constant<size_t, 2>
16359 struct tuple_element<i,
Zivid::Settings::Sampling>
16361 static_assert(i < tuple_size<Zivid::Settings::Sampling>::value,
"Index must be less than 2");
16364 =
decltype(declval<Zivid::Settings::Sampling>().get<i>());
16368 struct tuple_size<
Zivid::Settings> : integral_constant<size_t, 6>
16372 struct tuple_element<i,
Zivid::Settings>
16374 static_assert(i < tuple_size<Zivid::Settings>::value,
"Index must be less than 6");
16377 =
decltype(declval<Zivid::Settings>().get<i>());
16386#if defined(__has_include) && !defined(NO_DOC)
16387# if __has_include("Zivid/SettingsInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
16388# include "Zivid/SettingsInternal.h"
#define ZIVID_CORE_EXPORT
Definition CoreExport.h:56
Class describing a range of values for a given type T.
Definition Range.h:73
Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to the effe...
Definition Settings.h:133
bool operator<(const Aperture &other) const
Comparison operator.
Definition Settings.h:196
friend std::ostream & operator<<(std::ostream &stream, const Aperture &value)
Operator to serialize the value to a stream.
Definition Settings.h:220
double value() const
Get the value.
std::string toString() const
Get the value as string.
bool operator<=(const Aperture &other) const
Comparison operator.
Definition Settings.h:208
bool operator>(const Aperture &other) const
Comparison operator.
Definition Settings.h:202
bool operator==(const Aperture &other) const
Comparison operator.
Definition Settings.h:184
bool operator>=(const Aperture &other) const
Comparison operator.
Definition Settings.h:214
bool operator!=(const Aperture &other) const
Comparison operator.
Definition Settings.h:190
Aperture()=default
Default constructor.
constexpr Aperture(double value)
Constructor.
Definition Settings.h:164
double ValueType
The type of the underlying value.
Definition Settings.h:152
void reset()
Reset the node to unset state.
static constexpr Range< double > validRange()
The range of valid values for Aperture.
Definition Settings.h:155
bool hasValue() const
Check if the value is set.
Brightness controls the light output from the projector.
Definition Settings.h:256
bool operator<=(const Brightness &other) const
Comparison operator.
Definition Settings.h:339
bool operator!=(const Brightness &other) const
Comparison operator.
Definition Settings.h:321
bool operator>=(const Brightness &other) const
Comparison operator.
Definition Settings.h:345
bool operator<(const Brightness &other) const
Comparison operator.
Definition Settings.h:327
bool operator>(const Brightness &other) const
Comparison operator.
Definition Settings.h:333
void reset()
Reset the node to unset state.
static constexpr Range< double > validRange()
The range of valid values for Brightness.
Definition Settings.h:286
std::string toString() const
Get the value as string.
double value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const Brightness &value)
Operator to serialize the value to a stream.
Definition Settings.h:351
constexpr Brightness(double value)
Constructor.
Definition Settings.h:295
bool hasValue() const
Check if the value is set.
Brightness()=default
Default constructor.
double ValueType
The type of the underlying value.
Definition Settings.h:283
bool operator==(const Brightness &other) const
Comparison operator.
Definition Settings.h:315
Exposure time for each single image in the measurement. Affects frame rate.
Definition Settings.h:377
bool operator>=(const ExposureTime &other) const
Comparison operator.
Definition Settings.h:456
bool operator<(const ExposureTime &other) const
Comparison operator.
Definition Settings.h:438
ExposureTime()=default
Default constructor.
bool hasValue() const
Check if the value is set.
void reset()
Reset the node to unset state.
std::string toString() const
Get the value as string.
bool operator>(const ExposureTime &other) const
Comparison operator.
Definition Settings.h:444
std::chrono::microseconds ValueType
The type of the underlying value.
Definition Settings.h:394
bool operator==(const ExposureTime &other) const
Comparison operator.
Definition Settings.h:426
bool operator!=(const ExposureTime &other) const
Comparison operator.
Definition Settings.h:432
std::chrono::microseconds value() const
Get the value.
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for ExposureTime.
Definition Settings.h:397
constexpr ExposureTime(std::chrono::microseconds value)
Constructor.
Definition Settings.h:406
friend std::ostream & operator<<(std::ostream &stream, const ExposureTime &value)
Operator to serialize the value to a stream.
Definition Settings.h:462
bool operator<=(const ExposureTime &other) const
Comparison operator.
Definition Settings.h:450
Analog gain in the camera.
Definition Settings.h:489
bool operator==(const Gain &other) const
Comparison operator.
Definition Settings.h:536
friend std::ostream & operator<<(std::ostream &stream, const Gain &value)
Operator to serialize the value to a stream.
Definition Settings.h:572
constexpr Gain(double value)
Constructor.
Definition Settings.h:516
bool operator>=(const Gain &other) const
Comparison operator.
Definition Settings.h:566
void reset()
Reset the node to unset state.
bool operator<=(const Gain &other) const
Comparison operator.
Definition Settings.h:560
static constexpr Range< double > validRange()
The range of valid values for Gain.
Definition Settings.h:507
double value() const
Get the value.
Gain()=default
Default constructor.
bool hasValue() const
Check if the value is set.
double ValueType
The type of the underlying value.
Definition Settings.h:504
std::string toString() const
Get the value as string.
bool operator!=(const Gain &other) const
Comparison operator.
Definition Settings.h:542
bool operator>(const Gain &other) const
Comparison operator.
Definition Settings.h:554
bool operator<(const Gain &other) const
Comparison operator.
Definition Settings.h:548
Settings for a single acquisition.
Definition Settings.h:113
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:846
Acquisition & set(const Aperture &value)
Set Aperture.
Definition Settings.h:725
const Aperture & aperture() const
Get Aperture.
Definition Settings.h:713
Gain & gain()
Get Gain.
Definition Settings.h:776
const Settings::Acquisition::Aperture & get() const
Definition Settings.h:791
Brightness & brightness()
Get Brightness.
Definition Settings.h:738
friend std::ostream & operator<<(std::ostream &stream, const Acquisition &value)
Operator to send the value as string to a stream.
Definition Settings.h:874
std::tuple< Settings::Acquisition::Aperture, Settings::Acquisition::Brightness, Settings::Acquisition::ExposureTime, Settings::Acquisition::Gain > Descendants
Definition Settings.h:598
bool operator==(const Acquisition &other) const
Equality operator.
const Settings::Acquisition::ExposureTime & get() const
Definition Settings.h:807
bool operator!=(const Acquisition &other) const
Inequality operator.
const ExposureTime & exposureTime() const
Get ExposureTime.
Definition Settings.h:751
Acquisition & set(const Brightness &value)
Set Brightness.
Definition Settings.h:744
Acquisition & set(const ExposureTime &value)
Set ExposureTime.
Definition Settings.h:763
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:658
const Brightness & brightness() const
Get Brightness.
Definition Settings.h:732
const Settings::Acquisition::Gain & get() const
Definition Settings.h:815
Acquisition & set(const Gain &value)
Set Gain.
Definition Settings.h:782
Acquisition copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:693
Aperture & aperture()
Get Aperture.
Definition Settings.h:719
const Settings::Acquisition::Brightness & get() const
Definition Settings.h:799
ExposureTime & exposureTime()
Get ExposureTime.
Definition Settings.h:757
const Gain & gain() const
Get Gain.
Definition Settings.h:770
Acquisition()
Default constructor.
std::string toString() const
Get the value as string.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:856
List of Acquisition objects.
Definition Settings.h:898
bool operator!=(const Acquisitions &other) const
Comparison operator.
Definition Settings.h:1036
std::vector< Settings::Acquisition >::const_iterator ConstIterator
Constant iterator type for Acquisitions.
Definition Settings.h:1015
Iterator begin() noexcept
Returns an iterator to the first element of the list.
const std::vector< Settings::Acquisition > & value() const
Get the value.
std::string toString() const
Get the value as string.
void forEach(const F &f) const
Run the given function on each element in the list.
Definition Settings.h:997
std::vector< Settings::Acquisition >::iterator Iterator
Iterator type for Acquisitions.
Definition Settings.h:1006
const Settings::Acquisition & at(std::size_t pos) const
Returns a const reference to the element at position pos in the list.
Acquisitions()=default
Default constructor.
Acquisitions(std::initializer_list< Settings::Acquisition > value)
Constructor.
Definition Settings.h:930
friend std::ostream & operator<<(std::ostream &stream, const Acquisitions &value)
Operator to serialize the value to a stream.
Definition Settings.h:1042
void forEach(const F &f)
Run the given function on each element in the list.
Definition Settings.h:987
Acquisitions(std::vector< Settings::Acquisition > value)
Constructor.
Definition Settings.h:925
std::vector< Settings::Acquisition > ValueType
The type of the underlying value.
Definition Settings.h:913
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Acquisitions.
Definition Settings.h:916
const Settings::Acquisition & operator[](std::size_t pos) const
Returns a const reference to the element at position pos in the list.
Settings::Acquisition & at(std::size_t pos)
Returns a reference to the element at position pos in the list.
std::size_t size() const noexcept
Get the size of the list.
Settings::Acquisition & operator[](std::size_t pos)
Returns a reference to the element at position pos in the list.
Enable diagnostics.
Definition Settings.h:1091
static const Enabled no
Off/disabled.
Definition Settings.h:1108
bool hasValue() const
Check if the value is set.
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:1111
void reset()
Reset the node to unset state.
Enabled()=default
Default constructor.
bool ValueType
The type of the underlying value.
Definition Settings.h:1106
static const Enabled yes
On/enabled.
Definition Settings.h:1107
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:1140
bool value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:1152
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:1120
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:1146
std::string toString() const
Get the value as string.
When Diagnostics is enabled, additional diagnostic data is recorded during capture and included when ...
Definition Settings.h:1065
friend std::ostream & operator<<(std::ostream &stream, const Diagnostics &value)
Operator to send the value as string to a stream.
Definition Settings.h:1327
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:1305
std::tuple< Settings::Diagnostics::Enabled > Descendants
Definition Settings.h:1165
std::string toString() const
Get the value as string.
Diagnostics copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:1251
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:1312
Diagnostics()
Default constructor.
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:1277
bool operator==(const Diagnostics &other) const
Equality operator.
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:1219
const Settings::Diagnostics::Enabled & get() const
Definition Settings.h:1292
bool operator!=(const Diagnostics &other) const
Inequality operator.
Diagnostics & set(const Enabled &value)
Set Enabled.
Definition Settings.h:1283
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:1271
Set the Zivid Vision Engine to use.
Definition Settings.h:1387
ValueType value() const
Get the value.
static const Engine phase
phase
Definition Settings.h:1427
bool hasValue() const
Check if the value is set.
static const Engine omni
omni
Definition Settings.h:1429
ValueType
The type of the underlying value.
Definition Settings.h:1422
friend std::ostream & operator<<(std::ostream &stream, const Engine &value)
Operator to serialize the value to a stream.
Definition Settings.h:1479
static std::set< ValueType > validValues()
All valid values of Engine.
Definition Settings.h:1432
std::string toString() const
Get the value as string.
bool operator==(const Engine &other) const
Comparison operator.
Definition Settings.h:1467
Engine()=default
Default constructor.
bool operator!=(const Engine &other) const
Comparison operator.
Definition Settings.h:1473
constexpr Engine(ValueType value)
Constructor.
Definition Settings.h:1441
friend std::ostream & operator<<(std::ostream &stream, const Engine::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings.h:1461
static const Engine stripe
stripe
Definition Settings.h:1428
void reset()
Reset the node to unset state.
Experimental features. These settings may be changed, renamed, moved or deleted in the future.
Definition Settings.h:1348
Engine & engine()
Get Engine.
Definition Settings.h:1614
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:1556
Experimental copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:1588
std::string toString() const
Get the value as string.
bool operator!=(const Experimental &other) const
Inequality operator.
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream.
Definition Settings.h:1664
const Settings::Experimental::Engine & get() const
Definition Settings.h:1629
std::tuple< Settings::Experimental::Engine > Descendants
Definition Settings.h:1502
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:1642
bool operator==(const Experimental &other) const
Equality operator.
Experimental()
Default constructor.
Experimental & set(const Engine &value)
Set Engine.
Definition Settings.h:1620
const Engine & engine() const
Get Engine.
Definition Settings.h:1608
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:1649
Digital gain applied to blue channel.
Definition Settings.h:1741
friend std::ostream & operator<<(std::ostream &stream, const Blue &value)
Operator to serialize the value to a stream.
Definition Settings.h:1826
void reset()
Reset the node to unset state.
double value() const
Get the value.
bool operator==(const Blue &other) const
Comparison operator.
Definition Settings.h:1790
bool operator>=(const Blue &other) const
Comparison operator.
Definition Settings.h:1820
std::string toString() const
Get the value as string.
bool operator<(const Blue &other) const
Comparison operator.
Definition Settings.h:1802
constexpr Blue(double value)
Constructor.
Definition Settings.h:1770
Blue()=default
Default constructor.
bool operator<=(const Blue &other) const
Comparison operator.
Definition Settings.h:1814
bool operator!=(const Blue &other) const
Comparison operator.
Definition Settings.h:1796
bool hasValue() const
Check if the value is set.
double ValueType
The type of the underlying value.
Definition Settings.h:1758
bool operator>(const Blue &other) const
Comparison operator.
Definition Settings.h:1808
static constexpr Range< double > validRange()
The range of valid values for Blue.
Definition Settings.h:1761
Digital gain applied to green channel.
Definition Settings.h:1853
void reset()
Reset the node to unset state.
bool operator>(const Green &other) const
Comparison operator.
Definition Settings.h:1920
double value() const
Get the value.
bool hasValue() const
Check if the value is set.
friend std::ostream & operator<<(std::ostream &stream, const Green &value)
Operator to serialize the value to a stream.
Definition Settings.h:1938
double ValueType
The type of the underlying value.
Definition Settings.h:1870
bool operator>=(const Green &other) const
Comparison operator.
Definition Settings.h:1932
constexpr Green(double value)
Constructor.
Definition Settings.h:1882
bool operator==(const Green &other) const
Comparison operator.
Definition Settings.h:1902
bool operator!=(const Green &other) const
Comparison operator.
Definition Settings.h:1908
Green()=default
Default constructor.
std::string toString() const
Get the value as string.
bool operator<(const Green &other) const
Comparison operator.
Definition Settings.h:1914
static constexpr Range< double > validRange()
The range of valid values for Green.
Definition Settings.h:1873
bool operator<=(const Green &other) const
Comparison operator.
Definition Settings.h:1926
Digital gain applied to red channel.
Definition Settings.h:1965
bool operator!=(const Red &other) const
Comparison operator.
Definition Settings.h:2020
constexpr Red(double value)
Constructor.
Definition Settings.h:1994
friend std::ostream & operator<<(std::ostream &stream, const Red &value)
Operator to serialize the value to a stream.
Definition Settings.h:2050
bool operator>=(const Red &other) const
Comparison operator.
Definition Settings.h:2044
double ValueType
The type of the underlying value.
Definition Settings.h:1982
static constexpr Range< double > validRange()
The range of valid values for Red.
Definition Settings.h:1985
double value() const
Get the value.
bool operator==(const Red &other) const
Comparison operator.
Definition Settings.h:2014
Red()=default
Default constructor.
bool operator<(const Red &other) const
Comparison operator.
Definition Settings.h:2026
void reset()
Reset the node to unset state.
bool operator>(const Red &other) const
Comparison operator.
Definition Settings.h:2032
bool hasValue() const
Check if the value is set.
bool operator<=(const Red &other) const
Comparison operator.
Definition Settings.h:2038
std::string toString() const
Get the value as string.
Color balance settings.
Definition Settings.h:1723
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:2134
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:2296
bool operator!=(const Balance &other) const
Inequality operator.
Balance & set(const Red &value)
Set Red.
Definition Settings.h:2241
Green & green()
Get Green.
Definition Settings.h:2216
std::string toString() const
Get the value as string.
Red & red()
Get Red.
Definition Settings.h:2235
bool operator==(const Balance &other) const
Equality operator.
Balance copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:2170
Balance & set(const Blue &value)
Set Blue.
Definition Settings.h:2203
Blue & blue()
Get Blue.
Definition Settings.h:2197
const Red & red() const
Get Red.
Definition Settings.h:2229
std::tuple< Settings::Processing::Color::Balance::Blue, Settings::Processing::Color::Balance::Green, Settings::Processing::Color::Balance::Red > Descendants
Definition Settings.h:2076
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:2305
const Settings::Processing::Color::Balance::Green & get() const
Definition Settings.h:2262
const Settings::Processing::Color::Balance::Red & get() const
Definition Settings.h:2271
Balance & set(const Green &value)
Set Green.
Definition Settings.h:2222
const Green & green() const
Get Green.
Definition Settings.h:2210
friend std::ostream & operator<<(std::ostream &stream, const Balance &value)
Operator to send the value as string to a stream.
Definition Settings.h:2322
const Settings::Processing::Color::Balance::Blue & get() const
Definition Settings.h:2252
const Blue & blue() const
Get Blue.
Definition Settings.h:2191
Balance()
Default constructor.
This setting controls how the color image is computed.
Definition Settings.h:2386
static const Mode toneMapping
toneMapping
Definition Settings.h:2432
ValueType value() const
Get the value.
std::string toString() const
Get the value as string.
static const Mode automatic
automatic
Definition Settings.h:2430
friend std::ostream & operator<<(std::ostream &stream, const Mode &value)
Operator to serialize the value to a stream.
Definition Settings.h:2482
void reset()
Reset the node to unset state.
static const Mode useFirstAcquisition
useFirstAcquisition
Definition Settings.h:2431
bool operator!=(const Mode &other) const
Comparison operator.
Definition Settings.h:2476
bool operator==(const Mode &other) const
Comparison operator.
Definition Settings.h:2470
ValueType
The type of the underlying value.
Definition Settings.h:2425
bool hasValue() const
Check if the value is set.
constexpr Mode(ValueType value)
Constructor.
Definition Settings.h:2444
static std::set< ValueType > validValues()
All valid values of Mode.
Definition Settings.h:2435
Mode()=default
Default constructor.
friend std::ostream & operator<<(std::ostream &stream, const Mode::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings.h:2464
Experimental color settings. These may be renamed, moved or deleted in the future.
Definition Settings.h:2345
std::tuple< Settings::Processing::Color::Experimental::Mode > Descendants
Definition Settings.h:2507
bool operator!=(const Experimental &other) const
Inequality operator.
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream.
Definition Settings.h:2674
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:2659
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:2561
std::string toString() const
Get the value as string.
Experimental & set(const Mode &value)
Set Mode.
Definition Settings.h:2628
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:2652
bool operator==(const Experimental &other) const
Equality operator.
Experimental()
Default constructor.
Mode & mode()
Get Mode.
Definition Settings.h:2622
const Mode & mode() const
Get Mode.
Definition Settings.h:2616
const Settings::Processing::Color::Experimental::Mode & get() const
Definition Settings.h:2639
Experimental copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:2595
Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma greater t...
Definition Settings.h:2697
friend std::ostream & operator<<(std::ostream &stream, const Gamma &value)
Operator to serialize the value to a stream.
Definition Settings.h:2784
double value() const
Get the value.
bool operator>(const Gamma &other) const
Comparison operator.
Definition Settings.h:2766
void reset()
Reset the node to unset state.
static constexpr Range< double > validRange()
The range of valid values for Gamma.
Definition Settings.h:2719
Gamma()=default
Default constructor.
double ValueType
The type of the underlying value.
Definition Settings.h:2716
bool hasValue() const
Check if the value is set.
bool operator>=(const Gamma &other) const
Comparison operator.
Definition Settings.h:2778
constexpr Gamma(double value)
Constructor.
Definition Settings.h:2728
bool operator!=(const Gamma &other) const
Comparison operator.
Definition Settings.h:2754
bool operator<(const Gamma &other) const
Comparison operator.
Definition Settings.h:2760
std::string toString() const
Get the value as string.
bool operator==(const Gamma &other) const
Comparison operator.
Definition Settings.h:2748
bool operator<=(const Gamma &other) const
Comparison operator.
Definition Settings.h:2772
Color settings.
Definition Settings.h:1705
Color & set(const Gamma &value)
Set Gamma.
Definition Settings.h:3017
const Settings::Processing::Color::Gamma & get() const
Definition Settings.h:3081
const Settings::Processing::Color::Balance::Red & get() const
Definition Settings.h:3054
bool operator==(const Color &other) const
Equality operator.
Color & set(const Experimental::Mode &value)
Set Experimental::Mode.
Definition Settings.h:2998
const Settings::Processing::Color::Balance::Green & get() const
Definition Settings.h:3045
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:2879
Color & set(const Experimental &value)
Set Experimental.
Definition Settings.h:2991
Color & set(const Balance &value)
Set Balance.
Definition Settings.h:2951
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to send the value as string to a stream.
Definition Settings.h:3132
const Balance & balance() const
Get Balance.
Definition Settings.h:2939
const Experimental & experimental() const
Get Experimental.
Definition Settings.h:2979
Color()
Default constructor.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:3115
const Settings::Processing::Color::Experimental & get() const
Definition Settings.h:3063
Color & set(const Balance::Green &value)
Set Balance::Green.
Definition Settings.h:2965
Experimental & experimental()
Get Experimental.
Definition Settings.h:2985
std::string toString() const
Get the value as string.
bool operator!=(const Color &other) const
Inequality operator.
std::tuple< Settings::Processing::Color::Balance, Settings::Processing::Color::Balance::Blue, Settings::Processing::Color::Balance::Green, Settings::Processing::Color::Balance::Red, Settings::Processing::Color::Experimental, Settings::Processing::Color::Experimental::Mode, Settings::Processing::Color::Gamma > Descendants
Definition Settings.h:2813
Color & set(const Balance::Blue &value)
Set Balance::Blue.
Definition Settings.h:2958
Gamma & gamma()
Get Gamma.
Definition Settings.h:3011
Color copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:2918
const Settings::Processing::Color::Experimental::Mode & get() const
Definition Settings.h:3073
Color & set(const Balance::Red &value)
Set Balance::Red.
Definition Settings.h:2972
const Gamma & gamma() const
Get Gamma.
Definition Settings.h:3005
const Settings::Processing::Color::Balance & get() const
Definition Settings.h:3027
Balance & balance()
Get Balance.
Definition Settings.h:2945
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:3106
const Settings::Processing::Color::Balance::Blue & get() const
Definition Settings.h:3036
Enabled.
Definition Settings.h:3213
bool hasValue() const
Check if the value is set.
bool ValueType
The type of the underlying value.
Definition Settings.h:3228
static const Enabled no
Off/disabled.
Definition Settings.h:3230
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:3242
void reset()
Reset the node to unset state.
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:3233
Enabled()=default
Default constructor.
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:3268
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:3274
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:3262
std::string toString() const
Get the value as string.
bool value() const
Get the value.
static const Enabled yes
On/enabled.
Definition Settings.h:3229
Maximum normalized distance between neighboring points that are still classified as belonging to the ...
Definition Settings.h:3294
constexpr MaxNeighborDistance(double value)
Constructor.
Definition Settings.h:3328
bool operator!=(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3354
double value() const
Get the value.
std::string toString() const
Get the value as string.
double ValueType
The type of the underlying value.
Definition Settings.h:3316
bool hasValue() const
Check if the value is set.
MaxNeighborDistance()=default
Default constructor.
bool operator>=(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3378
bool operator<(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3360
void reset()
Reset the node to unset state.
static constexpr Range< double > validRange()
The range of valid values for MaxNeighborDistance.
Definition Settings.h:3319
bool operator<=(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3372
friend std::ostream & operator<<(std::ostream &stream, const MaxNeighborDistance &value)
Operator to serialize the value to a stream.
Definition Settings.h:3384
bool operator==(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3348
bool operator>(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3366
Clusters with area below this threshold are removed by the filter. The area is given in mm^2.
Definition Settings.h:3413
bool operator>=(const MinArea &other) const
Comparison operator.
Definition Settings.h:3494
double ValueType
The type of the underlying value.
Definition Settings.h:3432
friend std::ostream & operator<<(std::ostream &stream, const MinArea &value)
Operator to serialize the value to a stream.
Definition Settings.h:3500
bool operator<(const MinArea &other) const
Comparison operator.
Definition Settings.h:3476
bool operator!=(const MinArea &other) const
Comparison operator.
Definition Settings.h:3470
void reset()
Reset the node to unset state.
bool operator<=(const MinArea &other) const
Comparison operator.
Definition Settings.h:3488
constexpr MinArea(double value)
Constructor.
Definition Settings.h:3444
std::string toString() const
Get the value as string.
bool operator>(const MinArea &other) const
Comparison operator.
Definition Settings.h:3482
MinArea()=default
Default constructor.
static constexpr Range< double > validRange()
The range of valid values for MinArea.
Definition Settings.h:3435
double value() const
Get the value.
bool operator==(const MinArea &other) const
Comparison operator.
Definition Settings.h:3464
bool hasValue() const
Check if the value is set.
Removal.
Definition Settings.h:3195
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream.
Definition Settings.h:3774
const MaxNeighborDistance & maxNeighborDistance() const
Get MaxNeighborDistance.
Definition Settings.h:3660
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:3641
const Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance & get() const
Definition Settings.h:3713
std::string toString() const
Get the value as string.
MinArea & minArea()
Get MinArea.
Definition Settings.h:3685
const MinArea & minArea() const
Get MinArea.
Definition Settings.h:3679
Removal()
Default constructor.
bool operator!=(const Removal &other) const
Inequality operator.
Removal copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:3620
Removal & set(const MaxNeighborDistance &value)
Set MaxNeighborDistance.
Definition Settings.h:3672
const Settings::Processing::Filters::Cluster::Removal::MinArea & get() const
Definition Settings.h:3723
Removal & set(const MinArea &value)
Set MinArea.
Definition Settings.h:3691
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:3748
const Settings::Processing::Filters::Cluster::Removal::Enabled & get() const
Definition Settings.h:3702
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:3647
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:3584
bool operator==(const Removal &other) const
Equality operator.
MaxNeighborDistance & maxNeighborDistance()
Get MaxNeighborDistance.
Definition Settings.h:3666
std::tuple< Settings::Processing::Filters::Cluster::Removal::Enabled, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance, Settings::Processing::Filters::Cluster::Removal::MinArea > Descendants
Definition Settings.h:3526
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:3757
Removal & set(const Enabled &value)
Set Enabled.
Definition Settings.h:3653
Removes floating points and isolated clusters from the point cloud.
Definition Settings.h:3174
const Removal & removal() const
Get Removal.
Definition Settings.h:3915
const Settings::Processing::Filters::Cluster::Removal::MinArea & get() const
Definition Settings.h:3990
const Settings::Processing::Filters::Cluster::Removal & get() const
Definition Settings.h:3959
Cluster & set(const Removal::MaxNeighborDistance &value)
Set Removal::MaxNeighborDistance.
Definition Settings.h:3941
bool operator!=(const Cluster &other) const
Inequality operator.
const Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance & get() const
Definition Settings.h:3980
bool operator==(const Cluster &other) const
Equality operator.
Cluster copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:3894
Removal & removal()
Get Removal.
Definition Settings.h:3921
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:4010
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:4003
Cluster & set(const Removal::Enabled &value)
Set Removal::Enabled.
Definition Settings.h:3934
Cluster & set(const Removal &value)
Set Removal.
Definition Settings.h:3927
Cluster & set(const Removal::MinArea &value)
Set Removal::MinArea.
Definition Settings.h:3948
Cluster()
Default constructor.
const Settings::Processing::Filters::Cluster::Removal::Enabled & get() const
Definition Settings.h:3969
std::tuple< Settings::Processing::Filters::Cluster::Removal, Settings::Processing::Filters::Cluster::Removal::Enabled, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance, Settings::Processing::Filters::Cluster::Removal::MinArea > Descendants
Definition Settings.h:3797
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:3857
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const Cluster &value)
Operator to send the value as string to a stream.
Definition Settings.h:4025
Enabled.
Definition Settings.h:4114
void reset()
Reset the node to unset state.
std::string toString() const
Get the value as string.
static const Enabled yes
On/enabled.
Definition Settings.h:4132
bool ValueType
The type of the underlying value.
Definition Settings.h:4131
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:4136
static const Enabled no
Off/disabled.
Definition Settings.h:4133
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:4145
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:4177
bool hasValue() const
Check if the value is set.
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:4165
bool value() const
Get the value.
Enabled()=default
Default constructor.
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:4171
Higher values gives more correction.
Definition Settings.h:4194
double ValueType
The type of the underlying value.
Definition Settings.h:4213
bool operator>(const Strength &other) const
Comparison operator.
Definition Settings.h:4263
bool operator!=(const Strength &other) const
Comparison operator.
Definition Settings.h:4251
bool hasValue() const
Check if the value is set.
constexpr Strength(double value)
Constructor.
Definition Settings.h:4225
static constexpr Range< double > validRange()
The range of valid values for Strength.
Definition Settings.h:4216
double value() const
Get the value.
bool operator<=(const Strength &other) const
Comparison operator.
Definition Settings.h:4269
bool operator>=(const Strength &other) const
Comparison operator.
Definition Settings.h:4275
friend std::ostream & operator<<(std::ostream &stream, const Strength &value)
Operator to serialize the value to a stream.
Definition Settings.h:4281
Strength()=default
Default constructor.
bool operator<(const Strength &other) const
Comparison operator.
Definition Settings.h:4257
void reset()
Reset the node to unset state.
std::string toString() const
Get the value as string.
bool operator==(const Strength &other) const
Comparison operator.
Definition Settings.h:4245
Correction.
Definition Settings.h:4094
bool operator==(const Correction &other) const
Equality operator.
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:4424
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:4501
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:4418
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:4479
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength > Descendants
Definition Settings.h:4306
Correction copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:4397
Strength & strength()
Get Strength.
Definition Settings.h:4443
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:4464
bool operator!=(const Correction &other) const
Inequality operator.
friend std::ostream & operator<<(std::ostream &stream, const Correction &value)
Operator to send the value as string to a stream.
Definition Settings.h:4525
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:4362
Correction & set(const Enabled &value)
Set Enabled.
Definition Settings.h:4430
Correction()
Default constructor.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:4509
std::string toString() const
Get the value as string.
Correction & set(const Strength &value)
Set Strength.
Definition Settings.h:4449
const Strength & strength() const
Get Strength.
Definition Settings.h:4437
Enabled.
Definition Settings.h:4567
std::string toString() const
Get the value as string.
static const Enabled yes
On/enabled.
Definition Settings.h:4585
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:4598
Enabled()=default
Default constructor.
void reset()
Reset the node to unset state.
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:4624
bool ValueType
The type of the underlying value.
Definition Settings.h:4584
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:4589
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:4630
bool hasValue() const
Check if the value is set.
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:4618
bool value() const
Get the value.
static const Enabled no
Off/disabled.
Definition Settings.h:4586
Higher values remove more points.
Definition Settings.h:4647
void reset()
Reset the node to unset state.
bool operator<=(const Threshold &other) const
Comparison operator.
Definition Settings.h:4722
constexpr Threshold(double value)
Constructor.
Definition Settings.h:4678
bool operator!=(const Threshold &other) const
Comparison operator.
Definition Settings.h:4704
bool operator<(const Threshold &other) const
Comparison operator.
Definition Settings.h:4710
static constexpr Range< double > validRange()
The range of valid values for Threshold.
Definition Settings.h:4669
Threshold()=default
Default constructor.
bool operator==(const Threshold &other) const
Comparison operator.
Definition Settings.h:4698
bool operator>=(const Threshold &other) const
Comparison operator.
Definition Settings.h:4728
std::string toString() const
Get the value as string.
bool operator>(const Threshold &other) const
Comparison operator.
Definition Settings.h:4716
bool hasValue() const
Check if the value is set.
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream.
Definition Settings.h:4734
double value() const
Get the value.
double ValueType
The type of the underlying value.
Definition Settings.h:4666
Removal.
Definition Settings.h:4547
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:4952
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:4815
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream.
Definition Settings.h:4976
const Threshold & threshold() const
Get Threshold.
Definition Settings.h:4890
Removal & set(const Threshold &value)
Set Threshold.
Definition Settings.h:4902
bool operator!=(const Removal &other) const
Inequality operator.
bool operator==(const Removal &other) const
Equality operator.
Removal copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:4850
Threshold & threshold()
Get Threshold.
Definition Settings.h:4896
Removal & set(const Enabled &value)
Set Enabled.
Definition Settings.h:4883
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:4917
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold > Descendants
Definition Settings.h:4759
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:4877
Removal()
Default constructor.
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:4871
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:4931
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:4960
std::string toString() const
Get the value as string.
Corrects artifacts that appear when imaging scenes with large texture gradients or high contrast....
Definition Settings.h:4070
ContrastDistortion & set(const Removal::Enabled &value)
Set Removal::Enabled.
Definition Settings.h:5176
ContrastDistortion & set(const Correction::Enabled &value)
Set Correction::Enabled.
Definition Settings.h:5143
ContrastDistortion & set(const Correction &value)
Set Correction.
Definition Settings.h:5136
ContrastDistortion()
Default constructor.
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:5287
bool operator!=(const ContrastDistortion &other) const
Inequality operator.
friend std::ostream & operator<<(std::ostream &stream, const ContrastDistortion &value)
Operator to send the value as string to a stream.
Definition Settings.h:5311
ContrastDistortion copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:5103
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion::Correction, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold > Descendants
Definition Settings.h:5000
ContrastDistortion & set(const Correction::Strength &value)
Set Correction::Strength.
Definition Settings.h:5150
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:5064
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:5295
ContrastDistortion & set(const Removal &value)
Set Removal.
Definition Settings.h:5169
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:5266
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition Settings.h:5238
const Removal & removal() const
Get Removal.
Definition Settings.h:5157
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:5210
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition Settings.h:5196
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:5225
std::string toString() const
Get the value as string.
Removal & removal()
Get Removal.
Definition Settings.h:5163
bool operator==(const ContrastDistortion &other) const
Equality operator.
ContrastDistortion & set(const Removal::Threshold &value)
Set Removal::Threshold.
Definition Settings.h:5183
const Correction & correction() const
Get Correction.
Definition Settings.h:5124
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:5251
Correction & correction()
Get Correction.
Definition Settings.h:5130
Enabled.
Definition Settings.h:5355
std::string toString() const
Get the value as string.
static const Enabled no
Off/disabled.
Definition Settings.h:5372
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:5404
void reset()
Reset the node to unset state.
Enabled()=default
Default constructor.
static const Enabled yes
On/enabled.
Definition Settings.h:5371
bool ValueType
The type of the underlying value.
Definition Settings.h:5370
bool hasValue() const
Check if the value is set.
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:5375
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:5410
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:5416
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:5384
bool value() const
Get the value.
Relative diameter of holes to fill. Increasing this will fill more points, but require more computati...
Definition Settings.h:5436
bool operator>=(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5518
bool hasValue() const
Check if the value is set.
HoleSize()=default
Default constructor.
bool operator<=(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5512
double ValueType
The type of the underlying value.
Definition Settings.h:5456
friend std::ostream & operator<<(std::ostream &stream, const HoleSize &value)
Operator to serialize the value to a stream.
Definition Settings.h:5524
void reset()
Reset the node to unset state.
bool operator!=(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5494
bool operator>(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5506
std::string toString() const
Get the value as string.
constexpr HoleSize(double value)
Constructor.
Definition Settings.h:5468
static constexpr Range< double > validRange()
The range of valid values for HoleSize.
Definition Settings.h:5459
bool operator==(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5488
bool operator<(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5500
double value() const
Get the value.
Level of strictness when considering if a point should be filled. A higher level of strictness requir...
Definition Settings.h:5555
bool hasValue() const
Check if the value is set.
bool operator==(const Strictness &other) const
Comparison operator.
Definition Settings.h:5610
bool operator<(const Strictness &other) const
Comparison operator.
Definition Settings.h:5622
void reset()
Reset the node to unset state.
bool operator>(const Strictness &other) const
Comparison operator.
Definition Settings.h:5628
bool operator<=(const Strictness &other) const
Comparison operator.
Definition Settings.h:5634
constexpr Strictness(int32_t value)
Constructor.
Definition Settings.h:5590
bool operator!=(const Strictness &other) const
Comparison operator.
Definition Settings.h:5616
static constexpr Range< int32_t > validRange()
The range of valid values for Strictness.
Definition Settings.h:5581
Strictness()=default
Default constructor.
int32_t ValueType
The type of the underlying value.
Definition Settings.h:5578
int32_t value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const Strictness &value)
Operator to serialize the value to a stream.
Definition Settings.h:5646
std::string toString() const
Get the value as string.
bool operator>=(const Strictness &other) const
Comparison operator.
Definition Settings.h:5640
Fills in removed points by interpolating remaining surrounding points.
Definition Settings.h:5334
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:5896
const Strictness & strictness() const
Get Strictness.
Definition Settings.h:5825
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:5905
Strictness & strictness()
Get Strictness.
Definition Settings.h:5831
HoleFilling copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:5766
HoleSize & holeSize()
Get HoleSize.
Definition Settings.h:5812
bool operator==(const HoleFilling &other) const
Equality operator.
std::tuple< Settings::Processing::Filters::Experimental::HoleFilling::Enabled, Settings::Processing::Filters::Experimental::HoleFilling::HoleSize, Settings::Processing::Filters::Experimental::HoleFilling::Strictness > Descendants
Definition Settings.h:5672
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:5787
HoleFilling & set(const Strictness &value)
Set Strictness.
Definition Settings.h:5837
const Settings::Processing::Filters::Experimental::HoleFilling::Strictness & get() const
Definition Settings.h:5871
const Settings::Processing::Filters::Experimental::HoleFilling::Enabled & get() const
Definition Settings.h:5849
const HoleSize & holeSize() const
Get HoleSize.
Definition Settings.h:5806
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:5730
const Settings::Processing::Filters::Experimental::HoleFilling::HoleSize & get() const
Definition Settings.h:5860
HoleFilling & set(const Enabled &value)
Set Enabled.
Definition Settings.h:5799
bool operator!=(const HoleFilling &other) const
Inequality operator.
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:5793
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const HoleFilling &value)
Operator to send the value as string to a stream.
Definition Settings.h:5922
HoleFilling()
Default constructor.
HoleFilling & set(const HoleSize &value)
Set HoleSize.
Definition Settings.h:5818
Experimental filters. These may be renamed, moved or deleted in the future.
Definition Settings.h:4046
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:6349
ContrastDistortion & contrastDistortion()
Get ContrastDistortion.
Definition Settings.h:6097
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition Settings.h:6250
const HoleFilling & holeFilling() const
Get HoleFilling.
Definition Settings.h:6152
Experimental copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:6070
Experimental & set(const ContrastDistortion &value)
Set ContrastDistortion.
Definition Settings.h:6103
Experimental & set(const ContrastDistortion::Removal::Threshold &value)
Set ContrastDistortion::Removal::Threshold.
Definition Settings.h:6145
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:6026
const Settings::Processing::Filters::Experimental::HoleFilling::Enabled & get() const
Definition Settings.h:6300
Experimental & set(const ContrastDistortion::Correction::Strength &value)
Set ContrastDistortion::Correction::Strength.
Definition Settings.h:6124
Experimental & set(const HoleFilling::HoleSize &value)
Set HoleFilling::HoleSize.
Definition Settings.h:6178
Experimental & set(const HoleFilling::Strictness &value)
Set HoleFilling::Strictness.
Definition Settings.h:6185
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream.
Definition Settings.h:6365
Experimental()
Default constructor.
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold, Settings::Processing::Filters::Experimental::HoleFilling, Settings::Processing::Filters::Experimental::HoleFilling::Enabled, Settings::Processing::Filters::Experimental::HoleFilling::HoleSize, Settings::Processing::Filters::Experimental::HoleFilling::Strictness > Descendants
Definition Settings.h:5952
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:6237
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:6341
const Settings::Processing::Filters::Experimental::HoleFilling::Strictness & get() const
Definition Settings.h:6321
const Settings::Processing::Filters::Experimental::HoleFilling::HoleSize & get() const
Definition Settings.h:6310
Experimental & set(const ContrastDistortion::Removal &value)
Set ContrastDistortion::Removal.
Definition Settings.h:6131
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition Settings.h:6196
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition Settings.h:6208
bool operator!=(const Experimental &other) const
Inequality operator.
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:6278
Experimental & set(const ContrastDistortion::Correction::Enabled &value)
Set ContrastDistortion::Correction::Enabled.
Definition Settings.h:6117
Experimental & set(const HoleFilling::Enabled &value)
Set HoleFilling::Enabled.
Definition Settings.h:6171
const ContrastDistortion & contrastDistortion() const
Get ContrastDistortion.
Definition Settings.h:6091
std::string toString() const
Get the value as string.
bool operator==(const Experimental &other) const
Equality operator.
Experimental & set(const HoleFilling &value)
Set HoleFilling.
Definition Settings.h:6164
const Settings::Processing::Filters::Experimental::HoleFilling & get() const
Definition Settings.h:6290
Experimental & set(const ContrastDistortion::Correction &value)
Set ContrastDistortion::Correction.
Definition Settings.h:6110
Experimental & set(const ContrastDistortion::Removal::Enabled &value)
Set ContrastDistortion::Removal::Enabled.
Definition Settings.h:6138
HoleFilling & holeFilling()
Get HoleFilling.
Definition Settings.h:6158
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:6222
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:6264
Enable or disable the SNR filter.
Definition Settings.h:6427
static const Enabled yes
On/enabled.
Definition Settings.h:6445
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:6484
bool value() const
Get the value.
void reset()
Reset the node to unset state.
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:6478
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:6449
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:6458
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:6490
Enabled()=default
Default constructor.
static const Enabled no
Off/disabled.
Definition Settings.h:6446
bool ValueType
The type of the underlying value.
Definition Settings.h:6444
bool hasValue() const
Check if the value is set.
std::string toString() const
Get the value as string.
Discard points with signal-to-noise ratio (SNR) below the given value.
Definition Settings.h:6507
double value() const
Get the value.
bool hasValue() const
Check if the value is set.
Threshold()=default
Default constructor.
bool operator>=(const Threshold &other) const
Comparison operator.
Definition Settings.h:6586
constexpr Threshold(double value)
Constructor.
Definition Settings.h:6536
bool operator==(const Threshold &other) const
Comparison operator.
Definition Settings.h:6556
bool operator<=(const Threshold &other) const
Comparison operator.
Definition Settings.h:6580
void reset()
Reset the node to unset state.
static constexpr Range< double > validRange()
The range of valid values for Threshold.
Definition Settings.h:6527
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream.
Definition Settings.h:6592
bool operator>(const Threshold &other) const
Comparison operator.
Definition Settings.h:6574
bool operator<(const Threshold &other) const
Comparison operator.
Definition Settings.h:6568
std::string toString() const
Get the value as string.
double ValueType
The type of the underlying value.
Definition Settings.h:6524
bool operator!=(const Threshold &other) const
Comparison operator.
Definition Settings.h:6562
Discard points with signal-to-noise ratio (SNR) values below a threshold.
Definition Settings.h:6407
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream.
Definition Settings.h:6824
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:6729
const Threshold & threshold() const
Get Threshold.
Definition Settings.h:6748
std::tuple< Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold > Descendants
Definition Settings.h:6617
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:6808
Removal & set(const Enabled &value)
Set Enabled.
Definition Settings.h:6741
Removal & set(const Threshold &value)
Set Threshold.
Definition Settings.h:6760
bool operator==(const Removal &other) const
Equality operator.
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:6673
bool operator!=(const Removal &other) const
Inequality operator.
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition Settings.h:6781
Threshold & threshold()
Get Threshold.
Definition Settings.h:6754
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:6800
Removal copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:6708
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:6735
Removal()
Default constructor.
std::string toString() const
Get the value as string.
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition Settings.h:6771
Enable or disable noise repair.
Definition Settings.h:6872
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:6894
bool ValueType
The type of the underlying value.
Definition Settings.h:6889
static const Enabled no
Off/disabled.
Definition Settings.h:6891
void reset()
Reset the node to unset state.
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:6929
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:6903
bool hasValue() const
Check if the value is set.
std::string toString() const
Get the value as string.
static const Enabled yes
On/enabled.
Definition Settings.h:6890
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:6935
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:6923
Enabled()=default
Default constructor.
bool value() const
Get the value.
Get better surface coverage by repairing regions of missing data due to noisy points....
Definition Settings.h:6849
Repair()
Default constructor.
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:7093
bool operator!=(const Repair &other) const
Inequality operator.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:7100
bool operator==(const Repair &other) const
Equality operator.
Repair & set(const Enabled &value)
Set Enabled.
Definition Settings.h:7069
std::tuple< Settings::Processing::Filters::Noise::Repair::Enabled > Descendants
Definition Settings.h:6948
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:7063
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:7057
Repair copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:7036
const Settings::Processing::Filters::Noise::Repair::Enabled & get() const
Definition Settings.h:7080
friend std::ostream & operator<<(std::ostream &stream, const Repair &value)
Operator to send the value as string to a stream.
Definition Settings.h:7115
std::string toString() const
Get the value as string.
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:7002
Enable or disable noise suppression.
Definition Settings.h:7162
static const Enabled no
Off/disabled.
Definition Settings.h:7181
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:7193
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:7219
void reset()
Reset the node to unset state.
bool ValueType
The type of the underlying value.
Definition Settings.h:7179
std::string toString() const
Get the value as string.
Enabled()=default
Default constructor.
static const Enabled yes
On/enabled.
Definition Settings.h:7180
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:7184
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:7225
bool hasValue() const
Check if the value is set.
bool value() const
Get the value.
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:7213
Reduce noise and outliers in the point cloud. This filter can also be used to reduce ripple effects c...
Definition Settings.h:7139
const Settings::Processing::Filters::Noise::Suppression::Enabled & get() const
Definition Settings.h:7370
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:7383
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:7353
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:7347
std::string toString() const
Get the value as string.
std::tuple< Settings::Processing::Filters::Noise::Suppression::Enabled > Descendants
Definition Settings.h:7238
Suppression copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:7326
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:7292
friend std::ostream & operator<<(std::ostream &stream, const Suppression &value)
Operator to send the value as string to a stream.
Definition Settings.h:7405
bool operator!=(const Suppression &other) const
Inequality operator.
Suppression & set(const Enabled &value)
Set Enabled.
Definition Settings.h:7359
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:7390
bool operator==(const Suppression &other) const
Equality operator.
Suppression()
Default constructor.
Contains filters that can be used to clean up a noisy point cloud.
Definition Settings.h:6387
std::tuple< Settings::Processing::Filters::Noise::Removal, Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold, Settings::Processing::Filters::Noise::Repair, Settings::Processing::Filters::Noise::Repair::Enabled, Settings::Processing::Filters::Noise::Suppression, Settings::Processing::Filters::Noise::Suppression::Enabled > Descendants
Definition Settings.h:7429
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:7730
Noise & set(const Suppression &value)
Set Suppression.
Definition Settings.h:7627
std::string toString() const
Get the value as string.
const Settings::Processing::Filters::Noise::Suppression & get() const
Definition Settings.h:7695
Suppression & suppression()
Get Suppression.
Definition Settings.h:7621
Removal & removal()
Get Removal.
Definition Settings.h:7562
const Settings::Processing::Filters::Noise::Suppression::Enabled & get() const
Definition Settings.h:7705
Noise()
Default constructor.
Noise & set(const Removal::Threshold &value)
Set Removal::Threshold.
Definition Settings.h:7582
Noise copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:7535
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:7739
const Suppression & suppression() const
Get Suppression.
Definition Settings.h:7615
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition Settings.h:7665
Noise & set(const Removal::Enabled &value)
Set Removal::Enabled.
Definition Settings.h:7575
const Repair & repair() const
Get Repair.
Definition Settings.h:7589
Noise & set(const Repair::Enabled &value)
Set Repair::Enabled.
Definition Settings.h:7608
Noise & set(const Repair &value)
Set Repair.
Definition Settings.h:7601
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:7495
bool operator!=(const Noise &other) const
Inequality operator.
friend std::ostream & operator<<(std::ostream &stream, const Noise &value)
Operator to send the value as string to a stream.
Definition Settings.h:7756
Repair & repair()
Get Repair.
Definition Settings.h:7595
const Settings::Processing::Filters::Noise::Repair & get() const
Definition Settings.h:7675
const Removal & removal() const
Get Removal.
Definition Settings.h:7556
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition Settings.h:7655
const Settings::Processing::Filters::Noise::Repair::Enabled & get() const
Definition Settings.h:7685
bool operator==(const Noise &other) const
Equality operator.
Noise & set(const Suppression::Enabled &value)
Set Suppression::Enabled.
Definition Settings.h:7634
const Settings::Processing::Filters::Noise::Removal & get() const
Definition Settings.h:7645
Noise & set(const Removal &value)
Set Removal.
Definition Settings.h:7568
Enable or disable the outlier filter.
Definition Settings.h:7819
bool ValueType
The type of the underlying value.
Definition Settings.h:7836
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:7876
bool value() const
Get the value.
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:7850
static const Enabled no
Off/disabled.
Definition Settings.h:7838
bool hasValue() const
Check if the value is set.
std::string toString() const
Get the value as string.
static const Enabled yes
On/enabled.
Definition Settings.h:7837
void reset()
Reset the node to unset state.
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:7882
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:7841
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:7870
Enabled()=default
Default constructor.
Discard point if Euclidean distance to neighboring points is above the given value.
Definition Settings.h:7899
static constexpr Range< double > validRange()
The range of valid values for Threshold.
Definition Settings.h:7919
bool hasValue() const
Check if the value is set.
double value() const
Get the value.
constexpr Threshold(double value)
Constructor.
Definition Settings.h:7928
bool operator<(const Threshold &other) const
Comparison operator.
Definition Settings.h:7960
bool operator==(const Threshold &other) const
Comparison operator.
Definition Settings.h:7948
bool operator>=(const Threshold &other) const
Comparison operator.
Definition Settings.h:7978
bool operator!=(const Threshold &other) const
Comparison operator.
Definition Settings.h:7954
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream.
Definition Settings.h:7984
void reset()
Reset the node to unset state.
bool operator<=(const Threshold &other) const
Comparison operator.
Definition Settings.h:7972
bool operator>(const Threshold &other) const
Comparison operator.
Definition Settings.h:7966
std::string toString() const
Get the value as string.
double ValueType
The type of the underlying value.
Definition Settings.h:7916
Threshold()=default
Default constructor.
Discard point if Euclidean distance to neighboring points is above a threshold.
Definition Settings.h:7799
bool operator!=(const Removal &other) const
Inequality operator.
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream.
Definition Settings.h:8216
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:8121
Removal copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:8100
Removal & set(const Enabled &value)
Set Enabled.
Definition Settings.h:8133
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:8127
Removal & set(const Threshold &value)
Set Threshold.
Definition Settings.h:8152
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition Settings.h:8163
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition Settings.h:8173
std::tuple< Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold > Descendants
Definition Settings.h:8009
const Threshold & threshold() const
Get Threshold.
Definition Settings.h:8140
Threshold & threshold()
Get Threshold.
Definition Settings.h:8146
std::string toString() const
Get the value as string.
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:8192
Removal()
Default constructor.
bool operator==(const Removal &other) const
Equality operator.
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:8065
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:8200
Contains a filter that removes points with large Euclidean distance to neighboring points.
Definition Settings.h:7779
const Removal & removal() const
Get Removal.
Definition Settings.h:8352
Outlier & set(const Removal &value)
Set Removal.
Definition Settings.h:8364
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:8429
Outlier()
Default constructor.
std::string toString() const
Get the value as string.
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:8422
bool operator!=(const Outlier &other) const
Inequality operator.
Outlier & set(const Removal::Threshold &value)
Set Removal::Threshold.
Definition Settings.h:8378
Outlier & set(const Removal::Enabled &value)
Set Removal::Enabled.
Definition Settings.h:8371
Removal & removal()
Get Removal.
Definition Settings.h:8358
Outlier copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:8331
friend std::ostream & operator<<(std::ostream &stream, const Outlier &value)
Operator to send the value as string to a stream.
Definition Settings.h:8444
bool operator==(const Outlier &other) const
Equality operator.
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition Settings.h:8409
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition Settings.h:8389
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition Settings.h:8399
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:8295
std::tuple< Settings::Processing::Filters::Outlier::Removal, Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold > Descendants
Definition Settings.h:8237
Enable or disable the reflection filter. Note that this filter is computationally intensive and may a...
Definition Settings.h:8505
bool ValueType
The type of the underlying value.
Definition Settings.h:8522
bool hasValue() const
Check if the value is set.
void reset()
Reset the node to unset state.
static const Enabled yes
On/enabled.
Definition Settings.h:8523
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:8562
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:8536
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:8568
bool value() const
Get the value.
static const Enabled no
Off/disabled.
Definition Settings.h:8524
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:8556
Enabled()=default
Default constructor.
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:8527
The reflection filter has two modes: Local and Global. Local mode preserves more 3D data on thinner o...
Definition Settings.h:8612
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const Mode &value)
Operator to serialize the value to a stream.
Definition Settings.h:8694
static const Mode global
global
Definition Settings.h:8643
constexpr Mode(ValueType value)
Constructor.
Definition Settings.h:8656
void reset()
Reset the node to unset state.
bool operator==(const Mode &other) const
Comparison operator.
Definition Settings.h:8682
ValueType value() const
Get the value.
bool operator!=(const Mode &other) const
Comparison operator.
Definition Settings.h:8688
ValueType
The type of the underlying value.
Definition Settings.h:8639
static const Mode local
local
Definition Settings.h:8644
bool hasValue() const
Check if the value is set.
Mode()=default
Default constructor.
static std::set< ValueType > validValues()
All valid values of Mode.
Definition Settings.h:8647
friend std::ostream & operator<<(std::ostream &stream, const Mode::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings.h:8676
Experimental reflection filter related settings.
Definition Settings.h:8585
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:8874
bool operator!=(const Experimental &other) const
Inequality operator.
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:8867
Experimental copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:8808
std::tuple< Settings::Processing::Filters::Reflection::Removal::Experimental::Mode > Descendants
Definition Settings.h:8720
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream.
Definition Settings.h:8889
const Settings::Processing::Filters::Reflection::Removal::Experimental::Mode & get() const
Definition Settings.h:8854
bool operator==(const Experimental &other) const
Equality operator.
Mode & mode()
Get Mode.
Definition Settings.h:8835
const Mode & mode() const
Get Mode.
Definition Settings.h:8829
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:8774
Experimental()
Default constructor.
Experimental & set(const Mode &value)
Set Mode.
Definition Settings.h:8841
std::string toString() const
Get the value as string.
Discard points likely introduced by reflections (useful for shiny materials)
Definition Settings.h:8485
const Experimental & experimental() const
Get Experimental.
Definition Settings.h:9043
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:9030
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream.
Definition Settings.h:9140
std::string toString() const
Get the value as string.
bool operator==(const Removal &other) const
Equality operator.
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition Settings.h:9073
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:8967
std::tuple< Settings::Processing::Filters::Reflection::Removal::Enabled, Settings::Processing::Filters::Reflection::Removal::Experimental, Settings::Processing::Filters::Reflection::Removal::Experimental::Mode > Descendants
Definition Settings.h:8909
Removal()
Default constructor.
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:9116
const Settings::Processing::Filters::Reflection::Removal::Experimental::Mode & get() const
Definition Settings.h:9096
Removal copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:9003
Removal & set(const Enabled &value)
Set Enabled.
Definition Settings.h:9036
Removal & set(const Experimental &value)
Set Experimental.
Definition Settings.h:9055
Experimental & experimental()
Get Experimental.
Definition Settings.h:9049
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:9124
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:9024
const Settings::Processing::Filters::Reflection::Removal::Experimental & get() const
Definition Settings.h:9084
bool operator!=(const Removal &other) const
Inequality operator.
Removal & set(const Experimental::Mode &value)
Set Experimental::Mode.
Definition Settings.h:9062
Contains a filter that removes points likely introduced by reflections (useful for shiny materials)
Definition Settings.h:8465
const Settings::Processing::Filters::Reflection::Removal::Experimental::Mode & get() const
Definition Settings.h:9355
Reflection & set(const Removal::Experimental &value)
Set Removal::Experimental.
Definition Settings.h:9306
bool operator!=(const Reflection &other) const
Inequality operator.
bool operator==(const Reflection &other) const
Equality operator.
std::tuple< Settings::Processing::Filters::Reflection::Removal, Settings::Processing::Filters::Reflection::Removal::Enabled, Settings::Processing::Filters::Reflection::Removal::Experimental, Settings::Processing::Filters::Reflection::Removal::Experimental::Mode > Descendants
Definition Settings.h:9162
const Settings::Processing::Filters::Reflection::Removal::Experimental & get() const
Definition Settings.h:9344
Removal & removal()
Get Removal.
Definition Settings.h:9286
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:9222
friend std::ostream & operator<<(std::ostream &stream, const Reflection &value)
Operator to send the value as string to a stream.
Definition Settings.h:9390
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:9375
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:9368
Reflection & set(const Removal::Enabled &value)
Set Removal::Enabled.
Definition Settings.h:9299
Reflection()
Default constructor.
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition Settings.h:9334
std::string toString() const
Get the value as string.
Reflection & set(const Removal::Experimental::Mode &value)
Set Removal::Experimental::Mode.
Definition Settings.h:9313
const Removal & removal() const
Get Removal.
Definition Settings.h:9280
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition Settings.h:9324
Reflection & set(const Removal &value)
Set Removal.
Definition Settings.h:9292
Reflection copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:9259
Enable or disable the smoothing filter.
Definition Settings.h:9449
bool ValueType
The type of the underlying value.
Definition Settings.h:9466
void reset()
Reset the node to unset state.
Enabled()=default
Default constructor.
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:9471
bool value() const
Get the value.
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:9506
static const Enabled yes
On/enabled.
Definition Settings.h:9467
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:9500
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:9512
static const Enabled no
Off/disabled.
Definition Settings.h:9468
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:9480
bool hasValue() const
Check if the value is set.
std::string toString() const
Get the value as string.
Higher values result in smoother point clouds (Standard deviation of the filter coefficients)
Definition Settings.h:9529
Sigma()=default
Default constructor.
double ValueType
The type of the underlying value.
Definition Settings.h:9546
bool operator!=(const Sigma &other) const
Comparison operator.
Definition Settings.h:9584
bool operator>(const Sigma &other) const
Comparison operator.
Definition Settings.h:9596
double value() const
Get the value.
bool hasValue() const
Check if the value is set.
constexpr Sigma(double value)
Constructor.
Definition Settings.h:9558
static constexpr Range< double > validRange()
The range of valid values for Sigma.
Definition Settings.h:9549
friend std::ostream & operator<<(std::ostream &stream, const Sigma &value)
Operator to serialize the value to a stream.
Definition Settings.h:9614
void reset()
Reset the node to unset state.
bool operator>=(const Sigma &other) const
Comparison operator.
Definition Settings.h:9608
bool operator==(const Sigma &other) const
Comparison operator.
Definition Settings.h:9578
bool operator<=(const Sigma &other) const
Comparison operator.
Definition Settings.h:9602
std::string toString() const
Get the value as string.
bool operator<(const Sigma &other) const
Comparison operator.
Definition Settings.h:9590
Gaussian smoothing of the point cloud.
Definition Settings.h:9429
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:9757
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:9822
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition Settings.h:9803
Gaussian & set(const Enabled &value)
Set Enabled.
Definition Settings.h:9763
friend std::ostream & operator<<(std::ostream &stream, const Gaussian &value)
Operator to send the value as string to a stream.
Definition Settings.h:9846
const Sigma & sigma() const
Get Sigma.
Definition Settings.h:9770
std::tuple< Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition Settings.h:9639
bool operator==(const Gaussian &other) const
Equality operator.
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:9751
bool operator!=(const Gaussian &other) const
Inequality operator.
Gaussian()
Default constructor.
std::string toString() const
Get the value as string.
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition Settings.h:9793
Gaussian copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:9730
Gaussian & set(const Sigma &value)
Set Sigma.
Definition Settings.h:9782
Sigma & sigma()
Get Sigma.
Definition Settings.h:9776
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:9695
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:9830
Smoothing filters.
Definition Settings.h:9411
Smoothing copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:9961
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:9925
Smoothing & set(const Gaussian &value)
Set Gaussian.
Definition Settings.h:9994
Smoothing()
Default constructor.
std::tuple< Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition Settings.h:9867
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition Settings.h:10029
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:10059
Smoothing & set(const Gaussian::Sigma &value)
Set Gaussian::Sigma.
Definition Settings.h:10008
Smoothing & set(const Gaussian::Enabled &value)
Set Gaussian::Enabled.
Definition Settings.h:10001
bool operator!=(const Smoothing &other) const
Inequality operator.
const Gaussian & gaussian() const
Get Gaussian.
Definition Settings.h:9982
std::string toString() const
Get the value as string.
bool operator==(const Smoothing &other) const
Equality operator.
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition Settings.h:10019
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:10052
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition Settings.h:10039
friend std::ostream & operator<<(std::ostream &stream, const Smoothing &value)
Operator to send the value as string to a stream.
Definition Settings.h:10074
Gaussian & gaussian()
Get Gaussian.
Definition Settings.h:9988
Filters.
Definition Settings.h:3155
bool operator!=(const Filters &other) const
Inequality operator.
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition Settings.h:10962
Filters & set(const Reflection::Removal::Enabled &value)
Set Reflection::Removal::Enabled.
Definition Settings.h:10625
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:11125
Filters & set(const Cluster &value)
Set Cluster.
Definition Settings.h:10360
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition Settings.h:10972
Filters copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:10327
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:10825
Filters & set(const Noise::Repair &value)
Set Noise::Repair.
Definition Settings.h:10531
std::string toString() const
Get the value as string.
Filters & set(const Reflection::Removal::Experimental &value)
Set Reflection::Removal::Experimental.
Definition Settings.h:10632
const Settings::Processing::Filters::Noise::Suppression & get() const
Definition Settings.h:10933
Filters & set(const Cluster::Removal::MaxNeighborDistance &value)
Set Cluster::Removal::MaxNeighborDistance.
Definition Settings.h:10381
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition Settings.h:10894
const Settings::Processing::Filters::Reflection::Removal::Experimental & get() const
Definition Settings.h:11021
const Settings::Processing::Filters::Noise::Suppression::Enabled & get() const
Definition Settings.h:10943
const Settings::Processing::Filters::Smoothing & get() const
Definition Settings.h:11040
Filters & set(const Noise::Repair::Enabled &value)
Set Noise::Repair::Enabled.
Definition Settings.h:10538
const Settings::Processing::Filters::Cluster::Removal & get() const
Definition Settings.h:10699
Cluster & cluster()
Get Cluster.
Definition Settings.h:10354
Filters & set(const Reflection::Removal::Experimental::Mode &value)
Set Reflection::Removal::Experimental::Mode.
Definition Settings.h:10639
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition Settings.h:11001
const Settings::Processing::Filters::Reflection & get() const
Definition Settings.h:10991
Filters & set(const Outlier::Removal::Threshold &value)
Set Outlier::Removal::Threshold.
Definition Settings.h:10592
Filters & set(const Experimental::ContrastDistortion::Correction::Strength &value)
Set Experimental::ContrastDistortion::Correction::Strength.
Definition Settings.h:10435
Filters & set(const Experimental &value)
Set Experimental.
Definition Settings.h:10407
Outlier & outlier()
Get Outlier.
Definition Settings.h:10565
Filters & set(const Noise::Suppression &value)
Set Noise::Suppression.
Definition Settings.h:10545
Filters & set(const Outlier::Removal &value)
Set Outlier::Removal.
Definition Settings.h:10578
const Cluster & cluster() const
Get Cluster.
Definition Settings.h:10348
const Experimental & experimental() const
Get Experimental.
Definition Settings.h:10395
Filters & set(const Experimental::ContrastDistortion &value)
Set Experimental::ContrastDistortion.
Definition Settings.h:10414
Filters()
Default constructor.
friend std::ostream & operator<<(std::ostream &stream, const Filters &value)
Operator to send the value as string to a stream.
Definition Settings.h:11145
Filters & set(const Cluster::Removal::Enabled &value)
Set Cluster::Removal::Enabled.
Definition Settings.h:10374
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition Settings.h:11011
const Settings::Processing::Filters::Experimental::HoleFilling & get() const
Definition Settings.h:10836
const Settings::Processing::Filters::Outlier & get() const
Definition Settings.h:10952
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition Settings.h:10748
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition Settings.h:11070
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:10257
const Reflection & reflection() const
Get Reflection.
Definition Settings.h:10599
const Settings::Processing::Filters::Experimental & get() const
Definition Settings.h:10738
Filters & set(const Experimental::HoleFilling::Enabled &value)
Set Experimental::HoleFilling::Enabled.
Definition Settings.h:10470
Filters & set(const Noise::Removal::Threshold &value)
Set Noise::Removal::Threshold.
Definition Settings.h:10524
Filters & set(const Experimental::HoleFilling &value)
Set Experimental::HoleFilling.
Definition Settings.h:10463
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition Settings.h:11060
Filters & set(const Reflection &value)
Set Reflection.
Definition Settings.h:10611
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:10787
Filters & set(const Experimental::ContrastDistortion::Removal &value)
Set Experimental::ContrastDistortion::Removal.
Definition Settings.h:10442
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:11113
const Settings::Processing::Filters::Cluster::Removal::Enabled & get() const
Definition Settings.h:10709
Filters & set(const Outlier &value)
Set Outlier.
Definition Settings.h:10571
const Noise & noise() const
Get Noise.
Definition Settings.h:10491
Filters & set(const Experimental::ContrastDistortion::Correction &value)
Set Experimental::ContrastDistortion::Correction.
Definition Settings.h:10421
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:10773
Filters & set(const Reflection::Removal &value)
Set Reflection::Removal.
Definition Settings.h:10618
const Settings::Processing::Filters::Noise::Removal & get() const
Definition Settings.h:10884
Filters & set(const Noise::Removal::Enabled &value)
Set Noise::Removal::Enabled.
Definition Settings.h:10517
const Settings::Processing::Filters::Experimental::HoleFilling::Strictness & get() const
Definition Settings.h:10866
Filters & set(const Smoothing::Gaussian::Enabled &value)
Set Smoothing::Gaussian::Enabled.
Definition Settings.h:10672
const Settings::Processing::Filters::Noise & get() const
Definition Settings.h:10875
const Settings::Processing::Filters::Noise::Repair::Enabled & get() const
Definition Settings.h:10923
Filters & set(const Experimental::ContrastDistortion::Removal::Threshold &value)
Set Experimental::ContrastDistortion::Removal::Threshold.
Definition Settings.h:10456
Filters & set(const Smoothing::Gaussian &value)
Set Smoothing::Gaussian.
Definition Settings.h:10665
bool operator==(const Filters &other) const
Equality operator.
Filters & set(const Outlier::Removal::Enabled &value)
Set Outlier::Removal::Enabled.
Definition Settings.h:10585
Filters & set(const Experimental::HoleFilling::HoleSize &value)
Set Experimental::HoleFilling::HoleSize.
Definition Settings.h:10477
Filters & set(const Cluster::Removal &value)
Set Cluster::Removal.
Definition Settings.h:10367
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:10812
const Settings::Processing::Filters::Reflection::Removal::Experimental::Mode & get() const
Definition Settings.h:11031
const Settings::Processing::Filters::Experimental::HoleFilling::HoleSize & get() const
Definition Settings.h:10856
std::tuple< Settings::Processing::Filters::Cluster, Settings::Processing::Filters::Cluster::Removal, Settings::Processing::Filters::Cluster::Removal::Enabled, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance, Settings::Processing::Filters::Cluster::Removal::MinArea, Settings::Processing::Filters::Experimental, Settings::Processing::Filters::Experimental::ContrastDistortion, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold, Settings::Processing::Filters::Experimental::HoleFilling, Settings::Processing::Filters::Experimental::HoleFilling::Enabled, Settings::Processing::Filters::Experimental::HoleFilling::HoleSize, Settings::Processing::Filters::Experimental::HoleFilling::Strictness, Settings::Processing::Filters::Noise, Settings::Processing::Filters::Noise::Removal, Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold, Settings::Processing::Filters::Noise::Repair, Settings::Processing::Filters::Noise::Repair::Enabled, Settings::Processing::Filters::Noise::Suppression, Settings::Processing::Filters::Noise::Suppression::Enabled, Settings::Processing::Filters::Outlier, Settings::Processing::Filters::Outlier::Removal, Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold, Settings::Processing::Filters::Reflection, Settings::Processing::Filters::Reflection::Removal, Settings::Processing::Filters::Reflection::Removal::Enabled, Settings::Processing::Filters::Reflection::Removal::Experimental, Settings::Processing::Filters::Reflection::Removal::Experimental::Mode, Settings::Processing::Filters::Smoothing, Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition Settings.h:10129
Filters & set(const Cluster::Removal::MinArea &value)
Set Cluster::Removal::MinArea.
Definition Settings.h:10388
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition Settings.h:10799
Noise & noise()
Get Noise.
Definition Settings.h:10497
Filters & set(const Smoothing &value)
Set Smoothing.
Definition Settings.h:10658
Filters & set(const Experimental::ContrastDistortion::Correction::Enabled &value)
Set Experimental::ContrastDistortion::Correction::Enabled.
Definition Settings.h:10428
const Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance & get() const
Definition Settings.h:10719
Filters & set(const Noise::Removal &value)
Set Noise::Removal.
Definition Settings.h:10510
const Settings::Processing::Filters::Cluster & get() const
Definition Settings.h:10689
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition Settings.h:10982
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition Settings.h:10904
Smoothing & smoothing()
Get Smoothing.
Definition Settings.h:10652
const Settings::Processing::Filters::Cluster::Removal::MinArea & get() const
Definition Settings.h:10729
Filters & set(const Noise::Suppression::Enabled &value)
Set Noise::Suppression::Enabled.
Definition Settings.h:10552
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition Settings.h:11050
Filters & set(const Experimental::ContrastDistortion::Removal::Enabled &value)
Set Experimental::ContrastDistortion::Removal::Enabled.
Definition Settings.h:10449
Filters & set(const Experimental::HoleFilling::Strictness &value)
Set Experimental::HoleFilling::Strictness.
Definition Settings.h:10484
const Outlier & outlier() const
Get Outlier.
Definition Settings.h:10559
const Settings::Processing::Filters::Noise::Repair & get() const
Definition Settings.h:10913
const Settings::Processing::Filters::Experimental::HoleFilling::Enabled & get() const
Definition Settings.h:10846
Reflection & reflection()
Get Reflection.
Definition Settings.h:10605
Filters & set(const Noise &value)
Set Noise.
Definition Settings.h:10503
Filters & set(const Smoothing::Gaussian::Sigma &value)
Set Smoothing::Gaussian::Sigma.
Definition Settings.h:10679
const Smoothing & smoothing() const
Get Smoothing.
Definition Settings.h:10646
Experimental & experimental()
Get Experimental.
Definition Settings.h:10401
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition Settings.h:10759
Settings related to processing of a capture, including filters and color balance.
Definition Settings.h:1685
const Settings::Processing::Filters::Experimental::HoleFilling::Strictness & get() const
Definition Settings.h:12059
const Settings::Processing::Color::Experimental::Mode & get() const
Definition Settings.h:11866
std::tuple< Settings::Processing::Color, Settings::Processing::Color::Balance, Settings::Processing::Color::Balance::Blue, Settings::Processing::Color::Balance::Green, Settings::Processing::Color::Balance::Red, Settings::Processing::Color::Experimental, Settings::Processing::Color::Experimental::Mode, Settings::Processing::Color::Gamma, Settings::Processing::Filters, Settings::Processing::Filters::Cluster, Settings::Processing::Filters::Cluster::Removal, Settings::Processing::Filters::Cluster::Removal::Enabled, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance, Settings::Processing::Filters::Cluster::Removal::MinArea, Settings::Processing::Filters::Experimental, Settings::Processing::Filters::Experimental::ContrastDistortion, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold, Settings::Processing::Filters::Experimental::HoleFilling, Settings::Processing::Filters::Experimental::HoleFilling::Enabled, Settings::Processing::Filters::Experimental::HoleFilling::HoleSize, Settings::Processing::Filters::Experimental::HoleFilling::Strictness, Settings::Processing::Filters::Noise, Settings::Processing::Filters::Noise::Removal, Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold, Settings::Processing::Filters::Noise::Repair, Settings::Processing::Filters::Noise::Repair::Enabled, Settings::Processing::Filters::Noise::Suppression, Settings::Processing::Filters::Noise::Suppression::Enabled, Settings::Processing::Filters::Outlier, Settings::Processing::Filters::Outlier::Removal, Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold, Settings::Processing::Filters::Reflection, Settings::Processing::Filters::Reflection::Removal, Settings::Processing::Filters::Reflection::Removal::Enabled, Settings::Processing::Filters::Reflection::Removal::Experimental, Settings::Processing::Filters::Reflection::Removal::Experimental::Mode, Settings::Processing::Filters::Smoothing, Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition Settings.h:11214
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition Settings.h:11994
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition Settings.h:12239
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition Settings.h:12200
Processing & set(const Color::Experimental &value)
Set Color::Experimental.
Definition Settings.h:11505
Processing & set(const Color &value)
Set Color.
Definition Settings.h:11470
Processing & set(const Filters::Cluster::Removal::MaxNeighborDistance &value)
Set Filters::Cluster::Removal::MaxNeighborDistance.
Definition Settings.h:11566
const Settings::Processing::Filters::Noise::Repair::Enabled & get() const
Definition Settings.h:12115
const Settings::Processing::Color::Balance::Red & get() const
Definition Settings.h:11848
Processing & set(const Color::Balance &value)
Set Color::Balance.
Definition Settings.h:11477
Processing & set(const Filters::Smoothing::Gaussian &value)
Set Filters::Smoothing::Gaussian.
Definition Settings.h:11790
Processing copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:11438
Filters & filters()
Get Filters.
Definition Settings.h:11532
Processing & set(const Filters::Smoothing::Gaussian::Enabled &value)
Set Filters::Smoothing::Gaussian::Enabled.
Definition Settings.h:11797
const Settings::Processing::Filters::Noise::Suppression::Enabled & get() const
Definition Settings.h:12134
const Settings::Processing::Color::Gamma & get() const
Definition Settings.h:11874
Processing & set(const Filters::Experimental::ContrastDistortion::Removal &value)
Set Filters::Experimental::ContrastDistortion::Removal.
Definition Settings.h:11615
Processing & set(const Filters::Experimental::HoleFilling::HoleSize &value)
Set Filters::Experimental::HoleFilling::HoleSize.
Definition Settings.h:11650
Processing()
Default constructor.
const Settings::Processing::Filters::Smoothing & get() const
Definition Settings.h:12229
Processing & set(const Filters::Experimental::ContrastDistortion::Removal::Threshold &value)
Set Filters::Experimental::ContrastDistortion::Removal::Threshold.
Definition Settings.h:11629
const Settings::Processing::Color::Balance::Green & get() const
Definition Settings.h:11839
Processing & set(const Filters::Outlier::Removal &value)
Set Filters::Outlier::Removal.
Definition Settings.h:11727
Processing & set(const Filters::Experimental::ContrastDistortion::Removal::Enabled &value)
Set Filters::Experimental::ContrastDistortion::Removal::Enabled.
Definition Settings.h:11622
Processing & set(const Filters::Cluster::Removal::Enabled &value)
Set Filters::Cluster::Removal::Enabled.
Definition Settings.h:11559
friend std::ostream & operator<<(std::ostream &stream, const Processing &value)
Operator to send the value as string to a stream.
Definition Settings.h:12302
const Settings::Processing::Filters::Noise::Suppression & get() const
Definition Settings.h:12124
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:12005
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition Settings.h:12190
std::string toString() const
Get the value as string.
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition Settings.h:12096
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition Settings.h:12259
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition Settings.h:12086
Processing & set(const Color::Balance::Blue &value)
Set Color::Balance::Blue.
Definition Settings.h:11484
Color & color()
Get Color.
Definition Settings.h:11464
Processing & set(const Filters::Experimental::HoleFilling::Strictness &value)
Set Filters::Experimental::HoleFilling::Strictness.
Definition Settings.h:11657
const Settings::Processing::Filters::Reflection::Removal::Experimental & get() const
Definition Settings.h:12210
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition Settings.h:12249
Processing & set(const Filters::Reflection &value)
Set Filters::Reflection.
Definition Settings.h:11748
Processing & set(const Filters::Noise &value)
Set Filters::Noise.
Definition Settings.h:11664
Processing & set(const Filters::Cluster &value)
Set Filters::Cluster.
Definition Settings.h:11545
const Settings::Processing::Filters::Outlier & get() const
Definition Settings.h:12142
const Settings::Processing::Filters & get() const
Definition Settings.h:11882
Processing & set(const Filters::Experimental::ContrastDistortion::Correction::Strength &value)
Set Filters::Experimental::ContrastDistortion::Correction::Strength.
Definition Settings.h:11608
Processing & set(const Filters::Noise::Removal::Enabled &value)
Set Filters::Noise::Removal::Enabled.
Definition Settings.h:11678
Processing & set(const Filters::Smoothing &value)
Set Filters::Smoothing.
Definition Settings.h:11783
const Settings::Processing::Color::Balance & get() const
Definition Settings.h:11821
const Filters & filters() const
Get Filters.
Definition Settings.h:11526
Processing & set(const Filters::Cluster::Removal &value)
Set Filters::Cluster::Removal.
Definition Settings.h:11552
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:12286
const Settings::Processing::Filters::Cluster::Removal::MinArea & get() const
Definition Settings.h:11929
Processing & set(const Filters::Smoothing::Gaussian::Sigma &value)
Set Filters::Smoothing::Gaussian::Sigma.
Definition Settings.h:11804
Processing & set(const Filters::Noise::Suppression &value)
Set Filters::Noise::Suppression.
Definition Settings.h:11706
Processing & set(const Filters::Noise::Removal &value)
Set Filters::Noise::Removal.
Definition Settings.h:11671
const Settings::Processing::Filters::Experimental::HoleFilling::Enabled & get() const
Definition Settings.h:12039
Processing & set(const Filters::Reflection::Removal::Experimental &value)
Set Filters::Reflection::Removal::Experimental.
Definition Settings.h:11769
Processing & set(const Filters::Outlier::Removal::Enabled &value)
Set Filters::Outlier::Removal::Enabled.
Definition Settings.h:11734
Processing & set(const Filters::Noise::Removal::Threshold &value)
Set Filters::Noise::Removal::Threshold.
Definition Settings.h:11685
const Settings::Processing::Color::Balance::Blue & get() const
Definition Settings.h:11830
Processing & set(const Filters::Cluster::Removal::MinArea &value)
Set Filters::Cluster::Removal::MinArea.
Definition Settings.h:11573
Processing & set(const Filters::Experimental &value)
Set Filters::Experimental.
Definition Settings.h:11580
const Settings::Processing::Filters::Noise::Removal & get() const
Definition Settings.h:12076
Processing & set(const Filters::Outlier::Removal::Threshold &value)
Set Filters::Outlier::Removal::Threshold.
Definition Settings.h:11741
Processing & set(const Filters::Experimental::HoleFilling &value)
Set Filters::Experimental::HoleFilling.
Definition Settings.h:11636
Processing & set(const Color::Balance::Green &value)
Set Color::Balance::Green.
Definition Settings.h:11491
Processing & set(const Filters::Experimental::HoleFilling::Enabled &value)
Set Filters::Experimental::HoleFilling::Enabled.
Definition Settings.h:11643
const Settings::Processing::Color::Experimental & get() const
Definition Settings.h:11857
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:11983
Processing & set(const Filters::Outlier &value)
Set Filters::Outlier.
Definition Settings.h:11720
Processing & set(const Filters::Noise::Repair::Enabled &value)
Set Filters::Noise::Repair::Enabled.
Definition Settings.h:11699
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:11970
Processing & set(const Color::Experimental::Mode &value)
Set Color::Experimental::Mode.
Definition Settings.h:11512
Processing & set(const Filters::Reflection::Removal::Enabled &value)
Set Filters::Reflection::Removal::Enabled.
Definition Settings.h:11762
Processing & set(const Filters::Experimental::ContrastDistortion::Correction::Enabled &value)
Set Filters::Experimental::ContrastDistortion::Correction::Enabled.
Definition Settings.h:11601
const Settings::Processing::Filters::Cluster::Removal::Enabled & get() const
Definition Settings.h:11909
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition Settings.h:12171
Processing & set(const Filters::Reflection::Removal::Experimental::Mode &value)
Set Filters::Reflection::Removal::Experimental::Mode.
Definition Settings.h:11776
Processing & set(const Filters::Reflection::Removal &value)
Set Filters::Reflection::Removal.
Definition Settings.h:11755
const Settings::Processing::Filters::Reflection::Removal::Experimental::Mode & get() const
Definition Settings.h:12220
const Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance & get() const
Definition Settings.h:11919
Processing & set(const Filters::Experimental::ContrastDistortion::Correction &value)
Set Filters::Experimental::ContrastDistortion::Correction.
Definition Settings.h:11594
const Settings::Processing::Color & get() const
Definition Settings.h:11813
bool operator==(const Processing &other) const
Equality operator.
const Color & color() const
Get Color.
Definition Settings.h:11458
Processing & set(const Filters::Experimental::ContrastDistortion &value)
Set Filters::Experimental::ContrastDistortion.
Definition Settings.h:11587
Processing & set(const Filters::Noise::Suppression::Enabled &value)
Set Filters::Noise::Suppression::Enabled.
Definition Settings.h:11713
const Settings::Processing::Filters::Cluster::Removal & get() const
Definition Settings.h:11899
const Settings::Processing::Filters::Reflection & get() const
Definition Settings.h:12180
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition Settings.h:12161
Processing & set(const Filters &value)
Set Filters.
Definition Settings.h:11538
const Settings::Processing::Filters::Experimental::HoleFilling::HoleSize & get() const
Definition Settings.h:12049
Processing & set(const Color::Balance::Red &value)
Set Color::Balance::Red.
Definition Settings.h:11498
const Settings::Processing::Filters::Noise & get() const
Definition Settings.h:12067
bool operator!=(const Processing &other) const
Inequality operator.
const Settings::Processing::Filters::Experimental & get() const
Definition Settings.h:11938
const Settings::Processing::Filters::Noise::Repair & get() const
Definition Settings.h:12105
Processing & set(const Color::Gamma &value)
Set Color::Gamma.
Definition Settings.h:11519
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:11360
const Settings::Processing::Filters::Experimental::HoleFilling & get() const
Definition Settings.h:12029
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:12018
const Settings::Processing::Filters::Cluster & get() const
Definition Settings.h:11890
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition Settings.h:11958
Processing & set(const Filters::Noise::Repair &value)
Set Filters::Noise::Repair.
Definition Settings.h:11692
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition Settings.h:11948
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:12278
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition Settings.h:12151
Enabled.
Definition Settings.h:12382
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:12411
bool ValueType
The type of the underlying value.
Definition Settings.h:12397
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:12431
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:12402
static const Enabled yes
On/enabled.
Definition Settings.h:12398
static const Enabled no
Off/disabled.
Definition Settings.h:12399
bool hasValue() const
Check if the value is set.
void reset()
Reset the node to unset state.
Enabled()=default
Default constructor.
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:12443
bool value() const
Get the value.
std::string toString() const
Get the value as string.
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:12437
Two points on the normal describing the direction and distance from the plane from which the normal i...
Definition Settings.h:12460
std::string toString() const
Get the value as string.
bool operator==(const Extents &other) const
Comparison operator.
Definition Settings.h:12508
Extents()=default
Default constructor.
void reset()
Reset the node to unset state.
constexpr Extents(Zivid::Range< double > value)
Constructor.
Definition Settings.h:12483
constexpr Extents(double minValue, double maxValue)
Constructor.
Definition Settings.h:12503
bool hasValue() const
Check if the value is set.
friend std::ostream & operator<<(std::ostream &stream, const Extents &value)
Operator to serialize the value to a stream.
Definition Settings.h:12520
const Zivid::Range< double > & value() const
Get the value.
bool operator!=(const Extents &other) const
Comparison operator.
Definition Settings.h:12514
A point such that the vector from PointO to PointA describes the first edge of the parallelogram.
Definition Settings.h:12537
void reset()
Reset the node to unset state.
constexpr PointA(float x, float y, float z)
Constructor.
Definition Settings.h:12580
bool operator!=(const PointA &other) const
Comparison operator.
Definition Settings.h:12591
PointA()=default
Default constructor.
bool operator==(const PointA &other) const
Comparison operator.
Definition Settings.h:12585
bool hasValue() const
Check if the value is set.
friend std::ostream & operator<<(std::ostream &stream, const PointA &value)
Operator to serialize the value to a stream.
Definition Settings.h:12597
constexpr PointA(Zivid::PointXYZ value)
Constructor.
Definition Settings.h:12560
Zivid::PointXYZ value() const
Get the value.
std::string toString() const
Get the value as string.
A point such that the vector from PointO to PointB describes the second edge of the parallelogram.
Definition Settings.h:12614
PointB()=default
Default constructor.
bool operator==(const PointB &other) const
Comparison operator.
Definition Settings.h:12662
bool hasValue() const
Check if the value is set.
friend std::ostream & operator<<(std::ostream &stream, const PointB &value)
Operator to serialize the value to a stream.
Definition Settings.h:12674
void reset()
Reset the node to unset state.
std::string toString() const
Get the value as string.
constexpr PointB(float x, float y, float z)
Constructor.
Definition Settings.h:12657
constexpr PointB(Zivid::PointXYZ value)
Constructor.
Definition Settings.h:12637
Zivid::PointXYZ value() const
Get the value.
bool operator!=(const PointB &other) const
Comparison operator.
Definition Settings.h:12668
The point at the intersection of two adjacent edges defining a parallelogram.
Definition Settings.h:12691
constexpr PointO(float x, float y, float z)
Constructor.
Definition Settings.h:12734
void reset()
Reset the node to unset state.
bool operator!=(const PointO &other) const
Comparison operator.
Definition Settings.h:12745
PointO()=default
Default constructor.
constexpr PointO(Zivid::PointXYZ value)
Constructor.
Definition Settings.h:12714
bool operator==(const PointO &other) const
Comparison operator.
Definition Settings.h:12739
bool hasValue() const
Check if the value is set.
Zivid::PointXYZ value() const
Get the value.
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const PointO &value)
Operator to serialize the value to a stream.
Definition Settings.h:12751
Removes the points outside the box.
Definition Settings.h:12354
std::tuple< Settings::RegionOfInterest::Box::Enabled, Settings::RegionOfInterest::Box::Extents, Settings::RegionOfInterest::Box::PointA, Settings::RegionOfInterest::Box::PointB, Settings::RegionOfInterest::Box::PointO > Descendants
Definition Settings.h:12769
std::string toString() const
Get the value as string.
Box & set(const PointA &value)
Set PointA.
Definition Settings.h:12939
Box copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:12868
const PointO & pointO() const
Get PointO.
Definition Settings.h:12965
Box & set(const PointO &value)
Set PointO.
Definition Settings.h:12977
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:12895
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:12889
Box & set(const Extents &value)
Set Extents.
Definition Settings.h:12920
const Settings::RegionOfInterest::Box::Enabled & get() const
Definition Settings.h:12987
PointA & pointA()
Get PointA.
Definition Settings.h:12933
PointB & pointB()
Get PointB.
Definition Settings.h:12952
Box & set(const PointB &value)
Set PointB.
Definition Settings.h:12958
const Settings::RegionOfInterest::Box::PointO & get() const
Definition Settings.h:13023
Box()
Default constructor.
const Settings::RegionOfInterest::Box::PointA & get() const
Definition Settings.h:13005
const Extents & extents() const
Get Extents.
Definition Settings.h:12908
const PointA & pointA() const
Get PointA.
Definition Settings.h:12927
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:12831
PointO & pointO()
Get PointO.
Definition Settings.h:12971
Extents & extents()
Get Extents.
Definition Settings.h:12914
const PointB & pointB() const
Get PointB.
Definition Settings.h:12946
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:13060
friend std::ostream & operator<<(std::ostream &stream, const Box &value)
Operator to send the value as string to a stream.
Definition Settings.h:13090
bool operator!=(const Box &other) const
Inequality operator.
bool operator==(const Box &other) const
Equality operator.
const Settings::RegionOfInterest::Box::PointB & get() const
Definition Settings.h:13014
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:13071
const Settings::RegionOfInterest::Box::Extents & get() const
Definition Settings.h:12996
Box & set(const Enabled &value)
Set Enabled.
Definition Settings.h:12901
Enabled.
Definition Settings.h:13139
Enabled()=default
Default constructor.
static const Enabled yes
On/enabled.
Definition Settings.h:13155
bool hasValue() const
Check if the value is set.
void reset()
Reset the node to unset state.
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:13188
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:13194
bool ValueType
The type of the underlying value.
Definition Settings.h:13154
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:13200
bool value() const
Get the value.
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:13159
std::string toString() const
Get the value as string.
static const Enabled no
Off/disabled.
Definition Settings.h:13156
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:13168
Specify the minimum and maximum Z value that will be included.
Definition Settings.h:13217
constexpr Range(double minValue, double maxValue)
Constructor.
Definition Settings.h:13260
constexpr Range(Zivid::Range< double > value)
Constructor.
Definition Settings.h:13240
const Zivid::Range< double > & value() const
Get the value.
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const Range &value)
Operator to serialize the value to a stream.
Definition Settings.h:13277
Range()=default
Default constructor.
bool operator==(const Range &other) const
Comparison operator.
Definition Settings.h:13265
bool operator!=(const Range &other) const
Comparison operator.
Definition Settings.h:13271
void reset()
Reset the node to unset state.
bool hasValue() const
Check if the value is set.
Removes points that reside outside of a depth range, meaning that their Z coordinate falls above a gi...
Definition Settings.h:13117
Depth()
Default constructor.
Depth & set(const Enabled &value)
Set Enabled.
Definition Settings.h:13414
std::string toString() const
Get the value as string.
const Range & range() const
Get Range.
Definition Settings.h:13421
Depth & set(const Range &value)
Set Range.
Definition Settings.h:13433
std::tuple< Settings::RegionOfInterest::Depth::Enabled, Settings::RegionOfInterest::Depth::Range > Descendants
Definition Settings.h:13291
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:13402
bool operator==(const Depth &other) const
Equality operator.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:13479
bool operator!=(const Depth &other) const
Inequality operator.
const Settings::RegionOfInterest::Depth::Enabled & get() const
Definition Settings.h:13443
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:13471
Range & range()
Get Range.
Definition Settings.h:13427
friend std::ostream & operator<<(std::ostream &stream, const Depth &value)
Operator to send the value as string to a stream.
Definition Settings.h:13495
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:13347
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:13408
const Settings::RegionOfInterest::Depth::Range & get() const
Definition Settings.h:13452
Depth copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:13381
Removes points outside the region of interest.
Definition Settings.h:12325
const Settings::RegionOfInterest::Depth::Enabled & get() const
Definition Settings.h:13800
std::tuple< Settings::RegionOfInterest::Box, Settings::RegionOfInterest::Box::Enabled, Settings::RegionOfInterest::Box::Extents, Settings::RegionOfInterest::Box::PointA, Settings::RegionOfInterest::Box::PointB, Settings::RegionOfInterest::Box::PointO, Settings::RegionOfInterest::Depth, Settings::RegionOfInterest::Depth::Enabled, Settings::RegionOfInterest::Depth::Range > Descendants
Definition Settings.h:13522
Depth & depth()
Get Depth.
Definition Settings.h:13712
RegionOfInterest & set(const Depth::Enabled &value)
Set Depth::Enabled.
Definition Settings.h:13725
const Box & box() const
Get Box.
Definition Settings.h:13652
RegionOfInterest & set(const Box &value)
Set Box.
Definition Settings.h:13664
friend std::ostream & operator<<(std::ostream &stream, const RegionOfInterest &value)
Operator to send the value as string to a stream.
Definition Settings.h:13852
RegionOfInterest & set(const Box::PointO &value)
Set Box::PointO.
Definition Settings.h:13699
const Settings::RegionOfInterest::Box::PointO & get() const
Definition Settings.h:13783
std::string toString() const
Get the value as string.
const Settings::RegionOfInterest::Box::PointA & get() const
Definition Settings.h:13767
const Settings::RegionOfInterest::Depth & get() const
Definition Settings.h:13791
const Settings::RegionOfInterest::Box::Extents & get() const
Definition Settings.h:13759
const Settings::RegionOfInterest::Depth::Range & get() const
Definition Settings.h:13809
const Settings::RegionOfInterest::Box::PointB & get() const
Definition Settings.h:13775
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:13592
RegionOfInterest copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:13632
Box & box()
Get Box.
Definition Settings.h:13658
const Settings::RegionOfInterest::Box & get() const
Definition Settings.h:13741
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:13828
RegionOfInterest & set(const Box::PointA &value)
Set Box::PointA.
Definition Settings.h:13685
const Depth & depth() const
Get Depth.
Definition Settings.h:13706
RegionOfInterest & set(const Box::Extents &value)
Set Box::Extents.
Definition Settings.h:13678
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:13836
RegionOfInterest & set(const Box::Enabled &value)
Set Box::Enabled.
Definition Settings.h:13671
RegionOfInterest & set(const Depth::Range &value)
Set Depth::Range.
Definition Settings.h:13732
bool operator!=(const RegionOfInterest &other) const
Inequality operator.
RegionOfInterest & set(const Depth &value)
Set Depth.
Definition Settings.h:13718
RegionOfInterest & set(const Box::PointB &value)
Set Box::PointB.
Definition Settings.h:13692
bool operator==(const RegionOfInterest &other) const
Equality operator.
const Settings::RegionOfInterest::Box::Enabled & get() const
Definition Settings.h:13750
RegionOfInterest()
Default constructor.
Choose how to sample colors for the pointcloud. The rgb option gives all colors for a regular Zivid c...
Definition Settings.h:13898
ValueType
The type of the underlying value.
Definition Settings.h:13920
std::string toString() const
Get the value as string.
static std::set< ValueType > validValues()
All valid values of Color.
Definition Settings.h:13928
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to serialize the value to a stream.
Definition Settings.h:13975
constexpr Color(ValueType value)
Constructor.
Definition Settings.h:13937
bool operator!=(const Color &other) const
Comparison operator.
Definition Settings.h:13969
Color()=default
Default constructor.
static const Color disabled
disabled
Definition Settings.h:13925
bool hasValue() const
Check if the value is set.
void reset()
Reset the node to unset state.
bool operator==(const Color &other) const
Comparison operator.
Definition Settings.h:13963
friend std::ostream & operator<<(std::ostream &stream, const Color::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings.h:13957
static const Color rgb
rgb
Definition Settings.h:13924
ValueType value() const
Get the value.
Set whether the full image sensor should be used with white projector light or only specific color ch...
Definition Settings.h:14010
ValueType value() const
Get the value.
void reset()
Reset the node to unset state.
static std::set< ValueType > validValues()
All valid values of Pixel.
Definition Settings.h:14050
static const Pixel redSubsample4x4
redSubsample4x4
Definition Settings.h:14047
constexpr Pixel(ValueType value)
Constructor.
Definition Settings.h:14063
static const Pixel all
all
Definition Settings.h:14043
static const Pixel blueSubsample2x2
blueSubsample2x2
Definition Settings.h:14044
bool operator!=(const Pixel &other) const
Comparison operator.
Definition Settings.h:14095
ValueType
The type of the underlying value.
Definition Settings.h:14036
static const Pixel redSubsample2x2
redSubsample2x2
Definition Settings.h:14045
Pixel()=default
Default constructor.
bool operator==(const Pixel &other) const
Comparison operator.
Definition Settings.h:14089
static const Pixel blueSubsample4x4
blueSubsample4x4
Definition Settings.h:14046
bool hasValue() const
Check if the value is set.
friend std::ostream & operator<<(std::ostream &stream, const Pixel::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings.h:14083
friend std::ostream & operator<<(std::ostream &stream, const Pixel &value)
Operator to serialize the value to a stream.
Definition Settings.h:14101
std::string toString() const
Get the value as string.
Sampling group.
Definition Settings.h:13875
std::tuple< Settings::Sampling::Color, Settings::Sampling::Pixel > Descendants
Definition Settings.h:14126
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:14182
bool operator==(const Sampling &other) const
Equality operator.
Color & color()
Get Color.
Definition Settings.h:14241
Sampling copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:14215
const Pixel & pixel() const
Get Pixel.
Definition Settings.h:14254
friend std::ostream & operator<<(std::ostream &stream, const Sampling &value)
Operator to send the value as string to a stream.
Definition Settings.h:14326
Pixel & pixel()
Get Pixel.
Definition Settings.h:14260
const Settings::Sampling::Color & get() const
Definition Settings.h:14275
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:14302
Sampling()
Default constructor.
const Settings::Sampling::Pixel & get() const
Definition Settings.h:14283
bool operator!=(const Sampling &other) const
Inequality operator.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:14310
const Color & color() const
Get Color.
Definition Settings.h:14235
std::string toString() const
Get the value as string.
Sampling & set(const Color &value)
Set Color.
Definition Settings.h:14247
Sampling & set(const Pixel &value)
Set Pixel.
Definition Settings.h:14266
Settings used when capturing with a Zivid camera.
Definition Settings.h:79
const Settings::RegionOfInterest::Depth & get() const
Definition Settings.h:15783
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition Settings.h:15627
Settings(Args &&...args)
Constructor taking variadic number of arguments.
Definition Settings.h:14504
Settings & set(const Processing::Filters::Cluster::Removal::MinArea &value)
Set Processing::Filters::Cluster::Removal::MinArea.
Definition Settings.h:14893
const Settings::Processing::Filters::Outlier & get() const
Definition Settings.h:15608
Settings & set(const RegionOfInterest::Box::PointB &value)
Set RegionOfInterest::Box::PointB.
Definition Settings.h:15178
const Settings::Processing::Color::Balance & get() const
Definition Settings.h:15296
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled.
Definition Settings.h:14942
const Experimental & experimental() const
Get Experimental.
Definition Settings.h:14757
const Settings::Processing::Color::Balance::Red & get() const
Definition Settings.h:15320
Settings & set(const Processing::Color::Experimental::Mode &value)
Set Processing::Color::Experimental::Mode.
Definition Settings.h:14844
Settings & set(const Processing::Filters::Smoothing &value)
Set Processing::Filters::Smoothing.
Definition Settings.h:15103
const Settings::Processing::Filters::Experimental::HoleFilling::Enabled & get() const
Definition Settings.h:15506
const Settings::RegionOfInterest & get() const
Definition Settings.h:15727
const Settings::Processing::Filters::Noise::Removal & get() const
Definition Settings.h:15543
Settings copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:14693
const Processing & processing() const
Get Processing.
Definition Settings.h:14783
const Settings::Processing::Filters::Experimental::HoleFilling::HoleSize & get() const
Definition Settings.h:15516
const Settings::Experimental & get() const
Definition Settings.h:15266
const Settings::Processing::Color::Gamma & get() const
Definition Settings.h:15345
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition Settings.h:15462
Settings & set(const Processing &value)
Set Processing.
Definition Settings.h:14795
const Settings::Sampling::Pixel & get() const
Definition Settings.h:15817
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:15485
Settings & set(const Sampling &value)
Set Sampling.
Definition Settings.h:15225
Settings & set(const Processing::Filters::Outlier::Removal::Enabled &value)
Set Processing::Filters::Outlier::Removal::Enabled.
Definition Settings.h:15054
const Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance & get() const
Definition Settings.h:15390
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold.
Definition Settings.h:14949
Settings & set(const Experimental::Engine &value)
Set Experimental::Engine.
Definition Settings.h:14776
Settings & set(const Processing::Filters::Smoothing::Gaussian &value)
Set Processing::Filters::Smoothing::Gaussian.
Definition Settings.h:15110
Settings & set(const Sampling::Color &value)
Set Sampling::Color.
Definition Settings.h:15232
Settings & set(const Diagnostics &value)
Set Diagnostics.
Definition Settings.h:14743
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:15473
Settings & set(const RegionOfInterest::Depth::Enabled &value)
Set RegionOfInterest::Depth::Enabled.
Definition Settings.h:15199
Settings & set(const Processing::Filters::Noise &value)
Set Processing::Filters::Noise.
Definition Settings.h:14984
const Sampling & sampling() const
Get Sampling.
Definition Settings.h:15213
void load(const std::string &fileName)
Load from the given file.
const Settings::Processing::Filters::Cluster::Removal::MinArea & get() const
Definition Settings.h:15400
const Settings::Acquisitions & get() const
Definition Settings.h:15246
const Settings::Processing::Filters::Experimental::HoleFilling & get() const
Definition Settings.h:15496
const Settings::Processing::Filters::Experimental & get() const
Definition Settings.h:15408
const Settings::Processing::Filters::Noise::Suppression & get() const
Definition Settings.h:15590
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition Settings.h:15617
Settings & set(const Processing::Filters::Cluster &value)
Set Processing::Filters::Cluster.
Definition Settings.h:14865
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition Settings.h:15721
Settings & set(const Processing::Filters::Reflection::Removal::Experimental &value)
Set Processing::Filters::Reflection::Removal::Experimental.
Definition Settings.h:15089
const Settings::Diagnostics & get() const
Definition Settings.h:15252
RegionOfInterest & regionOfInterest()
Get RegionOfInterest.
Definition Settings.h:15137
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition Settings.h:15711
const Settings::RegionOfInterest::Box & get() const
Definition Settings.h:15735
Settings & set(const Processing::Color::Balance &value)
Set Processing::Color::Balance.
Definition Settings.h:14809
const Settings::RegionOfInterest::Box::PointO & get() const
Definition Settings.h:15775
Settings & set(const RegionOfInterest::Depth &value)
Set RegionOfInterest::Depth.
Definition Settings.h:15192
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition Settings.h:15553
const Settings::RegionOfInterest::Depth::Enabled & get() const
Definition Settings.h:15791
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition Settings.h:15428
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:15860
const Settings::Processing::Color::Balance::Green & get() const
Definition Settings.h:15312
const Settings::RegionOfInterest::Box::Extents & get() const
Definition Settings.h:15751
Settings & set(const Processing::Filters::Smoothing::Gaussian::Enabled &value)
Set Processing::Filters::Smoothing::Gaussian::Enabled.
Definition Settings.h:15117
const Settings::Processing & get() const
Definition Settings.h:15280
Settings & set(const Processing::Filters::Reflection &value)
Set Processing::Filters::Reflection.
Definition Settings.h:15068
const Settings::Experimental::Engine & get() const
Definition Settings.h:15274
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:15872
Settings()
Default constructor.
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition Settings.h:15418
Settings & set(const Processing::Filters::Outlier::Removal::Threshold &value)
Set Processing::Filters::Outlier::Removal::Threshold.
Definition Settings.h:15061
const Settings::RegionOfInterest::Box::Enabled & get() const
Definition Settings.h:15743
const Settings::Processing::Color::Experimental::Mode & get() const
Definition Settings.h:15337
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Strength &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Strength.
Definition Settings.h:14928
Settings & set(const RegionOfInterest::Box::Enabled &value)
Set RegionOfInterest::Box::Enabled.
Definition Settings.h:15157
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:15451
Settings & set(const RegionOfInterest::Box::Extents &value)
Set RegionOfInterest::Box::Extents.
Definition Settings.h:15164
const Settings::Processing::Color::Balance::Blue & get() const
Definition Settings.h:15304
std::tuple< Settings::Acquisitions, Settings::Diagnostics, Settings::Diagnostics::Enabled, Settings::Experimental, Settings::Experimental::Engine, Settings::Processing, Settings::Processing::Color, Settings::Processing::Color::Balance, Settings::Processing::Color::Balance::Blue, Settings::Processing::Color::Balance::Green, Settings::Processing::Color::Balance::Red, Settings::Processing::Color::Experimental, Settings::Processing::Color::Experimental::Mode, Settings::Processing::Color::Gamma, Settings::Processing::Filters, Settings::Processing::Filters::Cluster, Settings::Processing::Filters::Cluster::Removal, Settings::Processing::Filters::Cluster::Removal::Enabled, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance, Settings::Processing::Filters::Cluster::Removal::MinArea, Settings::Processing::Filters::Experimental, Settings::Processing::Filters::Experimental::ContrastDistortion, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold, Settings::Processing::Filters::Experimental::HoleFilling, Settings::Processing::Filters::Experimental::HoleFilling::Enabled, Settings::Processing::Filters::Experimental::HoleFilling::HoleSize, Settings::Processing::Filters::Experimental::HoleFilling::Strictness, Settings::Processing::Filters::Noise, Settings::Processing::Filters::Noise::Removal, Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold, Settings::Processing::Filters::Noise::Repair, Settings::Processing::Filters::Noise::Repair::Enabled, Settings::Processing::Filters::Noise::Suppression, Settings::Processing::Filters::Noise::Suppression::Enabled, Settings::Processing::Filters::Outlier, Settings::Processing::Filters::Outlier::Removal, Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold, Settings::Processing::Filters::Reflection, Settings::Processing::Filters::Reflection::Removal, Settings::Processing::Filters::Reflection::Removal::Enabled, Settings::Processing::Filters::Reflection::Removal::Experimental, Settings::Processing::Filters::Reflection::Removal::Experimental::Mode, Settings::Processing::Filters::Smoothing, Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma, Settings::RegionOfInterest, Settings::RegionOfInterest::Box, Settings::RegionOfInterest::Box::Enabled, Settings::RegionOfInterest::Box::Extents, Settings::RegionOfInterest::Box::PointA, Settings::RegionOfInterest::Box::PointB, Settings::RegionOfInterest::Box::PointO, Settings::RegionOfInterest::Depth, Settings::RegionOfInterest::Depth::Enabled, Settings::RegionOfInterest::Depth::Range, Settings::Sampling, Settings::Sampling::Color, Settings::Sampling::Pixel > Descendants
Definition Settings.h:14410
const Acquisitions & acquisitions() const
Get Acquisitions.
Definition Settings.h:14712
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:14596
const Settings::Processing::Filters::Reflection & get() const
Definition Settings.h:15645
Settings & set(const Processing::Filters::Experimental &value)
Set Processing::Filters::Experimental.
Definition Settings.h:14900
const Settings::Processing::Filters::Smoothing & get() const
Definition Settings.h:15692
const Settings::Processing::Filters & get() const
Definition Settings.h:15353
Settings & set(const Processing::Color::Experimental &value)
Set Processing::Color::Experimental.
Definition Settings.h:14837
void save(const std::string &fileName) const
Save to the given file.
Settings & set(const RegionOfInterest::Depth::Range &value)
Set RegionOfInterest::Depth::Range.
Definition Settings.h:15206
const Settings::Processing::Filters::Experimental::HoleFilling::Strictness & get() const
Definition Settings.h:15526
const Settings::Processing::Color::Experimental & get() const
Definition Settings.h:15328
const Settings::Processing::Filters::Noise::Repair & get() const
Definition Settings.h:15572
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal.
Definition Settings.h:14935
const Settings::RegionOfInterest::Box::PointA & get() const
Definition Settings.h:15759
Settings & set(const Processing::Color &value)
Set Processing::Color.
Definition Settings.h:14802
Experimental & experimental()
Get Experimental.
Definition Settings.h:14763
Settings & set(const Processing::Filters::Outlier &value)
Set Processing::Filters::Outlier.
Definition Settings.h:15040
bool operator==(const Settings &other) const
Equality operator.
Acquisitions & acquisitions()
Get Acquisitions.
Definition Settings.h:14718
Settings & set(const Processing::Filters::Reflection::Removal &value)
Set Processing::Filters::Reflection::Removal.
Definition Settings.h:15075
const Settings::Processing::Filters::Noise::Suppression::Enabled & get() const
Definition Settings.h:15600
const Settings::Processing::Filters::Cluster & get() const
Definition Settings.h:15361
const Settings::Processing::Filters::Noise::Repair::Enabled & get() const
Definition Settings.h:15581
Settings(const std::string &fileName)
Construct Settings by loading from file.
Settings & set(const Processing::Color::Balance::Red &value)
Set Processing::Color::Balance::Red.
Definition Settings.h:14830
Settings & set(const RegionOfInterest::Box::PointO &value)
Set RegionOfInterest::Box::PointO.
Definition Settings.h:15185
const Settings::Sampling::Color & get() const
Definition Settings.h:15811
Settings & set(const Processing::Filters::Cluster::Removal &value)
Set Processing::Filters::Cluster::Removal.
Definition Settings.h:14872
Settings & set(const RegionOfInterest::Box &value)
Set RegionOfInterest::Box.
Definition Settings.h:15150
Settings & set(const Processing::Filters::Noise::Suppression &value)
Set Processing::Filters::Noise::Suppression.
Definition Settings.h:15026
Diagnostics & diagnostics()
Get Diagnostics.
Definition Settings.h:14737
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition Settings.h:15563
const Settings::Processing::Filters::Cluster::Removal::Enabled & get() const
Definition Settings.h:15380
const Settings::Processing::Filters::Reflection::Removal::Experimental & get() const
Definition Settings.h:15674
Sampling & sampling()
Get Sampling.
Definition Settings.h:15219
Settings & set(const Processing::Filters::Reflection::Removal::Enabled &value)
Set Processing::Filters::Reflection::Removal::Enabled.
Definition Settings.h:15082
Processing & processing()
Get Processing.
Definition Settings.h:14789
Settings & set(const RegionOfInterest::Box::PointA &value)
Set RegionOfInterest::Box::PointA.
Definition Settings.h:15171
Settings & set(const Processing::Filters::Experimental::HoleFilling::Enabled &value)
Set Processing::Filters::Experimental::HoleFilling::Enabled.
Definition Settings.h:14963
Settings & set(const Processing::Filters::Experimental::HoleFilling &value)
Set Processing::Filters::Experimental::HoleFilling.
Definition Settings.h:14956
Settings & set(const Diagnostics::Enabled &value)
Set Diagnostics::Enabled.
Definition Settings.h:14750
const Settings::Processing::Filters::Noise & get() const
Definition Settings.h:15534
const Settings::Diagnostics::Enabled & get() const
Definition Settings.h:15260
const Settings::Processing::Filters::Cluster::Removal & get() const
Definition Settings.h:15370
Settings & set(const Processing::Filters::Experimental::HoleFilling::Strictness &value)
Set Processing::Filters::Experimental::HoleFilling::Strictness.
Definition Settings.h:14977
std::string toString() const
Get the value as string.
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:15439
const Settings::RegionOfInterest::Box::PointB & get() const
Definition Settings.h:15767
Settings & set(const Processing::Filters::Experimental::ContrastDistortion &value)
Set Processing::Filters::Experimental::ContrastDistortion.
Definition Settings.h:14907
Settings & set(const Sampling::Pixel &value)
Set Sampling::Pixel.
Definition Settings.h:15239
Settings & set(const Processing::Color::Gamma &value)
Set Processing::Color::Gamma.
Definition Settings.h:14851
Settings & set(const Processing::Filters::Cluster::Removal::Enabled &value)
Set Processing::Filters::Cluster::Removal::Enabled.
Definition Settings.h:14879
const Settings::RegionOfInterest::Depth::Range & get() const
Definition Settings.h:15799
const Settings::Sampling & get() const
Definition Settings.h:15805
Settings & set(const Processing::Filters::Noise::Removal::Threshold &value)
Set Processing::Filters::Noise::Removal::Threshold.
Definition Settings.h:15005
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled.
Definition Settings.h:14921
Settings & set(const Processing::Filters::Reflection::Removal::Experimental::Mode &value)
Set Processing::Filters::Reflection::Removal::Experimental::Mode.
Definition Settings.h:15096
Settings & set(const Processing::Filters::Experimental::HoleFilling::HoleSize &value)
Set Processing::Filters::Experimental::HoleFilling::HoleSize.
Definition Settings.h:14970
Settings & set(const Acquisitions &value)
Set Acquisitions.
Definition Settings.h:14724
Settings & set(const Processing::Filters::Smoothing::Gaussian::Sigma &value)
Set Processing::Filters::Smoothing::Gaussian::Sigma.
Definition Settings.h:15124
const Diagnostics & diagnostics() const
Get Diagnostics.
Definition Settings.h:14731
bool operator!=(const Settings &other) const
Inequality operator.
Settings & set(const Processing::Filters::Noise::Removal &value)
Set Processing::Filters::Noise::Removal.
Definition Settings.h:14991
Settings & set(const Processing::Filters::Noise::Repair &value)
Set Processing::Filters::Noise::Repair.
Definition Settings.h:15012
Settings & set(const Processing::Filters::Cluster::Removal::MaxNeighborDistance &value)
Set Processing::Filters::Cluster::Removal::MaxNeighborDistance.
Definition Settings.h:14886
Settings & set(const Processing::Filters::Outlier::Removal &value)
Set Processing::Filters::Outlier::Removal.
Definition Settings.h:15047
Settings & set(const RegionOfInterest &value)
Set RegionOfInterest.
Definition Settings.h:15143
Settings & set(const Processing::Filters::Noise::Removal::Enabled &value)
Set Processing::Filters::Noise::Removal::Enabled.
Definition Settings.h:14998
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction.
Definition Settings.h:14914
const Settings::Processing::Color & get() const
Definition Settings.h:15288
Settings & set(const Processing::Filters::Noise::Repair::Enabled &value)
Set Processing::Filters::Noise::Repair::Enabled.
Definition Settings.h:15019
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition Settings.h:15664
Settings & set(const Processing::Filters::Noise::Suppression::Enabled &value)
Set Processing::Filters::Noise::Suppression::Enabled.
Definition Settings.h:15033
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition Settings.h:15654
Settings & set(const Processing::Color::Balance::Green &value)
Set Processing::Color::Balance::Green.
Definition Settings.h:14823
Settings & set(const Processing::Filters &value)
Set Processing::Filters.
Definition Settings.h:14858
const RegionOfInterest & regionOfInterest() const
Get RegionOfInterest.
Definition Settings.h:15131
Settings & set(const Experimental &value)
Set Experimental.
Definition Settings.h:14769
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition Settings.h:15637
Settings & set(const Processing::Color::Balance::Blue &value)
Set Processing::Color::Balance::Blue.
Definition Settings.h:14816
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition Settings.h:15701
friend std::ostream & operator<<(std::ostream &stream, const Settings &value)
Operator to send the value as string to a stream.
Definition Settings.h:15892
const Settings::Processing::Filters::Reflection::Removal::Experimental::Mode & get() const
Definition Settings.h:15684
NodeType
Definition NodeType.h:55
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:54
Point with three coordinates as float.
Definition Point.h:60