71# pragma warning(disable : 4251)
87 static constexpr const char *path{
"" };
90 static constexpr const char *name{
"Settings" };
93 static constexpr const char *description{
94 R
"description(Settings used when capturing a 3D capture or 2D+3D capture with a Zivid camera.)description"
97 static constexpr size_t version{ 27 };
107 static constexpr std::array<uint8_t, 3> binaryId{
's',
'e',
't' };
121 static constexpr const char *path{
"Acquisition" };
124 static constexpr const char *name{
"Acquisition" };
127 static constexpr const char *description{ R
"description(Settings for a single acquisition.)description" };
141 static constexpr const char *path{
"Acquisition/Aperture" };
144 static constexpr const char *name{
"Aperture" };
147 static constexpr const char *description{
148 R
"description(Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to
149the effective aperture diameter).
159 return { 1.4, 32.0 };
167 : m_opt{ verifyValue(value) }
188 return m_opt == other.m_opt;
194 return m_opt != other.m_opt;
200 return m_opt < other.m_opt;
206 return m_opt > other.m_opt;
212 return m_opt <= other.m_opt;
218 return m_opt >= other.m_opt;
228 void setFromString(
const std::string &value);
230 constexpr ValueType
static verifyValue(
const ValueType &value)
232 return validRange().isInRange(value)
234 :
throw std::out_of_range{
"Aperture{ " + std::to_string(value) +
" } is not in range ["
235 + std::to_string(validRange().min()) +
", "
236 + std::to_string(validRange().max()) +
"]" };
239 std::optional<double> m_opt;
241 friend struct DataModel::Detail::Befriend<
Aperture>;
264 static constexpr const char *path{
"Acquisition/Brightness" };
267 static constexpr const char *name{
"Brightness" };
270 static constexpr const char *description{
271 R
"description(Brightness controls the light output from the projector.
273Brightness above 1.0 may be needed when the distance between the camera and the scene is large,
274or in case of high levels of ambient lighting.
276When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera
277can capture) will be reduced. The duty cycle in boost mode is 50%. The duty cycle is calculated
278over a 10 second period. This limitation is enforced automatically by the camera. Calling capture
279when the duty cycle limit has been reached will cause the camera to first wait (sleep) for a
280duration of time to cool down, before capture will start.
298 : m_opt{ verifyValue(value) }
319 return m_opt == other.m_opt;
325 return m_opt != other.m_opt;
331 return m_opt < other.m_opt;
337 return m_opt > other.m_opt;
343 return m_opt <= other.m_opt;
349 return m_opt >= other.m_opt;
359 void setFromString(
const std::string &value);
361 constexpr ValueType
static verifyValue(
const ValueType &value)
363 return validRange().isInRange(value)
365 :
throw std::out_of_range{
"Brightness{ " + std::to_string(value)
366 +
" } is not in range [" + std::to_string(validRange().min())
367 +
", " + std::to_string(validRange().max()) +
"]" };
370 std::optional<double> m_opt;
372 friend struct DataModel::Detail::Befriend<
Brightness>;
385 static constexpr const char *path{
"Acquisition/ExposureTime" };
388 static constexpr const char *name{
"ExposureTime" };
391 static constexpr const char *description{
392 R
"description(Exposure time for each single image in the measurement. Affects frame rate.)description"
401 return { std::chrono::microseconds{ 900 }, std::chrono::microseconds{ 100000 } };
409 : m_opt{ verifyValue(value) }
416 std::chrono::microseconds
value()
const;
430 return m_opt == other.m_opt;
436 return m_opt != other.m_opt;
442 return m_opt < other.m_opt;
448 return m_opt > other.m_opt;
454 return m_opt <= other.m_opt;
460 return m_opt >= other.m_opt;
470 void setFromString(
const std::string &value);
472 constexpr ValueType
static verifyValue(
const ValueType &value)
474 return validRange().isInRange(value)
476 :
throw std::out_of_range{
"ExposureTime{ " + std::to_string(value.count())
477 +
" } is not in range ["
478 + std::to_string(validRange().min().count()) +
", "
479 + std::to_string(validRange().max().count()) +
"]" };
482 std::optional<std::chrono::microseconds> m_opt;
484 friend struct DataModel::Detail::Befriend<
ExposureTime>;
497 static constexpr const char *path{
"Acquisition/Gain" };
500 static constexpr const char *name{
"Gain" };
503 static constexpr const char *description{ R
"description(Analog gain in the camera.)description" };
518 explicit constexpr Gain(
double value)
519 : m_opt{ verifyValue(value) }
540 return m_opt == other.m_opt;
546 return m_opt != other.m_opt;
552 return m_opt < other.m_opt;
558 return m_opt > other.m_opt;
564 return m_opt <= other.m_opt;
570 return m_opt >= other.m_opt;
580 void setFromString(
const std::string &value);
582 constexpr ValueType
static verifyValue(
const ValueType &value)
584 return validRange().isInRange(value)
586 :
throw std::out_of_range{
"Gain{ " + std::to_string(value) +
" } is not in range ["
587 + std::to_string(validRange().min()) +
", "
588 + std::to_string(validRange().max()) +
"]" };
591 std::optional<double> m_opt;
593 friend struct DataModel::Detail::Befriend<
Gain>;
622 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
623 typename std::enable_if<
624 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
628 template<typename... Args>
632 using namespace Zivid::Detail::TypeTraits;
635 AllArgsDecayedAreUnique<Args...>::value,
636 "Found duplicate types among the arguments passed to Acquisition(...). "
637 "Types should be listed at most once.");
639 set(std::forward<Args>(args)...);
656 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
658 template<typename... Args>
662 using namespace Zivid::Detail::TypeTraits;
664 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
666 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
669 AllArgsDecayedAreUnique<Args...>::value,
670 "Found duplicate types among the arguments passed to set(...). "
671 "Types should be listed at most once.");
673 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
691 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
693 template<typename... Args>
697 using namespace Zivid::Detail::TypeTraits;
699 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
701 AllArgsAreDescendantNodes::value,
702 "All arguments passed to copyWith(...) must be descendant nodes.");
705 AllArgsDecayedAreUnique<Args...>::value,
706 "Found duplicate types among the arguments passed to copyWith(...). "
707 "Types should be listed at most once.");
710 copy.set(std::forward<Args>(args)...);
748 m_brightness = value;
755 return m_exposureTime;
761 return m_exposureTime;
767 m_exposureTime = value;
792 typename std::enable_if<std::is_same<T, Settings::Acquisition::Aperture>::value,
int>::type = 0>
800 typename std::enable_if<std::is_same<T, Settings::Acquisition::Brightness>::value,
int>::type = 0>
808 typename std::enable_if<std::is_same<T, Settings::Acquisition::ExposureTime>::value,
int>::type = 0>
811 return m_exposureTime;
816 typename std::enable_if<std::is_same<T, Settings::Acquisition::Gain>::value,
int>::type = 0>
822 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
828 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
834 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
837 return m_exposureTime;
840 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
882 void setFromString(
const std::string &value);
884 void setFromString(
const std::string &fullPath,
const std::string &value);
886 std::string getString(
const std::string &fullPath)
const;
889 Brightness m_brightness;
890 ExposureTime m_exposureTime;
893 friend struct DataModel::Detail::Befriend<
Acquisition>;
906 static constexpr const char *path{
"Acquisitions" };
909 static constexpr const char *name{
"Acquisitions" };
912 static constexpr const char *description{ R
"description(List of Acquisition objects.)description" };
920 return { 0, std::numeric_limits<ValueType::size_type>::max() };
928 : m_value{ std::move(value) }
932 explicit Acquisitions(std::initializer_list<Settings::Acquisition> value)
937 const std::vector<Settings::Acquisition> &
value()
const;
943 std::size_t
size() const noexcept;
946 bool isEmpty() const noexcept;
953 template<typename... Args>
954 void emplaceBack(Args &&...args)
956 m_value.emplace_back(std::forward<Args>(args)...);
991 for(
auto &child : m_value)
1001 for(
const auto &child : m_value)
1008 using Iterator = std::vector<Settings::Acquisition>::iterator;
1034 return m_value == other.m_value;
1040 return m_value != other.m_value;
1050 void setFromString(
const std::string &value);
1052 std::vector<Settings::Acquisition> m_value{};
1054 friend struct DataModel::Detail::Befriend<
Acquisitions>;
1087 static constexpr const char *path{
"Color" };
1090 static constexpr const char *name{
"Color" };
1093 static constexpr const char *description{
1094 R
"description(Specify the settings used for the 2D color image when doing a 2D+3D capture. The value type of this node
1095is a `Zivid::Settings2D` object.
1097This setting was introduced in SDK 2.14, as the recommended way to define the acquisition and processing
1098settings for the 2D color image when doing 2D+3D captures.
1100When this setting is set, it controls how the 2D color image of the 2D+3D capture is acquired and processed.
1101This setting can be used to specify custom acquisition and processing settings that apply only to the 2D
1102color image. These provided settings does not affect the 3D acquisition or processing.
1104When this setting is not set, then the 2D color image is acquired based on `Settings/Acquisitions` and
1105`Settings/Sampling/Color`, and processed based on `Settings/Processing/Color`. If `Settings/Sampling/Color`
1106is set to `disabled`, then no 2D color image is acquired. This behavior is to be consistent with SDK 2.13
1109In the next SDK major version, SDK 3.0, only this `Color` setting will control the 2D color image settings.
1110The `Settings/Sampling/Color` and `Settings/Processing/Color` settings are deprecated as of 2.14, and will
1111be removed from the API in SDK 3.0. Zivid recommends all users to use `Settings/Color` to define the 2D
1112color image settings. Tip: If you want to convert an existing settings.yml file to use `Settings/Color`,
1113you can import the .yml file into Zivid Studio and then re-export it to .yml.
1125 : m_opt{ std::move(value) }
1152 return m_opt == other.m_opt;
1158 return m_opt != other.m_opt;
1168 void setFromString(
const std::string &value);
1170 std::optional<Zivid::Settings2D> m_opt;
1172 friend struct DataModel::Detail::Befriend<
Color>;
1191 static constexpr const char *path{
"Diagnostics" };
1194 static constexpr const char *name{
"Diagnostics" };
1197 static constexpr const char *description{
1198 R
"description(When Diagnostics is enabled, additional diagnostic data is recorded during capture and included when saving
1199the frame to a .zdf file. This enables Zivid's Customer Success team to provide better assistance and more
1200thorough troubleshooting.
1202Enabling Diagnostics increases the capture time and the RAM usage. It will also increase the size of the
1203.zdf file. It is recommended to enable Diagnostics only when reporting issues to Zivid's support team.
1217 static constexpr const char *path{
"Diagnostics/Enabled" };
1220 static constexpr const char *name{
"Enabled" };
1223 static constexpr const char *description{ R
"description(Enable or disable diagnostics.)description" };
1233 return {
false,
true };
1262 return m_opt == other.m_opt;
1268 return m_opt != other.m_opt;
1278 void setFromString(
const std::string &value);
1280 std::optional<bool> m_opt;
1282 friend struct DataModel::Detail::Befriend<
Enabled>;
1304 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1305 typename std::enable_if<
1306 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1310 template<typename... Args>
1314 using namespace Zivid::Detail::TypeTraits;
1317 AllArgsDecayedAreUnique<Args...>::value,
1318 "Found duplicate types among the arguments passed to Diagnostics(...). "
1319 "Types should be listed at most once.");
1321 set(std::forward<Args>(args)...);
1335 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1337 template<typename... Args>
1341 using namespace Zivid::Detail::TypeTraits;
1343 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1345 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1348 AllArgsDecayedAreUnique<Args...>::value,
1349 "Found duplicate types among the arguments passed to set(...). "
1350 "Types should be listed at most once.");
1352 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1367 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1369 template<typename... Args>
1373 using namespace Zivid::Detail::TypeTraits;
1375 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1377 AllArgsAreDescendantNodes::value,
1378 "All arguments passed to copyWith(...) must be descendant nodes.");
1381 AllArgsDecayedAreUnique<Args...>::value,
1382 "Found duplicate types among the arguments passed to copyWith(...). "
1383 "Types should be listed at most once.");
1386 copy.set(std::forward<Args>(args)...);
1411 typename std::enable_if<std::is_same<T, Settings::Diagnostics::Enabled>::value,
int>::type = 0>
1417 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1424 template<
typename F>
1431 template<
typename F>
1453 void setFromString(
const std::string &value);
1455 void setFromString(
const std::string &fullPath,
const std::string &value);
1457 std::string getString(
const std::string &fullPath)
const;
1461 friend struct DataModel::Detail::Befriend<
Diagnostics>;
1497 static constexpr const char *path{
"Engine" };
1500 static constexpr const char *name{
"Engine" };
1503 static constexpr const char *description{ R
"description(Set the Zivid Vision Engine to use.
1505The Phase Engine is the fastest choice in terms of both acquisition time and total capture
1506time, and is a good compromise between quality and speed. The Phase Engine is recommended for
1507objects that are diffuse, opaque, and slightly specular, and is suitable for applications in
1508logistics such as parcel induction.
1510The Stripe Engine is built for exceptional point cloud quality in scenes with highly specular
1511reflective objects. This makes the engine suitable for applications such as factory automation,
1512manufacturing, and bin picking. Additional acquisition and processing time are required for
1515The Omni Engine is built for exceptional point cloud quality on all scenes, including scenes
1516with extremely specular reflective objects, as well as transparent objects. This makes the Omni
1517Engine suitable for applications such as piece picking. Same as for the Stripe Engine, it trades
1518off speed for quality. The Omni Engine is only available for Zivid 2+.
1520The Sage engine is built for use cases that require all points to be correct/accurate with
1521particularly high confidence. This can be very suitable for eliminating problems such as
1522reflection artifacts. This validation comes at the cost of speed, and sometimes reduced number
1523of valid points due to the removal of low-confidence data. The Sage Engine is only available
1524for Zivid 2+R. The Sage Engine is an experimental engine. This involves that it can be changed
1525or removed in the future.
1544 return { ValueType::phase, ValueType::stripe, ValueType::omni, ValueType::sage };
1552 : m_opt{ verifyValue(value) }
1579 return m_opt == other.m_opt;
1585 return m_opt != other.m_opt;
1595 void setFromString(
const std::string &value);
1597 constexpr ValueType
static verifyValue(
const ValueType &value)
1599 return value == ValueType::phase || value == ValueType::stripe || value == ValueType::omni
1600 || value == ValueType::sage
1602 :
throw std::invalid_argument{
1603 "Invalid value: Engine{ "
1604 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
1608 std::optional<ValueType> m_opt;
1610 friend struct DataModel::Detail::Befriend<
Engine>;
1623 static constexpr const char *path{
"Processing" };
1626 static constexpr const char *name{
"Processing" };
1629 static constexpr const char *description{
1630 R
"description(Settings related to processing of a capture, including filters and color balance.)description"
1649 static constexpr const char *path{
"Processing/Color" };
1652 static constexpr const char *name{
"Color" };
1655 static constexpr const char *description{ R
"description(Color settings.
1657These settings are deprecated as of SDK 2.14. These settings will be removed in the next SDK major
1658version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` object
1659in the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to use the
1660`Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export it to .yml.
1673 static constexpr const char *path{
"Processing/Color/Balance" };
1676 static constexpr const char *name{
"Balance" };
1679 static constexpr const char *description{ R
"description(Color balance settings.)description" };
1698 static constexpr const char *path{
"Processing/Color/Balance/Blue" };
1701 static constexpr const char *name{
"Blue" };
1704 static constexpr const char *description{ R
"description(Digital gain applied to blue channel.
1706This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major
1707version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` object
1708in the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to use
1709the `Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export it
1719 return { 1.0, 8.0 };
1726 explicit constexpr Blue(
double value)
1727 : m_opt{ verifyValue(value) }
1748 return m_opt == other.m_opt;
1754 return m_opt != other.m_opt;
1760 return m_opt < other.m_opt;
1766 return m_opt > other.m_opt;
1772 return m_opt <= other.m_opt;
1778 return m_opt >= other.m_opt;
1788 void setFromString(
const std::string &value);
1790 constexpr ValueType
static verifyValue(
const ValueType &value)
1792 return validRange().isInRange(value)
1794 :
throw std::out_of_range{
"Blue{ " + std::to_string(value)
1795 +
" } is not in range ["
1796 + std::to_string(validRange().min()) +
", "
1797 + std::to_string(validRange().max()) +
"]" };
1800 std::optional<double> m_opt;
1802 friend struct DataModel::Detail::Befriend<
Blue>;
1822 static constexpr const char *path{
"Processing/Color/Balance/Green" };
1825 static constexpr const char *name{
"Green" };
1828 static constexpr const char *description{ R
"description(Digital gain applied to green channel.
1830This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major
1831version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` object
1832in the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to use
1833the `Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export it
1843 return { 1.0, 8.0 };
1851 : m_opt{ verifyValue(value) }
1872 return m_opt == other.m_opt;
1878 return m_opt != other.m_opt;
1884 return m_opt < other.m_opt;
1890 return m_opt > other.m_opt;
1896 return m_opt <= other.m_opt;
1902 return m_opt >= other.m_opt;
1912 void setFromString(
const std::string &value);
1914 constexpr ValueType
static verifyValue(
const ValueType &value)
1916 return validRange().isInRange(value)
1918 :
throw std::out_of_range{
"Green{ " + std::to_string(value)
1919 +
" } is not in range ["
1920 + std::to_string(validRange().min()) +
", "
1921 + std::to_string(validRange().max()) +
"]" };
1924 std::optional<double> m_opt;
1926 friend struct DataModel::Detail::Befriend<
Green>;
1946 static constexpr const char *path{
"Processing/Color/Balance/Red" };
1949 static constexpr const char *name{
"Red" };
1952 static constexpr const char *description{ R
"description(Digital gain applied to red channel.
1954This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major
1955version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` object
1956in the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to use
1957the `Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export it
1967 return { 1.0, 8.0 };
1974 explicit constexpr Red(
double value)
1975 : m_opt{ verifyValue(value) }
1996 return m_opt == other.m_opt;
2002 return m_opt != other.m_opt;
2008 return m_opt < other.m_opt;
2014 return m_opt > other.m_opt;
2020 return m_opt <= other.m_opt;
2026 return m_opt >= other.m_opt;
2036 void setFromString(
const std::string &value);
2038 constexpr ValueType
static verifyValue(
const ValueType &value)
2040 return validRange().isInRange(value)
2042 :
throw std::out_of_range{
"Red{ " + std::to_string(value)
2043 +
" } is not in range ["
2044 + std::to_string(validRange().min()) +
", "
2045 + std::to_string(validRange().max()) +
"]" };
2048 std::optional<double> m_opt;
2050 friend struct DataModel::Detail::Befriend<
Red>;
2077 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2078 typename std::enable_if<
2079 Zivid::Detail::TypeTraits::
2080 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
2083 template<typename... Args>
2087 using namespace Zivid::Detail::TypeTraits;
2090 AllArgsDecayedAreUnique<Args...>::value,
2091 "Found duplicate types among the arguments passed to Balance(...). "
2092 "Types should be listed at most once.");
2094 set(std::forward<Args>(args)...);
2110 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2112 template<typename... Args>
2116 using namespace Zivid::Detail::TypeTraits;
2118 using AllArgsAreDescendantNodes =
2119 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2121 AllArgsAreDescendantNodes::value,
2122 "All arguments passed to set(...) must be descendant nodes.");
2125 AllArgsDecayedAreUnique<Args...>::value,
2126 "Found duplicate types among the arguments passed to set(...). "
2127 "Types should be listed at most once.");
2129 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2146 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2148 template<typename... Args>
2152 using namespace Zivid::Detail::TypeTraits;
2154 using AllArgsAreDescendantNodes =
2155 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2157 AllArgsAreDescendantNodes::value,
2158 "All arguments passed to copyWith(...) must be descendant nodes.");
2161 AllArgsDecayedAreUnique<Args...>::value,
2162 "Found duplicate types among the arguments passed to copyWith(...). "
2163 "Types should be listed at most once.");
2166 copy.set(std::forward<Args>(args)...);
2229 typename std::enable_if<
2230 std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
2239 typename std::enable_if<
2240 std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
2250 enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::type = 0>
2256 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2262 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2268 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
2275 template<
typename F>
2284 template<
typename F>
2308 void setFromString(
const std::string &value);
2310 void setFromString(
const std::string &fullPath,
const std::string &value);
2312 std::string getString(
const std::string &fullPath)
const;
2318 friend struct DataModel::Detail::Befriend<
Balance>;
2331 static constexpr const char *path{
"Processing/Color/Experimental" };
2334 static constexpr const char *name{
"Experimental" };
2337 static constexpr const char *description{
2338 R
"description(Experimental color settings. These may be renamed, moved or deleted in the future.)description"
2378 static constexpr const char *path{
"Processing/Color/Experimental/Mode" };
2381 static constexpr const char *name{
"Mode" };
2384 static constexpr const char *description{
2385 R
"description(This setting controls how the color image is computed.
2387`automatic` is the default option. `automatic` is identical to `useFirstAcquisition` for
2388single-acquisition captures and multi-acquisition captures when all the acquisitions have
2389identical (duplicated) acquisition settings. `automatic` is identical to `toneMapping` for
2390multi-acquisition HDR captures with differing acquisition settings.
2392`useFirstAcquisition` uses the color data acquired from the first acquisition provided. If
2393the capture consists of more than one acquisition, then the remaining acquisitions are not used
2394for the color image. No tone mapping is performed. This option provides the most control of
2395the color image, and the color values will be consistent over repeated captures with the same
2398`toneMapping` uses all the acquisitions to create one merged and normalized color image. For
2399HDR captures the dynamic range of the captured images is usually higher than the 8-bit color
2400image range. `toneMapping` will map the HDR color data to the 8-bit color output range by
2401applying a scaling factor. `toneMapping` can also be used for single-acquisition captures to
2402normalize the captured color image to the full 8-bit output. Note that when using `toneMapping`
2403mode the color values can be inconsistent over repeated captures if you move, add or remove
2404objects in the scene. For the most control over the colors, select the `useFirstAcquisition`
2407This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major
2408version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` object
2409in the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to use
2410the `Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export it
2419 useFirstAcquisition,
2429 return { ValueType::automatic, ValueType::useFirstAcquisition, ValueType::toneMapping };
2437 : m_opt{ verifyValue(value) }
2464 return m_opt == other.m_opt;
2470 return m_opt != other.m_opt;
2480 void setFromString(
const std::string &value);
2482 constexpr ValueType
static verifyValue(
const ValueType &value)
2484 return value == ValueType::automatic || value == ValueType::useFirstAcquisition
2485 || value == ValueType::toneMapping
2487 :
throw std::invalid_argument{
2488 "Invalid value: Mode{ "
2489 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value))
2494 std::optional<ValueType> m_opt;
2496 friend struct DataModel::Detail::Befriend<
Mode>;
2499 using Descendants = std::tuple<Settings::Processing::Color::Experimental::Mode>;
2518 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2519 typename std::enable_if<
2520 Zivid::Detail::TypeTraits::
2521 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
2524 template<typename... Args>
2528 using namespace Zivid::Detail::TypeTraits;
2531 AllArgsDecayedAreUnique<Args...>::value,
2532 "Found duplicate types among the arguments passed to Experimental(...). "
2533 "Types should be listed at most once.");
2535 set(std::forward<Args>(args)...);
2549 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2551 template<typename... Args>
2555 using namespace Zivid::Detail::TypeTraits;
2557 using AllArgsAreDescendantNodes =
2558 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2560 AllArgsAreDescendantNodes::value,
2561 "All arguments passed to set(...) must be descendant nodes.");
2564 AllArgsDecayedAreUnique<Args...>::value,
2565 "Found duplicate types among the arguments passed to set(...). "
2566 "Types should be listed at most once.");
2568 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2583 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2585 template<typename... Args>
2589 using namespace Zivid::Detail::TypeTraits;
2591 using AllArgsAreDescendantNodes =
2592 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2594 AllArgsAreDescendantNodes::value,
2595 "All arguments passed to copyWith(...) must be descendant nodes.");
2598 AllArgsDecayedAreUnique<Args...>::value,
2599 "Found duplicate types among the arguments passed to copyWith(...). "
2600 "Types should be listed at most once.");
2603 copy.set(std::forward<Args>(args)...);
2628 typename std::enable_if<
2629 std::is_same<T, Settings::Processing::Color::Experimental::Mode>::value,
2636 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2643 template<
typename F>
2650 template<
typename F>
2672 void setFromString(
const std::string &value);
2674 void setFromString(
const std::string &fullPath,
const std::string &value);
2676 std::string getString(
const std::string &fullPath)
const;
2680 friend struct DataModel::Detail::Befriend<
Experimental>;
2701 static constexpr const char *path{
"Processing/Color/Gamma" };
2704 static constexpr const char *name{
"Gamma" };
2707 static constexpr const char *description{
2708 R
"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma
2709greater than 1 makes the colors darker.
2711This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major
2712version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` object
2713in the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to use
2714the `Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export it
2725 return { 0.25, 1.5 };
2733 : m_opt{ verifyValue(value) }
2754 return m_opt == other.m_opt;
2760 return m_opt != other.m_opt;
2766 return m_opt < other.m_opt;
2772 return m_opt > other.m_opt;
2778 return m_opt <= other.m_opt;
2784 return m_opt >= other.m_opt;
2794 void setFromString(
const std::string &value);
2796 constexpr ValueType
static verifyValue(
const ValueType &value)
2798 return validRange().isInRange(value)
2800 :
throw std::out_of_range{
"Gamma{ " + std::to_string(value) +
" } is not in range ["
2801 + std::to_string(validRange().min()) +
", "
2802 + std::to_string(validRange().max()) +
"]" };
2805 std::optional<double> m_opt;
2807 friend struct DataModel::Detail::Befriend<
Gamma>;
2842 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2843 typename std::enable_if<
2844 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2848 template<typename... Args>
2852 using namespace Zivid::Detail::TypeTraits;
2855 AllArgsDecayedAreUnique<Args...>::value,
2856 "Found duplicate types among the arguments passed to Color(...). "
2857 "Types should be listed at most once.");
2859 set(std::forward<Args>(args)...);
2879 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2881 template<typename... Args>
2885 using namespace Zivid::Detail::TypeTraits;
2887 using AllArgsAreDescendantNodes =
2888 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2890 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2893 AllArgsDecayedAreUnique<Args...>::value,
2894 "Found duplicate types among the arguments passed to set(...). "
2895 "Types should be listed at most once.");
2897 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2918 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2920 template<typename... Args>
2924 using namespace Zivid::Detail::TypeTraits;
2926 using AllArgsAreDescendantNodes =
2927 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2929 AllArgsAreDescendantNodes::value,
2930 "All arguments passed to copyWith(...) must be descendant nodes.");
2933 AllArgsDecayedAreUnique<Args...>::value,
2934 "Found duplicate types among the arguments passed to copyWith(...). "
2935 "Types should be listed at most once.");
2938 copy.set(std::forward<Args>(args)...);
2964 m_balance.
set(value);
2971 m_balance.
set(value);
2978 m_balance.
set(value);
2985 return m_experimental;
2991 return m_experimental;
2997 m_experimental = value;
3004 m_experimental.
set(value);
3029 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type =
3038 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
int>::
3047 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
int>::
3056 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::
3065 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
int>::
3069 return m_experimental;
3074 typename std::enable_if<
3075 std::is_same<T, Settings::Processing::Color::Experimental::Mode>::value,
3084 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
3090 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3096 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3099 return m_experimental;
3102 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
3109 template<
typename F>
3118 template<
typename F>
3142 void setFromString(
const std::string &value);
3144 void setFromString(
const std::string &fullPath,
const std::string &value);
3146 std::string getString(
const std::string &fullPath)
const;
3149 Experimental m_experimental;
3152 friend struct DataModel::Detail::Befriend<
Color>;
3165 static constexpr const char *path{
"Processing/Filters" };
3168 static constexpr const char *name{
"Filters" };
3171 static constexpr const char *description{ R
"description(Filter settings.)description" };
3184 static constexpr const char *path{
"Processing/Filters/Cluster" };
3187 static constexpr const char *name{
"Cluster" };
3190 static constexpr const char *description{
3191 R
"description(Removes floating points and isolated clusters from the point cloud.
3205 static constexpr const char *path{
"Processing/Filters/Cluster/Removal" };
3208 static constexpr const char *name{
"Removal" };
3211 static constexpr const char *description{ R
"description(Cluster removal filter.)description" };
3223 static constexpr const char *path{
"Processing/Filters/Cluster/Removal/Enabled" };
3226 static constexpr const char *name{
"Enabled" };
3229 static constexpr const char *description{
3230 R
"description(Enable or disable cluster removal.)description"
3241 return {
false,
true };
3270 return m_opt == other.m_opt;
3276 return m_opt != other.m_opt;
3286 void setFromString(
const std::string &value);
3288 std::optional<bool> m_opt;
3290 friend struct DataModel::Detail::Befriend<
Enabled>;
3306 static constexpr const char *path{
3307 "Processing/Filters/Cluster/Removal/MaxNeighborDistance"
3311 static constexpr const char *name{
"MaxNeighborDistance" };
3314 static constexpr const char *description{
3315 R
"description(Maximum normalized distance between neighboring points that are still classified as
3316belonging to the same cluster. The default value is optimal for most scenes. On messy
3317scenes turning this setting down helps removing more bad points.
3327 return { 2.0, 10.0 };
3335 : m_opt{ verifyValue(value) }
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;
3386 return m_opt >= other.m_opt;
3396 void setFromString(
const std::string &value);
3398 constexpr ValueType
static verifyValue(
const ValueType &value)
3400 return validRange().isInRange(value)
3402 :
throw std::out_of_range{
"MaxNeighborDistance{ " + std::to_string(value)
3403 +
" } is not in range ["
3404 + std::to_string(validRange().min()) +
", "
3405 + std::to_string(validRange().max()) +
"]" };
3408 std::optional<double> m_opt;
3425 static constexpr const char *path{
"Processing/Filters/Cluster/Removal/MinArea" };
3428 static constexpr const char *name{
"MinArea" };
3431 static constexpr const char *description{
3432 R
"description(Clusters with area below this threshold are removed by the filter.
3433The area is given in mm^2.
3443 return { 0.0, 1500.0 };
3451 : m_opt{ verifyValue(value) }
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;
3502 return m_opt >= other.m_opt;
3512 void setFromString(
const std::string &value);
3514 constexpr ValueType
static verifyValue(
const ValueType &value)
3516 return validRange().isInRange(value)
3518 :
throw std::out_of_range{
"MinArea{ " + std::to_string(value)
3519 +
" } is not in range ["
3520 + std::to_string(validRange().min()) +
", "
3521 + std::to_string(validRange().max()) +
"]" };
3524 std::optional<double> m_opt;
3526 friend struct DataModel::Detail::Befriend<
MinArea>;
3553 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3554 typename std::enable_if<
3555 Zivid::Detail::TypeTraits::
3556 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
3559 template<typename... Args>
3563 using namespace Zivid::Detail::TypeTraits;
3566 AllArgsDecayedAreUnique<Args...>::value,
3567 "Found duplicate types among the arguments passed to Removal(...). "
3568 "Types should be listed at most once.");
3570 set(std::forward<Args>(args)...);
3586 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3588 template<typename... Args>
3592 using namespace Zivid::Detail::TypeTraits;
3594 using AllArgsAreDescendantNodes =
3595 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3597 AllArgsAreDescendantNodes::value,
3598 "All arguments passed to set(...) must be descendant nodes.");
3601 AllArgsDecayedAreUnique<Args...>::value,
3602 "Found duplicate types among the arguments passed to set(...). "
3603 "Types should be listed at most once.");
3605 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3622 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3624 template<typename... Args>
3628 using namespace Zivid::Detail::TypeTraits;
3630 using AllArgsAreDescendantNodes =
3631 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3633 AllArgsAreDescendantNodes::value,
3634 "All arguments passed to copyWith(...) must be descendant nodes.");
3637 AllArgsDecayedAreUnique<Args...>::value,
3638 "Found duplicate types among the arguments passed to copyWith(...). "
3639 "Types should be listed at most once.");
3642 copy.set(std::forward<Args>(args)...);
3668 return m_maxNeighborDistance;
3674 return m_maxNeighborDistance;
3680 m_maxNeighborDistance = value;
3705 typename std::enable_if<
3706 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::Enabled>::value,
3715 typename std::enable_if<
3716 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance>::
3721 return m_maxNeighborDistance;
3726 typename std::enable_if<
3727 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MinArea>::value,
3734 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3740 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3743 return m_maxNeighborDistance;
3746 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
3753 template<
typename F>
3757 f(m_maxNeighborDistance);
3762 template<
typename F>
3766 f(m_maxNeighborDistance);
3786 void setFromString(
const std::string &value);
3788 void setFromString(
const std::string &fullPath,
const std::string &value);
3790 std::string getString(
const std::string &fullPath)
const;
3793 MaxNeighborDistance m_maxNeighborDistance;
3796 friend struct DataModel::Detail::Befriend<
Removal>;
3825 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3826 typename std::enable_if<
3827 Zivid::Detail::TypeTraits::
3828 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
3831 template<typename... Args>
3835 using namespace Zivid::Detail::TypeTraits;
3838 AllArgsDecayedAreUnique<Args...>::value,
3839 "Found duplicate types among the arguments passed to Cluster(...). "
3840 "Types should be listed at most once.");
3842 set(std::forward<Args>(args)...);
3859 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3861 template<typename... Args>
3865 using namespace Zivid::Detail::TypeTraits;
3867 using AllArgsAreDescendantNodes =
3868 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3870 AllArgsAreDescendantNodes::value,
3871 "All arguments passed to set(...) must be descendant nodes.");
3874 AllArgsDecayedAreUnique<Args...>::value,
3875 "Found duplicate types among the arguments passed to set(...). "
3876 "Types should be listed at most once.");
3878 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3896 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3898 template<typename... Args>
3902 using namespace Zivid::Detail::TypeTraits;
3904 using AllArgsAreDescendantNodes =
3905 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3907 AllArgsAreDescendantNodes::value,
3908 "All arguments passed to copyWith(...) must be descendant nodes.");
3911 AllArgsDecayedAreUnique<Args...>::value,
3912 "Found duplicate types among the arguments passed to copyWith(...). "
3913 "Types should be listed at most once.");
3916 copy.set(std::forward<Args>(args)...);
3942 m_removal.
set(value);
3949 m_removal.
set(value);
3956 m_removal.
set(value);
3962 typename std::enable_if<
3963 std::is_same<T, Settings::Processing::Filters::Cluster::Removal>::value,
3972 typename std::enable_if<
3973 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::Enabled>::value,
3982 typename std::enable_if<
3983 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance>::
3993 typename std::enable_if<
3994 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MinArea>::value,
4001 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4008 template<
typename F>
4015 template<
typename F>
4037 void setFromString(
const std::string &value);
4039 void setFromString(
const std::string &fullPath,
const std::string &value);
4041 std::string getString(
const std::string &fullPath)
const;
4045 friend struct DataModel::Detail::Befriend<
Cluster>;
4058 static constexpr const char *path{
"Processing/Filters/Experimental" };
4061 static constexpr const char *name{
"Experimental" };
4064 static constexpr const char *description{
4065 R
"description(Experimental filters. These may be renamed, moved or deleted in the future.)description"
4082 static constexpr const char *path{
"Processing/Filters/Experimental/ContrastDistortion" };
4085 static constexpr const char *name{
"ContrastDistortion" };
4088 static constexpr const char *description{
4089 R
"description(Corrects artifacts that appear when imaging scenes with large texture gradients
4090or high contrast. These artifacts are caused by blurring in the lens. The filter
4091works best when aperture values are chosen such that the camera has quite good focus.
4092The filter also supports removing the points that experience a large correction.
4106 static constexpr const char *path{
4107 "Processing/Filters/Experimental/ContrastDistortion/Correction"
4111 static constexpr const char *name{
"Correction" };
4114 static constexpr const char *description{
4115 R
"description(Contrast distortion correction filter.)description"
4128 static constexpr const char *path{
4129 "Processing/Filters/Experimental/ContrastDistortion/Correction/Enabled"
4133 static constexpr const char *name{
"Enabled" };
4136 static constexpr const char *description{
4137 R
"description(Enable or disable contrast distortion correction.)description"
4148 return {
false,
true };
4177 return m_opt == other.m_opt;
4183 return m_opt != other.m_opt;
4193 void setFromString(
const std::string &value);
4195 std::optional<bool> m_opt;
4197 friend struct DataModel::Detail::Befriend<
Enabled>;
4210 static constexpr const char *path{
4211 "Processing/Filters/Experimental/ContrastDistortion/Correction/Strength"
4215 static constexpr const char *name{
"Strength" };
4218 static constexpr const char *description{
4219 R
"description(Strength of correction. Higher values give more correction.)description"
4228 return { 0.0, 1.0 };
4236 : m_opt{ verifyValue(value) }
4257 return m_opt == other.m_opt;
4263 return m_opt != other.m_opt;
4269 return m_opt < other.m_opt;
4275 return m_opt > other.m_opt;
4281 return m_opt <= other.m_opt;
4287 return m_opt >= other.m_opt;
4297 void setFromString(
const std::string &value);
4299 constexpr ValueType
static verifyValue(
const ValueType &value)
4301 return validRange().isInRange(value)
4303 :
throw std::out_of_range{
"Strength{ " + std::to_string(value)
4304 +
" } is not in range ["
4305 + std::to_string(validRange().min()) +
", "
4306 + std::to_string(validRange().max()) +
"]" };
4309 std::optional<double> m_opt;
4311 friend struct DataModel::Detail::Befriend<
Strength>;
4336 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4337 typename std::enable_if<
4338 Zivid::Detail::TypeTraits::
4339 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
4342 template<typename... Args>
4346 using namespace Zivid::Detail::TypeTraits;
4349 AllArgsDecayedAreUnique<Args...>::value,
4350 "Found duplicate types among the arguments passed to Correction(...). "
4351 "Types should be listed at most once.");
4353 set(std::forward<Args>(args)...);
4368 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4370 template<typename... Args>
4374 using namespace Zivid::Detail::TypeTraits;
4376 using AllArgsAreDescendantNodes =
4377 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4379 AllArgsAreDescendantNodes::value,
4380 "All arguments passed to set(...) must be descendant nodes.");
4383 AllArgsDecayedAreUnique<Args...>::value,
4384 "Found duplicate types among the arguments passed to set(...). "
4385 "Types should be listed at most once.");
4387 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4403 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4405 template<typename... Args>
4409 using namespace Zivid::Detail::TypeTraits;
4411 using AllArgsAreDescendantNodes =
4412 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4414 AllArgsAreDescendantNodes::value,
4415 "All arguments passed to copyWith(...) must be descendant nodes.");
4418 AllArgsDecayedAreUnique<Args...>::value,
4419 "Found duplicate types among the arguments passed to copyWith(...). "
4420 "Types should be listed at most once.");
4423 copy.set(std::forward<Args>(args)...);
4467 typename std::enable_if<
4470 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
4481 typename std::enable_if<
4484 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
4487 const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
4494 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4501 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4502 const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
4510 template<
typename F>
4518 template<
typename F>
4541 void setFromString(
const std::string &value);
4543 void setFromString(
const std::string &fullPath,
const std::string &value);
4545 std::string getString(
const std::string &fullPath)
const;
4550 friend struct DataModel::Detail::Befriend<
Correction>;
4563 static constexpr const char *path{
4564 "Processing/Filters/Experimental/ContrastDistortion/Removal"
4568 static constexpr const char *name{
"Removal" };
4571 static constexpr const char *description{
4572 R
"description(Contrast distortion removal filter.)description"
4585 static constexpr const char *path{
4586 "Processing/Filters/Experimental/ContrastDistortion/Removal/Enabled"
4590 static constexpr const char *name{
"Enabled" };
4593 static constexpr const char *description{
4594 R
"description(Enable or disable contrast distortion removal.)description"
4605 return {
false,
true };
4634 return m_opt == other.m_opt;
4640 return m_opt != other.m_opt;
4650 void setFromString(
const std::string &value);
4652 std::optional<bool> m_opt;
4654 friend struct DataModel::Detail::Befriend<
Enabled>;
4667 static constexpr const char *path{
4668 "Processing/Filters/Experimental/ContrastDistortion/Removal/Threshold"
4672 static constexpr const char *name{
"Threshold" };
4675 static constexpr const char *description{
4676 R
"description(Threshold for removal. Higher values remove more points.)description"
4685 return { 0.0, 1.0 };
4693 : m_opt{ verifyValue(value) }
4714 return m_opt == other.m_opt;
4720 return m_opt != other.m_opt;
4726 return m_opt < other.m_opt;
4732 return m_opt > other.m_opt;
4738 return m_opt <= other.m_opt;
4744 return m_opt >= other.m_opt;
4754 void setFromString(
const std::string &value);
4756 constexpr ValueType
static verifyValue(
const ValueType &value)
4758 return validRange().isInRange(value)
4760 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
4761 +
" } is not in range ["
4762 + std::to_string(validRange().min()) +
", "
4763 + std::to_string(validRange().max()) +
"]" };
4766 std::optional<double> m_opt;
4768 friend struct DataModel::Detail::Befriend<
Threshold>;
4793 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4794 typename std::enable_if<
4795 Zivid::Detail::TypeTraits::
4796 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
4799 template<typename... Args>
4803 using namespace Zivid::Detail::TypeTraits;
4806 AllArgsDecayedAreUnique<Args...>::value,
4807 "Found duplicate types among the arguments passed to Removal(...). "
4808 "Types should be listed at most once.");
4810 set(std::forward<Args>(args)...);
4825 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4827 template<typename... Args>
4831 using namespace Zivid::Detail::TypeTraits;
4833 using AllArgsAreDescendantNodes =
4834 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4836 AllArgsAreDescendantNodes::value,
4837 "All arguments passed to set(...) must be descendant nodes.");
4840 AllArgsDecayedAreUnique<Args...>::value,
4841 "Found duplicate types among the arguments passed to set(...). "
4842 "Types should be listed at most once.");
4844 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4860 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4862 template<typename... Args>
4866 using namespace Zivid::Detail::TypeTraits;
4868 using AllArgsAreDescendantNodes =
4869 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4871 AllArgsAreDescendantNodes::value,
4872 "All arguments passed to copyWith(...) must be descendant nodes.");
4875 AllArgsDecayedAreUnique<Args...>::value,
4876 "Found duplicate types among the arguments passed to copyWith(...). "
4877 "Types should be listed at most once.");
4880 copy.set(std::forward<Args>(args)...);
4918 m_threshold = value;
4924 typename std::enable_if<
4927 Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::
4938 typename std::enable_if<
4941 Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::
4950 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4957 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4965 template<
typename F>
4973 template<
typename F>
4996 void setFromString(
const std::string &value);
4998 void setFromString(
const std::string &fullPath,
const std::string &value);
5000 std::string getString(
const std::string &fullPath)
const;
5005 friend struct DataModel::Detail::Befriend<
Removal>;
5038 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5039 typename std::enable_if<
5040 Zivid::Detail::TypeTraits::
5041 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
5044 template<typename... Args>
5048 using namespace Zivid::Detail::TypeTraits;
5051 AllArgsDecayedAreUnique<Args...>::value,
5052 "Found duplicate types among the arguments passed to ContrastDistortion(...). "
5053 "Types should be listed at most once.");
5055 set(std::forward<Args>(args)...);
5074 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5076 template<typename... Args>
5080 using namespace Zivid::Detail::TypeTraits;
5082 using AllArgsAreDescendantNodes =
5083 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5085 AllArgsAreDescendantNodes::value,
5086 "All arguments passed to set(...) must be descendant nodes.");
5089 AllArgsDecayedAreUnique<Args...>::value,
5090 "Found duplicate types among the arguments passed to set(...). "
5091 "Types should be listed at most once.");
5093 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5113 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5115 template<typename... Args>
5119 using namespace Zivid::Detail::TypeTraits;
5121 using AllArgsAreDescendantNodes =
5122 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5124 AllArgsAreDescendantNodes::value,
5125 "All arguments passed to copyWith(...) must be descendant nodes.");
5128 AllArgsDecayedAreUnique<Args...>::value,
5129 "Found duplicate types among the arguments passed to copyWith(...). "
5130 "Types should be listed at most once.");
5133 copy.set(std::forward<Args>(args)...);
5140 return m_correction;
5146 return m_correction;
5152 m_correction = value;
5159 m_correction.
set(value);
5166 m_correction.
set(value);
5192 m_removal.
set(value);
5199 m_removal.
set(value);
5205 typename std::enable_if<
5212 return m_correction;
5217 typename std::enable_if<
5220 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
5226 return m_correction.get<
5232 typename std::enable_if<
5235 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
5241 return m_correction.get<Settings::Processing::Filters::Experimental::ContrastDistortion::
5242 Correction::Strength>();
5247 typename std::enable_if<
5259 typename std::enable_if<
5268 return m_removal.get<
5274 typename std::enable_if<
5277 Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::
5283 return m_removal.get<
5287 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5290 return m_correction;
5293 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
5300 template<
typename F>
5308 template<
typename F>
5331 void setFromString(
const std::string &value);
5333 void setFromString(
const std::string &fullPath,
const std::string &value);
5335 std::string getString(
const std::string &fullPath)
const;
5337 Correction m_correction;
5375 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5376 typename std::enable_if<
5377 Zivid::Detail::TypeTraits::
5378 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
5381 template<typename... Args>
5385 using namespace Zivid::Detail::TypeTraits;
5388 AllArgsDecayedAreUnique<Args...>::value,
5389 "Found duplicate types among the arguments passed to Experimental(...). "
5390 "Types should be listed at most once.");
5392 set(std::forward<Args>(args)...);
5412 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5414 template<typename... Args>
5418 using namespace Zivid::Detail::TypeTraits;
5420 using AllArgsAreDescendantNodes =
5421 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5423 AllArgsAreDescendantNodes::value,
5424 "All arguments passed to set(...) must be descendant nodes.");
5427 AllArgsDecayedAreUnique<Args...>::value,
5428 "Found duplicate types among the arguments passed to set(...). "
5429 "Types should be listed at most once.");
5431 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5452 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5454 template<typename... Args>
5458 using namespace Zivid::Detail::TypeTraits;
5460 using AllArgsAreDescendantNodes =
5461 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5463 AllArgsAreDescendantNodes::value,
5464 "All arguments passed to copyWith(...) must be descendant nodes.");
5467 AllArgsDecayedAreUnique<Args...>::value,
5468 "Found duplicate types among the arguments passed to copyWith(...). "
5469 "Types should be listed at most once.");
5472 copy.set(std::forward<Args>(args)...);
5479 return m_contrastDistortion;
5485 return m_contrastDistortion;
5491 m_contrastDistortion = value;
5498 m_contrastDistortion.
set(value);
5505 m_contrastDistortion.
set(value);
5512 m_contrastDistortion.
set(value);
5519 m_contrastDistortion.
set(value);
5526 m_contrastDistortion.
set(value);
5533 m_contrastDistortion.
set(value);
5539 typename std::enable_if<
5540 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
5544 return m_contrastDistortion;
5549 typename std::enable_if<
5556 return m_contrastDistortion
5562 typename std::enable_if<
5571 return m_contrastDistortion.get<
5577 typename std::enable_if<
5586 return m_contrastDistortion.get<
5592 typename std::enable_if<
5593 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::
5598 return m_contrastDistortion
5604 typename std::enable_if<
5612 return m_contrastDistortion
5618 typename std::enable_if<
5627 return m_contrastDistortion
5631 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5634 return m_contrastDistortion;
5638 template<
typename F>
5641 f(m_contrastDistortion);
5645 template<
typename F>
5648 f(m_contrastDistortion);
5667 void setFromString(
const std::string &value);
5669 void setFromString(
const std::string &fullPath,
const std::string &value);
5671 std::string getString(
const std::string &fullPath)
const;
5675 friend struct DataModel::Detail::Befriend<
Experimental>;
5688 static constexpr const char *path{
"Processing/Filters/Hole" };
5691 static constexpr const char *name{
"Hole" };
5694 static constexpr const char *description{
5695 R
"description(Contains filters that can be used to deal with holes in the point cloud.)description"
5709 static constexpr const char *path{
"Processing/Filters/Hole/Repair" };
5712 static constexpr const char *name{
"Repair" };
5715 static constexpr const char *description{
5716 R
"description(Fills in point cloud holes by interpolating remaining surrounding points.
5730 static constexpr const char *path{
"Processing/Filters/Hole/Repair/Enabled" };
5733 static constexpr const char *name{
"Enabled" };
5736 static constexpr const char *description{
5737 R
"description(Enable or disable hole repair.)description"
5748 return {
false,
true };
5777 return m_opt == other.m_opt;
5783 return m_opt != other.m_opt;
5793 void setFromString(
const std::string &value);
5795 std::optional<bool> m_opt;
5797 friend struct DataModel::Detail::Befriend<
Enabled>;
5813 static constexpr const char *path{
"Processing/Filters/Hole/Repair/HoleSize" };
5816 static constexpr const char *name{
"HoleSize" };
5819 static constexpr const char *description{
5820 R
"description(Relative diameter of holes to fill. Increasing this will fill more points, but require more
5821computation time. The maximum allowed hole size scales with distance, so that we allow
5822filling larger holes at greater distances, measured in mm.
5832 return { 0.0, 1.0 };
5840 : m_opt{ verifyValue(value) }
5861 return m_opt == other.m_opt;
5867 return m_opt != other.m_opt;
5873 return m_opt < other.m_opt;
5879 return m_opt > other.m_opt;
5885 return m_opt <= other.m_opt;
5891 return m_opt >= other.m_opt;
5901 void setFromString(
const std::string &value);
5903 constexpr ValueType
static verifyValue(
const ValueType &value)
5905 return validRange().isInRange(value)
5907 :
throw std::out_of_range{
"HoleSize{ " + std::to_string(value)
5908 +
" } is not in range ["
5909 + std::to_string(validRange().min()) +
", "
5910 + std::to_string(validRange().max()) +
"]" };
5913 std::optional<double> m_opt;
5915 friend struct DataModel::Detail::Befriend<
HoleSize>;
5932 static constexpr const char *path{
"Processing/Filters/Hole/Repair/Strictness" };
5935 static constexpr const char *name{
"Strictness" };
5938 static constexpr const char *description{
5939 R
"description(Level of strictness when considering if a point should be filled. A higher level of
5940strictness requires a missing point to be surrounded by valid points on more sides in
5941order to be filled. Increasing this will fill fewer points, but it will be less likely to
5942fill gaps that are not circular, for example between two edges.
5960 : m_opt{ verifyValue(value) }
5981 return m_opt == other.m_opt;
5987 return m_opt != other.m_opt;
5993 return m_opt < other.m_opt;
5999 return m_opt > other.m_opt;
6005 return m_opt <= other.m_opt;
6011 return m_opt >= other.m_opt;
6021 void setFromString(
const std::string &value);
6023 constexpr ValueType
static verifyValue(
const ValueType &value)
6025 return validRange().isInRange(value)
6027 :
throw std::out_of_range{
"Strictness{ " + std::to_string(value)
6028 +
" } is not in range ["
6029 + std::to_string(validRange().min()) +
", "
6030 + std::to_string(validRange().max()) +
"]" };
6033 std::optional<int32_t> m_opt;
6035 friend struct DataModel::Detail::Befriend<
Strictness>;
6062 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6063 typename std::enable_if<
6064 Zivid::Detail::TypeTraits::
6065 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
6068 template<typename... Args>
6072 using namespace Zivid::Detail::TypeTraits;
6075 AllArgsDecayedAreUnique<Args...>::value,
6076 "Found duplicate types among the arguments passed to Repair(...). "
6077 "Types should be listed at most once.");
6079 set(std::forward<Args>(args)...);
6095 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6097 template<typename... Args>
6101 using namespace Zivid::Detail::TypeTraits;
6103 using AllArgsAreDescendantNodes =
6104 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6106 AllArgsAreDescendantNodes::value,
6107 "All arguments passed to set(...) must be descendant nodes.");
6110 AllArgsDecayedAreUnique<Args...>::value,
6111 "Found duplicate types among the arguments passed to set(...). "
6112 "Types should be listed at most once.");
6114 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6131 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6133 template<typename... Args>
6137 using namespace Zivid::Detail::TypeTraits;
6139 using AllArgsAreDescendantNodes =
6140 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6142 AllArgsAreDescendantNodes::value,
6143 "All arguments passed to copyWith(...) must be descendant nodes.");
6146 AllArgsDecayedAreUnique<Args...>::value,
6147 "Found duplicate types among the arguments passed to copyWith(...). "
6148 "Types should be listed at most once.");
6151 copy.set(std::forward<Args>(args)...);
6196 return m_strictness;
6202 return m_strictness;
6208 m_strictness = value;
6214 typename std::enable_if<
6215 std::is_same<T, Settings::Processing::Filters::Hole::Repair::Enabled>::value,
6224 typename std::enable_if<
6225 std::is_same<T, Settings::Processing::Filters::Hole::Repair::HoleSize>::value,
6234 typename std::enable_if<
6235 std::is_same<T, Settings::Processing::Filters::Hole::Repair::Strictness>::value,
6239 return m_strictness;
6242 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6248 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
6254 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
6257 return m_strictness;
6261 template<
typename F>
6270 template<
typename F>
6294 void setFromString(
const std::string &value);
6296 void setFromString(
const std::string &fullPath,
const std::string &value);
6298 std::string getString(
const std::string &fullPath)
const;
6301 HoleSize m_holeSize;
6304 friend struct DataModel::Detail::Befriend<
Repair>;
6333 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6334 typename std::enable_if<
6335 Zivid::Detail::TypeTraits::
6336 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
6339 template<typename... Args>
6343 using namespace Zivid::Detail::TypeTraits;
6346 AllArgsDecayedAreUnique<Args...>::value,
6347 "Found duplicate types among the arguments passed to Hole(...). "
6348 "Types should be listed at most once.");
6350 set(std::forward<Args>(args)...);
6367 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6369 template<typename... Args>
6373 using namespace Zivid::Detail::TypeTraits;
6375 using AllArgsAreDescendantNodes =
6376 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6378 AllArgsAreDescendantNodes::value,
6379 "All arguments passed to set(...) must be descendant nodes.");
6382 AllArgsDecayedAreUnique<Args...>::value,
6383 "Found duplicate types among the arguments passed to set(...). "
6384 "Types should be listed at most once.");
6386 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6404 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6406 template<typename... Args>
6410 using namespace Zivid::Detail::TypeTraits;
6412 using AllArgsAreDescendantNodes =
6413 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6415 AllArgsAreDescendantNodes::value,
6416 "All arguments passed to copyWith(...) must be descendant nodes.");
6419 AllArgsDecayedAreUnique<Args...>::value,
6420 "Found duplicate types among the arguments passed to copyWith(...). "
6421 "Types should be listed at most once.");
6424 copy.set(std::forward<Args>(args)...);
6450 m_repair.
set(value);
6457 m_repair.
set(value);
6464 m_repair.
set(value);
6470 typename std::enable_if<
6471 std::is_same<T, Settings::Processing::Filters::Hole::Repair>::value,
6480 typename std::enable_if<
6481 std::is_same<T, Settings::Processing::Filters::Hole::Repair::Enabled>::value,
6490 typename std::enable_if<
6491 std::is_same<T, Settings::Processing::Filters::Hole::Repair::HoleSize>::value,
6500 typename std::enable_if<
6501 std::is_same<T, Settings::Processing::Filters::Hole::Repair::Strictness>::value,
6508 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6515 template<
typename F>
6522 template<
typename F>
6544 void setFromString(
const std::string &value);
6546 void setFromString(
const std::string &fullPath,
const std::string &value);
6548 std::string getString(
const std::string &fullPath)
const;
6552 friend struct DataModel::Detail::Befriend<
Hole>;
6565 static constexpr const char *path{
"Processing/Filters/Noise" };
6568 static constexpr const char *name{
"Noise" };
6571 static constexpr const char *description{
6572 R
"description(Contains filters that can be used to clean up a noisy point cloud.)description"
6585 static constexpr const char *path{
"Processing/Filters/Noise/Removal" };
6588 static constexpr const char *name{
"Removal" };
6591 static constexpr const char *description{
6592 R
"description(Discard points with signal-to-noise ratio (SNR) values below a threshold.)description"
6605 static constexpr const char *path{
"Processing/Filters/Noise/Removal/Enabled" };
6608 static constexpr const char *name{
"Enabled" };
6611 static constexpr const char *description{
6612 R
"description(Enable or disable the SNR filter.)description"
6623 return {
false,
true };
6652 return m_opt == other.m_opt;
6658 return m_opt != other.m_opt;
6668 void setFromString(
const std::string &value);
6670 std::optional<bool> m_opt;
6672 friend struct DataModel::Detail::Befriend<
Enabled>;
6685 static constexpr const char *path{
"Processing/Filters/Noise/Removal/Threshold" };
6688 static constexpr const char *name{
"Threshold" };
6691 static constexpr const char *description{
6692 R
"description(Discard points with signal-to-noise ratio (SNR) below the given value.)description"
6701 return { 0.0, 100.0 };
6709 : m_opt{ verifyValue(value) }
6730 return m_opt == other.m_opt;
6736 return m_opt != other.m_opt;
6742 return m_opt < other.m_opt;
6748 return m_opt > other.m_opt;
6754 return m_opt <= other.m_opt;
6760 return m_opt >= other.m_opt;
6770 void setFromString(
const std::string &value);
6772 constexpr ValueType
static verifyValue(
const ValueType &value)
6774 return validRange().isInRange(value)
6776 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
6777 +
" } is not in range ["
6778 + std::to_string(validRange().min()) +
", "
6779 + std::to_string(validRange().max()) +
"]" };
6782 std::optional<double> m_opt;
6784 friend struct DataModel::Detail::Befriend<
Threshold>;
6809 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6810 typename std::enable_if<
6811 Zivid::Detail::TypeTraits::
6812 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
6815 template<typename... Args>
6819 using namespace Zivid::Detail::TypeTraits;
6822 AllArgsDecayedAreUnique<Args...>::value,
6823 "Found duplicate types among the arguments passed to Removal(...). "
6824 "Types should be listed at most once.");
6826 set(std::forward<Args>(args)...);
6841 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6843 template<typename... Args>
6847 using namespace Zivid::Detail::TypeTraits;
6849 using AllArgsAreDescendantNodes =
6850 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6852 AllArgsAreDescendantNodes::value,
6853 "All arguments passed to set(...) must be descendant nodes.");
6856 AllArgsDecayedAreUnique<Args...>::value,
6857 "Found duplicate types among the arguments passed to set(...). "
6858 "Types should be listed at most once.");
6860 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6876 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6878 template<typename... Args>
6882 using namespace Zivid::Detail::TypeTraits;
6884 using AllArgsAreDescendantNodes =
6885 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6887 AllArgsAreDescendantNodes::value,
6888 "All arguments passed to copyWith(...) must be descendant nodes.");
6891 AllArgsDecayedAreUnique<Args...>::value,
6892 "Found duplicate types among the arguments passed to copyWith(...). "
6893 "Types should be listed at most once.");
6896 copy.set(std::forward<Args>(args)...);
6934 m_threshold = value;
6940 typename std::enable_if<
6941 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
6950 typename std::enable_if<
6951 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
6958 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6964 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
6971 template<
typename F>
6979 template<
typename F>
7002 void setFromString(
const std::string &value);
7004 void setFromString(
const std::string &fullPath,
const std::string &value);
7006 std::string getString(
const std::string &fullPath)
const;
7011 friend struct DataModel::Detail::Befriend<
Removal>;
7027 static constexpr const char *path{
"Processing/Filters/Noise/Repair" };
7030 static constexpr const char *name{
"Repair" };
7033 static constexpr const char *description{
7034 R
"description(Get better surface coverage by repairing regions of missing data due to noisy points.
7035Consider disabling this filter if you require all points in your point cloud to be of
7050 static constexpr const char *path{
"Processing/Filters/Noise/Repair/Enabled" };
7053 static constexpr const char *name{
"Enabled" };
7056 static constexpr const char *description{
7057 R
"description(Enable or disable noise repair.)description"
7068 return {
false,
true };
7097 return m_opt == other.m_opt;
7103 return m_opt != other.m_opt;
7113 void setFromString(
const std::string &value);
7115 std::optional<bool> m_opt;
7117 friend struct DataModel::Detail::Befriend<
Enabled>;
7120 using Descendants = std::tuple<Settings::Processing::Filters::Noise::Repair::Enabled>;
7139 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
7140 typename std::enable_if<
7141 Zivid::Detail::TypeTraits::
7142 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
7145 template<typename... Args>
7149 using namespace Zivid::Detail::TypeTraits;
7152 AllArgsDecayedAreUnique<Args...>::value,
7153 "Found duplicate types among the arguments passed to Repair(...). "
7154 "Types should be listed at most once.");
7156 set(std::forward<Args>(args)...);
7170 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
7172 template<typename... Args>
7176 using namespace Zivid::Detail::TypeTraits;
7178 using AllArgsAreDescendantNodes =
7179 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7181 AllArgsAreDescendantNodes::value,
7182 "All arguments passed to set(...) must be descendant nodes.");
7185 AllArgsDecayedAreUnique<Args...>::value,
7186 "Found duplicate types among the arguments passed to set(...). "
7187 "Types should be listed at most once.");
7189 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
7204 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
7206 template<typename... Args>
7210 using namespace Zivid::Detail::TypeTraits;
7212 using AllArgsAreDescendantNodes =
7213 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7215 AllArgsAreDescendantNodes::value,
7216 "All arguments passed to copyWith(...) must be descendant nodes.");
7219 AllArgsDecayedAreUnique<Args...>::value,
7220 "Found duplicate types among the arguments passed to copyWith(...). "
7221 "Types should be listed at most once.");
7224 copy.set(std::forward<Args>(args)...);
7249 typename std::enable_if<
7250 std::is_same<T, Settings::Processing::Filters::Noise::Repair::Enabled>::value,
7257 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
7264 template<
typename F>
7271 template<
typename F>
7293 void setFromString(
const std::string &value);
7295 void setFromString(
const std::string &fullPath,
const std::string &value);
7297 std::string getString(
const std::string &fullPath)
const;
7301 friend struct DataModel::Detail::Befriend<
Repair>;
7317 static constexpr const char *path{
"Processing/Filters/Noise/Suppression" };
7320 static constexpr const char *name{
"Suppression" };
7323 static constexpr const char *description{
7324 R
"description(Reduce noise and outliers in the point cloud. This filter can also be used to reduce
7325ripple effects caused by interreflections. Consider disabling this filter if you need to
7326distinguish very fine details and thus need to avoid any smoothing effects.
7340 static constexpr const char *path{
"Processing/Filters/Noise/Suppression/Enabled" };
7343 static constexpr const char *name{
"Enabled" };
7346 static constexpr const char *description{
7347 R
"description(Enable or disable noise suppression.)description"
7358 return {
false,
true };
7387 return m_opt == other.m_opt;
7393 return m_opt != other.m_opt;
7403 void setFromString(
const std::string &value);
7405 std::optional<bool> m_opt;
7407 friend struct DataModel::Detail::Befriend<
Enabled>;
7410 using Descendants = std::tuple<Settings::Processing::Filters::Noise::Suppression::Enabled>;
7429 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
7430 typename std::enable_if<
7431 Zivid::Detail::TypeTraits::
7432 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
7435 template<typename... Args>
7439 using namespace Zivid::Detail::TypeTraits;
7442 AllArgsDecayedAreUnique<Args...>::value,
7443 "Found duplicate types among the arguments passed to Suppression(...). "
7444 "Types should be listed at most once.");
7446 set(std::forward<Args>(args)...);
7460 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
7462 template<typename... Args>
7466 using namespace Zivid::Detail::TypeTraits;
7468 using AllArgsAreDescendantNodes =
7469 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7471 AllArgsAreDescendantNodes::value,
7472 "All arguments passed to set(...) must be descendant nodes.");
7475 AllArgsDecayedAreUnique<Args...>::value,
7476 "Found duplicate types among the arguments passed to set(...). "
7477 "Types should be listed at most once.");
7479 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
7494 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
7496 template<typename... Args>
7500 using namespace Zivid::Detail::TypeTraits;
7502 using AllArgsAreDescendantNodes =
7503 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7505 AllArgsAreDescendantNodes::value,
7506 "All arguments passed to copyWith(...) must be descendant nodes.");
7509 AllArgsDecayedAreUnique<Args...>::value,
7510 "Found duplicate types among the arguments passed to copyWith(...). "
7511 "Types should be listed at most once.");
7514 copy.set(std::forward<Args>(args)...);
7539 typename std::enable_if<
7540 std::is_same<T, Settings::Processing::Filters::Noise::Suppression::Enabled>::value,
7547 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
7554 template<
typename F>
7561 template<
typename F>
7583 void setFromString(
const std::string &value);
7585 void setFromString(
const std::string &fullPath,
const std::string &value);
7587 std::string getString(
const std::string &fullPath)
const;
7591 friend struct DataModel::Detail::Befriend<
Suppression>;
7626 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
7627 typename std::enable_if<
7628 Zivid::Detail::TypeTraits::
7629 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
7632 template<typename... Args>
7636 using namespace Zivid::Detail::TypeTraits;
7639 AllArgsDecayedAreUnique<Args...>::value,
7640 "Found duplicate types among the arguments passed to Noise(...). "
7641 "Types should be listed at most once.");
7643 set(std::forward<Args>(args)...);
7663 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
7665 template<typename... Args>
7669 using namespace Zivid::Detail::TypeTraits;
7671 using AllArgsAreDescendantNodes =
7672 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7674 AllArgsAreDescendantNodes::value,
7675 "All arguments passed to set(...) must be descendant nodes.");
7678 AllArgsDecayedAreUnique<Args...>::value,
7679 "Found duplicate types among the arguments passed to set(...). "
7680 "Types should be listed at most once.");
7682 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
7703 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
7705 template<typename... Args>
7709 using namespace Zivid::Detail::TypeTraits;
7711 using AllArgsAreDescendantNodes =
7712 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7714 AllArgsAreDescendantNodes::value,
7715 "All arguments passed to copyWith(...) must be descendant nodes.");
7718 AllArgsDecayedAreUnique<Args...>::value,
7719 "Found duplicate types among the arguments passed to copyWith(...). "
7720 "Types should be listed at most once.");
7723 copy.set(std::forward<Args>(args)...);
7749 m_removal.
set(value);
7756 m_removal.
set(value);
7782 m_repair.
set(value);
7789 return m_suppression;
7795 return m_suppression;
7801 m_suppression = value;
7808 m_suppression.
set(value);
7814 typename std::enable_if<
7815 std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
7824 typename std::enable_if<
7825 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
7834 typename std::enable_if<
7835 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
7844 typename std::enable_if<
7845 std::is_same<T, Settings::Processing::Filters::Noise::Repair>::value,
7854 typename std::enable_if<
7855 std::is_same<T, Settings::Processing::Filters::Noise::Repair::Enabled>::value,
7864 typename std::enable_if<
7865 std::is_same<T, Settings::Processing::Filters::Noise::Suppression>::value,
7869 return m_suppression;
7874 typename std::enable_if<
7875 std::is_same<T, Settings::Processing::Filters::Noise::Suppression::Enabled>::value,
7882 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
7888 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
7894 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
7897 return m_suppression;
7901 template<
typename F>
7910 template<
typename F>
7934 void setFromString(
const std::string &value);
7936 void setFromString(
const std::string &fullPath,
const std::string &value);
7938 std::string getString(
const std::string &fullPath)
const;
7944 friend struct DataModel::Detail::Befriend<
Noise>;
7957 static constexpr const char *path{
"Processing/Filters/Outlier" };
7960 static constexpr const char *name{
"Outlier" };
7963 static constexpr const char *description{
7964 R
"description(Contains a filter that removes points with large Euclidean distance to neighboring points.)description"
7977 static constexpr const char *path{
"Processing/Filters/Outlier/Removal" };
7980 static constexpr const char *name{
"Removal" };
7983 static constexpr const char *description{
7984 R
"description(Discard point if Euclidean distance to neighboring points is above a threshold.)description"
7997 static constexpr const char *path{
"Processing/Filters/Outlier/Removal/Enabled" };
8000 static constexpr const char *name{
"Enabled" };
8003 static constexpr const char *description{
8004 R
"description(Enable or disable the outlier filter.)description"
8015 return {
false,
true };
8044 return m_opt == other.m_opt;
8050 return m_opt != other.m_opt;
8060 void setFromString(
const std::string &value);
8062 std::optional<bool> m_opt;
8064 friend struct DataModel::Detail::Befriend<
Enabled>;
8077 static constexpr const char *path{
"Processing/Filters/Outlier/Removal/Threshold" };
8080 static constexpr const char *name{
"Threshold" };
8083 static constexpr const char *description{
8084 R
"description(Discard point if Euclidean distance to neighboring points is above the given value.)description"
8093 return { 0.0, 100.0 };
8101 : m_opt{ verifyValue(value) }
8122 return m_opt == other.m_opt;
8128 return m_opt != other.m_opt;
8134 return m_opt < other.m_opt;
8140 return m_opt > other.m_opt;
8146 return m_opt <= other.m_opt;
8152 return m_opt >= other.m_opt;
8162 void setFromString(
const std::string &value);
8164 constexpr ValueType
static verifyValue(
const ValueType &value)
8166 return validRange().isInRange(value)
8168 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
8169 +
" } is not in range ["
8170 + std::to_string(validRange().min()) +
", "
8171 + std::to_string(validRange().max()) +
"]" };
8174 std::optional<double> m_opt;
8176 friend struct DataModel::Detail::Befriend<
Threshold>;
8201 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
8202 typename std::enable_if<
8203 Zivid::Detail::TypeTraits::
8204 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
8207 template<typename... Args>
8211 using namespace Zivid::Detail::TypeTraits;
8214 AllArgsDecayedAreUnique<Args...>::value,
8215 "Found duplicate types among the arguments passed to Removal(...). "
8216 "Types should be listed at most once.");
8218 set(std::forward<Args>(args)...);
8233 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
8235 template<typename... Args>
8239 using namespace Zivid::Detail::TypeTraits;
8241 using AllArgsAreDescendantNodes =
8242 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8244 AllArgsAreDescendantNodes::value,
8245 "All arguments passed to set(...) must be descendant nodes.");
8248 AllArgsDecayedAreUnique<Args...>::value,
8249 "Found duplicate types among the arguments passed to set(...). "
8250 "Types should be listed at most once.");
8252 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
8268 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
8270 template<typename... Args>
8274 using namespace Zivid::Detail::TypeTraits;
8276 using AllArgsAreDescendantNodes =
8277 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8279 AllArgsAreDescendantNodes::value,
8280 "All arguments passed to copyWith(...) must be descendant nodes.");
8283 AllArgsDecayedAreUnique<Args...>::value,
8284 "Found duplicate types among the arguments passed to copyWith(...). "
8285 "Types should be listed at most once.");
8288 copy.set(std::forward<Args>(args)...);
8326 m_threshold = value;
8332 typename std::enable_if<
8333 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
8342 typename std::enable_if<
8343 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
8350 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
8356 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
8363 template<
typename F>
8371 template<
typename F>
8394 void setFromString(
const std::string &value);
8396 void setFromString(
const std::string &fullPath,
const std::string &value);
8398 std::string getString(
const std::string &fullPath)
const;
8403 friend struct DataModel::Detail::Befriend<
Removal>;
8430 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
8431 typename std::enable_if<
8432 Zivid::Detail::TypeTraits::
8433 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
8436 template<typename... Args>
8440 using namespace Zivid::Detail::TypeTraits;
8443 AllArgsDecayedAreUnique<Args...>::value,
8444 "Found duplicate types among the arguments passed to Outlier(...). "
8445 "Types should be listed at most once.");
8447 set(std::forward<Args>(args)...);
8463 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
8465 template<typename... Args>
8469 using namespace Zivid::Detail::TypeTraits;
8471 using AllArgsAreDescendantNodes =
8472 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8474 AllArgsAreDescendantNodes::value,
8475 "All arguments passed to set(...) must be descendant nodes.");
8478 AllArgsDecayedAreUnique<Args...>::value,
8479 "Found duplicate types among the arguments passed to set(...). "
8480 "Types should be listed at most once.");
8482 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
8499 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
8501 template<typename... Args>
8505 using namespace Zivid::Detail::TypeTraits;
8507 using AllArgsAreDescendantNodes =
8508 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8510 AllArgsAreDescendantNodes::value,
8511 "All arguments passed to copyWith(...) must be descendant nodes.");
8514 AllArgsDecayedAreUnique<Args...>::value,
8515 "Found duplicate types among the arguments passed to copyWith(...). "
8516 "Types should be listed at most once.");
8519 copy.set(std::forward<Args>(args)...);
8545 m_removal.
set(value);
8552 m_removal.
set(value);
8558 typename std::enable_if<
8559 std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
8568 typename std::enable_if<
8569 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
8578 typename std::enable_if<
8579 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
8586 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
8593 template<
typename F>
8600 template<
typename F>
8622 void setFromString(
const std::string &value);
8624 void setFromString(
const std::string &fullPath,
const std::string &value);
8626 std::string getString(
const std::string &fullPath)
const;
8630 friend struct DataModel::Detail::Befriend<
Outlier>;
8643 static constexpr const char *path{
"Processing/Filters/Reflection" };
8646 static constexpr const char *name{
"Reflection" };
8649 static constexpr const char *description{
8650 R
"description(Contains a filter that removes points likely introduced by reflections (useful for shiny materials).)description"
8663 static constexpr const char *path{
"Processing/Filters/Reflection/Removal" };
8666 static constexpr const char *name{
"Removal" };
8669 static constexpr const char *description{
8670 R
"description(Discard points likely introduced by reflections (useful for shiny materials).)description"
8683 static constexpr const char *path{
"Processing/Filters/Reflection/Removal/Enabled" };
8686 static constexpr const char *name{
"Enabled" };
8689 static constexpr const char *description{
8690 R
"description(Enable or disable the reflection filter. Note that this filter is computationally intensive and may affect the frame rate.)description"
8701 return {
false,
true };
8730 return m_opt == other.m_opt;
8736 return m_opt != other.m_opt;
8746 void setFromString(
const std::string &value);
8748 std::optional<bool> m_opt;
8750 friend struct DataModel::Detail::Befriend<
Enabled>;
8770 static constexpr const char *path{
"Processing/Filters/Reflection/Removal/Mode" };
8773 static constexpr const char *name{
"Mode" };
8776 static constexpr const char *description{
8777 R
"description(The reflection filter has two modes: Local and Global. Local mode preserves more 3D data
8778on thinner objects, generally removes more reflection artifacts and processes faster than
8779the Global filter. The Global filter is generally better at removing outlier points in
8780the point cloud. It is advised to use the Outlier filter and Cluster filter together with the
8781Local Reflection filter.
8783Global mode was introduced in SDK 1.0 and Local mode was introduced in SDK 2.7.
8799 return { ValueType::global, ValueType::local };
8807 : m_opt{ verifyValue(value) }
8834 return m_opt == other.m_opt;
8840 return m_opt != other.m_opt;
8850 void setFromString(
const std::string &value);
8852 constexpr ValueType
static verifyValue(
const ValueType &value)
8854 return value == ValueType::global || value == ValueType::local
8856 :
throw std::invalid_argument{
8857 "Invalid value: Mode{ "
8859 static_cast<std::underlying_type<ValueType>::type
>(value))
8864 std::optional<ValueType> m_opt;
8866 friend struct DataModel::Detail::Befriend<
Mode>;
8891 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
8892 typename std::enable_if<
8893 Zivid::Detail::TypeTraits::
8894 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
8897 template<typename... Args>
8901 using namespace Zivid::Detail::TypeTraits;
8904 AllArgsDecayedAreUnique<Args...>::value,
8905 "Found duplicate types among the arguments passed to Removal(...). "
8906 "Types should be listed at most once.");
8908 set(std::forward<Args>(args)...);
8923 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
8925 template<typename... Args>
8929 using namespace Zivid::Detail::TypeTraits;
8931 using AllArgsAreDescendantNodes =
8932 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8934 AllArgsAreDescendantNodes::value,
8935 "All arguments passed to set(...) must be descendant nodes.");
8938 AllArgsDecayedAreUnique<Args...>::value,
8939 "Found duplicate types among the arguments passed to set(...). "
8940 "Types should be listed at most once.");
8942 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
8958 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
8960 template<typename... Args>
8964 using namespace Zivid::Detail::TypeTraits;
8966 using AllArgsAreDescendantNodes =
8967 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8969 AllArgsAreDescendantNodes::value,
8970 "All arguments passed to copyWith(...) must be descendant nodes.");
8973 AllArgsDecayedAreUnique<Args...>::value,
8974 "Found duplicate types among the arguments passed to copyWith(...). "
8975 "Types should be listed at most once.");
8978 copy.set(std::forward<Args>(args)...);
9022 typename std::enable_if<
9023 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
9032 typename std::enable_if<
9033 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Mode>::value,
9040 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
9046 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
9053 template<
typename F>
9061 template<
typename F>
9084 void setFromString(
const std::string &value);
9086 void setFromString(
const std::string &fullPath,
const std::string &value);
9088 std::string getString(
const std::string &fullPath)
const;
9093 friend struct DataModel::Detail::Befriend<
Removal>;
9120 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
9121 typename std::enable_if<
9122 Zivid::Detail::TypeTraits::
9123 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
9126 template<typename... Args>
9130 using namespace Zivid::Detail::TypeTraits;
9133 AllArgsDecayedAreUnique<Args...>::value,
9134 "Found duplicate types among the arguments passed to Reflection(...). "
9135 "Types should be listed at most once.");
9137 set(std::forward<Args>(args)...);
9153 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
9155 template<typename... Args>
9159 using namespace Zivid::Detail::TypeTraits;
9161 using AllArgsAreDescendantNodes =
9162 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9164 AllArgsAreDescendantNodes::value,
9165 "All arguments passed to set(...) must be descendant nodes.");
9168 AllArgsDecayedAreUnique<Args...>::value,
9169 "Found duplicate types among the arguments passed to set(...). "
9170 "Types should be listed at most once.");
9172 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
9189 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
9191 template<typename... Args>
9195 using namespace Zivid::Detail::TypeTraits;
9197 using AllArgsAreDescendantNodes =
9198 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9200 AllArgsAreDescendantNodes::value,
9201 "All arguments passed to copyWith(...) must be descendant nodes.");
9204 AllArgsDecayedAreUnique<Args...>::value,
9205 "Found duplicate types among the arguments passed to copyWith(...). "
9206 "Types should be listed at most once.");
9209 copy.set(std::forward<Args>(args)...);
9235 m_removal.
set(value);
9242 m_removal.
set(value);
9248 typename std::enable_if<
9249 std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
9258 typename std::enable_if<
9259 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
9268 typename std::enable_if<
9269 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Mode>::value,
9276 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
9283 template<
typename F>
9290 template<
typename F>
9312 void setFromString(
const std::string &value);
9314 void setFromString(
const std::string &fullPath,
const std::string &value);
9316 std::string getString(
const std::string &fullPath)
const;
9320 friend struct DataModel::Detail::Befriend<
Reflection>;
9333 static constexpr const char *path{
"Processing/Filters/Smoothing" };
9336 static constexpr const char *name{
"Smoothing" };
9339 static constexpr const char *description{ R
"description(Smoothing filters.)description" };
9351 static constexpr const char *path{
"Processing/Filters/Smoothing/Gaussian" };
9354 static constexpr const char *name{
"Gaussian" };
9357 static constexpr const char *description{
9358 R
"description(Gaussian smoothing of the point cloud.)description"
9371 static constexpr const char *path{
"Processing/Filters/Smoothing/Gaussian/Enabled" };
9374 static constexpr const char *name{
"Enabled" };
9377 static constexpr const char *description{
9378 R
"description(Enable or disable the smoothing filter.)description"
9389 return {
false,
true };
9418 return m_opt == other.m_opt;
9424 return m_opt != other.m_opt;
9434 void setFromString(
const std::string &value);
9436 std::optional<bool> m_opt;
9438 friend struct DataModel::Detail::Befriend<
Enabled>;
9451 static constexpr const char *path{
"Processing/Filters/Smoothing/Gaussian/Sigma" };
9454 static constexpr const char *name{
"Sigma" };
9457 static constexpr const char *description{
9458 R
"description(Higher values result in smoother point clouds (Standard deviation of the filter coefficients).)description"
9475 : m_opt{ verifyValue(value) }
9496 return m_opt == other.m_opt;
9502 return m_opt != other.m_opt;
9508 return m_opt < other.m_opt;
9514 return m_opt > other.m_opt;
9520 return m_opt <= other.m_opt;
9526 return m_opt >= other.m_opt;
9536 void setFromString(
const std::string &value);
9538 constexpr ValueType
static verifyValue(
const ValueType &value)
9540 return validRange().isInRange(value)
9542 :
throw std::out_of_range{
"Sigma{ " + std::to_string(value)
9543 +
" } is not in range ["
9544 + std::to_string(validRange().min()) +
", "
9545 + std::to_string(validRange().max()) +
"]" };
9548 std::optional<double> m_opt;
9550 friend struct DataModel::Detail::Befriend<
Sigma>;
9575 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
9576 typename std::enable_if<
9577 Zivid::Detail::TypeTraits::
9578 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
9581 template<typename... Args>
9585 using namespace Zivid::Detail::TypeTraits;
9588 AllArgsDecayedAreUnique<Args...>::value,
9589 "Found duplicate types among the arguments passed to Gaussian(...). "
9590 "Types should be listed at most once.");
9592 set(std::forward<Args>(args)...);
9607 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
9609 template<typename... Args>
9613 using namespace Zivid::Detail::TypeTraits;
9615 using AllArgsAreDescendantNodes =
9616 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9618 AllArgsAreDescendantNodes::value,
9619 "All arguments passed to set(...) must be descendant nodes.");
9622 AllArgsDecayedAreUnique<Args...>::value,
9623 "Found duplicate types among the arguments passed to set(...). "
9624 "Types should be listed at most once.");
9626 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
9642 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
9644 template<typename... Args>
9648 using namespace Zivid::Detail::TypeTraits;
9650 using AllArgsAreDescendantNodes =
9651 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9653 AllArgsAreDescendantNodes::value,
9654 "All arguments passed to copyWith(...) must be descendant nodes.");
9657 AllArgsDecayedAreUnique<Args...>::value,
9658 "Found duplicate types among the arguments passed to copyWith(...). "
9659 "Types should be listed at most once.");
9662 copy.set(std::forward<Args>(args)...);
9706 typename std::enable_if<
9707 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
9716 typename std::enable_if<
9717 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
9724 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
9730 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
9737 template<
typename F>
9745 template<
typename F>
9768 void setFromString(
const std::string &value);
9770 void setFromString(
const std::string &fullPath,
const std::string &value);
9772 std::string getString(
const std::string &fullPath)
const;
9777 friend struct DataModel::Detail::Befriend<
Gaussian>;
9804 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
9805 typename std::enable_if<
9806 Zivid::Detail::TypeTraits::
9807 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
9810 template<typename... Args>
9814 using namespace Zivid::Detail::TypeTraits;
9817 AllArgsDecayedAreUnique<Args...>::value,
9818 "Found duplicate types among the arguments passed to Smoothing(...). "
9819 "Types should be listed at most once.");
9821 set(std::forward<Args>(args)...);
9837 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
9839 template<typename... Args>
9843 using namespace Zivid::Detail::TypeTraits;
9845 using AllArgsAreDescendantNodes =
9846 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9848 AllArgsAreDescendantNodes::value,
9849 "All arguments passed to set(...) must be descendant nodes.");
9852 AllArgsDecayedAreUnique<Args...>::value,
9853 "Found duplicate types among the arguments passed to set(...). "
9854 "Types should be listed at most once.");
9856 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
9873 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
9875 template<typename... Args>
9879 using namespace Zivid::Detail::TypeTraits;
9881 using AllArgsAreDescendantNodes =
9882 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9884 AllArgsAreDescendantNodes::value,
9885 "All arguments passed to copyWith(...) must be descendant nodes.");
9888 AllArgsDecayedAreUnique<Args...>::value,
9889 "Found duplicate types among the arguments passed to copyWith(...). "
9890 "Types should be listed at most once.");
9893 copy.set(std::forward<Args>(args)...);
9919 m_gaussian.
set(value);
9926 m_gaussian.
set(value);
9932 typename std::enable_if<
9933 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
9942 typename std::enable_if<
9943 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
9952 typename std::enable_if<
9953 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
9960 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
9967 template<
typename F>
9974 template<
typename F>
9996 void setFromString(
const std::string &value);
9998 void setFromString(
const std::string &fullPath,
const std::string &value);
10000 std::string getString(
const std::string &fullPath)
const;
10004 friend struct DataModel::Detail::Befriend<
Smoothing>;
10101 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
10102 typename std::enable_if<
10103 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
10107 template<typename... Args>
10111 using namespace Zivid::Detail::TypeTraits;
10114 AllArgsDecayedAreUnique<Args...>::value,
10115 "Found duplicate types among the arguments passed to Filters(...). "
10116 "Types should be listed at most once.");
10118 set(std::forward<Args>(args)...);
10169 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
10171 template<typename... Args>
10175 using namespace Zivid::Detail::TypeTraits;
10177 using AllArgsAreDescendantNodes =
10178 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
10180 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
10183 AllArgsDecayedAreUnique<Args...>::value,
10184 "Found duplicate types among the arguments passed to set(...). "
10185 "Types should be listed at most once.");
10187 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
10239 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
10241 template<typename... Args>
10245 using namespace Zivid::Detail::TypeTraits;
10247 using AllArgsAreDescendantNodes =
10248 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
10250 AllArgsAreDescendantNodes::value,
10251 "All arguments passed to copyWith(...) must be descendant nodes.");
10254 AllArgsDecayedAreUnique<Args...>::value,
10255 "Found duplicate types among the arguments passed to copyWith(...). "
10256 "Types should be listed at most once.");
10258 auto copy{ *
this };
10259 copy.set(std::forward<Args>(args)...);
10285 m_cluster.
set(value);
10292 m_cluster.
set(value);
10299 m_cluster.
set(value);
10306 m_cluster.
set(value);
10313 return m_experimental;
10319 return m_experimental;
10325 m_experimental = value;
10332 m_experimental.
set(value);
10339 m_experimental.
set(value);
10346 m_experimental.
set(value);
10353 m_experimental.
set(value);
10360 m_experimental.
set(value);
10367 m_experimental.
set(value);
10374 m_experimental.
set(value);
10447 m_noise.
set(value);
10454 m_noise.
set(value);
10461 m_noise.
set(value);
10468 m_noise.
set(value);
10475 m_noise.
set(value);
10482 m_noise.
set(value);
10489 m_noise.
set(value);
10515 m_outlier.
set(value);
10522 m_outlier.
set(value);
10529 m_outlier.
set(value);
10536 return m_reflection;
10542 return m_reflection;
10548 m_reflection = value;
10555 m_reflection.
set(value);
10562 m_reflection.
set(value);
10569 m_reflection.
set(value);
10576 return m_smoothing;
10582 return m_smoothing;
10588 m_smoothing = value;
10595 m_smoothing.
set(value);
10602 m_smoothing.
set(value);
10609 m_smoothing.
set(value);
10615 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Cluster>::value,
int>::type =
10624 typename std::enable_if<
10625 std::is_same<T, Settings::Processing::Filters::Cluster::Removal>::value,
10634 typename std::enable_if<
10635 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::Enabled>::value,
10644 typename std::enable_if<
10645 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance>::value,
10654 typename std::enable_if<
10655 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MinArea>::value,
10664 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
int>::
10668 return m_experimental;
10673 typename std::enable_if<
10674 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
10683 typename std::enable_if<
10684 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::
10689 return m_experimental
10695 typename std::enable_if<
10703 return m_experimental
10709 typename std::enable_if<
10717 return m_experimental
10723 typename std::enable_if<
10724 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::
10729 return m_experimental
10735 typename std::enable_if<
10742 return m_experimental
10748 typename std::enable_if<
10755 return m_experimental
10761 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Hole>::value,
int>::type = 0>
10769 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Hole::Repair>::value,
int>::
10778 typename std::enable_if<
10779 std::is_same<T, Settings::Processing::Filters::Hole::Repair::Enabled>::value,
10788 typename std::enable_if<
10789 std::is_same<T, Settings::Processing::Filters::Hole::Repair::HoleSize>::value,
10798 typename std::enable_if<
10799 std::is_same<T, Settings::Processing::Filters::Hole::Repair::Strictness>::value,
10808 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type =
10818 enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
int>::type = 0>
10826 typename std::enable_if<
10827 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
10836 typename std::enable_if<
10837 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
10846 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Repair>::value,
int>::
10855 typename std::enable_if<
10856 std::is_same<T, Settings::Processing::Filters::Noise::Repair::Enabled>::value,
10865 typename std::enable_if<
10866 std::is_same<T, Settings::Processing::Filters::Noise::Suppression>::value,
10875 typename std::enable_if<
10876 std::is_same<T, Settings::Processing::Filters::Noise::Suppression::Enabled>::value,
10885 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type =
10894 typename std::enable_if<
10895 std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
10904 typename std::enable_if<
10905 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
10914 typename std::enable_if<
10915 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
10924 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
int>::
10928 return m_reflection;
10933 typename std::enable_if<
10934 std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
10943 typename std::enable_if<
10944 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
10953 typename std::enable_if<
10954 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Mode>::value,
10963 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
int>::
10967 return m_smoothing;
10972 typename std::enable_if<
10973 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
10982 typename std::enable_if<
10983 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
10992 typename std::enable_if<
10993 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
11000 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
11006 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
11009 return m_experimental;
11012 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
11018 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
11024 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
11030 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
11033 return m_reflection;
11036 template<size_t i, typename std::enable_if<i == 6, int>::type = 0>
11039 return m_smoothing;
11043 template<
typename F>
11056 template<
typename F>
11080 return stream << value.
toString();
11084 void setFromString(
const std::string &value);
11086 void setFromString(
const std::string &fullPath,
const std::string &value);
11088 std::string getString(
const std::string &fullPath)
const;
11091 Experimental m_experimental;
11095 Reflection m_reflection;
11098 friend struct DataModel::Detail::Befriend<
Filters>;
11112 static constexpr const char *path{
"Processing/Resampling" };
11115 static constexpr const char *name{
"Resampling" };
11118 static constexpr const char *description{
11119 R
"description(Settings for changing the output resolution of the point cloud.
11155 static constexpr const char *path{
"Processing/Resampling/Mode" };
11158 static constexpr const char *name{
"Mode" };
11161 static constexpr const char *description{
11162 R
"description(Setting for upsampling or downsampling the point cloud data by some factor. This operation
11163is performed after all other processing has been completed.
11165Downsampling is used to reduce the number of points in the point cloud. This is done by
11166combining each 2x2 or 4x4 group of pixels in the original point cloud into one pixel in
11167a new point cloud. This downsample functionality is identical to the downsample method
11168on the PointCloud class. The averaging process reduces noise in the point cloud, but it
11169will not improve capture speed. To improve capture speed, consider using the subsampling
11170modes found in Settings/Sampling/Pixel.
11172Upsampling is used to increase the number of points in the point cloud. It is not possible
11173to upsample beyond the full resolution of the camera, so upsampling may only be used in
11174combination with the subsampling modes found in Settings/Sampling/Pixel. For example, one may
11175combine blueSubsample2x2 with upsample2x2 to obtain a point cloud that matches a full
11176resolution 2D capture, while retaining the speed benefits of capturing the point cloud with
11177blueSubsample2x2. Upsampling is achieved by expanding pixels in the original point cloud into
11178groups of 2x2 or 4x4 pixels in a new point cloud. Where possible, values are filled at the
11179new points based on an interpolation of the surrounding original points. The points in the
11180new point cloud that correspond to points in the original point cloud are left unchanged.
11181Note that upsampling will lead to four (upsample2x2) or sixteen (upsample4x4) times as many
11182pixels in the point cloud compared to no upsampling, so users should be aware of increased
11183computational cost related to copying and analyzing this data.
11205 return { ValueType::disabled,
11206 ValueType::downsample2x2,
11207 ValueType::downsample4x4,
11208 ValueType::upsample2x2,
11209 ValueType::upsample4x4 };
11217 : m_opt{ verifyValue(value) }
11244 return m_opt == other.m_opt;
11250 return m_opt != other.m_opt;
11256 return stream << value.
toString();
11260 void setFromString(
const std::string &value);
11262 constexpr ValueType
static verifyValue(
const ValueType &value)
11264 return value == ValueType::disabled || value == ValueType::downsample2x2
11265 || value == ValueType::downsample4x4 || value == ValueType::upsample2x2
11266 || value == ValueType::upsample4x4
11268 :
throw std::invalid_argument{
11269 "Invalid value: Mode{ "
11270 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value))
11275 std::optional<ValueType> m_opt;
11277 friend struct DataModel::Detail::Befriend<
Mode>;
11299 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
11300 typename std::enable_if<
11301 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
11305 template<typename... Args>
11309 using namespace Zivid::Detail::TypeTraits;
11312 AllArgsDecayedAreUnique<Args...>::value,
11313 "Found duplicate types among the arguments passed to Resampling(...). "
11314 "Types should be listed at most once.");
11316 set(std::forward<Args>(args)...);
11330 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
11332 template<typename... Args>
11336 using namespace Zivid::Detail::TypeTraits;
11338 using AllArgsAreDescendantNodes =
11339 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
11341 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
11344 AllArgsDecayedAreUnique<Args...>::value,
11345 "Found duplicate types among the arguments passed to set(...). "
11346 "Types should be listed at most once.");
11348 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
11363 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
11365 template<typename... Args>
11369 using namespace Zivid::Detail::TypeTraits;
11371 using AllArgsAreDescendantNodes =
11372 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
11374 AllArgsAreDescendantNodes::value,
11375 "All arguments passed to copyWith(...) must be descendant nodes.");
11378 AllArgsDecayedAreUnique<Args...>::value,
11379 "Found duplicate types among the arguments passed to copyWith(...). "
11380 "Types should be listed at most once.");
11382 auto copy{ *
this };
11383 copy.set(std::forward<Args>(args)...);
11408 typename std::enable_if<std::is_same<T, Settings::Processing::Resampling::Mode>::value,
int>::type =
11415 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
11422 template<
typename F>
11429 template<
typename F>
11447 return stream << value.
toString();
11451 void setFromString(
const std::string &value);
11453 void setFromString(
const std::string &fullPath,
const std::string &value);
11455 std::string getString(
const std::string &fullPath)
const;
11459 friend struct DataModel::Detail::Befriend<
Resampling>;
11578 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
11579 typename std::enable_if<
11580 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
11584 template<typename... Args>
11588 using namespace Zivid::Detail::TypeTraits;
11591 AllArgsDecayedAreUnique<Args...>::value,
11592 "Found duplicate types among the arguments passed to Processing(...). "
11593 "Types should be listed at most once.");
11595 set(std::forward<Args>(args)...);
11657 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
11659 template<typename... Args>
11663 using namespace Zivid::Detail::TypeTraits;
11665 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
11667 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
11670 AllArgsDecayedAreUnique<Args...>::value,
11671 "Found duplicate types among the arguments passed to set(...). "
11672 "Types should be listed at most once.");
11674 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
11737 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
11739 template<typename... Args>
11743 using namespace Zivid::Detail::TypeTraits;
11745 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
11747 AllArgsAreDescendantNodes::value,
11748 "All arguments passed to copyWith(...) must be descendant nodes.");
11751 AllArgsDecayedAreUnique<Args...>::value,
11752 "Found duplicate types among the arguments passed to copyWith(...). "
11753 "Types should be listed at most once.");
11755 auto copy{ *
this };
11756 copy.set(std::forward<Args>(args)...);
11782 m_color.
set(value);
11789 m_color.
set(value);
11796 m_color.
set(value);
11803 m_color.
set(value);
11810 m_color.
set(value);
11817 m_color.
set(value);
11824 m_color.
set(value);
11850 m_filters.
set(value);
11857 m_filters.
set(value);
11864 m_filters.
set(value);
11871 m_filters.
set(value);
11878 m_filters.
set(value);
11885 m_filters.
set(value);
11892 m_filters.
set(value);
11899 m_filters.
set(value);
11906 m_filters.
set(value);
11913 m_filters.
set(value);
11920 m_filters.
set(value);
11927 m_filters.
set(value);
11934 m_filters.
set(value);
11941 m_filters.
set(value);
11948 m_filters.
set(value);
11955 m_filters.
set(value);
11962 m_filters.
set(value);
11969 m_filters.
set(value);
11976 m_filters.
set(value);
11983 m_filters.
set(value);
11990 m_filters.
set(value);
11997 m_filters.
set(value);
12004 m_filters.
set(value);
12011 m_filters.
set(value);
12018 m_filters.
set(value);
12025 m_filters.
set(value);
12032 m_filters.
set(value);
12039 m_filters.
set(value);
12046 m_filters.
set(value);
12053 m_filters.
set(value);
12060 m_filters.
set(value);
12067 m_filters.
set(value);
12074 m_filters.
set(value);
12081 m_filters.
set(value);
12088 m_filters.
set(value);
12095 m_filters.
set(value);
12102 m_filters.
set(value);
12109 m_filters.
set(value);
12116 return m_resampling;
12122 return m_resampling;
12128 m_resampling = value;
12135 m_resampling.
set(value);
12141 typename std::enable_if<std::is_same<T, Settings::Processing::Color>::value,
int>::type = 0>
12149 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type = 0>
12157 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
int>::type =
12166 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
int>::
12175 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::type =
12184 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
int>::type =
12193 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental::Mode>::value,
int>::
12202 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
12210 typename std::enable_if<std::is_same<T, Settings::Processing::Filters>::value,
int>::type = 0>
12218 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Cluster>::value,
int>::type = 0>
12226 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Cluster::Removal>::value,
int>::
12235 typename std::enable_if<
12236 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::Enabled>::value,
12245 typename std::enable_if<
12246 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance>::value,
12255 typename std::enable_if<
12256 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MinArea>::value,
12265 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
int>::
12274 typename std::enable_if<
12275 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
12284 typename std::enable_if<
12285 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
12294 typename std::enable_if<
12307 typename std::enable_if<
12320 typename std::enable_if<
12321 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
12330 typename std::enable_if<
12331 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled>::
12342 typename std::enable_if<
12355 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Hole>::value,
int>::type = 0>
12363 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Hole::Repair>::value,
int>::
12372 typename std::enable_if<
12373 std::is_same<T, Settings::Processing::Filters::Hole::Repair::Enabled>::value,
12382 typename std::enable_if<
12383 std::is_same<T, Settings::Processing::Filters::Hole::Repair::HoleSize>::value,
12392 typename std::enable_if<
12393 std::is_same<T, Settings::Processing::Filters::Hole::Repair::Strictness>::value,
12402 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type = 0>
12410 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
int>::
12419 typename std::enable_if<
12420 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
12429 typename std::enable_if<
12430 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
12439 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Repair>::value,
int>::
12448 typename std::enable_if<
12449 std::is_same<T, Settings::Processing::Filters::Noise::Repair::Enabled>::value,
12459 enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Suppression>::value,
int>::type = 0>
12467 typename std::enable_if<
12468 std::is_same<T, Settings::Processing::Filters::Noise::Suppression::Enabled>::value,
12477 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type = 0>
12485 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
int>::
12494 typename std::enable_if<
12495 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
12504 typename std::enable_if<
12505 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
12514 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
int>::type =
12523 typename std::enable_if<
12524 std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
12533 typename std::enable_if<
12534 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
12543 typename std::enable_if<
12544 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Mode>::value,
12553 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
int>::type =
12562 typename std::enable_if<
12563 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
12572 typename std::enable_if<
12573 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
12582 typename std::enable_if<
12583 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
12592 typename std::enable_if<std::is_same<T, Settings::Processing::Resampling>::value,
int>::type = 0>
12595 return m_resampling;
12600 typename std::enable_if<std::is_same<T, Settings::Processing::Resampling::Mode>::value,
int>::type = 0>
12606 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
12612 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
12618 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
12621 return m_resampling;
12625 template<
typename F>
12634 template<
typename F>
12654 return stream << value.
toString();
12658 void setFromString(
const std::string &value);
12660 void setFromString(
const std::string &fullPath,
const std::string &value);
12662 std::string getString(
const std::string &fullPath)
const;
12668 friend struct DataModel::Detail::Befriend<
Processing>;
12682 static constexpr const char *path{
"RegionOfInterest" };
12685 static constexpr const char *name{
"RegionOfInterest" };
12688 static constexpr const char *description{ R
"description(Removes points outside the region of interest.
12716 static constexpr const char *path{
"RegionOfInterest/Box" };
12719 static constexpr const char *name{
"Box" };
12722 static constexpr const char *description{
12723 R
"description(Removes points outside the given three-dimensional box.
12725Using this feature may significantly speed up acquisition and processing time, because
12726one can avoid acquiring and processing data that is guaranteed to fall outside of the
12727region of interest. The degree of speed-up depends on the size and shape of the box.
12728Generally, a smaller box yields a greater speed-up.
12730The box is defined by three points: O, A and B. These points define two vectors,
12731OA that goes from PointO to PointA, and OB that goes from PointO to PointB.
12732This gives 4 points O, A, B and (O + OA + OB), that together form a
12733parallelogram in 3D.
12735Two extents can be provided, to extrude the parallelogram along the surface
12736normal vector of the parallelogram plane. This creates a 3D volume (parallelepiped).
12737The surface normal vector is defined by the cross product OA x OB.
12751 static constexpr const char *path{
"RegionOfInterest/Box/Enabled" };
12754 static constexpr const char *name{
"Enabled" };
12757 static constexpr const char *description{
12758 R
"description(Enable or disable box filter.)description"
12769 return {
false,
true };
12798 return m_opt == other.m_opt;
12804 return m_opt != other.m_opt;
12810 return stream << value.
toString();
12814 void setFromString(
const std::string &value);
12816 std::optional<bool> m_opt;
12818 friend struct DataModel::Detail::Befriend<
Enabled>;
12831 static constexpr const char *path{
"RegionOfInterest/Box/Extents" };
12834 static constexpr const char *name{
"Extents" };
12837 static constexpr const char *description{
12838 R
"description(Two points on the normal describing the direction and distance from the plane from which the normal is derived.)description"
12868 explicit constexpr Extents(
double minValue,
double maxValue)
12875 return m_opt == other.m_opt;
12881 return m_opt != other.m_opt;
12887 return stream << value.
toString();
12891 void setFromString(
const std::string &value);
12893 std::optional<Zivid::Range<double>> m_opt;
12895 friend struct DataModel::Detail::Befriend<
Extents>;
12908 static constexpr const char *path{
"RegionOfInterest/Box/PointA" };
12911 static constexpr const char *name{
"PointA" };
12914 static constexpr const char *description{
12915 R
"description(A point such that the vector from PointO to PointA describes the first edge of the parallelogram.)description"
12945 explicit constexpr PointA(
float x,
float y,
float z)
12952 return m_opt == other.m_opt;
12958 return m_opt != other.m_opt;
12964 return stream << value.
toString();
12968 void setFromString(
const std::string &value);
12970 std::optional<Zivid::PointXYZ> m_opt;
12972 friend struct DataModel::Detail::Befriend<
PointA>;
12985 static constexpr const char *path{
"RegionOfInterest/Box/PointB" };
12988 static constexpr const char *name{
"PointB" };
12991 static constexpr const char *description{
12992 R
"description(A point such that the vector from PointO to PointB describes the second edge of the parallelogram.)description"
13022 explicit constexpr PointB(
float x,
float y,
float z)
13029 return m_opt == other.m_opt;
13035 return m_opt != other.m_opt;
13041 return stream << value.
toString();
13045 void setFromString(
const std::string &value);
13047 std::optional<Zivid::PointXYZ> m_opt;
13049 friend struct DataModel::Detail::Befriend<
PointB>;
13062 static constexpr const char *path{
"RegionOfInterest/Box/PointO" };
13065 static constexpr const char *name{
"PointO" };
13068 static constexpr const char *description{
13069 R
"description(The point at the intersection of two adjacent edges defining a parallelogram.)description"
13099 explicit constexpr PointO(
float x,
float y,
float z)
13106 return m_opt == other.m_opt;
13112 return m_opt != other.m_opt;
13118 return stream << value.
toString();
13122 void setFromString(
const std::string &value);
13124 std::optional<Zivid::PointXYZ> m_opt;
13126 friend struct DataModel::Detail::Befriend<
PointO>;
13157 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
13158 typename std::enable_if<
13159 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
13163 template<typename... Args>
13167 using namespace Zivid::Detail::TypeTraits;
13170 AllArgsDecayedAreUnique<Args...>::value,
13171 "Found duplicate types among the arguments passed to Box(...). "
13172 "Types should be listed at most once.");
13174 set(std::forward<Args>(args)...);
13192 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
13194 template<typename... Args>
13198 using namespace Zivid::Detail::TypeTraits;
13200 using AllArgsAreDescendantNodes =
13201 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
13203 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
13206 AllArgsDecayedAreUnique<Args...>::value,
13207 "Found duplicate types among the arguments passed to set(...). "
13208 "Types should be listed at most once.");
13210 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
13229 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
13231 template<typename... Args>
13235 using namespace Zivid::Detail::TypeTraits;
13237 using AllArgsAreDescendantNodes =
13238 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
13240 AllArgsAreDescendantNodes::value,
13241 "All arguments passed to copyWith(...) must be descendant nodes.");
13244 AllArgsDecayedAreUnique<Args...>::value,
13245 "Found duplicate types among the arguments passed to copyWith(...). "
13246 "Types should be listed at most once.");
13248 auto copy{ *
this };
13249 copy.set(std::forward<Args>(args)...);
13350 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Enabled>::value,
int>::
13359 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Extents>::value,
int>::
13368 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointA>::value,
int>::
13377 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointB>::value,
int>::
13386 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointO>::value,
int>::
13393 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
13399 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
13405 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
13411 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
13417 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
13424 template<
typename F>
13435 template<
typename F>
13457 return stream << value.
toString();
13461 void setFromString(
const std::string &value);
13463 void setFromString(
const std::string &fullPath,
const std::string &value);
13465 std::string getString(
const std::string &fullPath)
const;
13473 friend struct DataModel::Detail::Befriend<
Box>;
13488 static constexpr const char *path{
"RegionOfInterest/Depth" };
13491 static constexpr const char *name{
"Depth" };
13494 static constexpr const char *description{
13495 R
"description(Removes points that reside outside of a depth range, meaning that their Z coordinate
13496falls above a given maximum or below a given minimum.
13510 static constexpr const char *path{
"RegionOfInterest/Depth/Enabled" };
13513 static constexpr const char *name{
"Enabled" };
13516 static constexpr const char *description{
13517 R
"description(Enable or disable depth filter.)description"
13528 return {
false,
true };
13557 return m_opt == other.m_opt;
13563 return m_opt != other.m_opt;
13569 return stream << value.
toString();
13573 void setFromString(
const std::string &value);
13575 std::optional<bool> m_opt;
13577 friend struct DataModel::Detail::Befriend<
Enabled>;
13590 static constexpr const char *path{
"RegionOfInterest/Depth/Range" };
13593 static constexpr const char *name{
"Range" };
13596 static constexpr const char *description{
13597 R
"description(Specify the minimum and maximum Z value that will be included.)description"
13627 explicit constexpr Range(
double minValue,
double maxValue)
13634 return m_opt == other.m_opt;
13640 return m_opt != other.m_opt;
13646 return stream << value.
toString();
13650 void setFromString(
const std::string &value);
13652 std::optional<Zivid::Range<double>> m_opt;
13654 friend struct DataModel::Detail::Befriend<
Range>;
13658 std::tuple<Settings::RegionOfInterest::Depth::Enabled, Settings::RegionOfInterest::Depth::Range>;
13678 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
13679 typename std::enable_if<
13680 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
13684 template<typename... Args>
13688 using namespace Zivid::Detail::TypeTraits;
13691 AllArgsDecayedAreUnique<Args...>::value,
13692 "Found duplicate types among the arguments passed to Depth(...). "
13693 "Types should be listed at most once.");
13695 set(std::forward<Args>(args)...);
13710 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
13712 template<typename... Args>
13716 using namespace Zivid::Detail::TypeTraits;
13718 using AllArgsAreDescendantNodes =
13719 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
13721 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
13724 AllArgsDecayedAreUnique<Args...>::value,
13725 "Found duplicate types among the arguments passed to set(...). "
13726 "Types should be listed at most once.");
13728 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
13744 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
13746 template<typename... Args>
13750 using namespace Zivid::Detail::TypeTraits;
13752 using AllArgsAreDescendantNodes =
13753 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
13755 AllArgsAreDescendantNodes::value,
13756 "All arguments passed to copyWith(...) must be descendant nodes.");
13759 AllArgsDecayedAreUnique<Args...>::value,
13760 "Found duplicate types among the arguments passed to copyWith(...). "
13761 "Types should be listed at most once.");
13763 auto copy{ *
this };
13764 copy.set(std::forward<Args>(args)...);
13808 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Enabled>::value,
int>::
13817 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Range>::value,
int>::
13824 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
13830 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
13837 template<
typename F>
13845 template<
typename F>
13864 return stream << value.
toString();
13868 void setFromString(
const std::string &value);
13870 void setFromString(
const std::string &fullPath,
const std::string &value);
13872 std::string getString(
const std::string &fullPath)
const;
13877 friend struct DataModel::Detail::Befriend<
Depth>;
13916 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
13917 typename std::enable_if<
13918 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
13922 template<typename... Args>
13926 using namespace Zivid::Detail::TypeTraits;
13929 AllArgsDecayedAreUnique<Args...>::value,
13930 "Found duplicate types among the arguments passed to RegionOfInterest(...). "
13931 "Types should be listed at most once.");
13933 set(std::forward<Args>(args)...);
13955 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
13957 template<typename... Args>
13961 using namespace Zivid::Detail::TypeTraits;
13963 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
13965 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
13968 AllArgsDecayedAreUnique<Args...>::value,
13969 "Found duplicate types among the arguments passed to set(...). "
13970 "Types should be listed at most once.");
13972 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
13995 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
13997 template<typename... Args>
14001 using namespace Zivid::Detail::TypeTraits;
14003 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
14005 AllArgsAreDescendantNodes::value,
14006 "All arguments passed to copyWith(...) must be descendant nodes.");
14009 AllArgsDecayedAreUnique<Args...>::value,
14010 "Found duplicate types among the arguments passed to copyWith(...). "
14011 "Types should be listed at most once.");
14013 auto copy{ *
this };
14014 copy.set(std::forward<Args>(args)...);
14094 m_depth.
set(value);
14101 m_depth.
set(value);
14107 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box>::value,
int>::type = 0>
14115 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Enabled>::value,
int>::type =
14124 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Extents>::value,
int>::type =
14133 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointA>::value,
int>::type = 0>
14141 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointB>::value,
int>::type = 0>
14149 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointO>::value,
int>::type = 0>
14157 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth>::value,
int>::type = 0>
14165 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Enabled>::value,
int>::type =
14174 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Range>::value,
int>::type =
14181 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
14187 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
14194 template<
typename F>
14202 template<
typename F>
14221 return stream << value.
toString();
14225 void setFromString(
const std::string &value);
14227 void setFromString(
const std::string &fullPath,
const std::string &value);
14229 std::string getString(
const std::string &fullPath)
const;
14248 static constexpr const char *path{
"Sampling" };
14251 static constexpr const char *name{
"Sampling" };
14254 static constexpr const char *description{ R
"description(Sampling settings.
14279 static constexpr const char *path{
"Sampling/Color" };
14282 static constexpr const char *name{
"Color" };
14285 static constexpr const char *description{
14286 R
"description(Choose how to sample colors for the point cloud. The `rgb` option gives a 2D image
14287with full colors. The `grayscale` option gives a grayscale (r=g=b) 2D image, which
14288can be acquired faster than full colors. The `disabled` option gives no colors and
14289can allow for even faster captures.
14291The `grayscale` option is not available on all camera models.
14293This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major
14294version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` object
14295in the `Settings/Color` field. Tip: If you want to convert an existing settings.yml file to
14296the recommended API, you can import the .yml file into Zivid Studio and then re-export it to
14315 return { ValueType::rgb, ValueType::disabled, ValueType::grayscale };
14323 : m_opt{ verifyValue(value) }
14350 return m_opt == other.m_opt;
14356 return m_opt != other.m_opt;
14362 return stream << value.
toString();
14366 void setFromString(
const std::string &value);
14368 constexpr ValueType
static verifyValue(
const ValueType &value)
14370 return value == ValueType::rgb || value == ValueType::disabled || value == ValueType::grayscale
14372 :
throw std::invalid_argument{
14373 "Invalid value: Color{ "
14374 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
14378 std::optional<ValueType> m_opt;
14380 friend struct DataModel::Detail::Befriend<
Color>;
14404 static constexpr const char *path{
"Sampling/Pixel" };
14407 static constexpr const char *name{
"Pixel" };
14410 static constexpr const char *description{
14411 R
"description(For Zivid 2/2+, this setting controls whether to read out the full image sensor and
14412use white projector light or to subsample pixels for specific color channels with
14413corresponding projector light. Picking a specific color channel can help reduce noise
14414and effects of ambient light - projecting blue light is recommended.
14416For Zivid 2+R, the user does not have to set the projection color and should only
14417consider whether to scale the resolution `by2x2` or `by4x4`. Both of these modes
14418will boost the signal strength by about 4x compared to `all`, so the user should
14419consider a corresponding reduction in exposure time.
14421Sampling at a decreased resolution decreases capture time, as less data will be captured and processed.
14447 return { ValueType::all,
14448 ValueType::blueSubsample2x2,
14449 ValueType::redSubsample2x2,
14450 ValueType::blueSubsample4x4,
14451 ValueType::redSubsample4x4,
14453 ValueType::by4x4 };
14461 : m_opt{ verifyValue(value) }
14488 return m_opt == other.m_opt;
14494 return m_opt != other.m_opt;
14500 return stream << value.
toString();
14504 void setFromString(
const std::string &value);
14506 constexpr ValueType
static verifyValue(
const ValueType &value)
14508 return value == ValueType::all || value == ValueType::blueSubsample2x2
14509 || value == ValueType::redSubsample2x2 || value == ValueType::blueSubsample4x4
14510 || value == ValueType::redSubsample4x4 || value == ValueType::by2x2
14511 || value == ValueType::by4x4
14513 :
throw std::invalid_argument{
14514 "Invalid value: Pixel{ "
14515 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
14519 std::optional<ValueType> m_opt;
14521 friend struct DataModel::Detail::Befriend<
Pixel>;
14524 using Descendants = std::tuple<Settings::Sampling::Color, Settings::Sampling::Pixel>;
14544 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
14545 typename std::enable_if<
14546 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
14550 template<typename... Args>
14554 using namespace Zivid::Detail::TypeTraits;
14557 AllArgsDecayedAreUnique<Args...>::value,
14558 "Found duplicate types among the arguments passed to Sampling(...). "
14559 "Types should be listed at most once.");
14561 set(std::forward<Args>(args)...);
14576 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
14578 template<typename... Args>
14582 using namespace Zivid::Detail::TypeTraits;
14584 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
14586 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
14589 AllArgsDecayedAreUnique<Args...>::value,
14590 "Found duplicate types among the arguments passed to set(...). "
14591 "Types should be listed at most once.");
14593 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
14609 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
14611 template<typename... Args>
14615 using namespace Zivid::Detail::TypeTraits;
14617 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
14619 AllArgsAreDescendantNodes::value,
14620 "All arguments passed to copyWith(...) must be descendant nodes.");
14623 AllArgsDecayedAreUnique<Args...>::value,
14624 "Found duplicate types among the arguments passed to copyWith(...). "
14625 "Types should be listed at most once.");
14627 auto copy{ *
this };
14628 copy.set(std::forward<Args>(args)...);
14672 typename std::enable_if<std::is_same<T, Settings::Sampling::Color>::value,
int>::type = 0>
14680 typename std::enable_if<std::is_same<T, Settings::Sampling::Pixel>::value,
int>::type = 0>
14686 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
14692 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
14699 template<
typename F>
14707 template<
typename F>
14726 return stream << value.
toString();
14730 void setFromString(
const std::string &value);
14732 void setFromString(
const std::string &fullPath,
const std::string &value);
14734 std::string getString(
const std::string &fullPath)
const;
14739 friend struct DataModel::Detail::Befriend<
Sampling>;
14913 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
14914 typename std::enable_if<
14915 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
14918 template<typename... Args>
14922 using namespace Zivid::Detail::TypeTraits;
14925 AllArgsDecayedAreUnique<Args...>::value,
14926 "Found duplicate types among the arguments passed to Settings(...). "
14927 "Types should be listed at most once.");
14929 set(std::forward<Args>(args)...);
15010 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
15012 template<typename... Args>
15016 using namespace Zivid::Detail::TypeTraits;
15018 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
15020 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
15023 AllArgsDecayedAreUnique<Args...>::value,
15024 "Found duplicate types among the arguments passed to set(...). "
15025 "Types should be listed at most once.");
15027 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
15109 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
15111 template<typename... Args>
15115 using namespace Zivid::Detail::TypeTraits;
15117 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
15119 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
15122 AllArgsDecayedAreUnique<Args...>::value,
15123 "Found duplicate types among the arguments passed to copyWith(...). "
15124 "Types should be listed at most once.");
15126 auto copy{ *
this };
15127 copy.set(std::forward<Args>(args)...);
15134 return m_acquisitions;
15140 return m_acquisitions;
15146 m_acquisitions = value;
15172 return m_diagnostics;
15178 return m_diagnostics;
15184 m_diagnostics = value;
15191 m_diagnostics.
set(value);
15217 return m_processing;
15223 return m_processing;
15229 m_processing = value;
15236 m_processing.
set(value);
15243 m_processing.
set(value);
15250 m_processing.
set(value);
15257 m_processing.
set(value);
15264 m_processing.
set(value);
15271 m_processing.
set(value);
15278 m_processing.
set(value);
15285 m_processing.
set(value);
15292 m_processing.
set(value);
15299 m_processing.
set(value);
15306 m_processing.
set(value);
15313 m_processing.
set(value);
15320 m_processing.
set(value);
15327 m_processing.
set(value);
15334 m_processing.
set(value);
15341 m_processing.
set(value);
15348 m_processing.
set(value);
15355 m_processing.
set(value);
15362 m_processing.
set(value);
15369 m_processing.
set(value);
15376 m_processing.
set(value);
15383 m_processing.
set(value);
15390 m_processing.
set(value);
15397 m_processing.
set(value);
15404 m_processing.
set(value);
15411 m_processing.
set(value);
15418 m_processing.
set(value);
15425 m_processing.
set(value);
15432 m_processing.
set(value);
15439 m_processing.
set(value);
15446 m_processing.
set(value);
15453 m_processing.
set(value);
15460 m_processing.
set(value);
15467 m_processing.
set(value);
15474 m_processing.
set(value);
15481 m_processing.
set(value);
15488 m_processing.
set(value);
15495 m_processing.
set(value);
15502 m_processing.
set(value);
15509 m_processing.
set(value);
15516 m_processing.
set(value);
15523 m_processing.
set(value);
15530 m_processing.
set(value);
15537 m_processing.
set(value);
15544 m_processing.
set(value);
15551 m_processing.
set(value);
15558 m_processing.
set(value);
15565 m_processing.
set(value);
15572 m_processing.
set(value);
15579 return m_regionOfInterest;
15585 return m_regionOfInterest;
15591 m_regionOfInterest = value;
15598 m_regionOfInterest.
set(value);
15605 m_regionOfInterest.
set(value);
15612 m_regionOfInterest.
set(value);
15619 m_regionOfInterest.
set(value);
15626 m_regionOfInterest.
set(value);
15633 m_regionOfInterest.
set(value);
15640 m_regionOfInterest.
set(value);
15647 m_regionOfInterest.
set(value);
15654 m_regionOfInterest.
set(value);
15673 m_sampling = value;
15680 m_sampling.
set(value);
15687 m_sampling.
set(value);
15691 template<typename T, typename std::enable_if<std::is_same<T, Settings::Acquisitions>::value,
int>::type = 0>
15694 return m_acquisitions;
15697 template<typename T, typename std::enable_if<std::is_same<T, Settings::Color>::value,
int>::type = 0>
15703 template<typename T, typename std::enable_if<std::is_same<T, Settings::Diagnostics>::value,
int>::type = 0>
15706 return m_diagnostics;
15711 typename std::enable_if<std::is_same<T, Settings::Diagnostics::Enabled>::value,
int>::type = 0>
15717 template<typename T, typename std::enable_if<std::is_same<T, Settings::Engine>::value,
int>::type = 0>
15723 template<typename T, typename std::enable_if<std::is_same<T, Settings::Processing>::value,
int>::type = 0>
15726 return m_processing;
15731 typename std::enable_if<std::is_same<T, Settings::Processing::Color>::value,
int>::type = 0>
15739 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type = 0>
15747 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
int>::type = 0>
15755 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
int>::type = 0>
15763 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::type = 0>
15771 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
int>::type = 0>
15779 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental::Mode>::value,
int>::
15788 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
15796 typename std::enable_if<std::is_same<T, Settings::Processing::Filters>::value,
int>::type = 0>
15804 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Cluster>::value,
int>::type = 0>
15812 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Cluster::Removal>::value,
int>::
15821 typename std::enable_if<
15822 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::Enabled>::value,
15831 typename std::enable_if<
15832 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance>::value,
15841 typename std::enable_if<
15842 std::is_same<T, Settings::Processing::Filters::Cluster::Removal::MinArea>::value,
15851 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
int>::type = 0>
15859 typename std::enable_if<
15860 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
15869 typename std::enable_if<
15870 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
15879 typename std::enable_if<
15880 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled>::
15885 return m_processing
15891 typename std::enable_if<
15892 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength>::
15897 return m_processing
15903 typename std::enable_if<
15904 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
15913 typename std::enable_if<
15914 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled>::
15919 return m_processing
15925 typename std::enable_if<
15926 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold>::
15931 return m_processing
15937 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Hole>::value,
int>::type = 0>
15945 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Hole::Repair>::value,
int>::type = 0>
15953 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Hole::Repair::Enabled>::value,
int>::
15963 enable_if<std::is_same<T, Settings::Processing::Filters::Hole::Repair::HoleSize>::value,
int>::type = 0>
15971 typename std::enable_if<
15972 std::is_same<T, Settings::Processing::Filters::Hole::Repair::Strictness>::value,
15981 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type = 0>
15989 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
int>::type =
15998 typename std::enable_if<
15999 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
16008 typename std::enable_if<
16009 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
16018 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Repair>::value,
int>::type =
16028 enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Repair::Enabled>::value,
int>::type = 0>
16036 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Suppression>::value,
int>::
16045 typename std::enable_if<
16046 std::is_same<T, Settings::Processing::Filters::Noise::Suppression::Enabled>::value,
16055 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type = 0>
16063 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
int>::
16072 typename std::enable_if<
16073 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
16082 typename std::enable_if<
16083 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
16092 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
int>::type = 0>
16100 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
int>::
16109 typename std::enable_if<
16110 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
16119 typename std::enable_if<
16120 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Mode>::value,
16129 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
int>::type = 0>
16137 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
int>::
16146 typename std::enable_if<
16147 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
16156 typename std::enable_if<
16157 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
16166 typename std::enable_if<std::is_same<T, Settings::Processing::Resampling>::value,
int>::type = 0>
16174 typename std::enable_if<std::is_same<T, Settings::Processing::Resampling::Mode>::value,
int>::type = 0>
16180 template<typename T, typename std::enable_if<std::is_same<T, Settings::RegionOfInterest>::value,
int>::type = 0>
16183 return m_regionOfInterest;
16188 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box>::value,
int>::type = 0>
16196 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Enabled>::value,
int>::type = 0>
16204 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::Extents>::value,
int>::type = 0>
16212 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointA>::value,
int>::type = 0>
16220 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointB>::value,
int>::type = 0>
16228 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Box::PointO>::value,
int>::type = 0>
16236 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth>::value,
int>::type = 0>
16244 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Enabled>::value,
int>::type = 0>
16252 typename std::enable_if<std::is_same<T, Settings::RegionOfInterest::Depth::Range>::value,
int>::type = 0>
16258 template<typename T, typename std::enable_if<std::is_same<T, Settings::Sampling>::value,
int>::type = 0>
16264 template<typename T, typename std::enable_if<std::is_same<T, Settings::Sampling::Color>::value,
int>::type = 0>
16270 template<typename T, typename std::enable_if<std::is_same<T, Settings::Sampling::Pixel>::value,
int>::type = 0>
16276 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
16279 return m_acquisitions;
16282 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
16288 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
16291 return m_diagnostics;
16294 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
16300 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
16303 return m_processing;
16306 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
16309 return m_regionOfInterest;
16312 template<size_t i, typename std::enable_if<i == 6, int>::type = 0>
16319 template<
typename F>
16327 f(m_regionOfInterest);
16332 template<
typename F>
16340 f(m_regionOfInterest);
16356 return stream << value.
toString();
16360 void save(
const std::string &fileName)
const;
16363 void load(
const std::string &fileName);
16366 void setFromString(
const std::string &value);
16368 void setFromString(
const std::string &fullPath,
const std::string &value);
16370 std::string getString(
const std::string &fullPath)
const;
16380 friend struct DataModel::Detail::Befriend<
Settings>;
16385 struct Settings::Version<27>
16408# pragma warning(pop)
16412# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
16417 struct tuple_size<
Zivid::Settings::Diagnostics> : integral_constant<size_t, 1>
16421 struct tuple_element<i,
Zivid::Settings::Diagnostics>
16423 static_assert(i < tuple_size<Zivid::Settings::Diagnostics>::value,
"Index must be less than 1");
16426 =
decltype(declval<Zivid::Settings::Diagnostics>().get<i>());
16430 struct tuple_size<
Zivid::Settings::Processing> : integral_constant<size_t, 3>
16434 struct tuple_element<i,
Zivid::Settings::Processing>
16436 static_assert(i < tuple_size<Zivid::Settings::Processing>::value,
"Index must be less than 3");
16439 =
decltype(declval<Zivid::Settings::Processing>().get<i>());
16443 struct tuple_size<
Zivid::Settings::Processing::Color> : integral_constant<size_t, 3>
16447 struct tuple_element<i,
Zivid::Settings::Processing::Color>
16449 static_assert(i < tuple_size<Zivid::Settings::Processing::Color>::value,
"Index must be less than 3");
16452 =
decltype(declval<Zivid::Settings::Processing::Color>().get<i>());
16456 struct tuple_size<
Zivid::Settings::Processing::Color::Balance> : integral_constant<size_t, 3>
16460 struct tuple_element<i,
Zivid::Settings::Processing::Color::Balance>
16462 static_assert(i < tuple_size<Zivid::Settings::Processing::Color::Balance>::value,
"Index must be less than 3");
16465 =
decltype(declval<Zivid::Settings::Processing::Color::Balance>().get<i>());
16469 struct tuple_size<
Zivid::Settings::Processing::Color::Experimental> : integral_constant<size_t, 1>
16473 struct tuple_element<i,
Zivid::Settings::Processing::Color::Experimental>
16476 i < tuple_size<Zivid::Settings::Processing::Color::Experimental>::value,
16477 "Index must be less than 1");
16480 =
decltype(declval<Zivid::Settings::Processing::Color::Experimental>().get<i>());
16484 struct tuple_size<
Zivid::Settings::Processing::Filters> : integral_constant<size_t, 7>
16488 struct tuple_element<i,
Zivid::Settings::Processing::Filters>
16490 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters>::value,
"Index must be less than 7");
16493 =
decltype(declval<Zivid::Settings::Processing::Filters>().get<i>());
16497 struct tuple_size<
Zivid::Settings::Processing::Filters::Cluster> : integral_constant<size_t, 1>
16501 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Cluster>
16504 i < tuple_size<Zivid::Settings::Processing::Filters::Cluster>::value,
16505 "Index must be less than 1");
16508 =
decltype(declval<Zivid::Settings::Processing::Filters::Cluster>().get<i>());
16512 struct tuple_size<
Zivid::Settings::Processing::Filters::Cluster::Removal> : integral_constant<size_t, 3>
16516 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Cluster::Removal>
16519 i < tuple_size<Zivid::Settings::Processing::Filters::Cluster::Removal>::value,
16520 "Index must be less than 3");
16523 =
decltype(declval<Zivid::Settings::Processing::Filters::Cluster::Removal>().get<i>());
16527 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental> : integral_constant<size_t, 1>
16531 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental>
16534 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental>::value,
16535 "Index must be less than 1");
16538 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental>().get<i>());
16542 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>
16543 : integral_constant<size_t, 2>
16547 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>
16550 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
16551 "Index must be less than 2");
16554 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>().get<i>());
16558 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>
16559 : integral_constant<size_t, 2>
16563 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>
16566 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
16567 "Index must be less than 2");
16570 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>()
16575 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>
16576 : integral_constant<size_t, 2>
16580 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>
16583 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
16584 "Index must be less than 2");
16587 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>()
16592 struct tuple_size<
Zivid::Settings::Processing::Filters::Hole> : integral_constant<size_t, 1>
16596 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Hole>
16598 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Hole>::value,
"Index must be less than 1");
16601 =
decltype(declval<Zivid::Settings::Processing::Filters::Hole>().get<i>());
16605 struct tuple_size<
Zivid::Settings::Processing::Filters::Hole::Repair> : integral_constant<size_t, 3>
16609 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Hole::Repair>
16612 i < tuple_size<Zivid::Settings::Processing::Filters::Hole::Repair>::value,
16613 "Index must be less than 3");
16616 =
decltype(declval<Zivid::Settings::Processing::Filters::Hole::Repair>().get<i>());
16620 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise> : integral_constant<size_t, 3>
16624 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise>
16626 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Noise>::value,
"Index must be less than 3");
16629 =
decltype(declval<Zivid::Settings::Processing::Filters::Noise>().get<i>());
16633 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise::Removal> : integral_constant<size_t, 2>
16637 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise::Removal>
16640 i < tuple_size<Zivid::Settings::Processing::Filters::Noise::Removal>::value,
16641 "Index must be less than 2");
16644 =
decltype(declval<Zivid::Settings::Processing::Filters::Noise::Removal>().get<i>());
16648 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise::Repair> : integral_constant<size_t, 1>
16652 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise::Repair>
16655 i < tuple_size<Zivid::Settings::Processing::Filters::Noise::Repair>::value,
16656 "Index must be less than 1");
16659 =
decltype(declval<Zivid::Settings::Processing::Filters::Noise::Repair>().get<i>());
16663 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise::Suppression> : integral_constant<size_t, 1>
16667 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise::Suppression>
16670 i < tuple_size<Zivid::Settings::Processing::Filters::Noise::Suppression>::value,
16671 "Index must be less than 1");
16674 =
decltype(declval<Zivid::Settings::Processing::Filters::Noise::Suppression>().get<i>());
16678 struct tuple_size<
Zivid::Settings::Processing::Filters::Outlier> : integral_constant<size_t, 1>
16682 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Outlier>
16685 i < tuple_size<Zivid::Settings::Processing::Filters::Outlier>::value,
16686 "Index must be less than 1");
16689 =
decltype(declval<Zivid::Settings::Processing::Filters::Outlier>().get<i>());
16693 struct tuple_size<
Zivid::Settings::Processing::Filters::Outlier::Removal> : integral_constant<size_t, 2>
16697 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Outlier::Removal>
16700 i < tuple_size<Zivid::Settings::Processing::Filters::Outlier::Removal>::value,
16701 "Index must be less than 2");
16704 =
decltype(declval<Zivid::Settings::Processing::Filters::Outlier::Removal>().get<i>());
16708 struct tuple_size<
Zivid::Settings::Processing::Filters::Reflection> : integral_constant<size_t, 1>
16712 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Reflection>
16715 i < tuple_size<Zivid::Settings::Processing::Filters::Reflection>::value,
16716 "Index must be less than 1");
16719 =
decltype(declval<Zivid::Settings::Processing::Filters::Reflection>().get<i>());
16723 struct tuple_size<
Zivid::Settings::Processing::Filters::Reflection::Removal> : integral_constant<size_t, 2>
16727 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Reflection::Removal>
16730 i < tuple_size<Zivid::Settings::Processing::Filters::Reflection::Removal>::value,
16731 "Index must be less than 2");
16734 =
decltype(declval<Zivid::Settings::Processing::Filters::Reflection::Removal>().get<i>());
16738 struct tuple_size<
Zivid::Settings::Processing::Filters::Smoothing> : integral_constant<size_t, 1>
16742 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Smoothing>
16745 i < tuple_size<Zivid::Settings::Processing::Filters::Smoothing>::value,
16746 "Index must be less than 1");
16749 =
decltype(declval<Zivid::Settings::Processing::Filters::Smoothing>().get<i>());
16753 struct tuple_size<
Zivid::Settings::Processing::Filters::Smoothing::Gaussian> : integral_constant<size_t, 2>
16757 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Smoothing::Gaussian>
16760 i < tuple_size<Zivid::Settings::Processing::Filters::Smoothing::Gaussian>::value,
16761 "Index must be less than 2");
16764 =
decltype(declval<Zivid::Settings::Processing::Filters::Smoothing::Gaussian>().get<i>());
16768 struct tuple_size<
Zivid::Settings::Processing::Resampling> : integral_constant<size_t, 1>
16772 struct tuple_element<i,
Zivid::Settings::Processing::Resampling>
16774 static_assert(i < tuple_size<Zivid::Settings::Processing::Resampling>::value,
"Index must be less than 1");
16777 =
decltype(declval<Zivid::Settings::Processing::Resampling>().get<i>());
16781 struct tuple_size<
Zivid::Settings::RegionOfInterest> : integral_constant<size_t, 2>
16785 struct tuple_element<i,
Zivid::Settings::RegionOfInterest>
16787 static_assert(i < tuple_size<Zivid::Settings::RegionOfInterest>::value,
"Index must be less than 2");
16790 =
decltype(declval<Zivid::Settings::RegionOfInterest>().get<i>());
16794 struct tuple_size<
Zivid::Settings::RegionOfInterest::Box> : integral_constant<size_t, 5>
16798 struct tuple_element<i,
Zivid::Settings::RegionOfInterest::Box>
16800 static_assert(i < tuple_size<Zivid::Settings::RegionOfInterest::Box>::value,
"Index must be less than 5");
16803 =
decltype(declval<Zivid::Settings::RegionOfInterest::Box>().get<i>());
16807 struct tuple_size<
Zivid::Settings::RegionOfInterest::Depth> : integral_constant<size_t, 2>
16811 struct tuple_element<i,
Zivid::Settings::RegionOfInterest::Depth>
16813 static_assert(i < tuple_size<Zivid::Settings::RegionOfInterest::Depth>::value,
"Index must be less than 2");
16816 =
decltype(declval<Zivid::Settings::RegionOfInterest::Depth>().get<i>());
16820 struct tuple_size<
Zivid::Settings::Sampling> : integral_constant<size_t, 2>
16824 struct tuple_element<i,
Zivid::Settings::Sampling>
16826 static_assert(i < tuple_size<Zivid::Settings::Sampling>::value,
"Index must be less than 2");
16829 =
decltype(declval<Zivid::Settings::Sampling>().get<i>());
16833 struct tuple_size<
Zivid::Settings> : integral_constant<size_t, 7>
16837 struct tuple_element<i,
Zivid::Settings>
16839 static_assert(i < tuple_size<Zivid::Settings>::value,
"Index must be less than 7");
16842 =
decltype(declval<Zivid::Settings>().get<i>());
16851#if defined(__has_include) && !defined(NO_DOC)
16852# if __has_include("Zivid/SettingsInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
16853# 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:75
Settings used when capturing 2D images with a Zivid camera.
Definition Settings2D.h:79
Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to the effe...
Definition Settings.h:135
bool operator<(const Aperture &other) const
Comparison operator.
Definition Settings.h:198
friend std::ostream & operator<<(std::ostream &stream, const Aperture &value)
Operator to serialize the value to a stream.
Definition Settings.h:222
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:210
bool operator>(const Aperture &other) const
Comparison operator.
Definition Settings.h:204
bool operator==(const Aperture &other) const
Comparison operator.
Definition Settings.h:186
bool operator>=(const Aperture &other) const
Comparison operator.
Definition Settings.h:216
bool operator!=(const Aperture &other) const
Comparison operator.
Definition Settings.h:192
Aperture()=default
Default constructor.
constexpr Aperture(double value)
Constructor.
Definition Settings.h:166
double ValueType
The type of the underlying value.
Definition Settings.h:154
void reset()
Reset the node to unset state.
static constexpr Range< double > validRange()
The range of valid values for Aperture.
Definition Settings.h:157
bool hasValue() const
Check if the value is set.
Brightness controls the light output from the projector.
Definition Settings.h:258
bool operator<=(const Brightness &other) const
Comparison operator.
Definition Settings.h:341
bool operator!=(const Brightness &other) const
Comparison operator.
Definition Settings.h:323
bool operator>=(const Brightness &other) const
Comparison operator.
Definition Settings.h:347
bool operator<(const Brightness &other) const
Comparison operator.
Definition Settings.h:329
bool operator>(const Brightness &other) const
Comparison operator.
Definition Settings.h:335
void reset()
Reset the node to unset state.
static constexpr Range< double > validRange()
The range of valid values for Brightness.
Definition Settings.h:288
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:353
constexpr Brightness(double value)
Constructor.
Definition Settings.h:297
bool hasValue() const
Check if the value is set.
Brightness()=default
Default constructor.
double ValueType
The type of the underlying value.
Definition Settings.h:285
bool operator==(const Brightness &other) const
Comparison operator.
Definition Settings.h:317
Exposure time for each single image in the measurement. Affects frame rate.
Definition Settings.h:379
bool operator>=(const ExposureTime &other) const
Comparison operator.
Definition Settings.h:458
bool operator<(const ExposureTime &other) const
Comparison operator.
Definition Settings.h:440
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:446
std::chrono::microseconds ValueType
The type of the underlying value.
Definition Settings.h:396
bool operator==(const ExposureTime &other) const
Comparison operator.
Definition Settings.h:428
bool operator!=(const ExposureTime &other) const
Comparison operator.
Definition Settings.h:434
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:399
constexpr ExposureTime(std::chrono::microseconds value)
Constructor.
Definition Settings.h:408
friend std::ostream & operator<<(std::ostream &stream, const ExposureTime &value)
Operator to serialize the value to a stream.
Definition Settings.h:464
bool operator<=(const ExposureTime &other) const
Comparison operator.
Definition Settings.h:452
Analog gain in the camera.
Definition Settings.h:491
bool operator==(const Gain &other) const
Comparison operator.
Definition Settings.h:538
friend std::ostream & operator<<(std::ostream &stream, const Gain &value)
Operator to serialize the value to a stream.
Definition Settings.h:574
constexpr Gain(double value)
Constructor.
Definition Settings.h:518
bool operator>=(const Gain &other) const
Comparison operator.
Definition Settings.h:568
void reset()
Reset the node to unset state.
bool operator<=(const Gain &other) const
Comparison operator.
Definition Settings.h:562
static constexpr Range< double > validRange()
The range of valid values for Gain.
Definition Settings.h:509
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:506
std::string toString() const
Get the value as string.
bool operator!=(const Gain &other) const
Comparison operator.
Definition Settings.h:544
bool operator>(const Gain &other) const
Comparison operator.
Definition Settings.h:556
bool operator<(const Gain &other) const
Comparison operator.
Definition Settings.h:550
Settings for a single acquisition.
Definition Settings.h:115
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:848
Acquisition & set(const Aperture &value)
Set Aperture.
Definition Settings.h:727
const Aperture & aperture() const
Get Aperture.
Definition Settings.h:715
std::tuple< Settings::Acquisition::Aperture, Settings::Acquisition::Brightness, Settings::Acquisition::ExposureTime, Settings::Acquisition::Gain > Descendants
Definition Settings.h:596
Gain & gain()
Get Gain.
Definition Settings.h:778
const Settings::Acquisition::Aperture & get() const
Definition Settings.h:793
Brightness & brightness()
Get Brightness.
Definition Settings.h:740
friend std::ostream & operator<<(std::ostream &stream, const Acquisition &value)
Operator to send the value as string to a stream.
Definition Settings.h:876
bool operator==(const Acquisition &other) const
Equality operator.
const Settings::Acquisition::ExposureTime & get() const
Definition Settings.h:809
bool operator!=(const Acquisition &other) const
Inequality operator.
const ExposureTime & exposureTime() const
Get ExposureTime.
Definition Settings.h:753
Acquisition & set(const Brightness &value)
Set Brightness.
Definition Settings.h:746
Acquisition & set(const ExposureTime &value)
Set ExposureTime.
Definition Settings.h:765
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:660
const Brightness & brightness() const
Get Brightness.
Definition Settings.h:734
const Settings::Acquisition::Gain & get() const
Definition Settings.h:817
Acquisition & set(const Gain &value)
Set Gain.
Definition Settings.h:784
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:695
Aperture & aperture()
Get Aperture.
Definition Settings.h:721
const Settings::Acquisition::Brightness & get() const
Definition Settings.h:801
ExposureTime & exposureTime()
Get ExposureTime.
Definition Settings.h:759
const Gain & gain() const
Get Gain.
Definition Settings.h:772
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:858
List of Acquisition objects.
Definition Settings.h:900
bool operator!=(const Acquisitions &other) const
Comparison operator.
Definition Settings.h:1038
std::vector< Settings::Acquisition >::const_iterator ConstIterator
Constant iterator type for Acquisitions.
Definition Settings.h:1017
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:999
std::vector< Settings::Acquisition >::iterator Iterator
Iterator type for Acquisitions.
Definition Settings.h:1008
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:932
friend std::ostream & operator<<(std::ostream &stream, const Acquisitions &value)
Operator to serialize the value to a stream.
Definition Settings.h:1044
void forEach(const F &f)
Run the given function on each element in the list.
Definition Settings.h:989
Acquisitions(std::vector< Settings::Acquisition > value)
Constructor.
Definition Settings.h:927
std::vector< Settings::Acquisition > ValueType
The type of the underlying value.
Definition Settings.h:915
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Acquisitions.
Definition Settings.h:918
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.
Specify the settings used for the 2D color image when doing a 2D+3D capture. The value type of this n...
Definition Settings.h:1081
std::string toString() const
Get the value as string.
Color()=default
Default constructor.
void reset()
Reset the node to unset state.
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to serialize the value to a stream.
Definition Settings.h:1162
const Zivid::Settings2D & value() const
Get the value.
Color(Zivid::Settings2D value)
Constructor.
Definition Settings.h:1124
Zivid::Settings2D & value()
Get a mutable reference to the value.
bool hasValue() const
Check if the value is set.
bool operator==(const Color &other) const
Comparison operator.
Definition Settings.h:1150
bool operator!=(const Color &other) const
Comparison operator.
Definition Settings.h:1156
Enable or disable diagnostics.
Definition Settings.h:1211
static const Enabled no
Off/disabled.
Definition Settings.h:1228
bool hasValue() const
Check if the value is set.
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:1231
void reset()
Reset the node to unset state.
Enabled()=default
Default constructor.
bool ValueType
The type of the underlying value.
Definition Settings.h:1226
static const Enabled yes
On/enabled.
Definition Settings.h:1227
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:1260
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:1272
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:1240
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:1266
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:1185
friend std::ostream & operator<<(std::ostream &stream, const Diagnostics &value)
Operator to send the value as string to a stream.
Definition Settings.h:1447
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:1425
std::tuple< Settings::Diagnostics::Enabled > Descendants
Definition Settings.h:1285
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:1371
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:1432
Diagnostics()
Default constructor.
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:1397
bool operator==(const Diagnostics &other) const
Equality operator.
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:1339
const Settings::Diagnostics::Enabled & get() const
Definition Settings.h:1412
bool operator!=(const Diagnostics &other) const
Inequality operator.
Diagnostics & set(const Enabled &value)
Set Enabled.
Definition Settings.h:1403
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:1391
Set the Zivid Vision Engine to use.
Definition Settings.h:1491
std::string toString() const
Get the value as string.
bool operator==(const Engine &other) const
Comparison operator.
Definition Settings.h:1577
bool operator!=(const Engine &other) const
Comparison operator.
Definition Settings.h:1583
static const Engine omni
omni
Definition Settings.h:1538
friend std::ostream & operator<<(std::ostream &stream, const Engine &value)
Operator to serialize the value to a stream.
Definition Settings.h:1589
static const Engine sage
sage
Definition Settings.h:1539
static std::set< ValueType > validValues()
All valid values of Engine.
Definition Settings.h:1542
void reset()
Reset the node to unset state.
ValueType value() const
Get the value.
static const Engine stripe
stripe
Definition Settings.h:1537
static const Engine phase
phase
Definition Settings.h:1536
Engine()=default
Default constructor.
ValueType
The type of the underlying value.
Definition Settings.h:1530
constexpr Engine(ValueType value)
Constructor.
Definition Settings.h:1551
bool hasValue() const
Check if the value is set.
friend std::ostream & operator<<(std::ostream &stream, const Engine::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings.h:1571
Digital gain applied to blue channel.
Definition Settings.h:1692
friend std::ostream & operator<<(std::ostream &stream, const Blue &value)
Operator to serialize the value to a stream.
Definition Settings.h:1782
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:1746
bool operator>=(const Blue &other) const
Comparison operator.
Definition Settings.h:1776
std::string toString() const
Get the value as string.
bool operator<(const Blue &other) const
Comparison operator.
Definition Settings.h:1758
constexpr Blue(double value)
Constructor.
Definition Settings.h:1726
Blue()=default
Default constructor.
bool operator<=(const Blue &other) const
Comparison operator.
Definition Settings.h:1770
bool operator!=(const Blue &other) const
Comparison operator.
Definition Settings.h:1752
bool hasValue() const
Check if the value is set.
double ValueType
The type of the underlying value.
Definition Settings.h:1714
bool operator>(const Blue &other) const
Comparison operator.
Definition Settings.h:1764
static constexpr Range< double > validRange()
The range of valid values for Blue.
Definition Settings.h:1717
Digital gain applied to green channel.
Definition Settings.h:1816
void reset()
Reset the node to unset state.
bool operator>(const Green &other) const
Comparison operator.
Definition Settings.h:1888
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:1906
double ValueType
The type of the underlying value.
Definition Settings.h:1838
bool operator>=(const Green &other) const
Comparison operator.
Definition Settings.h:1900
constexpr Green(double value)
Constructor.
Definition Settings.h:1850
bool operator==(const Green &other) const
Comparison operator.
Definition Settings.h:1870
bool operator!=(const Green &other) const
Comparison operator.
Definition Settings.h:1876
Green()=default
Default constructor.
std::string toString() const
Get the value as string.
bool operator<(const Green &other) const
Comparison operator.
Definition Settings.h:1882
static constexpr Range< double > validRange()
The range of valid values for Green.
Definition Settings.h:1841
bool operator<=(const Green &other) const
Comparison operator.
Definition Settings.h:1894
Digital gain applied to red channel.
Definition Settings.h:1940
bool operator!=(const Red &other) const
Comparison operator.
Definition Settings.h:2000
constexpr Red(double value)
Constructor.
Definition Settings.h:1974
friend std::ostream & operator<<(std::ostream &stream, const Red &value)
Operator to serialize the value to a stream.
Definition Settings.h:2030
bool operator>=(const Red &other) const
Comparison operator.
Definition Settings.h:2024
double ValueType
The type of the underlying value.
Definition Settings.h:1962
static constexpr Range< double > validRange()
The range of valid values for Red.
Definition Settings.h:1965
double value() const
Get the value.
bool operator==(const Red &other) const
Comparison operator.
Definition Settings.h:1994
Red()=default
Default constructor.
bool operator<(const Red &other) const
Comparison operator.
Definition Settings.h:2006
void reset()
Reset the node to unset state.
bool operator>(const Red &other) const
Comparison operator.
Definition Settings.h:2012
bool hasValue() const
Check if the value is set.
bool operator<=(const Red &other) const
Comparison operator.
Definition Settings.h:2018
std::string toString() const
Get the value as string.
Color balance settings.
Definition Settings.h:1667
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:2114
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:2276
bool operator!=(const Balance &other) const
Inequality operator.
Balance & set(const Red &value)
Set Red.
Definition Settings.h:2221
Green & green()
Get Green.
Definition Settings.h:2196
std::string toString() const
Get the value as string.
Red & red()
Get Red.
Definition Settings.h:2215
std::tuple< Settings::Processing::Color::Balance::Blue, Settings::Processing::Color::Balance::Green, Settings::Processing::Color::Balance::Red > Descendants
Definition Settings.h:2053
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:2150
Balance & set(const Blue &value)
Set Blue.
Definition Settings.h:2183
Blue & blue()
Get Blue.
Definition Settings.h:2177
const Red & red() const
Get Red.
Definition Settings.h:2209
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:2285
const Settings::Processing::Color::Balance::Green & get() const
Definition Settings.h:2242
const Settings::Processing::Color::Balance::Red & get() const
Definition Settings.h:2251
Balance & set(const Green &value)
Set Green.
Definition Settings.h:2202
const Green & green() const
Get Green.
Definition Settings.h:2190
friend std::ostream & operator<<(std::ostream &stream, const Balance &value)
Operator to send the value as string to a stream.
Definition Settings.h:2302
const Settings::Processing::Color::Balance::Blue & get() const
Definition Settings.h:2232
const Blue & blue() const
Get Blue.
Definition Settings.h:2171
Balance()
Default constructor.
This setting controls how the color image is computed.
Definition Settings.h:2372
static const Mode toneMapping
toneMapping
Definition Settings.h:2424
ValueType value() const
Get the value.
std::string toString() const
Get the value as string.
static const Mode automatic
automatic
Definition Settings.h:2422
friend std::ostream & operator<<(std::ostream &stream, const Mode &value)
Operator to serialize the value to a stream.
Definition Settings.h:2474
void reset()
Reset the node to unset state.
static const Mode useFirstAcquisition
useFirstAcquisition
Definition Settings.h:2423
bool operator!=(const Mode &other) const
Comparison operator.
Definition Settings.h:2468
bool operator==(const Mode &other) const
Comparison operator.
Definition Settings.h:2462
ValueType
The type of the underlying value.
Definition Settings.h:2417
bool hasValue() const
Check if the value is set.
constexpr Mode(ValueType value)
Constructor.
Definition Settings.h:2436
static std::set< ValueType > validValues()
All valid values of Mode.
Definition Settings.h:2427
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:2456
Experimental color settings. These may be renamed, moved or deleted in the future.
Definition Settings.h:2325
std::tuple< Settings::Processing::Color::Experimental::Mode > Descendants
Definition Settings.h:2499
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:2666
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:2651
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:2553
std::string toString() const
Get the value as string.
Experimental & set(const Mode &value)
Set Mode.
Definition Settings.h:2620
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:2644
bool operator==(const Experimental &other) const
Equality operator.
Experimental()
Default constructor.
Mode & mode()
Get Mode.
Definition Settings.h:2614
const Mode & mode() const
Get Mode.
Definition Settings.h:2608
const Settings::Processing::Color::Experimental::Mode & get() const
Definition Settings.h:2631
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:2587
Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma greater t...
Definition Settings.h:2695
friend std::ostream & operator<<(std::ostream &stream, const Gamma &value)
Operator to serialize the value to a stream.
Definition Settings.h:2788
double value() const
Get the value.
bool operator>(const Gamma &other) const
Comparison operator.
Definition Settings.h:2770
void reset()
Reset the node to unset state.
static constexpr Range< double > validRange()
The range of valid values for Gamma.
Definition Settings.h:2723
Gamma()=default
Default constructor.
double ValueType
The type of the underlying value.
Definition Settings.h:2720
bool hasValue() const
Check if the value is set.
bool operator>=(const Gamma &other) const
Comparison operator.
Definition Settings.h:2782
constexpr Gamma(double value)
Constructor.
Definition Settings.h:2732
bool operator!=(const Gamma &other) const
Comparison operator.
Definition Settings.h:2758
bool operator<(const Gamma &other) const
Comparison operator.
Definition Settings.h:2764
std::string toString() const
Get the value as string.
bool operator==(const Gamma &other) const
Comparison operator.
Definition Settings.h:2752
bool operator<=(const Gamma &other) const
Comparison operator.
Definition Settings.h:2776
Color settings.
Definition Settings.h:1643
Color & set(const Gamma &value)
Set Gamma.
Definition Settings.h:3021
const Settings::Processing::Color::Gamma & get() const
Definition Settings.h:3085
const Settings::Processing::Color::Balance::Red & get() const
Definition Settings.h:3058
bool operator==(const Color &other) const
Equality operator.
Color & set(const Experimental::Mode &value)
Set Experimental::Mode.
Definition Settings.h:3002
const Settings::Processing::Color::Balance::Green & get() const
Definition Settings.h:3049
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:2883
Color & set(const Experimental &value)
Set Experimental.
Definition Settings.h:2995
Color & set(const Balance &value)
Set Balance.
Definition Settings.h:2955
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to send the value as string to a stream.
Definition Settings.h:3136
const Balance & balance() const
Get Balance.
Definition Settings.h:2943
const Experimental & experimental() const
Get Experimental.
Definition Settings.h:2983
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:3119
const Settings::Processing::Color::Experimental & get() const
Definition Settings.h:3067
Color & set(const Balance::Green &value)
Set Balance::Green.
Definition Settings.h:2969
Experimental & experimental()
Get Experimental.
Definition Settings.h:2989
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:2810
Color & set(const Balance::Blue &value)
Set Balance::Blue.
Definition Settings.h:2962
Gamma & gamma()
Get Gamma.
Definition Settings.h:3015
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:2922
const Settings::Processing::Color::Experimental::Mode & get() const
Definition Settings.h:3077
Color & set(const Balance::Red &value)
Set Balance::Red.
Definition Settings.h:2976
const Gamma & gamma() const
Get Gamma.
Definition Settings.h:3009
const Settings::Processing::Color::Balance & get() const
Definition Settings.h:3031
Balance & balance()
Get Balance.
Definition Settings.h:2949
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:3110
const Settings::Processing::Color::Balance::Blue & get() const
Definition Settings.h:3040
Enable or disable cluster removal.
Definition Settings.h:3217
bool hasValue() const
Check if the value is set.
bool ValueType
The type of the underlying value.
Definition Settings.h:3234
static const Enabled no
Off/disabled.
Definition Settings.h:3236
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:3248
void reset()
Reset the node to unset state.
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:3239
Enabled()=default
Default constructor.
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:3274
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:3280
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:3268
std::string toString() const
Get the value as string.
bool value() const
Get the value.
static const Enabled yes
On/enabled.
Definition Settings.h:3235
Maximum normalized distance between neighboring points that are still classified as belonging to the ...
Definition Settings.h:3300
constexpr MaxNeighborDistance(double value)
Constructor.
Definition Settings.h:3334
bool operator!=(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3360
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:3322
bool hasValue() const
Check if the value is set.
MaxNeighborDistance()=default
Default constructor.
bool operator>=(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3384
bool operator<(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3366
void reset()
Reset the node to unset state.
static constexpr Range< double > validRange()
The range of valid values for MaxNeighborDistance.
Definition Settings.h:3325
bool operator<=(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3378
friend std::ostream & operator<<(std::ostream &stream, const MaxNeighborDistance &value)
Operator to serialize the value to a stream.
Definition Settings.h:3390
bool operator==(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3354
bool operator>(const MaxNeighborDistance &other) const
Comparison operator.
Definition Settings.h:3372
Clusters with area below this threshold are removed by the filter. The area is given in mm^2.
Definition Settings.h:3419
bool operator>=(const MinArea &other) const
Comparison operator.
Definition Settings.h:3500
double ValueType
The type of the underlying value.
Definition Settings.h:3438
friend std::ostream & operator<<(std::ostream &stream, const MinArea &value)
Operator to serialize the value to a stream.
Definition Settings.h:3506
bool operator<(const MinArea &other) const
Comparison operator.
Definition Settings.h:3482
bool operator!=(const MinArea &other) const
Comparison operator.
Definition Settings.h:3476
void reset()
Reset the node to unset state.
bool operator<=(const MinArea &other) const
Comparison operator.
Definition Settings.h:3494
constexpr MinArea(double value)
Constructor.
Definition Settings.h:3450
std::string toString() const
Get the value as string.
bool operator>(const MinArea &other) const
Comparison operator.
Definition Settings.h:3488
MinArea()=default
Default constructor.
static constexpr Range< double > validRange()
The range of valid values for MinArea.
Definition Settings.h:3441
double value() const
Get the value.
bool operator==(const MinArea &other) const
Comparison operator.
Definition Settings.h:3470
bool hasValue() const
Check if the value is set.
Cluster removal filter.
Definition Settings.h:3199
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream.
Definition Settings.h:3780
const MaxNeighborDistance & maxNeighborDistance() const
Get MaxNeighborDistance.
Definition Settings.h:3666
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:3647
const Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance & get() const
Definition Settings.h:3719
std::string toString() const
Get the value as string.
MinArea & minArea()
Get MinArea.
Definition Settings.h:3691
const MinArea & minArea() const
Get MinArea.
Definition Settings.h:3685
Removal()
Default constructor.
bool operator!=(const Removal &other) const
Inequality operator.
std::tuple< Settings::Processing::Filters::Cluster::Removal::Enabled, Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance, Settings::Processing::Filters::Cluster::Removal::MinArea > Descendants
Definition Settings.h:3529
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:3626
Removal & set(const MaxNeighborDistance &value)
Set MaxNeighborDistance.
Definition Settings.h:3678
const Settings::Processing::Filters::Cluster::Removal::MinArea & get() const
Definition Settings.h:3729
Removal & set(const MinArea &value)
Set MinArea.
Definition Settings.h:3697
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:3754
const Settings::Processing::Filters::Cluster::Removal::Enabled & get() const
Definition Settings.h:3708
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:3653
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:3590
bool operator==(const Removal &other) const
Equality operator.
MaxNeighborDistance & maxNeighborDistance()
Get MaxNeighborDistance.
Definition Settings.h:3672
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:3763
Removal & set(const Enabled &value)
Set Enabled.
Definition Settings.h:3659
Removes floating points and isolated clusters from the point cloud.
Definition Settings.h:3178
const Removal & removal() const
Get Removal.
Definition Settings.h:3921
const Settings::Processing::Filters::Cluster::Removal::MinArea & get() const
Definition Settings.h:3996
const Settings::Processing::Filters::Cluster::Removal & get() const
Definition Settings.h:3965
Cluster & set(const Removal::MaxNeighborDistance &value)
Set Removal::MaxNeighborDistance.
Definition Settings.h:3947
bool operator!=(const Cluster &other) const
Inequality operator.
const Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance & get() const
Definition Settings.h:3986
bool operator==(const Cluster &other) const
Equality operator.
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:3799
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:3900
Removal & removal()
Get Removal.
Definition Settings.h:3927
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:4016
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:4009
Cluster & set(const Removal::Enabled &value)
Set Removal::Enabled.
Definition Settings.h:3940
Cluster & set(const Removal &value)
Set Removal.
Definition Settings.h:3933
Cluster & set(const Removal::MinArea &value)
Set Removal::MinArea.
Definition Settings.h:3954
Cluster()
Default constructor.
const Settings::Processing::Filters::Cluster::Removal::Enabled & get() const
Definition Settings.h:3975
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:3863
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:4031
Enable or disable contrast distortion correction.
Definition Settings.h:4122
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:4142
bool ValueType
The type of the underlying value.
Definition Settings.h:4141
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:4146
static const Enabled no
Off/disabled.
Definition Settings.h:4143
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:4155
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:4187
bool hasValue() const
Check if the value is set.
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:4175
bool value() const
Get the value.
Enabled()=default
Default constructor.
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:4181
Strength of correction. Higher values give more correction.
Definition Settings.h:4204
double ValueType
The type of the underlying value.
Definition Settings.h:4223
bool operator>(const Strength &other) const
Comparison operator.
Definition Settings.h:4273
bool operator!=(const Strength &other) const
Comparison operator.
Definition Settings.h:4261
bool hasValue() const
Check if the value is set.
constexpr Strength(double value)
Constructor.
Definition Settings.h:4235
static constexpr Range< double > validRange()
The range of valid values for Strength.
Definition Settings.h:4226
double value() const
Get the value.
bool operator<=(const Strength &other) const
Comparison operator.
Definition Settings.h:4279
bool operator>=(const Strength &other) const
Comparison operator.
Definition Settings.h:4285
friend std::ostream & operator<<(std::ostream &stream, const Strength &value)
Operator to serialize the value to a stream.
Definition Settings.h:4291
Strength()=default
Default constructor.
bool operator<(const Strength &other) const
Comparison operator.
Definition Settings.h:4267
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:4255
Contrast distortion correction filter.
Definition Settings.h:4100
bool operator==(const Correction &other) const
Equality operator.
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:4434
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:4511
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:4428
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:4489
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:4407
Strength & strength()
Get Strength.
Definition Settings.h:4453
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:4474
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:4535
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:4372
Correction & set(const Enabled &value)
Set Enabled.
Definition Settings.h:4440
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:4519
std::string toString() const
Get the value as string.
Correction & set(const Strength &value)
Set Strength.
Definition Settings.h:4459
const Strength & strength() const
Get Strength.
Definition Settings.h:4447
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength > Descendants
Definition Settings.h:4314
Enable or disable contrast distortion removal.
Definition Settings.h:4579
std::string toString() const
Get the value as string.
static const Enabled yes
On/enabled.
Definition Settings.h:4599
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:4612
Enabled()=default
Default constructor.
void reset()
Reset the node to unset state.
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:4638
bool ValueType
The type of the underlying value.
Definition Settings.h:4598
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:4603
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:4644
bool hasValue() const
Check if the value is set.
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:4632
bool value() const
Get the value.
static const Enabled no
Off/disabled.
Definition Settings.h:4600
Threshold for removal. Higher values remove more points.
Definition Settings.h:4661
void reset()
Reset the node to unset state.
bool operator<=(const Threshold &other) const
Comparison operator.
Definition Settings.h:4736
constexpr Threshold(double value)
Constructor.
Definition Settings.h:4692
bool operator!=(const Threshold &other) const
Comparison operator.
Definition Settings.h:4718
bool operator<(const Threshold &other) const
Comparison operator.
Definition Settings.h:4724
static constexpr Range< double > validRange()
The range of valid values for Threshold.
Definition Settings.h:4683
Threshold()=default
Default constructor.
bool operator==(const Threshold &other) const
Comparison operator.
Definition Settings.h:4712
bool operator>=(const Threshold &other) const
Comparison operator.
Definition Settings.h:4742
std::string toString() const
Get the value as string.
bool operator>(const Threshold &other) const
Comparison operator.
Definition Settings.h:4730
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:4748
double value() const
Get the value.
double ValueType
The type of the underlying value.
Definition Settings.h:4680
Contrast distortion removal filter.
Definition Settings.h:4557
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:4966
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold > Descendants
Definition Settings.h:4771
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:4829
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream.
Definition Settings.h:4990
const Threshold & threshold() const
Get Threshold.
Definition Settings.h:4904
Removal & set(const Threshold &value)
Set Threshold.
Definition Settings.h:4916
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:4864
Threshold & threshold()
Get Threshold.
Definition Settings.h:4910
Removal & set(const Enabled &value)
Set Enabled.
Definition Settings.h:4897
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:4931
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:4891
Removal()
Default constructor.
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:4885
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:4945
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:4974
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:4076
ContrastDistortion & set(const Removal::Enabled &value)
Set Removal::Enabled.
Definition Settings.h:5190
ContrastDistortion & set(const Correction::Enabled &value)
Set Correction::Enabled.
Definition Settings.h:5157
ContrastDistortion & set(const Correction &value)
Set Correction.
Definition Settings.h:5150
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:5301
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:5325
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:5117
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:5008
ContrastDistortion & set(const Correction::Strength &value)
Set Correction::Strength.
Definition Settings.h:5164
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:5078
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:5309
ContrastDistortion & set(const Removal &value)
Set Removal.
Definition Settings.h:5183
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:5280
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition Settings.h:5252
const Removal & removal() const
Get Removal.
Definition Settings.h:5171
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:5224
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition Settings.h:5210
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:5239
std::string toString() const
Get the value as string.
Removal & removal()
Get Removal.
Definition Settings.h:5177
bool operator==(const ContrastDistortion &other) const
Equality operator.
ContrastDistortion & set(const Removal::Threshold &value)
Set Removal::Threshold.
Definition Settings.h:5197
const Correction & correction() const
Get Correction.
Definition Settings.h:5138
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:5265
Correction & correction()
Get Correction.
Definition Settings.h:5144
Experimental filters. These may be renamed, moved or deleted in the future.
Definition Settings.h:4052
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:5646
ContrastDistortion & contrastDistortion()
Get ContrastDistortion.
Definition Settings.h:5483
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition Settings.h:5596
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:5456
Experimental & set(const ContrastDistortion &value)
Set ContrastDistortion.
Definition Settings.h:5489
Experimental & set(const ContrastDistortion::Removal::Threshold &value)
Set ContrastDistortion::Removal::Threshold.
Definition Settings.h:5531
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:5416
Experimental & set(const ContrastDistortion::Correction::Strength &value)
Set ContrastDistortion::Correction::Strength.
Definition Settings.h:5510
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream.
Definition Settings.h:5661
Experimental()
Default constructor.
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:5583
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:5639
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 > Descendants
Definition Settings.h:5343
Experimental & set(const ContrastDistortion::Removal &value)
Set ContrastDistortion::Removal.
Definition Settings.h:5517
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition Settings.h:5542
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition Settings.h:5554
bool operator!=(const Experimental &other) const
Inequality operator.
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:5624
Experimental & set(const ContrastDistortion::Correction::Enabled &value)
Set ContrastDistortion::Correction::Enabled.
Definition Settings.h:5503
const ContrastDistortion & contrastDistortion() const
Get ContrastDistortion.
Definition Settings.h:5477
std::string toString() const
Get the value as string.
bool operator==(const Experimental &other) const
Equality operator.
Experimental & set(const ContrastDistortion::Correction &value)
Set ContrastDistortion::Correction.
Definition Settings.h:5496
Experimental & set(const ContrastDistortion::Removal::Enabled &value)
Set ContrastDistortion::Removal::Enabled.
Definition Settings.h:5524
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:5568
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:5610
Enable or disable hole repair.
Definition Settings.h:5724
static const Enabled yes
On/enabled.
Definition Settings.h:5742
static const Enabled no
Off/disabled.
Definition Settings.h:5743
bool value() const
Get the value.
bool ValueType
The type of the underlying value.
Definition Settings.h:5741
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:5781
std::string toString() const
Get the value as string.
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:5775
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:5746
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:5787
Enabled()=default
Default constructor.
bool hasValue() const
Check if the value is set.
void reset()
Reset the node to unset state.
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:5755
Relative diameter of holes to fill. Increasing this will fill more points, but require more computati...
Definition Settings.h:5807
HoleSize()=default
Default constructor.
bool operator<(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5871
bool operator>=(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5889
double value() const
Get the value.
static constexpr Range< double > validRange()
The range of valid values for HoleSize.
Definition Settings.h:5830
friend std::ostream & operator<<(std::ostream &stream, const HoleSize &value)
Operator to serialize the value to a stream.
Definition Settings.h:5895
bool operator!=(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5865
bool operator<=(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5883
bool operator==(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5859
bool hasValue() const
Check if the value is set.
std::string toString() const
Get the value as string.
constexpr HoleSize(double value)
Constructor.
Definition Settings.h:5839
double ValueType
The type of the underlying value.
Definition Settings.h:5827
void reset()
Reset the node to unset state.
bool operator>(const HoleSize &other) const
Comparison operator.
Definition Settings.h:5877
Level of strictness when considering if a point should be filled. A higher level of strictness requir...
Definition Settings.h:5926
static constexpr Range< int32_t > validRange()
The range of valid values for Strictness.
Definition Settings.h:5950
bool operator>=(const Strictness &other) const
Comparison operator.
Definition Settings.h:6009
int32_t value() const
Get the value.
void reset()
Reset the node to unset state.
bool operator==(const Strictness &other) const
Comparison operator.
Definition Settings.h:5979
std::string toString() const
Get the value as string.
bool operator<=(const Strictness &other) const
Comparison operator.
Definition Settings.h:6003
Strictness()=default
Default constructor.
bool operator>(const Strictness &other) const
Comparison operator.
Definition Settings.h:5997
bool hasValue() const
Check if the value is set.
int32_t ValueType
The type of the underlying value.
Definition Settings.h:5947
friend std::ostream & operator<<(std::ostream &stream, const Strictness &value)
Operator to serialize the value to a stream.
Definition Settings.h:6015
constexpr Strictness(int32_t value)
Constructor.
Definition Settings.h:5959
bool operator!=(const Strictness &other) const
Comparison operator.
Definition Settings.h:5985
bool operator<(const Strictness &other) const
Comparison operator.
Definition Settings.h:5991
Fills in point cloud holes by interpolating remaining surrounding points.
Definition Settings.h:5703
Repair & set(const Strictness &value)
Set Strictness.
Definition Settings.h:6206
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:6099
HoleSize & holeSize()
Get HoleSize.
Definition Settings.h:6181
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:6262
Repair & set(const HoleSize &value)
Set HoleSize.
Definition Settings.h:6187
bool operator==(const Repair &other) const
Equality operator.
const Settings::Processing::Filters::Hole::Repair::HoleSize & get() const
Definition Settings.h:6227
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:6135
const Strictness & strictness() const
Get Strictness.
Definition Settings.h:6194
const Settings::Processing::Filters::Hole::Repair::Enabled & get() const
Definition Settings.h:6217
friend std::ostream & operator<<(std::ostream &stream, const Repair &value)
Operator to send the value as string to a stream.
Definition Settings.h:6288
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:6156
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:6162
const Settings::Processing::Filters::Hole::Repair::Strictness & get() const
Definition Settings.h:6237
Repair()
Default constructor.
Strictness & strictness()
Get Strictness.
Definition Settings.h:6200
bool operator!=(const Repair &other) const
Inequality operator.
Repair & set(const Enabled &value)
Set Enabled.
Definition Settings.h:6168
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:6271
std::tuple< Settings::Processing::Filters::Hole::Repair::Enabled, Settings::Processing::Filters::Hole::Repair::HoleSize, Settings::Processing::Filters::Hole::Repair::Strictness > Descendants
Definition Settings.h:6038
const HoleSize & holeSize() const
Get HoleSize.
Definition Settings.h:6175
Contains filters that can be used to deal with holes in the point cloud.
Definition Settings.h:5682
const Repair & repair() const
Get Repair.
Definition Settings.h:6429
const Settings::Processing::Filters::Hole::Repair & get() const
Definition Settings.h:6473
const Settings::Processing::Filters::Hole::Repair::Strictness & get() const
Definition Settings.h:6503
std::tuple< Settings::Processing::Filters::Hole::Repair, Settings::Processing::Filters::Hole::Repair::Enabled, Settings::Processing::Filters::Hole::Repair::HoleSize, Settings::Processing::Filters::Hole::Repair::Strictness > Descendants
Definition Settings.h:6307
friend std::ostream & operator<<(std::ostream &stream, const Hole &value)
Operator to send the value as string to a stream.
Definition Settings.h:6538
const Settings::Processing::Filters::Hole::Repair::HoleSize & get() const
Definition Settings.h:6493
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:6516
Hole & set(const Repair &value)
Set Repair.
Definition Settings.h:6441
Hole & set(const Repair::Strictness &value)
Set Repair::Strictness.
Definition Settings.h:6462
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:6523
Hole()
Default constructor.
Hole copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:6408
const Settings::Processing::Filters::Hole::Repair::Enabled & get() const
Definition Settings.h:6483
bool operator!=(const Hole &other) const
Inequality operator.
bool operator==(const Hole &other) const
Equality operator.
std::string toString() const
Get the value as string.
Repair & repair()
Get Repair.
Definition Settings.h:6435
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:6371
Hole & set(const Repair::Enabled &value)
Set Repair::Enabled.
Definition Settings.h:6448
Hole & set(const Repair::HoleSize &value)
Set Repair::HoleSize.
Definition Settings.h:6455
Enable or disable the SNR filter.
Definition Settings.h:6599
static const Enabled yes
On/enabled.
Definition Settings.h:6617
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:6656
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:6650
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:6621
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:6630
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:6662
Enabled()=default
Default constructor.
static const Enabled no
Off/disabled.
Definition Settings.h:6618
bool ValueType
The type of the underlying value.
Definition Settings.h:6616
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:6679
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:6758
constexpr Threshold(double value)
Constructor.
Definition Settings.h:6708
bool operator==(const Threshold &other) const
Comparison operator.
Definition Settings.h:6728
bool operator<=(const Threshold &other) const
Comparison operator.
Definition Settings.h:6752
void reset()
Reset the node to unset state.
static constexpr Range< double > validRange()
The range of valid values for Threshold.
Definition Settings.h:6699
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream.
Definition Settings.h:6764
bool operator>(const Threshold &other) const
Comparison operator.
Definition Settings.h:6746
bool operator<(const Threshold &other) const
Comparison operator.
Definition Settings.h:6740
std::string toString() const
Get the value as string.
double ValueType
The type of the underlying value.
Definition Settings.h:6696
bool operator!=(const Threshold &other) const
Comparison operator.
Definition Settings.h:6734
Discard points with signal-to-noise ratio (SNR) values below a threshold.
Definition Settings.h:6579
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream.
Definition Settings.h:6996
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:6901
const Threshold & threshold() const
Get Threshold.
Definition Settings.h:6920
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:6980
Removal & set(const Enabled &value)
Set Enabled.
Definition Settings.h:6913
Removal & set(const Threshold &value)
Set Threshold.
Definition Settings.h:6932
bool operator==(const Removal &other) const
Equality operator.
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:6845
bool operator!=(const Removal &other) const
Inequality operator.
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition Settings.h:6953
Threshold & threshold()
Get Threshold.
Definition Settings.h:6926
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:6972
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:6880
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:6907
Removal()
Default constructor.
std::string toString() const
Get the value as string.
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition Settings.h:6943
std::tuple< Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold > Descendants
Definition Settings.h:6787
Enable or disable noise repair.
Definition Settings.h:7044
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:7066
bool ValueType
The type of the underlying value.
Definition Settings.h:7061
static const Enabled no
Off/disabled.
Definition Settings.h:7063
void reset()
Reset the node to unset state.
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:7101
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:7075
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:7062
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:7107
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:7095
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:7021
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:7265
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:7272
bool operator==(const Repair &other) const
Equality operator.
Repair & set(const Enabled &value)
Set Enabled.
Definition Settings.h:7241
std::tuple< Settings::Processing::Filters::Noise::Repair::Enabled > Descendants
Definition Settings.h:7120
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:7235
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:7229
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:7208
const Settings::Processing::Filters::Noise::Repair::Enabled & get() const
Definition Settings.h:7252
friend std::ostream & operator<<(std::ostream &stream, const Repair &value)
Operator to send the value as string to a stream.
Definition Settings.h:7287
std::string toString() const
Get the value as string.
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:7174
Enable or disable noise suppression.
Definition Settings.h:7334
static const Enabled no
Off/disabled.
Definition Settings.h:7353
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:7365
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:7391
void reset()
Reset the node to unset state.
bool ValueType
The type of the underlying value.
Definition Settings.h:7351
std::string toString() const
Get the value as string.
Enabled()=default
Default constructor.
static const Enabled yes
On/enabled.
Definition Settings.h:7352
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:7356
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:7397
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:7385
Reduce noise and outliers in the point cloud. This filter can also be used to reduce ripple effects c...
Definition Settings.h:7311
const Settings::Processing::Filters::Noise::Suppression::Enabled & get() const
Definition Settings.h:7542
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:7555
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:7525
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:7519
std::string toString() const
Get the value as string.
std::tuple< Settings::Processing::Filters::Noise::Suppression::Enabled > Descendants
Definition Settings.h:7410
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:7498
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:7464
friend std::ostream & operator<<(std::ostream &stream, const Suppression &value)
Operator to send the value as string to a stream.
Definition Settings.h:7577
bool operator!=(const Suppression &other) const
Inequality operator.
Suppression & set(const Enabled &value)
Set Enabled.
Definition Settings.h:7531
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:7562
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:6559
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:7902
Noise & set(const Suppression &value)
Set Suppression.
Definition Settings.h:7799
std::string toString() const
Get the value as string.
const Settings::Processing::Filters::Noise::Suppression & get() const
Definition Settings.h:7867
Suppression & suppression()
Get Suppression.
Definition Settings.h:7793
Removal & removal()
Get Removal.
Definition Settings.h:7734
const Settings::Processing::Filters::Noise::Suppression::Enabled & get() const
Definition Settings.h:7877
Noise()
Default constructor.
Noise & set(const Removal::Threshold &value)
Set Removal::Threshold.
Definition Settings.h:7754
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:7707
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:7911
const Suppression & suppression() const
Get Suppression.
Definition Settings.h:7787
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition Settings.h:7837
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:7594
Noise & set(const Removal::Enabled &value)
Set Removal::Enabled.
Definition Settings.h:7747
const Repair & repair() const
Get Repair.
Definition Settings.h:7761
Noise & set(const Repair::Enabled &value)
Set Repair::Enabled.
Definition Settings.h:7780
Noise & set(const Repair &value)
Set Repair.
Definition Settings.h:7773
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:7667
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:7928
Repair & repair()
Get Repair.
Definition Settings.h:7767
const Settings::Processing::Filters::Noise::Repair & get() const
Definition Settings.h:7847
const Removal & removal() const
Get Removal.
Definition Settings.h:7728
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition Settings.h:7827
const Settings::Processing::Filters::Noise::Repair::Enabled & get() const
Definition Settings.h:7857
bool operator==(const Noise &other) const
Equality operator.
Noise & set(const Suppression::Enabled &value)
Set Suppression::Enabled.
Definition Settings.h:7806
const Settings::Processing::Filters::Noise::Removal & get() const
Definition Settings.h:7817
Noise & set(const Removal &value)
Set Removal.
Definition Settings.h:7740
Enable or disable the outlier filter.
Definition Settings.h:7991
bool ValueType
The type of the underlying value.
Definition Settings.h:8008
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:8048
bool value() const
Get the value.
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:8022
static const Enabled no
Off/disabled.
Definition Settings.h:8010
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:8009
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:8054
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:8013
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:8042
Enabled()=default
Default constructor.
Discard point if Euclidean distance to neighboring points is above the given value.
Definition Settings.h:8071
static constexpr Range< double > validRange()
The range of valid values for Threshold.
Definition Settings.h:8091
bool hasValue() const
Check if the value is set.
double value() const
Get the value.
constexpr Threshold(double value)
Constructor.
Definition Settings.h:8100
bool operator<(const Threshold &other) const
Comparison operator.
Definition Settings.h:8132
bool operator==(const Threshold &other) const
Comparison operator.
Definition Settings.h:8120
bool operator>=(const Threshold &other) const
Comparison operator.
Definition Settings.h:8150
bool operator!=(const Threshold &other) const
Comparison operator.
Definition Settings.h:8126
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream.
Definition Settings.h:8156
void reset()
Reset the node to unset state.
bool operator<=(const Threshold &other) const
Comparison operator.
Definition Settings.h:8144
bool operator>(const Threshold &other) const
Comparison operator.
Definition Settings.h:8138
std::string toString() const
Get the value as string.
double ValueType
The type of the underlying value.
Definition Settings.h:8088
Threshold()=default
Default constructor.
Discard point if Euclidean distance to neighboring points is above a threshold.
Definition Settings.h:7971
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:8388
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:8293
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:8272
Removal & set(const Enabled &value)
Set Enabled.
Definition Settings.h:8305
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:8299
Removal & set(const Threshold &value)
Set Threshold.
Definition Settings.h:8324
std::tuple< Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold > Descendants
Definition Settings.h:8179
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition Settings.h:8335
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition Settings.h:8345
const Threshold & threshold() const
Get Threshold.
Definition Settings.h:8312
Threshold & threshold()
Get Threshold.
Definition Settings.h:8318
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:8364
Removal()
Default constructor.
bool operator==(const Removal &other) const
Equality operator.
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:8237
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:8372
Contains a filter that removes points with large Euclidean distance to neighboring points.
Definition Settings.h:7951
const Removal & removal() const
Get Removal.
Definition Settings.h:8524
Outlier & set(const Removal &value)
Set Removal.
Definition Settings.h:8536
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:8601
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:8594
bool operator!=(const Outlier &other) const
Inequality operator.
Outlier & set(const Removal::Threshold &value)
Set Removal::Threshold.
Definition Settings.h:8550
Outlier & set(const Removal::Enabled &value)
Set Removal::Enabled.
Definition Settings.h:8543
std::tuple< Settings::Processing::Filters::Outlier::Removal, Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold > Descendants
Definition Settings.h:8406
Removal & removal()
Get Removal.
Definition Settings.h:8530
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:8503
friend std::ostream & operator<<(std::ostream &stream, const Outlier &value)
Operator to send the value as string to a stream.
Definition Settings.h:8616
bool operator==(const Outlier &other) const
Equality operator.
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition Settings.h:8581
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition Settings.h:8561
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition Settings.h:8571
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:8467
Enable or disable the reflection filter. Note that this filter is computationally intensive and may a...
Definition Settings.h:8677
bool ValueType
The type of the underlying value.
Definition Settings.h:8694
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:8695
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:8734
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:8708
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:8740
bool value() const
Get the value.
static const Enabled no
Off/disabled.
Definition Settings.h:8696
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:8728
Enabled()=default
Default constructor.
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:8699
The reflection filter has two modes: Local and Global. Local mode preserves more 3D data on thinner o...
Definition Settings.h:8764
constexpr Mode(ValueType value)
Constructor.
Definition Settings.h:8806
static std::set< ValueType > validValues()
All valid values of Mode.
Definition Settings.h:8797
ValueType
The type of the underlying value.
Definition Settings.h:8789
static const Mode local
local
Definition Settings.h:8794
bool operator!=(const Mode &other) const
Comparison operator.
Definition Settings.h:8838
void reset()
Reset the node to unset state.
friend std::ostream & operator<<(std::ostream &stream, const Mode &value)
Operator to serialize the value to a stream.
Definition Settings.h:8844
bool operator==(const Mode &other) const
Comparison operator.
Definition Settings.h:8832
std::string toString() const
Get the value as string.
bool hasValue() const
Check if the value is set.
Mode()=default
Default constructor.
ValueType value() const
Get the value.
static const Mode global
global
Definition Settings.h:8793
friend std::ostream & operator<<(std::ostream &stream, const Mode::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings.h:8826
Discard points likely introduced by reflections (useful for shiny materials).
Definition Settings.h:8657
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:8989
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream.
Definition Settings.h:9078
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:9025
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:8927
Removal()
Default constructor.
std::tuple< Settings::Processing::Filters::Reflection::Removal::Enabled, Settings::Processing::Filters::Reflection::Removal::Mode > Descendants
Definition Settings.h:8869
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:9054
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:8962
Removal & set(const Enabled &value)
Set Enabled.
Definition Settings.h:8995
Mode & mode()
Get Mode.
Definition Settings.h:9008
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:9062
const Mode & mode() const
Get Mode.
Definition Settings.h:9002
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:8983
bool operator!=(const Removal &other) const
Inequality operator.
Removal & set(const Mode &value)
Set Mode.
Definition Settings.h:9014
const Settings::Processing::Filters::Reflection::Removal::Mode & get() const
Definition Settings.h:9035
Contains a filter that removes points likely introduced by reflections (useful for shiny materials).
Definition Settings.h:8637
bool operator!=(const Reflection &other) const
Inequality operator.
bool operator==(const Reflection &other) const
Equality operator.
Removal & removal()
Get Removal.
Definition Settings.h:9220
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:9157
friend std::ostream & operator<<(std::ostream &stream, const Reflection &value)
Operator to send the value as string to a stream.
Definition Settings.h:9306
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:9291
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:9284
Reflection & set(const Removal::Enabled &value)
Set Removal::Enabled.
Definition Settings.h:9233
Reflection()
Default constructor.
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition Settings.h:9261
std::tuple< Settings::Processing::Filters::Reflection::Removal, Settings::Processing::Filters::Reflection::Removal::Enabled, Settings::Processing::Filters::Reflection::Removal::Mode > Descendants
Definition Settings.h:9096
std::string toString() const
Get the value as string.
Reflection & set(const Removal::Mode &value)
Set Removal::Mode.
Definition Settings.h:9240
const Settings::Processing::Filters::Reflection::Removal::Mode & get() const
Definition Settings.h:9271
const Removal & removal() const
Get Removal.
Definition Settings.h:9214
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition Settings.h:9251
Reflection & set(const Removal &value)
Set Removal.
Definition Settings.h:9226
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:9193
Enable or disable the smoothing filter.
Definition Settings.h:9365
bool ValueType
The type of the underlying value.
Definition Settings.h:9382
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:9387
bool value() const
Get the value.
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:9422
static const Enabled yes
On/enabled.
Definition Settings.h:9383
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:9416
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:9428
static const Enabled no
Off/disabled.
Definition Settings.h:9384
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:9396
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:9445
Sigma()=default
Default constructor.
double ValueType
The type of the underlying value.
Definition Settings.h:9462
bool operator!=(const Sigma &other) const
Comparison operator.
Definition Settings.h:9500
bool operator>(const Sigma &other) const
Comparison operator.
Definition Settings.h:9512
double value() const
Get the value.
bool hasValue() const
Check if the value is set.
constexpr Sigma(double value)
Constructor.
Definition Settings.h:9474
static constexpr Range< double > validRange()
The range of valid values for Sigma.
Definition Settings.h:9465
friend std::ostream & operator<<(std::ostream &stream, const Sigma &value)
Operator to serialize the value to a stream.
Definition Settings.h:9530
void reset()
Reset the node to unset state.
bool operator>=(const Sigma &other) const
Comparison operator.
Definition Settings.h:9524
bool operator==(const Sigma &other) const
Comparison operator.
Definition Settings.h:9494
bool operator<=(const Sigma &other) const
Comparison operator.
Definition Settings.h:9518
std::string toString() const
Get the value as string.
bool operator<(const Sigma &other) const
Comparison operator.
Definition Settings.h:9506
Gaussian smoothing of the point cloud.
Definition Settings.h:9345
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:9673
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:9738
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition Settings.h:9719
Gaussian & set(const Enabled &value)
Set Enabled.
Definition Settings.h:9679
std::tuple< Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition Settings.h:9553
friend std::ostream & operator<<(std::ostream &stream, const Gaussian &value)
Operator to send the value as string to a stream.
Definition Settings.h:9762
const Sigma & sigma() const
Get Sigma.
Definition Settings.h:9686
bool operator==(const Gaussian &other) const
Equality operator.
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:9667
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:9709
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:9646
Gaussian & set(const Sigma &value)
Set Sigma.
Definition Settings.h:9698
Sigma & sigma()
Get Sigma.
Definition Settings.h:9692
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:9611
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:9746
Smoothing filters.
Definition Settings.h:9327
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:9877
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:9841
std::tuple< Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition Settings.h:9780
Smoothing & set(const Gaussian &value)
Set Gaussian.
Definition Settings.h:9910
Smoothing()
Default constructor.
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition Settings.h:9945
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:9975
Smoothing & set(const Gaussian::Sigma &value)
Set Gaussian::Sigma.
Definition Settings.h:9924
Smoothing & set(const Gaussian::Enabled &value)
Set Gaussian::Enabled.
Definition Settings.h:9917
bool operator!=(const Smoothing &other) const
Inequality operator.
const Gaussian & gaussian() const
Get Gaussian.
Definition Settings.h:9898
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:9935
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:9968
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition Settings.h:9955
friend std::ostream & operator<<(std::ostream &stream, const Smoothing &value)
Operator to send the value as string to a stream.
Definition Settings.h:9990
Gaussian & gaussian()
Get Gaussian.
Definition Settings.h:9904
Filter settings.
Definition Settings.h:3159
bool operator!=(const Filters &other) const
Inequality operator.
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition Settings.h:10897
Filters & set(const Reflection::Removal::Enabled &value)
Set Reflection::Removal::Enabled.
Definition Settings.h:10560
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:11057
Filters & set(const Cluster &value)
Set Cluster.
Definition Settings.h:10276
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition Settings.h:10907
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:10243
Filters & set(const Hole &value)
Set Hole.
Definition Settings.h:10391
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:10753
Filters & set(const Hole::Repair::HoleSize &value)
Set Hole::Repair::HoleSize.
Definition Settings.h:10412
Filters & set(const Noise::Repair &value)
Set Noise::Repair.
Definition Settings.h:10466
std::string toString() const
Get the value as string.
const Settings::Processing::Filters::Hole::Repair::Strictness & get() const
Definition Settings.h:10801
const Settings::Processing::Filters::Noise::Suppression & get() const
Definition Settings.h:10868
Filters & set(const Cluster::Removal::MaxNeighborDistance &value)
Set Cluster::Removal::MaxNeighborDistance.
Definition Settings.h:10297
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition Settings.h:10829
const Settings::Processing::Filters::Hole & get() const
Definition Settings.h:10762
const Settings::Processing::Filters::Noise::Suppression::Enabled & get() const
Definition Settings.h:10878
const Settings::Processing::Filters::Smoothing & get() const
Definition Settings.h:10965
Filters & set(const Noise::Repair::Enabled &value)
Set Noise::Repair::Enabled.
Definition Settings.h:10473
const Settings::Processing::Filters::Cluster::Removal & get() const
Definition Settings.h:10627
Cluster & cluster()
Get Cluster.
Definition Settings.h:10270
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition Settings.h:10936
const Settings::Processing::Filters::Hole::Repair::Enabled & get() const
Definition Settings.h:10781
const Settings::Processing::Filters::Reflection & get() const
Definition Settings.h:10926
Filters & set(const Outlier::Removal::Threshold &value)
Set Outlier::Removal::Threshold.
Definition Settings.h:10527
Filters & set(const Experimental::ContrastDistortion::Correction::Strength &value)
Set Experimental::ContrastDistortion::Correction::Strength.
Definition Settings.h:10351
Filters & set(const Experimental &value)
Set Experimental.
Definition Settings.h:10323
Outlier & outlier()
Get Outlier.
Definition Settings.h:10500
Filters & set(const Reflection::Removal::Mode &value)
Set Reflection::Removal::Mode.
Definition Settings.h:10567
Filters & set(const Hole::Repair::Enabled &value)
Set Hole::Repair::Enabled.
Definition Settings.h:10405
Filters & set(const Noise::Suppression &value)
Set Noise::Suppression.
Definition Settings.h:10480
Filters & set(const Outlier::Removal &value)
Set Outlier::Removal.
Definition Settings.h:10513
const Cluster & cluster() const
Get Cluster.
Definition Settings.h:10264
const Experimental & experimental() const
Get Experimental.
Definition Settings.h:10311
Filters & set(const Experimental::ContrastDistortion &value)
Set Experimental::ContrastDistortion.
Definition Settings.h:10330
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:11078
Filters & set(const Cluster::Removal::Enabled &value)
Set Cluster::Removal::Enabled.
Definition Settings.h:10290
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition Settings.h:10946
const Settings::Processing::Filters::Outlier & get() const
Definition Settings.h:10887
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition Settings.h:10676
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition Settings.h:10995
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:10173
Filters & set(const Hole::Repair &value)
Set Hole::Repair.
Definition Settings.h:10398
const Reflection & reflection() const
Get Reflection.
Definition Settings.h:10534
const Settings::Processing::Filters::Experimental & get() const
Definition Settings.h:10666
Filters & set(const Noise::Removal::Threshold &value)
Set Noise::Removal::Threshold.
Definition Settings.h:10459
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition Settings.h:10985
Filters & set(const Reflection &value)
Set Reflection.
Definition Settings.h:10546
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:10715
Filters & set(const Experimental::ContrastDistortion::Removal &value)
Set Experimental::ContrastDistortion::Removal.
Definition Settings.h:10358
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:11044
const Settings::Processing::Filters::Cluster::Removal::Enabled & get() const
Definition Settings.h:10637
Filters & set(const Outlier &value)
Set Outlier.
Definition Settings.h:10506
const Noise & noise() const
Get Noise.
Definition Settings.h:10426
Filters & set(const Experimental::ContrastDistortion::Correction &value)
Set Experimental::ContrastDistortion::Correction.
Definition Settings.h:10337
const Settings::Processing::Filters::Hole::Repair & get() const
Definition Settings.h:10771
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:10701
Filters & set(const Reflection::Removal &value)
Set Reflection::Removal.
Definition Settings.h:10553
const Settings::Processing::Filters::Noise::Removal & get() const
Definition Settings.h:10819
Filters & set(const Noise::Removal::Enabled &value)
Set Noise::Removal::Enabled.
Definition Settings.h:10452
const Settings::Processing::Filters::Reflection::Removal::Mode & get() const
Definition Settings.h:10956
Filters & set(const Smoothing::Gaussian::Enabled &value)
Set Smoothing::Gaussian::Enabled.
Definition Settings.h:10600
const Settings::Processing::Filters::Noise & get() const
Definition Settings.h:10810
const Settings::Processing::Filters::Noise::Repair::Enabled & get() const
Definition Settings.h:10858
Filters & set(const Experimental::ContrastDistortion::Removal::Threshold &value)
Set Experimental::ContrastDistortion::Removal::Threshold.
Definition Settings.h:10372
Filters & set(const Smoothing::Gaussian &value)
Set Smoothing::Gaussian.
Definition Settings.h:10593
bool operator==(const Filters &other) const
Equality operator.
Filters & set(const Hole::Repair::Strictness &value)
Set Hole::Repair::Strictness.
Definition Settings.h:10419
Filters & set(const Outlier::Removal::Enabled &value)
Set Outlier::Removal::Enabled.
Definition Settings.h:10520
Filters & set(const Cluster::Removal &value)
Set Cluster::Removal.
Definition Settings.h:10283
const Settings::Processing::Filters::Hole::Repair::HoleSize & get() const
Definition Settings.h:10791
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:10740
const Hole & hole() const
Get Hole.
Definition Settings.h:10379
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::Hole, Settings::Processing::Filters::Hole::Repair, Settings::Processing::Filters::Hole::Repair::Enabled, Settings::Processing::Filters::Hole::Repair::HoleSize, Settings::Processing::Filters::Hole::Repair::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::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:10007
Filters & set(const Cluster::Removal::MinArea &value)
Set Cluster::Removal::MinArea.
Definition Settings.h:10304
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition Settings.h:10727
Noise & noise()
Get Noise.
Definition Settings.h:10432
Filters & set(const Smoothing &value)
Set Smoothing.
Definition Settings.h:10586
Filters & set(const Experimental::ContrastDistortion::Correction::Enabled &value)
Set Experimental::ContrastDistortion::Correction::Enabled.
Definition Settings.h:10344
const Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance & get() const
Definition Settings.h:10647
Filters & set(const Noise::Removal &value)
Set Noise::Removal.
Definition Settings.h:10445
const Settings::Processing::Filters::Cluster & get() const
Definition Settings.h:10617
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition Settings.h:10917
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition Settings.h:10839
Smoothing & smoothing()
Get Smoothing.
Definition Settings.h:10580
const Settings::Processing::Filters::Cluster::Removal::MinArea & get() const
Definition Settings.h:10657
Filters & set(const Noise::Suppression::Enabled &value)
Set Noise::Suppression::Enabled.
Definition Settings.h:10487
Hole & hole()
Get Hole.
Definition Settings.h:10385
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition Settings.h:10975
Filters & set(const Experimental::ContrastDistortion::Removal::Enabled &value)
Set Experimental::ContrastDistortion::Removal::Enabled.
Definition Settings.h:10365
const Outlier & outlier() const
Get Outlier.
Definition Settings.h:10494
const Settings::Processing::Filters::Noise::Repair & get() const
Definition Settings.h:10848
Reflection & reflection()
Get Reflection.
Definition Settings.h:10540
Filters & set(const Noise &value)
Set Noise.
Definition Settings.h:10438
Filters & set(const Smoothing::Gaussian::Sigma &value)
Set Smoothing::Gaussian::Sigma.
Definition Settings.h:10607
const Smoothing & smoothing() const
Get Smoothing.
Definition Settings.h:10574
Experimental & experimental()
Get Experimental.
Definition Settings.h:10317
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition Settings.h:10687
Setting for upsampling or downsampling the point cloud data by some factor. This operation is perform...
Definition Settings.h:11149
void reset()
Reset the node to unset state.
static const Mode upsample2x2
upsample2x2
Definition Settings.h:11199
static const Mode downsample4x4
downsample4x4
Definition Settings.h:11198
Mode()=default
Default constructor.
friend std::ostream & operator<<(std::ostream &stream, const Mode &value)
Operator to serialize the value to a stream.
Definition Settings.h:11254
static const Mode upsample4x4
upsample4x4
Definition Settings.h:11200
static const Mode downsample2x2
downsample2x2
Definition Settings.h:11197
bool operator!=(const Mode &other) const
Comparison operator.
Definition Settings.h:11248
ValueType
The type of the underlying value.
Definition Settings.h:11189
bool operator==(const Mode &other) const
Comparison operator.
Definition Settings.h:11242
bool hasValue() const
Check if the value is set.
static std::set< ValueType > validValues()
All valid values of Mode.
Definition Settings.h:11203
std::string toString() const
Get the value as string.
constexpr Mode(ValueType value)
Constructor.
Definition Settings.h:11216
friend std::ostream & operator<<(std::ostream &stream, const Mode::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings.h:11236
static const Mode disabled
disabled
Definition Settings.h:11196
ValueType value() const
Get the value.
Settings for changing the output resolution of the point cloud.
Definition Settings.h:11106
Resampling & set(const Mode &value)
Set Mode.
Definition Settings.h:11400
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:11334
const Mode & mode() const
Get Mode.
Definition Settings.h:11388
bool operator==(const Resampling &other) const
Equality operator.
Resampling()
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:11423
Mode & mode()
Get Mode.
Definition Settings.h:11394
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const Resampling &value)
Operator to send the value as string to a stream.
Definition Settings.h:11445
std::tuple< Settings::Processing::Resampling::Mode > Descendants
Definition Settings.h:11280
const Settings::Processing::Resampling::Mode & get() const
Definition Settings.h:11410
bool operator!=(const Resampling &other) const
Inequality operator.
Resampling copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition Settings.h:11367
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:11430
Settings related to processing of a capture, including filters and color balance.
Definition Settings.h:1617
const Settings::Processing::Color::Experimental::Mode & get() const
Definition Settings.h:12195
const Settings::Processing::Filters::Hole::Repair::Enabled & get() const
Definition Settings.h:12375
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition Settings.h:12323
const Settings::Processing::Filters::Hole::Repair::HoleSize & get() const
Definition Settings.h:12385
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition Settings.h:12565
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition Settings.h:12536
Resampling & resampling()
Get Resampling.
Definition Settings.h:12120
Processing & set(const Color::Experimental &value)
Set Color::Experimental.
Definition Settings.h:11808
Processing & set(const Color &value)
Set Color.
Definition Settings.h:11773
Processing & set(const Filters::Cluster::Removal::MaxNeighborDistance &value)
Set Filters::Cluster::Removal::MaxNeighborDistance.
Definition Settings.h:11869
const Settings::Processing::Filters::Noise::Repair::Enabled & get() const
Definition Settings.h:12451
const Settings::Processing::Color::Balance::Red & get() const
Definition Settings.h:12177
Processing & set(const Color::Balance &value)
Set Color::Balance.
Definition Settings.h:11780
Processing & set(const Filters::Smoothing::Gaussian &value)
Set Filters::Smoothing::Gaussian.
Definition Settings.h:12093
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:11741
Filters & filters()
Get Filters.
Definition Settings.h:11835
Processing & set(const Filters::Smoothing::Gaussian::Enabled &value)
Set Filters::Smoothing::Gaussian::Enabled.
Definition Settings.h:12100
const Settings::Processing::Filters::Noise::Suppression::Enabled & get() const
Definition Settings.h:12470
Processing & set(const Resampling &value)
Set Resampling.
Definition Settings.h:12126
const Settings::Processing::Color::Gamma & get() const
Definition Settings.h:12203
Processing & set(const Filters::Experimental::ContrastDistortion::Removal &value)
Set Filters::Experimental::ContrastDistortion::Removal.
Definition Settings.h:11918
Processing & set(const Resampling::Mode &value)
Set Resampling::Mode.
Definition Settings.h:12133
Processing()
Default constructor.
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::Hole, Settings::Processing::Filters::Hole::Repair, Settings::Processing::Filters::Hole::Repair::Enabled, Settings::Processing::Filters::Hole::Repair::HoleSize, Settings::Processing::Filters::Hole::Repair::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::Mode, Settings::Processing::Filters::Smoothing, Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma, Settings::Processing::Resampling, Settings::Processing::Resampling::Mode > Descendants
Definition Settings.h:11462
const Settings::Processing::Filters::Smoothing & get() const
Definition Settings.h:12555
Processing & set(const Filters::Experimental::ContrastDistortion::Removal::Threshold &value)
Set Filters::Experimental::ContrastDistortion::Removal::Threshold.
Definition Settings.h:11932
const Settings::Processing::Color::Balance::Green & get() const
Definition Settings.h:12168
Processing & set(const Filters::Outlier::Removal &value)
Set Filters::Outlier::Removal.
Definition Settings.h:12037
Processing & set(const Filters::Experimental::ContrastDistortion::Removal::Enabled &value)
Set Filters::Experimental::ContrastDistortion::Removal::Enabled.
Definition Settings.h:11925
Processing & set(const Filters::Cluster::Removal::Enabled &value)
Set Filters::Cluster::Removal::Enabled.
Definition Settings.h:11862
friend std::ostream & operator<<(std::ostream &stream, const Processing &value)
Operator to send the value as string to a stream.
Definition Settings.h:12652
const Settings::Processing::Filters::Noise::Suppression & get() const
Definition Settings.h:12460
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:12334
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition Settings.h:12526
std::string toString() const
Get the value as string.
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition Settings.h:12432
const Settings::Processing::Filters::Hole::Repair & get() const
Definition Settings.h:12365
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition Settings.h:12585
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition Settings.h:12422
Processing & set(const Color::Balance::Blue &value)
Set Color::Balance::Blue.
Definition Settings.h:11787
Color & color()
Get Color.
Definition Settings.h:11767
Processing & set(const Filters::Hole::Repair::Strictness &value)
Set Filters::Hole::Repair::Strictness.
Definition Settings.h:11967
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition Settings.h:12575
Processing & set(const Filters::Reflection &value)
Set Filters::Reflection.
Definition Settings.h:12058
Processing & set(const Filters::Noise &value)
Set Filters::Noise.
Definition Settings.h:11974
Processing & set(const Filters::Hole &value)
Set Filters::Hole.
Definition Settings.h:11939
Processing & set(const Filters::Cluster &value)
Set Filters::Cluster.
Definition Settings.h:11848
const Settings::Processing::Filters::Outlier & get() const
Definition Settings.h:12478
const Settings::Processing::Filters & get() const
Definition Settings.h:12211
Processing & set(const Filters::Experimental::ContrastDistortion::Correction::Strength &value)
Set Filters::Experimental::ContrastDistortion::Correction::Strength.
Definition Settings.h:11911
Processing & set(const Filters::Noise::Removal::Enabled &value)
Set Filters::Noise::Removal::Enabled.
Definition Settings.h:11988
Processing & set(const Filters::Smoothing &value)
Set Filters::Smoothing.
Definition Settings.h:12086
const Settings::Processing::Color::Balance & get() const
Definition Settings.h:12150
const Filters & filters() const
Get Filters.
Definition Settings.h:11829
Processing & set(const Filters::Cluster::Removal &value)
Set Filters::Cluster::Removal.
Definition Settings.h:11855
const Settings::Processing::Filters::Hole::Repair::Strictness & get() const
Definition Settings.h:12395
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:12635
const Settings::Processing::Filters::Cluster::Removal::MinArea & get() const
Definition Settings.h:12258
Processing & set(const Filters::Smoothing::Gaussian::Sigma &value)
Set Filters::Smoothing::Gaussian::Sigma.
Definition Settings.h:12107
Processing & set(const Filters::Noise::Suppression &value)
Set Filters::Noise::Suppression.
Definition Settings.h:12016
Processing & set(const Filters::Noise::Removal &value)
Set Filters::Noise::Removal.
Definition Settings.h:11981
Processing & set(const Filters::Reflection::Removal::Mode &value)
Set Filters::Reflection::Removal::Mode.
Definition Settings.h:12079
Processing & set(const Filters::Hole::Repair::Enabled &value)
Set Filters::Hole::Repair::Enabled.
Definition Settings.h:11953
const Settings::Processing::Resampling & get() const
Definition Settings.h:12593
Processing & set(const Filters::Outlier::Removal::Enabled &value)
Set Filters::Outlier::Removal::Enabled.
Definition Settings.h:12044
Processing & set(const Filters::Noise::Removal::Threshold &value)
Set Filters::Noise::Removal::Threshold.
Definition Settings.h:11995
const Settings::Processing::Color::Balance::Blue & get() const
Definition Settings.h:12159
Processing & set(const Filters::Cluster::Removal::MinArea &value)
Set Filters::Cluster::Removal::MinArea.
Definition Settings.h:11876
Processing & set(const Filters::Experimental &value)
Set Filters::Experimental.
Definition Settings.h:11883
const Settings::Processing::Filters::Noise::Removal & get() const
Definition Settings.h:12412
Processing & set(const Filters::Outlier::Removal::Threshold &value)
Set Filters::Outlier::Removal::Threshold.
Definition Settings.h:12051
Processing & set(const Color::Balance::Green &value)
Set Color::Balance::Green.
Definition Settings.h:11794
const Settings::Processing::Color::Experimental & get() const
Definition Settings.h:12186
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:12312
Processing & set(const Filters::Outlier &value)
Set Filters::Outlier.
Definition Settings.h:12030
Processing & set(const Filters::Noise::Repair::Enabled &value)
Set Filters::Noise::Repair::Enabled.
Definition Settings.h:12009
const Settings::Processing::Filters::Reflection::Removal::Mode & get() const
Definition Settings.h:12546
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:12299
Processing & set(const Color::Experimental::Mode &value)
Set Color::Experimental::Mode.
Definition Settings.h:11815
Processing & set(const Filters::Reflection::Removal::Enabled &value)
Set Filters::Reflection::Removal::Enabled.
Definition Settings.h:12072
Processing & set(const Filters::Experimental::ContrastDistortion::Correction::Enabled &value)
Set Filters::Experimental::ContrastDistortion::Correction::Enabled.
Definition Settings.h:11904
const Settings::Processing::Filters::Cluster::Removal::Enabled & get() const
Definition Settings.h:12238
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition Settings.h:12507
Processing & set(const Filters::Reflection::Removal &value)
Set Filters::Reflection::Removal.
Definition Settings.h:12065
const Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance & get() const
Definition Settings.h:12248
Processing & set(const Filters::Experimental::ContrastDistortion::Correction &value)
Set Filters::Experimental::ContrastDistortion::Correction.
Definition Settings.h:11897
const Settings::Processing::Color & get() const
Definition Settings.h:12142
bool operator==(const Processing &other) const
Equality operator.
const Color & color() const
Get Color.
Definition Settings.h:11761
Processing & set(const Filters::Experimental::ContrastDistortion &value)
Set Filters::Experimental::ContrastDistortion.
Definition Settings.h:11890
Processing & set(const Filters::Noise::Suppression::Enabled &value)
Set Filters::Noise::Suppression::Enabled.
Definition Settings.h:12023
const Settings::Processing::Filters::Cluster::Removal & get() const
Definition Settings.h:12228
const Settings::Processing::Filters::Reflection & get() const
Definition Settings.h:12516
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition Settings.h:12497
Processing & set(const Filters &value)
Set Filters.
Definition Settings.h:11841
const Settings::Processing::Resampling::Mode & get() const
Definition Settings.h:12601
Processing & set(const Color::Balance::Red &value)
Set Color::Balance::Red.
Definition Settings.h:11801
const Settings::Processing::Filters::Noise & get() const
Definition Settings.h:12403
bool operator!=(const Processing &other) const
Inequality operator.
const Settings::Processing::Filters::Experimental & get() const
Definition Settings.h:12267
const Settings::Processing::Filters::Noise::Repair & get() const
Definition Settings.h:12441
Processing & set(const Color::Gamma &value)
Set Color::Gamma.
Definition Settings.h:11822
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:11661
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:12347
const Settings::Processing::Filters::Cluster & get() const
Definition Settings.h:12219
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition Settings.h:12287
Processing & set(const Filters::Noise::Repair &value)
Set Filters::Noise::Repair.
Definition Settings.h:12002
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition Settings.h:12277
const Resampling & resampling() const
Get Resampling.
Definition Settings.h:12114
Processing & set(const Filters::Hole::Repair::HoleSize &value)
Set Filters::Hole::Repair::HoleSize.
Definition Settings.h:11960
Processing & set(const Filters::Hole::Repair &value)
Set Filters::Hole::Repair.
Definition Settings.h:11946
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:12626
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition Settings.h:12487
const Settings::Processing::Filters::Hole & get() const
Definition Settings.h:12356
Enable or disable box filter.
Definition Settings.h:12745
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:12776
bool ValueType
The type of the underlying value.
Definition Settings.h:12762
bool operator==(const Enabled &other) const
Comparison operator.
Definition Settings.h:12796
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:12767
static const Enabled yes
On/enabled.
Definition Settings.h:12763
static const Enabled no
Off/disabled.
Definition Settings.h:12764
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:12808
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:12802
Two points on the normal describing the direction and distance from the plane from which the normal i...
Definition Settings.h:12825
std::string toString() const
Get the value as string.
bool operator==(const Extents &other) const
Comparison operator.
Definition Settings.h:12873
Extents()=default
Default constructor.
void reset()
Reset the node to unset state.
constexpr Extents(Zivid::Range< double > value)
Constructor.
Definition Settings.h:12848
constexpr Extents(double minValue, double maxValue)
Constructor.
Definition Settings.h:12868
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:12885
const Zivid::Range< double > & value() const
Get the value.
bool operator!=(const Extents &other) const
Comparison operator.
Definition Settings.h:12879
A point such that the vector from PointO to PointA describes the first edge of the parallelogram.
Definition Settings.h:12902
void reset()
Reset the node to unset state.
constexpr PointA(float x, float y, float z)
Constructor.
Definition Settings.h:12945
bool operator!=(const PointA &other) const
Comparison operator.
Definition Settings.h:12956
PointA()=default
Default constructor.
bool operator==(const PointA &other) const
Comparison operator.
Definition Settings.h:12950
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:12962
constexpr PointA(Zivid::PointXYZ value)
Constructor.
Definition Settings.h:12925
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:12979
PointB()=default
Default constructor.
bool operator==(const PointB &other) const
Comparison operator.
Definition Settings.h:13027
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:13039
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:13022
constexpr PointB(Zivid::PointXYZ value)
Constructor.
Definition Settings.h:13002
Zivid::PointXYZ value() const
Get the value.
bool operator!=(const PointB &other) const
Comparison operator.
Definition Settings.h:13033
The point at the intersection of two adjacent edges defining a parallelogram.
Definition Settings.h:13056
constexpr PointO(float x, float y, float z)
Constructor.
Definition Settings.h:13099
void reset()
Reset the node to unset state.
bool operator!=(const PointO &other) const
Comparison operator.
Definition Settings.h:13110
PointO()=default
Default constructor.
constexpr PointO(Zivid::PointXYZ value)
Constructor.
Definition Settings.h:13079
bool operator==(const PointO &other) const
Comparison operator.
Definition Settings.h:13104
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:13116
Removes points outside the given three-dimensional box.
Definition Settings.h:12710
std::string toString() const
Get the value as string.
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:13129
Box & set(const PointA &value)
Set PointA.
Definition Settings.h:13304
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:13233
const PointO & pointO() const
Get PointO.
Definition Settings.h:13330
Box & set(const PointO &value)
Set PointO.
Definition Settings.h:13342
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:13260
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:13254
Box & set(const Extents &value)
Set Extents.
Definition Settings.h:13285
const Settings::RegionOfInterest::Box::Enabled & get() const
Definition Settings.h:13352
PointA & pointA()
Get PointA.
Definition Settings.h:13298
PointB & pointB()
Get PointB.
Definition Settings.h:13317
Box & set(const PointB &value)
Set PointB.
Definition Settings.h:13323
const Settings::RegionOfInterest::Box::PointO & get() const
Definition Settings.h:13388
Box()
Default constructor.
const Settings::RegionOfInterest::Box::PointA & get() const
Definition Settings.h:13370
const Extents & extents() const
Get Extents.
Definition Settings.h:13273
const PointA & pointA() const
Get PointA.
Definition Settings.h:13292
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:13196
PointO & pointO()
Get PointO.
Definition Settings.h:13336
Extents & extents()
Get Extents.
Definition Settings.h:13279
const PointB & pointB() const
Get PointB.
Definition Settings.h:13311
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:13425
friend std::ostream & operator<<(std::ostream &stream, const Box &value)
Operator to send the value as string to a stream.
Definition Settings.h:13455
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:13379
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:13436
const Settings::RegionOfInterest::Box::Extents & get() const
Definition Settings.h:13361
Box & set(const Enabled &value)
Set Enabled.
Definition Settings.h:13266
Enable or disable depth filter.
Definition Settings.h:13504
Enabled()=default
Default constructor.
static const Enabled yes
On/enabled.
Definition Settings.h:13522
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:13555
bool operator!=(const Enabled &other) const
Comparison operator.
Definition Settings.h:13561
bool ValueType
The type of the underlying value.
Definition Settings.h:13521
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream.
Definition Settings.h:13567
bool value() const
Get the value.
static std::set< bool > validValues()
All valid values of Enabled.
Definition Settings.h:13526
std::string toString() const
Get the value as string.
static const Enabled no
Off/disabled.
Definition Settings.h:13523
constexpr Enabled(bool value)
Constructor.
Definition Settings.h:13535
Specify the minimum and maximum Z value that will be included.
Definition Settings.h:13584
constexpr Range(double minValue, double maxValue)
Constructor.
Definition Settings.h:13627
constexpr Range(Zivid::Range< double > value)
Constructor.
Definition Settings.h:13607
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:13644
Range()=default
Default constructor.
bool operator==(const Range &other) const
Comparison operator.
Definition Settings.h:13632
bool operator!=(const Range &other) const
Comparison operator.
Definition Settings.h:13638
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:13482
Depth()
Default constructor.
Depth & set(const Enabled &value)
Set Enabled.
Definition Settings.h:13781
std::string toString() const
Get the value as string.
const Range & range() const
Get Range.
Definition Settings.h:13788
Depth & set(const Range &value)
Set Range.
Definition Settings.h:13800
const Enabled & isEnabled() const
Get Enabled.
Definition Settings.h:13769
bool operator==(const Depth &other) const
Equality operator.
std::tuple< Settings::RegionOfInterest::Depth::Enabled, Settings::RegionOfInterest::Depth::Range > Descendants
Definition Settings.h:13657
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:13846
bool operator!=(const Depth &other) const
Inequality operator.
const Settings::RegionOfInterest::Depth::Enabled & get() const
Definition Settings.h:13810
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:13838
Range & range()
Get Range.
Definition Settings.h:13794
friend std::ostream & operator<<(std::ostream &stream, const Depth &value)
Operator to send the value as string to a stream.
Definition Settings.h:13862
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:13714
Enabled & isEnabled()
Get Enabled.
Definition Settings.h:13775
const Settings::RegionOfInterest::Depth::Range & get() const
Definition Settings.h:13819
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:13748
Removes points outside the region of interest.
Definition Settings.h:12676
const Settings::RegionOfInterest::Depth::Enabled & get() const
Definition Settings.h:14167
Depth & depth()
Get Depth.
Definition Settings.h:14079
RegionOfInterest & set(const Depth::Enabled &value)
Set Depth::Enabled.
Definition Settings.h:14092
const Box & box() const
Get Box.
Definition Settings.h:14019
RegionOfInterest & set(const Box &value)
Set Box.
Definition Settings.h:14031
friend std::ostream & operator<<(std::ostream &stream, const RegionOfInterest &value)
Operator to send the value as string to a stream.
Definition Settings.h:14219
RegionOfInterest & set(const Box::PointO &value)
Set Box::PointO.
Definition Settings.h:14066
const Settings::RegionOfInterest::Box::PointO & get() const
Definition Settings.h:14150
std::string toString() const
Get the value as string.
const Settings::RegionOfInterest::Box::PointA & get() const
Definition Settings.h:14134
const Settings::RegionOfInterest::Depth & get() const
Definition Settings.h:14158
const Settings::RegionOfInterest::Box::Extents & get() const
Definition Settings.h:14126
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:13880
const Settings::RegionOfInterest::Depth::Range & get() const
Definition Settings.h:14176
const Settings::RegionOfInterest::Box::PointB & get() const
Definition Settings.h:14142
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:13959
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:13999
Box & box()
Get Box.
Definition Settings.h:14025
const Settings::RegionOfInterest::Box & get() const
Definition Settings.h:14108
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:14195
RegionOfInterest & set(const Box::PointA &value)
Set Box::PointA.
Definition Settings.h:14052
const Depth & depth() const
Get Depth.
Definition Settings.h:14073
RegionOfInterest & set(const Box::Extents &value)
Set Box::Extents.
Definition Settings.h:14045
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:14203
RegionOfInterest & set(const Box::Enabled &value)
Set Box::Enabled.
Definition Settings.h:14038
RegionOfInterest & set(const Depth::Range &value)
Set Depth::Range.
Definition Settings.h:14099
bool operator!=(const RegionOfInterest &other) const
Inequality operator.
RegionOfInterest & set(const Depth &value)
Set Depth.
Definition Settings.h:14085
RegionOfInterest & set(const Box::PointB &value)
Set Box::PointB.
Definition Settings.h:14059
bool operator==(const RegionOfInterest &other) const
Equality operator.
const Settings::RegionOfInterest::Box::Enabled & get() const
Definition Settings.h:14117
RegionOfInterest()
Default constructor.
Choose how to sample colors for the point cloud. The rgb option gives a 2D image with full colors....
Definition Settings.h:14273
ValueType
The type of the underlying value.
Definition Settings.h:14303
std::string toString() const
Get the value as string.
static std::set< ValueType > validValues()
All valid values of Color.
Definition Settings.h:14313
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to serialize the value to a stream.
Definition Settings.h:14360
constexpr Color(ValueType value)
Constructor.
Definition Settings.h:14322
static const Color grayscale
grayscale
Definition Settings.h:14310
bool operator!=(const Color &other) const
Comparison operator.
Definition Settings.h:14354
Color()=default
Default constructor.
static const Color disabled
disabled
Definition Settings.h:14309
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:14348
friend std::ostream & operator<<(std::ostream &stream, const Color::ValueType &value)
Operator to serialize ValueType to a stream.
Definition Settings.h:14342
static const Color rgb
rgb
Definition Settings.h:14308
ValueType value() const
Get the value.
For Zivid 2/2+, this setting controls whether to read out the full image sensor and use white project...
Definition Settings.h:14398
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:14445
static const Pixel redSubsample4x4
redSubsample4x4
Definition Settings.h:14440
constexpr Pixel(ValueType value)
Constructor.
Definition Settings.h:14460
static const Pixel all
all
Definition Settings.h:14436
static const Pixel blueSubsample2x2
blueSubsample2x2
Definition Settings.h:14437
static const Pixel by2x2
by2x2
Definition Settings.h:14441
static const Pixel by4x4
by4x4
Definition Settings.h:14442
bool operator!=(const Pixel &other) const
Comparison operator.
Definition Settings.h:14492
ValueType
The type of the underlying value.
Definition Settings.h:14427
static const Pixel redSubsample2x2
redSubsample2x2
Definition Settings.h:14438
Pixel()=default
Default constructor.
bool operator==(const Pixel &other) const
Comparison operator.
Definition Settings.h:14486
static const Pixel blueSubsample4x4
blueSubsample4x4
Definition Settings.h:14439
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:14480
friend std::ostream & operator<<(std::ostream &stream, const Pixel &value)
Operator to serialize the value to a stream.
Definition Settings.h:14498
std::string toString() const
Get the value as string.
Sampling settings.
Definition Settings.h:14242
std::tuple< Settings::Sampling::Color, Settings::Sampling::Pixel > Descendants
Definition Settings.h:14524
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:14580
bool operator==(const Sampling &other) const
Equality operator.
Color & color()
Get Color.
Definition Settings.h:14639
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:14613
const Pixel & pixel() const
Get Pixel.
Definition Settings.h:14652
friend std::ostream & operator<<(std::ostream &stream, const Sampling &value)
Operator to send the value as string to a stream.
Definition Settings.h:14724
Pixel & pixel()
Get Pixel.
Definition Settings.h:14658
const Settings::Sampling::Color & get() const
Definition Settings.h:14673
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:14700
Sampling()
Default constructor.
const Settings::Sampling::Pixel & get() const
Definition Settings.h:14681
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:14708
const Color & color() const
Get Color.
Definition Settings.h:14633
std::string toString() const
Get the value as string.
Sampling & set(const Color &value)
Set Color.
Definition Settings.h:14645
Sampling & set(const Pixel &value)
Set Pixel.
Definition Settings.h:14664
Settings used when capturing a 3D capture or 2D+3D capture with a Zivid camera.
Definition Settings.h:81
const Settings::RegionOfInterest::Depth & get() const
Definition Settings.h:16237
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition Settings.h:16075
const Settings::Color & get() const
Definition Settings.h:15698
Settings(Args &&...args)
Constructor taking variadic number of arguments.
Definition Settings.h:14920
Settings & set(const Processing::Filters::Cluster::Removal::MinArea &value)
Set Processing::Filters::Cluster::Removal::MinArea.
Definition Settings.h:15325
const Settings::Processing::Filters::Outlier & get() const
Definition Settings.h:16056
Settings & set(const RegionOfInterest::Box::PointB &value)
Set RegionOfInterest::Box::PointB.
Definition Settings.h:15624
const Settings::Processing::Filters::Hole::Repair & get() const
Definition Settings.h:15946
const Settings::Processing::Color::Balance & get() const
Definition Settings.h:15740
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled.
Definition Settings.h:15374
const Settings::Processing::Color::Balance::Red & get() const
Definition Settings.h:15764
Settings & set(const Processing::Color::Experimental::Mode &value)
Set Processing::Color::Experimental::Mode.
Definition Settings.h:15276
Settings & set(const Processing::Filters::Smoothing &value)
Set Processing::Filters::Smoothing.
Definition Settings.h:15535
const Settings::RegionOfInterest & get() const
Definition Settings.h:16181
const Settings::Processing::Filters::Noise::Removal & get() const
Definition Settings.h:15991
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:15113
const Processing & processing() const
Get Processing.
Definition Settings.h:15215
const Settings::Processing::Color::Gamma & get() const
Definition Settings.h:15789
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition Settings.h:15906
Settings & set(const Processing &value)
Set Processing.
Definition Settings.h:15227
const Settings::Sampling::Pixel & get() const
Definition Settings.h:16271
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition Settings.h:15929
Settings & set(const Sampling &value)
Set Sampling.
Definition Settings.h:15671
static Settings fromSerialized(const std::string &value)
Construct a new Settings instance from a previously serialized string.
Settings & set(const Processing::Filters::Outlier::Removal::Enabled &value)
Set Processing::Filters::Outlier::Removal::Enabled.
Definition Settings.h:15493
Settings & set(const Processing::Filters::Hole::Repair::Enabled &value)
Set Processing::Filters::Hole::Repair::Enabled.
Definition Settings.h:15402
const Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance & get() const
Definition Settings.h:15834
const Settings::Processing::Filters::Hole & get() const
Definition Settings.h:15938
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold.
Definition Settings.h:15381
Settings & set(const Processing::Filters::Smoothing::Gaussian &value)
Set Processing::Filters::Smoothing::Gaussian.
Definition Settings.h:15542
Settings & set(const Sampling::Color &value)
Set Sampling::Color.
Definition Settings.h:15678
Color & color()
Get Color.
Definition Settings.h:15157
Settings & set(const Diagnostics &value)
Set Diagnostics.
Definition Settings.h:15182
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition Settings.h:15917
Settings & set(const RegionOfInterest::Depth::Enabled &value)
Set RegionOfInterest::Depth::Enabled.
Definition Settings.h:15645
Settings & set(const Processing::Filters::Noise &value)
Set Processing::Filters::Noise.
Definition Settings.h:15423
const Sampling & sampling() const
Get Sampling.
Definition Settings.h:15659
void load(const std::string &fileName)
Load from the given file.
const Settings::Processing::Filters::Cluster::Removal::MinArea & get() const
Definition Settings.h:15844
const Settings::Acquisitions & get() const
Definition Settings.h:15692
const Settings::Processing::Filters::Experimental & get() const
Definition Settings.h:15852
const Settings::Processing::Filters::Noise::Suppression & get() const
Definition Settings.h:16038
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition Settings.h:16065
Settings & set(const Processing::Filters::Cluster &value)
Set Processing::Filters::Cluster.
Definition Settings.h:15297
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition Settings.h:16159
const Settings::Diagnostics & get() const
Definition Settings.h:15704
RegionOfInterest & regionOfInterest()
Get RegionOfInterest.
Definition Settings.h:15583
const Settings::Processing::Resampling & get() const
Definition Settings.h:16167
Settings & set(const Processing::Filters::Hole &value)
Set Processing::Filters::Hole.
Definition Settings.h:15388
Settings & set(const Processing::Filters::Reflection::Removal::Mode &value)
Set Processing::Filters::Reflection::Removal::Mode.
Definition Settings.h:15528
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition Settings.h:16149
const Settings::RegionOfInterest::Box & get() const
Definition Settings.h:16189
Settings & set(const Processing::Color::Balance &value)
Set Processing::Color::Balance.
Definition Settings.h:15241
const Settings::RegionOfInterest::Box::PointO & get() const
Definition Settings.h:16229
Settings & set(const RegionOfInterest::Depth &value)
Set RegionOfInterest::Depth.
Definition Settings.h:15638
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition Settings.h:16001
const Settings::RegionOfInterest::Depth::Enabled & get() const
Definition Settings.h:16245
const Settings::Processing::Filters::Hole::Repair::Strictness & get() const
Definition Settings.h:15974
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition Settings.h:15872
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:16320
std::string serialize() const
Serialize to a string.
const Settings::Processing::Color::Balance::Green & get() const
Definition Settings.h:15756
const Settings::RegionOfInterest::Box::Extents & get() const
Definition Settings.h:16205
Settings & set(const Processing::Filters::Smoothing::Gaussian::Enabled &value)
Set Processing::Filters::Smoothing::Gaussian::Enabled.
Definition Settings.h:15549
const Settings::Processing & get() const
Definition Settings.h:15724
Settings & set(const Processing::Filters::Reflection &value)
Set Processing::Filters::Reflection.
Definition Settings.h:15507
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition Settings.h:16333
Settings()
Default constructor.
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition Settings.h:15862
Settings & set(const Processing::Filters::Outlier::Removal::Threshold &value)
Set Processing::Filters::Outlier::Removal::Threshold.
Definition Settings.h:15500
Settings & set(const Processing::Filters::Hole::Repair::HoleSize &value)
Set Processing::Filters::Hole::Repair::HoleSize.
Definition Settings.h:15409
const Settings::RegionOfInterest::Box::Enabled & get() const
Definition Settings.h:16197
const Settings::Processing::Color::Experimental::Mode & get() const
Definition Settings.h:15781
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Strength &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Strength.
Definition Settings.h:15360
Settings & set(const RegionOfInterest::Box::Enabled &value)
Set RegionOfInterest::Box::Enabled.
Definition Settings.h:15603
const Settings::Processing::Filters::Hole::Repair::HoleSize & get() const
Definition Settings.h:15964
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition Settings.h:15895
Settings & set(const RegionOfInterest::Box::Extents &value)
Set RegionOfInterest::Box::Extents.
Definition Settings.h:15610
const Settings::Processing::Color::Balance::Blue & get() const
Definition Settings.h:15748
Settings & set(const Processing::Resampling::Mode &value)
Set Processing::Resampling::Mode.
Definition Settings.h:15570
const Settings::Processing::Filters::Hole::Repair::Enabled & get() const
Definition Settings.h:15955
const Acquisitions & acquisitions() const
Get Acquisitions.
Definition Settings.h:15132
void set(Args &&...args)
Set multiple arguments.
Definition Settings.h:15014
const Settings::Processing::Filters::Reflection & get() const
Definition Settings.h:16093
Settings & set(const Processing::Filters::Experimental &value)
Set Processing::Filters::Experimental.
Definition Settings.h:15332
const Settings::Processing::Filters::Smoothing & get() const
Definition Settings.h:16130
const Settings::Processing::Filters & get() const
Definition Settings.h:15797
Settings & set(const Processing::Color::Experimental &value)
Set Processing::Color::Experimental.
Definition Settings.h:15269
void save(const std::string &fileName) const
Save to the given file.
Settings & set(const Engine &value)
Set Engine.
Definition Settings.h:15208
Settings & set(const RegionOfInterest::Depth::Range &value)
Set RegionOfInterest::Depth::Range.
Definition Settings.h:15652
const Settings::Processing::Color::Experimental & get() const
Definition Settings.h:15772
const Settings::Processing::Filters::Noise::Repair & get() const
Definition Settings.h:16020
Settings & set(const Processing::Resampling &value)
Set Processing::Resampling.
Definition Settings.h:15563
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal.
Definition Settings.h:15367
const Settings::RegionOfInterest::Box::PointA & get() const
Definition Settings.h:16213
Settings & set(const Processing::Color &value)
Set Processing::Color.
Definition Settings.h:15234
Settings & set(const Processing::Filters::Outlier &value)
Set Processing::Filters::Outlier.
Definition Settings.h:15479
bool operator==(const Settings &other) const
Equality operator.
Acquisitions & acquisitions()
Get Acquisitions.
Definition Settings.h:15138
Settings & set(const Processing::Filters::Reflection::Removal &value)
Set Processing::Filters::Reflection::Removal.
Definition Settings.h:15514
const Settings::Processing::Filters::Noise::Suppression::Enabled & get() const
Definition Settings.h:16048
const Settings::Engine & get() const
Definition Settings.h:15718
const Settings::Processing::Filters::Cluster & get() const
Definition Settings.h:15805
const Settings::Processing::Filters::Noise::Repair::Enabled & get() const
Definition Settings.h:16029
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:15262
Settings & set(const RegionOfInterest::Box::PointO &value)
Set RegionOfInterest::Box::PointO.
Definition Settings.h:15631
const Settings::Sampling::Color & get() const
Definition Settings.h:16265
Settings & set(const Processing::Filters::Cluster::Removal &value)
Set Processing::Filters::Cluster::Removal.
Definition Settings.h:15304
Settings & set(const RegionOfInterest::Box &value)
Set RegionOfInterest::Box.
Definition Settings.h:15596
Settings & set(const Processing::Filters::Noise::Suppression &value)
Set Processing::Filters::Noise::Suppression.
Definition Settings.h:15465
const Engine & engine() const
Get Engine.
Definition Settings.h:15196
Diagnostics & diagnostics()
Get Diagnostics.
Definition Settings.h:15176
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition Settings.h:16011
const Settings::Processing::Filters::Cluster::Removal::Enabled & get() const
Definition Settings.h:15824
const Color & color() const
Get Color.
Definition Settings.h:15151
Sampling & sampling()
Get Sampling.
Definition Settings.h:15665
Settings & set(const Processing::Filters::Reflection::Removal::Enabled &value)
Set Processing::Filters::Reflection::Removal::Enabled.
Definition Settings.h:15521
Processing & processing()
Get Processing.
Definition Settings.h:15221
Settings & set(const RegionOfInterest::Box::PointA &value)
Set RegionOfInterest::Box::PointA.
Definition Settings.h:15617
Settings & set(const Diagnostics::Enabled &value)
Set Diagnostics::Enabled.
Definition Settings.h:15189
const Settings::Processing::Filters::Noise & get() const
Definition Settings.h:15982
const Settings::Diagnostics::Enabled & get() const
Definition Settings.h:15712
const Settings::Processing::Filters::Cluster::Removal & get() const
Definition Settings.h:15814
Settings & set(const Color &value)
Set Color.
Definition Settings.h:15163
const Settings::Processing::Filters::Reflection::Removal::Mode & get() const
Definition Settings.h:16122
std::string toString() const
Get the value as string.
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition Settings.h:15883
const Settings::RegionOfInterest::Box::PointB & get() const
Definition Settings.h:16221
Settings & set(const Processing::Filters::Experimental::ContrastDistortion &value)
Set Processing::Filters::Experimental::ContrastDistortion.
Definition Settings.h:15339
Settings & set(const Sampling::Pixel &value)
Set Sampling::Pixel.
Definition Settings.h:15685
Settings & set(const Processing::Filters::Hole::Repair::Strictness &value)
Set Processing::Filters::Hole::Repair::Strictness.
Definition Settings.h:15416
Settings & set(const Processing::Color::Gamma &value)
Set Processing::Color::Gamma.
Definition Settings.h:15283
Settings & set(const Processing::Filters::Cluster::Removal::Enabled &value)
Set Processing::Filters::Cluster::Removal::Enabled.
Definition Settings.h:15311
const Settings::RegionOfInterest::Depth::Range & get() const
Definition Settings.h:16253
const Settings::Sampling & get() const
Definition Settings.h:16259
Settings & set(const Processing::Filters::Noise::Removal::Threshold &value)
Set Processing::Filters::Noise::Removal::Threshold.
Definition Settings.h:15444
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled.
Definition Settings.h:15353
Settings & set(const Acquisitions &value)
Set Acquisitions.
Definition Settings.h:15144
Settings & set(const Processing::Filters::Smoothing::Gaussian::Sigma &value)
Set Processing::Filters::Smoothing::Gaussian::Sigma.
Definition Settings.h:15556
const Diagnostics & diagnostics() const
Get Diagnostics.
Definition Settings.h:15170
bool operator!=(const Settings &other) const
Inequality operator.
Settings & set(const Processing::Filters::Noise::Removal &value)
Set Processing::Filters::Noise::Removal.
Definition Settings.h:15430
Settings & set(const Processing::Filters::Noise::Repair &value)
Set Processing::Filters::Noise::Repair.
Definition Settings.h:15451
Settings & set(const Processing::Filters::Cluster::Removal::MaxNeighborDistance &value)
Set Processing::Filters::Cluster::Removal::MaxNeighborDistance.
Definition Settings.h:15318
Settings & set(const Processing::Filters::Outlier::Removal &value)
Set Processing::Filters::Outlier::Removal.
Definition Settings.h:15486
Settings & set(const RegionOfInterest &value)
Set RegionOfInterest.
Definition Settings.h:15589
Settings & set(const Processing::Filters::Noise::Removal::Enabled &value)
Set Processing::Filters::Noise::Removal::Enabled.
Definition Settings.h:15437
Engine & engine()
Get Engine.
Definition Settings.h:15202
Settings & set(const Processing::Filters::Hole::Repair &value)
Set Processing::Filters::Hole::Repair.
Definition Settings.h:15395
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction.
Definition Settings.h:15346
const Settings::Processing::Color & get() const
Definition Settings.h:15732
Settings & set(const Processing::Filters::Noise::Repair::Enabled &value)
Set Processing::Filters::Noise::Repair::Enabled.
Definition Settings.h:15458
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition Settings.h:16112
Settings & set(const Processing::Filters::Noise::Suppression::Enabled &value)
Set Processing::Filters::Noise::Suppression::Enabled.
Definition Settings.h:15472
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition Settings.h:16102
Settings & set(const Processing::Color::Balance::Green &value)
Set Processing::Color::Balance::Green.
Definition Settings.h:15255
Settings & set(const Processing::Filters &value)
Set Processing::Filters.
Definition Settings.h:15290
const RegionOfInterest & regionOfInterest() const
Get RegionOfInterest.
Definition Settings.h:15577
const Settings::Processing::Resampling::Mode & get() const
Definition Settings.h:16175
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition Settings.h:16085
std::tuple< Settings::Acquisitions, Settings::Color, Settings::Diagnostics, Settings::Diagnostics::Enabled, Settings::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::Hole, Settings::Processing::Filters::Hole::Repair, Settings::Processing::Filters::Hole::Repair::Enabled, Settings::Processing::Filters::Hole::Repair::HoleSize, Settings::Processing::Filters::Hole::Repair::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::Mode, Settings::Processing::Filters::Smoothing, Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma, Settings::Processing::Resampling, Settings::Processing::Resampling::Mode, 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:14742
Settings & set(const Processing::Color::Balance::Blue &value)
Set Processing::Color::Balance::Blue.
Definition Settings.h:15248
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition Settings.h:16139
friend std::ostream & operator<<(std::ostream &stream, const Settings &value)
Operator to send the value as string to a stream.
Definition Settings.h:16354
NodeType
Definition NodeType.h:49
Definition EnvironmentInfo.h:74
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:84
Point with three coordinates as float.
Definition Point.h:60