68 # pragma warning(push)
69 # pragma warning(disable : 4251)
82 static constexpr
const char *path{
"" };
85 static constexpr
const char *name{
"Settings" };
88 static constexpr
const char *description{
89 R
"description(Settings used when capturing with a Zivid camera)description"
92 static constexpr
size_t version{ 8 };
102 static constexpr std::array<uint8_t, 3> binaryId{
's',
'e',
't' };
114 static constexpr
const char *path{
"Acquisition" };
117 static constexpr
const char *name{
"Acquisition" };
120 static constexpr
const char *description{ R
"description(Settings for a single acquisition)description" };
132 static constexpr
const char *path{
"Acquisition/Aperture" };
135 static constexpr
const char *name{
"Aperture" };
138 static constexpr
const char *description{
139 R
"description(Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to
140 the effective aperture diameter).
150 return { 1.4, 32.0 };
158 : m_opt{ verifyValue(value) }
179 return m_opt == other.m_opt;
185 return m_opt != other.m_opt;
191 return m_opt < other.m_opt;
197 return m_opt > other.m_opt;
207 void setFromString(
const std::string &value);
209 constexpr ValueType verifyValue(
const ValueType &value)
const
213 :
throw std::out_of_range{
"Aperture{ " + std::to_string(value) +
" } is not in range ["
218 Zivid::DataModel::Detail::Optional<double> m_opt;
220 friend struct DataModel::Detail::Befriend<
Aperture>;
243 static constexpr
const char *path{
"Acquisition/Brightness" };
246 static constexpr
const char *name{
"Brightness" };
249 static constexpr
const char *description{
250 R
"description(Brightness controls the light output from the projector.
252 Brightness above 1.0 may be needed when the distance between the camera and the scene is large,
253 or in case of high levels of ambient lighting. Brightness above 1.0 is supported on Zivid One
256 When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera
257 can capture) will be reduced. For Zivid One Plus the duty cycle in boost mode is 50%. For Zivid
258 Two the duty cycle is reduced linearly from 100% at brightness 1.0, to 50% at brightness 1.8.
259 The duty cycle is calculated over a 10 second period. This limitation is enforced automatically
260 by the camera. Calling capture when the duty cycle limit has been reached will cause the camera
261 to first wait (sleep) for a duration of time to cool down, before capture will start.
279 : m_opt{ verifyValue(value) }
300 return m_opt == other.m_opt;
306 return m_opt != other.m_opt;
312 return m_opt < other.m_opt;
318 return m_opt > other.m_opt;
328 void setFromString(
const std::string &value);
330 constexpr ValueType verifyValue(
const ValueType &value)
const
334 :
throw std::out_of_range{
"Brightness{ " + std::to_string(value)
335 +
" } is not in range [" + std::to_string(
validRange().min())
336 +
", " + std::to_string(
validRange().max()) +
"]" };
339 Zivid::DataModel::Detail::Optional<double> m_opt;
341 friend struct DataModel::Detail::Befriend<
Brightness>;
352 static constexpr
const char *path{
"Acquisition/ExposureTime" };
355 static constexpr
const char *name{
"ExposureTime" };
358 static constexpr
const char *description{
359 R
"description(Exposure time for each single image in the measurement. Affects frame rate.)description"
368 return { std::chrono::microseconds{ 1677 }, std::chrono::microseconds{ 100000 } };
376 : m_opt{ verifyValue(value) }
383 std::chrono::microseconds
value()
const;
397 return m_opt == other.m_opt;
403 return m_opt != other.m_opt;
409 return m_opt < other.m_opt;
415 return m_opt > other.m_opt;
425 void setFromString(
const std::string &value);
427 constexpr ValueType verifyValue(
const ValueType &value)
const
431 :
throw std::out_of_range{
"ExposureTime{ " + std::to_string(value.count())
432 +
" } is not in range ["
433 + std::to_string(
validRange().min().count()) +
", "
434 + std::to_string(
validRange().max().count()) +
"]" };
437 Zivid::DataModel::Detail::Optional<std::chrono::microseconds> m_opt;
439 friend struct DataModel::Detail::Befriend<
ExposureTime>;
450 static constexpr
const char *path{
"Acquisition/Gain" };
453 static constexpr
const char *name{
"Gain" };
456 static constexpr
const char *description{ R
"description(Analog gain in the camera)description" };
471 explicit constexpr
Gain(
double value)
472 : m_opt{ verifyValue(value) }
493 return m_opt == other.m_opt;
499 return m_opt != other.m_opt;
505 return m_opt < other.m_opt;
511 return m_opt > other.m_opt;
521 void setFromString(
const std::string &value);
523 constexpr ValueType verifyValue(
const ValueType &value)
const
527 :
throw std::out_of_range{
"Gain{ " + std::to_string(value) +
" } is not in range ["
532 Zivid::DataModel::Detail::Optional<double> m_opt;
534 friend struct DataModel::Detail::Befriend<
Gain>;
560 template<
typename... Args,
561 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
562 typename std::enable_if<
563 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
564 typename std::decay<Args>::type...>::value,
567 template<typename... Args>
571 using namespace Zivid::Detail::TypeTraits;
573 static_assert(AllArgsDecayedAreUnique<Args...>::value,
574 "Found duplicate types among the arguments passed to Acquisition(...). "
575 "Types should be listed at most once.");
577 set(std::forward<Args>(args)...);
594 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
596 template<typename... Args>
600 using namespace Zivid::Detail::TypeTraits;
602 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
603 static_assert(AllArgsAreDescendantNodes::value,
604 "All arguments passed to set(...) must be descendant nodes.");
606 static_assert(AllArgsDecayedAreUnique<Args...>::value,
607 "Found duplicate types among the arguments passed to set(...). "
608 "Types should be listed at most once.");
610 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
628 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
630 template<typename... Args>
634 using namespace Zivid::Detail::TypeTraits;
636 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
637 static_assert(AllArgsAreDescendantNodes::value,
638 "All arguments passed to copyWith(...) must be descendant nodes.");
640 static_assert(AllArgsDecayedAreUnique<Args...>::value,
641 "Found duplicate types among the arguments passed to copyWith(...). "
642 "Types should be listed at most once.");
645 copy.set(std::forward<Args>(args)...);
683 m_brightness = value;
690 return m_exposureTime;
696 return m_exposureTime;
702 m_exposureTime = value;
726 typename std::enable_if<std::is_same<T, Settings::Acquisition::Aperture>::value,
int>::type = 0>
733 typename std::enable_if<std::is_same<T, Settings::Acquisition::Brightness>::value,
int>::type = 0>
741 typename std::enable_if<std::is_same<T, Settings::Acquisition::ExposureTime>::value,
int>::type = 0>
744 return m_exposureTime;
748 typename std::enable_if<std::is_same<T, Settings::Acquisition::Gain>::value,
int>::type = 0>
754 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
760 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
766 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
769 return m_exposureTime;
772 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
814 void setFromString(
const std::string &value);
816 void setFromString(
const std::string &fullPath,
const std::string &value);
818 std::string getString(
const std::string &fullPath)
const;
821 Brightness m_brightness;
822 ExposureTime m_exposureTime;
825 friend struct DataModel::Detail::Befriend<
Acquisition>;
836 static constexpr
const char *path{
"Acquisitions" };
839 static constexpr
const char *name{
"Acquisitions" };
842 static constexpr
const char *description{ R
"description(List of Acquisition objects)description" };
850 return { 0, std::numeric_limits<ValueType::size_type>::max() };
858 : m_value{ std::move(value) }
862 explicit Acquisitions(std::initializer_list<Settings::Acquisition> value)
867 const std::vector<Settings::Acquisition> &
value()
const;
873 std::size_t
size() const noexcept;
876 bool isEmpty() const noexcept;
883 template<typename... Args>
884 void emplaceBack(Args &&...args)
886 m_value.emplace_back(std::forward<Args>(args)...);
921 for(
auto &child : m_value)
931 for(
const auto &child : m_value)
940 return m_value == other.m_value;
946 return m_value != other.m_value;
956 void setFromString(
const std::string &value);
958 std::vector<Settings::Acquisition> m_value{};
960 friend struct DataModel::Detail::Befriend<
Acquisitions>;
971 static constexpr
const char *path{
"Experimental" };
974 static constexpr
const char *name{
"Experimental" };
977 static constexpr
const char *description{
978 R
"description(Experimental features. These settings may be changed, renamed, moved or deleted in the future.)description"
997 static constexpr
const char *path{
"Experimental/Engine" };
1000 static constexpr
const char *name{
"Engine" };
1003 static constexpr
const char *description{ R
"description(Set the Zivid Vision Engine to use.
1005 The Phase Engine is the current default Zivid Vision Engine.
1007 The Stripe Engine uses anti-reflection technology to suppress interreflection artifacts
1008 and improve data quality on shiny objects like cylinders and chrome-plated parts.
1009 Additional acquisition and processing time are required for the Stripe Engine.
1010 The Stripe Engine is currently experimental, and may be changed and improved in the future.
1025 return { ValueType::phase, ValueType::stripe };
1033 : m_opt{ verifyValue(value) }
1060 return m_opt == other.m_opt;
1066 return m_opt != other.m_opt;
1076 void setFromString(
const std::string &value);
1078 constexpr ValueType verifyValue(
const ValueType &value)
const
1080 return value == ValueType::phase || value == ValueType::stripe
1082 :
throw std::invalid_argument{
1083 "Invalid value: Engine{ "
1084 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
1088 Zivid::DataModel::Detail::Optional<ValueType> m_opt;
1090 friend struct DataModel::Detail::Befriend<
Engine>;
1110 template<
typename... Args,
1111 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1112 typename std::enable_if<
1113 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
1114 typename std::decay<Args>::type...>::value,
1117 template<typename... Args>
1121 using namespace Zivid::Detail::TypeTraits;
1123 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1124 "Found duplicate types among the arguments passed to Experimental(...). "
1125 "Types should be listed at most once.");
1127 set(std::forward<Args>(args)...);
1141 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1143 template<typename... Args>
1147 using namespace Zivid::Detail::TypeTraits;
1149 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1150 static_assert(AllArgsAreDescendantNodes::value,
1151 "All arguments passed to set(...) must be descendant nodes.");
1153 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1154 "Found duplicate types among the arguments passed to set(...). "
1155 "Types should be listed at most once.");
1157 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1172 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1174 template<typename... Args>
1178 using namespace Zivid::Detail::TypeTraits;
1180 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1181 static_assert(AllArgsAreDescendantNodes::value,
1182 "All arguments passed to copyWith(...) must be descendant nodes.");
1184 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1185 "Found duplicate types among the arguments passed to copyWith(...). "
1186 "Types should be listed at most once.");
1189 copy.set(std::forward<Args>(args)...);
1212 template<
typename T,
1213 typename std::enable_if<std::is_same<T, Settings::Experimental::Engine>::value,
int>::type = 0>
1219 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1226 template<
typename F>
1233 template<
typename F>
1255 void setFromString(
const std::string &value);
1257 void setFromString(
const std::string &fullPath,
const std::string &value);
1259 std::string getString(
const std::string &fullPath)
const;
1263 friend struct DataModel::Detail::Befriend<
Experimental>;
1274 static constexpr
const char *path{
"Processing" };
1277 static constexpr
const char *name{
"Processing" };
1280 static constexpr
const char *description{
1281 R
"description(Settings related to processing of a capture, including filters and color balance)description"
1292 static constexpr
const char *path{
"Processing/Color" };
1295 static constexpr
const char *name{
"Color" };
1298 static constexpr
const char *description{ R
"description(Color settings)description" };
1308 static constexpr
const char *path{
"Processing/Color/Balance" };
1311 static constexpr
const char *name{
"Balance" };
1314 static constexpr
const char *description{ R
"description(Color balance settings)description" };
1324 static constexpr
const char *path{
"Processing/Color/Balance/Blue" };
1327 static constexpr
const char *name{
"Blue" };
1330 static constexpr
const char *description{
1331 R
"description(Digital gain applied to blue channel)description"
1340 return { 1.0, 8.0 };
1347 explicit constexpr
Blue(
double value)
1348 : m_opt{ verifyValue(value) }
1369 return m_opt == other.m_opt;
1375 return m_opt != other.m_opt;
1381 return m_opt < other.m_opt;
1387 return m_opt > other.m_opt;
1397 void setFromString(
const std::string &value);
1399 constexpr ValueType verifyValue(
const ValueType &value)
const
1403 :
throw std::out_of_range{
"Blue{ " + std::to_string(value)
1404 +
" } is not in range ["
1406 + std::to_string(
validRange().max()) +
"]" };
1409 Zivid::DataModel::Detail::Optional<double> m_opt;
1411 friend struct DataModel::Detail::Befriend<
Blue>;
1422 static constexpr
const char *path{
"Processing/Color/Balance/Green" };
1425 static constexpr
const char *name{
"Green" };
1428 static constexpr
const char *description{
1429 R
"description(Digital gain applied to green channel)description"
1438 return { 1.0, 8.0 };
1446 : m_opt{ verifyValue(value) }
1467 return m_opt == other.m_opt;
1473 return m_opt != other.m_opt;
1479 return m_opt < other.m_opt;
1485 return m_opt > other.m_opt;
1495 void setFromString(
const std::string &value);
1497 constexpr ValueType verifyValue(
const ValueType &value)
const
1501 :
throw std::out_of_range{
"Green{ " + std::to_string(value)
1502 +
" } is not in range ["
1504 + std::to_string(
validRange().max()) +
"]" };
1507 Zivid::DataModel::Detail::Optional<double> m_opt;
1509 friend struct DataModel::Detail::Befriend<
Green>;
1520 static constexpr
const char *path{
"Processing/Color/Balance/Red" };
1523 static constexpr
const char *name{
"Red" };
1526 static constexpr
const char *description{
1527 R
"description(Digital gain applied to red channel)description"
1536 return { 1.0, 8.0 };
1543 explicit constexpr
Red(
double value)
1544 : m_opt{ verifyValue(value) }
1565 return m_opt == other.m_opt;
1571 return m_opt != other.m_opt;
1577 return m_opt < other.m_opt;
1583 return m_opt > other.m_opt;
1593 void setFromString(
const std::string &value);
1595 constexpr ValueType verifyValue(
const ValueType &value)
const
1599 :
throw std::out_of_range{
"Red{ " + std::to_string(value)
1600 +
" } is not in range ["
1602 + std::to_string(
validRange().max()) +
"]" };
1605 Zivid::DataModel::Detail::Optional<double> m_opt;
1607 friend struct DataModel::Detail::Befriend<
Red>;
1631 template<
typename... Args,
1632 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1633 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
1635 typename std::decay<Args>::type...>::value,
1638 template<typename... Args>
1642 using namespace Zivid::Detail::TypeTraits;
1644 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1645 "Found duplicate types among the arguments passed to Balance(...). "
1646 "Types should be listed at most once.");
1648 set(std::forward<Args>(args)...);
1664 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1666 template<typename... Args>
1670 using namespace Zivid::Detail::TypeTraits;
1672 using AllArgsAreDescendantNodes =
1673 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1674 static_assert(AllArgsAreDescendantNodes::value,
1675 "All arguments passed to set(...) must be descendant nodes.");
1677 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1678 "Found duplicate types among the arguments passed to set(...). "
1679 "Types should be listed at most once.");
1681 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1698 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1700 template<typename... Args>
1704 using namespace Zivid::Detail::TypeTraits;
1706 using AllArgsAreDescendantNodes =
1707 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1708 static_assert(AllArgsAreDescendantNodes::value,
1709 "All arguments passed to copyWith(...) must be descendant nodes.");
1711 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1712 "Found duplicate types among the arguments passed to copyWith(...). "
1713 "Types should be listed at most once.");
1716 copy.set(std::forward<Args>(args)...);
1777 template<
typename T,
1778 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
1787 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
1794 template<
typename T,
1795 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
1802 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1808 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1814 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1821 template<
typename F>
1830 template<
typename F>
1854 void setFromString(
const std::string &value);
1856 void setFromString(
const std::string &fullPath,
const std::string &value);
1858 std::string getString(
const std::string &fullPath)
const;
1864 friend struct DataModel::Detail::Befriend<
Balance>;
1875 static constexpr
const char *path{
"Processing/Color/Experimental" };
1878 static constexpr
const char *name{
"Experimental" };
1881 static constexpr
const char *description{
1882 R
"description(Experimental color settings. These may be renamed, moved or deleted in the future.)description"
1893 static constexpr
const char *path{
"Processing/Color/Experimental/ToneMapping" };
1896 static constexpr
const char *name{
"ToneMapping" };
1899 static constexpr
const char *description{ R
"description(Tonemapping settings.)description" };
1917 static constexpr
const char *path{
"Processing/Color/Experimental/ToneMapping/Enabled" };
1920 static constexpr
const char *name{
"Enabled" };
1923 static constexpr
const char *description{
1924 R
"description(This setting controls when tone mapping of colors is performed. Tone mapping will normalize
1925 the captured color image to the full available output range by applying a gain factor to the
1926 colors. For single-captures this can be used do brighten dark images. For HDR captures this
1927 is required to map high-dynamic-range colors to the more limited dynamic range output.
1929 This setting has two possible values. `Always` will perform tone-mapping for all captures.
1930 `HdrOnly` will perform tone mapping for HDR captures but not for single-captures. It is not
1931 possible to disable tone mapping for HDR captures.
1947 return { ValueType::always, ValueType::hdrOnly };
1955 : m_opt{ verifyValue(value) }
1982 return m_opt == other.m_opt;
1988 return m_opt != other.m_opt;
1998 void setFromString(
const std::string &value);
2000 constexpr ValueType verifyValue(
const ValueType &value)
const
2002 return value == ValueType::always || value == ValueType::hdrOnly
2004 :
throw std::invalid_argument{
2005 "Invalid value: Enabled{ "
2007 static_cast<std::underlying_type<ValueType>::type
>(value))
2012 Zivid::DataModel::Detail::Optional<ValueType> m_opt;
2014 friend struct DataModel::Detail::Befriend<
Enabled>;
2017 using Descendants = std::tuple<Settings::Processing::Color::Experimental::ToneMapping::Enabled>;
2034 template<
typename... Args,
2035 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2036 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
2038 typename std::decay<Args>::type...>::value,
2041 template<typename... Args>
2045 using namespace Zivid::Detail::TypeTraits;
2047 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2048 "Found duplicate types among the arguments passed to ToneMapping(...). "
2049 "Types should be listed at most once.");
2051 set(std::forward<Args>(args)...);
2065 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2067 template<typename... Args>
2071 using namespace Zivid::Detail::TypeTraits;
2073 using AllArgsAreDescendantNodes =
2074 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2075 static_assert(AllArgsAreDescendantNodes::value,
2076 "All arguments passed to set(...) must be descendant nodes.");
2078 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2079 "Found duplicate types among the arguments passed to set(...). "
2080 "Types should be listed at most once.");
2082 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2097 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2099 template<typename... Args>
2103 using namespace Zivid::Detail::TypeTraits;
2105 using AllArgsAreDescendantNodes =
2106 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2107 static_assert(AllArgsAreDescendantNodes::value,
2108 "All arguments passed to copyWith(...) must be descendant nodes.");
2110 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2111 "Found duplicate types among the arguments passed to copyWith(...). "
2112 "Types should be listed at most once.");
2115 copy.set(std::forward<Args>(args)...);
2140 typename std::enable_if<
2141 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
2148 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2155 template<
typename F>
2162 template<
typename F>
2184 void setFromString(
const std::string &value);
2186 void setFromString(
const std::string &fullPath,
const std::string &value);
2188 std::string getString(
const std::string &fullPath)
const;
2192 friend struct DataModel::Detail::Befriend<
ToneMapping>;
2214 template<
typename... Args,
2215 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2216 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
2218 typename std::decay<Args>::type...>::value,
2221 template<typename... Args>
2225 using namespace Zivid::Detail::TypeTraits;
2227 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2228 "Found duplicate types among the arguments passed to Experimental(...). "
2229 "Types should be listed at most once.");
2231 set(std::forward<Args>(args)...);
2246 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2248 template<typename... Args>
2252 using namespace Zivid::Detail::TypeTraits;
2254 using AllArgsAreDescendantNodes =
2255 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2256 static_assert(AllArgsAreDescendantNodes::value,
2257 "All arguments passed to set(...) must be descendant nodes.");
2259 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2260 "Found duplicate types among the arguments passed to set(...). "
2261 "Types should be listed at most once.");
2263 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2279 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2281 template<typename... Args>
2285 using namespace Zivid::Detail::TypeTraits;
2287 using AllArgsAreDescendantNodes =
2288 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2289 static_assert(AllArgsAreDescendantNodes::value,
2290 "All arguments passed to copyWith(...) must be descendant nodes.");
2292 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2293 "Found duplicate types among the arguments passed to copyWith(...). "
2294 "Types should be listed at most once.");
2297 copy.set(std::forward<Args>(args)...);
2304 return m_toneMapping;
2310 return m_toneMapping;
2316 m_toneMapping = value;
2323 m_toneMapping.
set(value);
2327 template<
typename T,
2328 typename std::enable_if<
2329 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
2333 return m_toneMapping;
2338 typename std::enable_if<
2339 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
2346 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2349 return m_toneMapping;
2353 template<
typename F>
2360 template<
typename F>
2382 void setFromString(
const std::string &value);
2384 void setFromString(
const std::string &fullPath,
const std::string &value);
2386 std::string getString(
const std::string &fullPath)
const;
2390 friend struct DataModel::Detail::Befriend<
Experimental>;
2403 static constexpr
const char *path{
"Processing/Color/Gamma" };
2406 static constexpr
const char *name{
"Gamma" };
2409 static constexpr
const char *description{
2410 R
"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma
2411 greater than 1 makes the colors darker.
2421 return { 0.25, 1.5 };
2429 : m_opt{ verifyValue(value) }
2450 return m_opt == other.m_opt;
2456 return m_opt != other.m_opt;
2462 return m_opt < other.m_opt;
2468 return m_opt > other.m_opt;
2478 void setFromString(
const std::string &value);
2480 constexpr ValueType verifyValue(
const ValueType &value)
const
2484 :
throw std::out_of_range{
"Gamma{ " + std::to_string(value) +
" } is not in range ["
2486 + std::to_string(
validRange().max()) +
"]" };
2489 Zivid::DataModel::Detail::Optional<double> m_opt;
2491 friend struct DataModel::Detail::Befriend<
Gamma>;
2525 template<
typename... Args,
2526 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2527 typename std::enable_if<
2528 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
2529 typename std::decay<Args>::type...>::value,
2532 template<typename... Args>
2536 using namespace Zivid::Detail::TypeTraits;
2538 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2539 "Found duplicate types among the arguments passed to Color(...). "
2540 "Types should be listed at most once.");
2542 set(std::forward<Args>(args)...);
2563 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2565 template<typename... Args>
2569 using namespace Zivid::Detail::TypeTraits;
2571 using AllArgsAreDescendantNodes =
2572 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2573 static_assert(AllArgsAreDescendantNodes::value,
2574 "All arguments passed to set(...) must be descendant nodes.");
2576 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2577 "Found duplicate types among the arguments passed to set(...). "
2578 "Types should be listed at most once.");
2580 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2602 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2604 template<typename... Args>
2608 using namespace Zivid::Detail::TypeTraits;
2610 using AllArgsAreDescendantNodes =
2611 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2612 static_assert(AllArgsAreDescendantNodes::value,
2613 "All arguments passed to copyWith(...) must be descendant nodes.");
2615 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2616 "Found duplicate types among the arguments passed to copyWith(...). "
2617 "Types should be listed at most once.");
2620 copy.set(std::forward<Args>(args)...);
2646 m_balance.
set(value);
2653 m_balance.
set(value);
2660 m_balance.
set(value);
2667 return m_experimental;
2673 return m_experimental;
2679 m_experimental = value;
2686 m_experimental.
set(value);
2693 m_experimental.
set(value);
2716 template<
typename T,
2717 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
2724 template<
typename T,
2725 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
2732 template<
typename T,
2733 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
2740 template<
typename T,
2741 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
2748 template<
typename T,
2749 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
2753 return m_experimental;
2756 template<
typename T,
2757 typename std::enable_if<
2758 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
2765 template<
typename T,
2766 typename std::enable_if<
2767 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
2776 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
2782 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2788 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2791 return m_experimental;
2794 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
2801 template<
typename F>
2810 template<
typename F>
2834 void setFromString(
const std::string &value);
2836 void setFromString(
const std::string &fullPath,
const std::string &value);
2838 std::string getString(
const std::string &fullPath)
const;
2844 friend struct DataModel::Detail::Befriend<
Color>;
2855 static constexpr
const char *path{
"Processing/Filters" };
2858 static constexpr
const char *name{
"Filters" };
2861 static constexpr
const char *description{ R
"description(Filters)description" };
2871 static constexpr
const char *path{
"Processing/Filters/Experimental" };
2874 static constexpr
const char *name{
"Experimental" };
2877 static constexpr
const char *description{
2878 R
"description(Experimental filters. These may be renamed, moved or deleted in the future.)description"
2893 static constexpr
const char *path{
"Processing/Filters/Experimental/ContrastDistortion" };
2896 static constexpr
const char *name{
"ContrastDistortion" };
2899 static constexpr
const char *description{
2900 R
"description(Corrects artifacts that appear when imaging scenes with large texture gradients
2901 or high contrast. These artifacts are caused by blurring in the lens. The filter
2902 works best when aperture values are chosen such that the camera has quite good focus.
2903 The filter also supports removing the points that experience a large correction.
2915 static constexpr
const char *path{
2916 "Processing/Filters/Experimental/ContrastDistortion/Correction"
2920 static constexpr
const char *name{
"Correction" };
2923 static constexpr
const char *description{ R
"description(Correction)description" };
2933 static constexpr
const char *path{
2934 "Processing/Filters/Experimental/ContrastDistortion/Correction/Enabled"
2938 static constexpr
const char *name{
"Enabled" };
2941 static constexpr
const char *description{ R
"description(Enabled)description" };
2951 return {
false,
true };
2980 return m_opt == other.m_opt;
2986 return m_opt != other.m_opt;
2996 void setFromString(
const std::string &value);
2998 Zivid::DataModel::Detail::Optional<bool> m_opt;
3000 friend struct DataModel::Detail::Befriend<
Enabled>;
3011 static constexpr
const char *path{
3012 "Processing/Filters/Experimental/ContrastDistortion/Correction/Strength"
3016 static constexpr
const char *name{
"Strength" };
3019 static constexpr
const char *description{
3020 R
"description(Higher values gives more correction.)description"
3029 return { 0.0, 1.0 };
3037 : m_opt{ verifyValue(value) }
3058 return m_opt == other.m_opt;
3064 return m_opt != other.m_opt;
3070 return m_opt < other.m_opt;
3076 return m_opt > other.m_opt;
3086 void setFromString(
const std::string &value);
3088 constexpr ValueType verifyValue(
const ValueType &value)
const
3092 :
throw std::out_of_range{
"Strength{ " + std::to_string(value)
3093 +
" } is not in range ["
3095 + std::to_string(
validRange().max()) +
"]" };
3098 Zivid::DataModel::Detail::Optional<double> m_opt;
3100 friend struct DataModel::Detail::Befriend<
Strength>;
3123 template<
typename... Args,
3124 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3125 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
3127 typename std::decay<Args>::type...>::value,
3130 template<typename... Args>
3134 using namespace Zivid::Detail::TypeTraits;
3136 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3137 "Found duplicate types among the arguments passed to Correction(...). "
3138 "Types should be listed at most once.");
3140 set(std::forward<Args>(args)...);
3155 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3157 template<typename... Args>
3161 using namespace Zivid::Detail::TypeTraits;
3163 using AllArgsAreDescendantNodes =
3164 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3165 static_assert(AllArgsAreDescendantNodes::value,
3166 "All arguments passed to set(...) must be descendant nodes.");
3168 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3169 "Found duplicate types among the arguments passed to set(...). "
3170 "Types should be listed at most once.");
3172 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3188 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3190 template<typename... Args>
3194 using namespace Zivid::Detail::TypeTraits;
3196 using AllArgsAreDescendantNodes =
3197 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3198 static_assert(AllArgsAreDescendantNodes::value,
3199 "All arguments passed to copyWith(...) must be descendant nodes.");
3201 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3202 "Found duplicate types among the arguments passed to copyWith(...). "
3203 "Types should be listed at most once.");
3206 copy.set(std::forward<Args>(args)...);
3248 template<
typename T,
3249 typename std::enable_if<
3251 Settings::Processing::Filters::Experimental::ContrastDistortion::
3252 Correction::Enabled>::value,
3260 template<
typename T,
3261 typename std::enable_if<
3263 Settings::Processing::Filters::Experimental::ContrastDistortion::
3264 Correction::Strength>::value,
3273 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3280 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3289 template<
typename F>
3297 template<
typename F>
3320 void setFromString(
const std::string &value);
3322 void setFromString(
const std::string &fullPath,
const std::string &value);
3324 std::string getString(
const std::string &fullPath)
const;
3329 friend struct DataModel::Detail::Befriend<
Correction>;
3340 static constexpr
const char *path{
3341 "Processing/Filters/Experimental/ContrastDistortion/Removal"
3345 static constexpr
const char *name{
"Removal" };
3348 static constexpr
const char *description{ R
"description(Removal)description" };
3358 static constexpr
const char *path{
3359 "Processing/Filters/Experimental/ContrastDistortion/Removal/Enabled"
3363 static constexpr
const char *name{
"Enabled" };
3366 static constexpr
const char *description{ R
"description(Enabled)description" };
3376 return {
false,
true };
3405 return m_opt == other.m_opt;
3411 return m_opt != other.m_opt;
3421 void setFromString(
const std::string &value);
3423 Zivid::DataModel::Detail::Optional<bool> m_opt;
3425 friend struct DataModel::Detail::Befriend<
Enabled>;
3436 static constexpr
const char *path{
3437 "Processing/Filters/Experimental/ContrastDistortion/Removal/Threshold"
3441 static constexpr
const char *name{
"Threshold" };
3444 static constexpr
const char *description{
3445 R
"description(Higher values remove more points.)description"
3454 return { 0.0, 1.0 };
3462 : m_opt{ verifyValue(value) }
3483 return m_opt == other.m_opt;
3489 return m_opt != other.m_opt;
3495 return m_opt < other.m_opt;
3501 return m_opt > other.m_opt;
3511 void setFromString(
const std::string &value);
3513 constexpr ValueType verifyValue(
const ValueType &value)
const
3517 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
3518 +
" } is not in range ["
3520 + std::to_string(
validRange().max()) +
"]" };
3523 Zivid::DataModel::Detail::Optional<double> m_opt;
3525 friend struct DataModel::Detail::Befriend<
Threshold>;
3548 template<
typename... Args,
3549 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3550 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
3552 typename std::decay<Args>::type...>::value,
3555 template<typename... Args>
3559 using namespace Zivid::Detail::TypeTraits;
3561 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3562 "Found duplicate types among the arguments passed to Removal(...). "
3563 "Types should be listed at most once.");
3565 set(std::forward<Args>(args)...);
3580 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3582 template<typename... Args>
3586 using namespace Zivid::Detail::TypeTraits;
3588 using AllArgsAreDescendantNodes =
3589 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3590 static_assert(AllArgsAreDescendantNodes::value,
3591 "All arguments passed to set(...) must be descendant nodes.");
3593 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3594 "Found duplicate types among the arguments passed to set(...). "
3595 "Types should be listed at most once.");
3597 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3613 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3615 template<typename... Args>
3619 using namespace Zivid::Detail::TypeTraits;
3621 using AllArgsAreDescendantNodes =
3622 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3623 static_assert(AllArgsAreDescendantNodes::value,
3624 "All arguments passed to copyWith(...) must be descendant nodes.");
3626 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3627 "Found duplicate types among the arguments passed to copyWith(...). "
3628 "Types should be listed at most once.");
3631 copy.set(std::forward<Args>(args)...);
3669 m_threshold = value;
3675 typename std::enable_if<std::is_same<T,
3676 Settings::Processing::Filters::Experimental::
3677 ContrastDistortion::Removal::Enabled>::value,
3687 typename std::enable_if<std::is_same<T,
3688 Settings::Processing::Filters::Experimental::
3689 ContrastDistortion::Removal::Threshold>::value,
3697 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3704 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3712 template<
typename F>
3720 template<
typename F>
3743 void setFromString(
const std::string &value);
3745 void setFromString(
const std::string &fullPath,
const std::string &value);
3747 std::string getString(
const std::string &fullPath)
const;
3752 friend struct DataModel::Detail::Befriend<
Removal>;
3783 template<
typename... Args,
3784 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3785 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
3787 typename std::decay<Args>::type...>::value,
3790 template<typename... Args>
3794 using namespace Zivid::Detail::TypeTraits;
3797 AllArgsDecayedAreUnique<Args...>::value,
3798 "Found duplicate types among the arguments passed to ContrastDistortion(...). "
3799 "Types should be listed at most once.");
3801 set(std::forward<Args>(args)...);
3820 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3822 template<typename... Args>
3826 using namespace Zivid::Detail::TypeTraits;
3828 using AllArgsAreDescendantNodes =
3829 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3830 static_assert(AllArgsAreDescendantNodes::value,
3831 "All arguments passed to set(...) must be descendant nodes.");
3833 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3834 "Found duplicate types among the arguments passed to set(...). "
3835 "Types should be listed at most once.");
3837 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3857 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3859 template<typename... Args>
3863 using namespace Zivid::Detail::TypeTraits;
3865 using AllArgsAreDescendantNodes =
3866 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3867 static_assert(AllArgsAreDescendantNodes::value,
3868 "All arguments passed to copyWith(...) must be descendant nodes.");
3870 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3871 "Found duplicate types among the arguments passed to copyWith(...). "
3872 "Types should be listed at most once.");
3875 copy.set(std::forward<Args>(args)...);
3882 return m_correction;
3888 return m_correction;
3894 m_correction = value;
3901 m_correction.
set(value);
3908 m_correction.
set(value);
3934 m_removal.
set(value);
3941 m_removal.
set(value);
3945 template<
typename T,
3946 typename std::enable_if<std::is_same<T,
3947 Settings::Processing::Filters::Experimental::
3948 ContrastDistortion::Correction>::value,
3952 return m_correction;
3957 typename std::enable_if<std::is_same<T,
3958 Settings::Processing::Filters::Experimental::
3959 ContrastDistortion::Correction::Enabled>::value,
3964 return m_correction.get<
3970 typename std::enable_if<std::is_same<T,
3971 Settings::Processing::Filters::Experimental::
3972 ContrastDistortion::Correction::Strength>::value,
3977 return m_correction.get<Settings::Processing::Filters::Experimental::ContrastDistortion::
3978 Correction::Strength>();
3981 template<
typename T,
3982 typename std::enable_if<std::is_same<T,
3983 Settings::Processing::Filters::Experimental::
3984 ContrastDistortion::Removal>::value,
3991 template<
typename T,
3992 typename std::enable_if<std::is_same<T,
3993 Settings::Processing::Filters::Experimental::
3994 ContrastDistortion::Removal::Enabled>::value,
3999 return m_removal.get<
4005 typename std::enable_if<std::is_same<T,
4006 Settings::Processing::Filters::Experimental::
4007 ContrastDistortion::Removal::Threshold>::value,
4012 return m_removal.get<
4016 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4019 return m_correction;
4022 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4029 template<
typename F>
4037 template<
typename F>
4060 void setFromString(
const std::string &value);
4062 void setFromString(
const std::string &fullPath,
const std::string &value);
4064 std::string getString(
const std::string &fullPath)
const;
4066 Correction m_correction;
4102 template<
typename... Args,
4103 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4104 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
4106 typename std::decay<Args>::type...>::value,
4109 template<typename... Args>
4113 using namespace Zivid::Detail::TypeTraits;
4115 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4116 "Found duplicate types among the arguments passed to Experimental(...). "
4117 "Types should be listed at most once.");
4119 set(std::forward<Args>(args)...);
4139 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4141 template<typename... Args>
4145 using namespace Zivid::Detail::TypeTraits;
4147 using AllArgsAreDescendantNodes =
4148 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4149 static_assert(AllArgsAreDescendantNodes::value,
4150 "All arguments passed to set(...) must be descendant nodes.");
4152 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4153 "Found duplicate types among the arguments passed to set(...). "
4154 "Types should be listed at most once.");
4156 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4177 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4179 template<typename... Args>
4183 using namespace Zivid::Detail::TypeTraits;
4185 using AllArgsAreDescendantNodes =
4186 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4187 static_assert(AllArgsAreDescendantNodes::value,
4188 "All arguments passed to copyWith(...) must be descendant nodes.");
4190 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4191 "Found duplicate types among the arguments passed to copyWith(...). "
4192 "Types should be listed at most once.");
4195 copy.set(std::forward<Args>(args)...);
4202 return m_contrastDistortion;
4208 return m_contrastDistortion;
4214 m_contrastDistortion = value;
4221 m_contrastDistortion.
set(value);
4228 m_contrastDistortion.
set(value);
4235 m_contrastDistortion.
set(value);
4242 m_contrastDistortion.
set(value);
4249 m_contrastDistortion.
set(value);
4256 m_contrastDistortion.
set(value);
4262 typename std::enable_if<
4263 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
4267 return m_contrastDistortion;
4270 template<
typename T,
4271 typename std::enable_if<std::is_same<T,
4272 Settings::Processing::Filters::Experimental::
4273 ContrastDistortion::Correction>::value,
4277 return m_contrastDistortion
4281 template<
typename T,
4282 typename std::enable_if<std::is_same<T,
4283 Settings::Processing::Filters::Experimental::
4284 ContrastDistortion::Correction::Enabled>::value,
4289 return m_contrastDistortion.get<
4293 template<
typename T,
4294 typename std::enable_if<std::is_same<T,
4295 Settings::Processing::Filters::Experimental::
4296 ContrastDistortion::Correction::Strength>::value,
4301 return m_contrastDistortion.get<
4307 typename std::enable_if<
4308 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::
4313 return m_contrastDistortion
4317 template<
typename T,
4318 typename std::enable_if<std::is_same<T,
4319 Settings::Processing::Filters::Experimental::
4320 ContrastDistortion::Removal::Enabled>::value,
4324 return m_contrastDistortion
4328 template<
typename T,
4329 typename std::enable_if<std::is_same<T,
4330 Settings::Processing::Filters::Experimental::
4331 ContrastDistortion::Removal::Threshold>::value,
4336 return m_contrastDistortion
4340 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4343 return m_contrastDistortion;
4347 template<
typename F>
4350 f(m_contrastDistortion);
4354 template<
typename F>
4357 f(m_contrastDistortion);
4376 void setFromString(
const std::string &value);
4378 void setFromString(
const std::string &fullPath,
const std::string &value);
4380 std::string getString(
const std::string &fullPath)
const;
4384 friend struct DataModel::Detail::Befriend<
Experimental>;
4395 static constexpr
const char *path{
"Processing/Filters/Noise" };
4398 static constexpr
const char *name{
"Noise" };
4401 static constexpr
const char *description{
4402 R
"description(Contains a filter that removes points with low signal-to-noise ratio (SNR))description"
4413 static constexpr
const char *path{
"Processing/Filters/Noise/Removal" };
4416 static constexpr
const char *name{
"Removal" };
4419 static constexpr
const char *description{
4420 R
"description(Discard points with signal-to-noise ratio (SNR) values below a threshold)description"
4431 static constexpr
const char *path{
"Processing/Filters/Noise/Removal/Enabled" };
4434 static constexpr
const char *name{
"Enabled" };
4437 static constexpr
const char *description{
4438 R
"description(Enable or disable the SNR filter)description"
4449 return {
false,
true };
4478 return m_opt == other.m_opt;
4484 return m_opt != other.m_opt;
4494 void setFromString(
const std::string &value);
4496 Zivid::DataModel::Detail::Optional<bool> m_opt;
4498 friend struct DataModel::Detail::Befriend<
Enabled>;
4509 static constexpr
const char *path{
"Processing/Filters/Noise/Removal/Threshold" };
4512 static constexpr
const char *name{
"Threshold" };
4515 static constexpr
const char *description{
4516 R
"description(Discard points with signal-to-noise ratio (SNR) below the given value)description"
4525 return { 0.0, 100.0 };
4533 : m_opt{ verifyValue(value) }
4554 return m_opt == other.m_opt;
4560 return m_opt != other.m_opt;
4566 return m_opt < other.m_opt;
4572 return m_opt > other.m_opt;
4582 void setFromString(
const std::string &value);
4584 constexpr ValueType verifyValue(
const ValueType &value)
const
4588 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
4589 +
" } is not in range ["
4591 + std::to_string(
validRange().max()) +
"]" };
4594 Zivid::DataModel::Detail::Optional<double> m_opt;
4596 friend struct DataModel::Detail::Befriend<
Threshold>;
4618 template<
typename... Args,
4619 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4620 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
4622 typename std::decay<Args>::type...>::value,
4625 template<typename... Args>
4629 using namespace Zivid::Detail::TypeTraits;
4631 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4632 "Found duplicate types among the arguments passed to Removal(...). "
4633 "Types should be listed at most once.");
4635 set(std::forward<Args>(args)...);
4650 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4652 template<typename... Args>
4656 using namespace Zivid::Detail::TypeTraits;
4658 using AllArgsAreDescendantNodes =
4659 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4660 static_assert(AllArgsAreDescendantNodes::value,
4661 "All arguments passed to set(...) must be descendant nodes.");
4663 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4664 "Found duplicate types among the arguments passed to set(...). "
4665 "Types should be listed at most once.");
4667 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4683 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4685 template<typename... Args>
4689 using namespace Zivid::Detail::TypeTraits;
4691 using AllArgsAreDescendantNodes =
4692 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4693 static_assert(AllArgsAreDescendantNodes::value,
4694 "All arguments passed to copyWith(...) must be descendant nodes.");
4696 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4697 "Found duplicate types among the arguments passed to copyWith(...). "
4698 "Types should be listed at most once.");
4701 copy.set(std::forward<Args>(args)...);
4739 m_threshold = value;
4743 template<
typename T,
4744 typename std::enable_if<
4745 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
4752 template<
typename T,
4753 typename std::enable_if<
4754 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
4761 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4767 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4774 template<
typename F>
4782 template<
typename F>
4805 void setFromString(
const std::string &value);
4807 void setFromString(
const std::string &fullPath,
const std::string &value);
4809 std::string getString(
const std::string &fullPath)
const;
4814 friend struct DataModel::Detail::Befriend<
Removal>;
4838 template<
typename... Args,
4839 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4840 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
4842 typename std::decay<Args>::type...>::value,
4845 template<typename... Args>
4849 using namespace Zivid::Detail::TypeTraits;
4851 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4852 "Found duplicate types among the arguments passed to Noise(...). "
4853 "Types should be listed at most once.");
4855 set(std::forward<Args>(args)...);
4871 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4873 template<typename... Args>
4877 using namespace Zivid::Detail::TypeTraits;
4879 using AllArgsAreDescendantNodes =
4880 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4881 static_assert(AllArgsAreDescendantNodes::value,
4882 "All arguments passed to set(...) must be descendant nodes.");
4884 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4885 "Found duplicate types among the arguments passed to set(...). "
4886 "Types should be listed at most once.");
4888 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4905 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4907 template<typename... Args>
4911 using namespace Zivid::Detail::TypeTraits;
4913 using AllArgsAreDescendantNodes =
4914 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4915 static_assert(AllArgsAreDescendantNodes::value,
4916 "All arguments passed to copyWith(...) must be descendant nodes.");
4918 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4919 "Found duplicate types among the arguments passed to copyWith(...). "
4920 "Types should be listed at most once.");
4923 copy.set(std::forward<Args>(args)...);
4949 m_removal.
set(value);
4956 m_removal.
set(value);
4962 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
4969 template<
typename T,
4970 typename std::enable_if<
4971 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
4978 template<
typename T,
4979 typename std::enable_if<
4980 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
4987 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4994 template<
typename F>
5001 template<
typename F>
5023 void setFromString(
const std::string &value);
5025 void setFromString(
const std::string &fullPath,
const std::string &value);
5027 std::string getString(
const std::string &fullPath)
const;
5031 friend struct DataModel::Detail::Befriend<
Noise>;
5042 static constexpr
const char *path{
"Processing/Filters/Outlier" };
5045 static constexpr
const char *name{
"Outlier" };
5048 static constexpr
const char *description{
5049 R
"description(Contains a filter that removes points with large Euclidean distance to neighboring points)description"
5060 static constexpr
const char *path{
"Processing/Filters/Outlier/Removal" };
5063 static constexpr
const char *name{
"Removal" };
5066 static constexpr
const char *description{
5067 R
"description(Discard point if Euclidean distance to neighboring points is above a threshold)description"
5078 static constexpr
const char *path{
"Processing/Filters/Outlier/Removal/Enabled" };
5081 static constexpr
const char *name{
"Enabled" };
5084 static constexpr
const char *description{
5085 R
"description(Enable or disable the outlier filter)description"
5096 return {
false,
true };
5125 return m_opt == other.m_opt;
5131 return m_opt != other.m_opt;
5141 void setFromString(
const std::string &value);
5143 Zivid::DataModel::Detail::Optional<bool> m_opt;
5145 friend struct DataModel::Detail::Befriend<
Enabled>;
5156 static constexpr
const char *path{
"Processing/Filters/Outlier/Removal/Threshold" };
5159 static constexpr
const char *name{
"Threshold" };
5162 static constexpr
const char *description{
5163 R
"description(Discard point if Euclidean distance to neighboring points is above the given value)description"
5172 return { 0.0, 100.0 };
5180 : m_opt{ verifyValue(value) }
5201 return m_opt == other.m_opt;
5207 return m_opt != other.m_opt;
5213 return m_opt < other.m_opt;
5219 return m_opt > other.m_opt;
5229 void setFromString(
const std::string &value);
5231 constexpr ValueType verifyValue(
const ValueType &value)
const
5235 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
5236 +
" } is not in range ["
5238 + std::to_string(
validRange().max()) +
"]" };
5241 Zivid::DataModel::Detail::Optional<double> m_opt;
5243 friend struct DataModel::Detail::Befriend<
Threshold>;
5265 template<
typename... Args,
5266 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5267 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
5269 typename std::decay<Args>::type...>::value,
5272 template<typename... Args>
5276 using namespace Zivid::Detail::TypeTraits;
5278 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5279 "Found duplicate types among the arguments passed to Removal(...). "
5280 "Types should be listed at most once.");
5282 set(std::forward<Args>(args)...);
5297 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5299 template<typename... Args>
5303 using namespace Zivid::Detail::TypeTraits;
5305 using AllArgsAreDescendantNodes =
5306 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5307 static_assert(AllArgsAreDescendantNodes::value,
5308 "All arguments passed to set(...) must be descendant nodes.");
5310 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5311 "Found duplicate types among the arguments passed to set(...). "
5312 "Types should be listed at most once.");
5314 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5330 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5332 template<typename... Args>
5336 using namespace Zivid::Detail::TypeTraits;
5338 using AllArgsAreDescendantNodes =
5339 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5340 static_assert(AllArgsAreDescendantNodes::value,
5341 "All arguments passed to copyWith(...) must be descendant nodes.");
5343 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5344 "Found duplicate types among the arguments passed to copyWith(...). "
5345 "Types should be listed at most once.");
5348 copy.set(std::forward<Args>(args)...);
5386 m_threshold = value;
5390 template<
typename T,
5391 typename std::enable_if<
5392 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
5399 template<
typename T,
5400 typename std::enable_if<
5401 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
5408 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5414 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
5421 template<
typename F>
5429 template<
typename F>
5452 void setFromString(
const std::string &value);
5454 void setFromString(
const std::string &fullPath,
const std::string &value);
5456 std::string getString(
const std::string &fullPath)
const;
5461 friend struct DataModel::Detail::Befriend<
Removal>;
5485 template<
typename... Args,
5486 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5487 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
5489 typename std::decay<Args>::type...>::value,
5492 template<typename... Args>
5496 using namespace Zivid::Detail::TypeTraits;
5498 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5499 "Found duplicate types among the arguments passed to Outlier(...). "
5500 "Types should be listed at most once.");
5502 set(std::forward<Args>(args)...);
5518 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5520 template<typename... Args>
5524 using namespace Zivid::Detail::TypeTraits;
5526 using AllArgsAreDescendantNodes =
5527 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5528 static_assert(AllArgsAreDescendantNodes::value,
5529 "All arguments passed to set(...) must be descendant nodes.");
5531 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5532 "Found duplicate types among the arguments passed to set(...). "
5533 "Types should be listed at most once.");
5535 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5552 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5554 template<typename... Args>
5558 using namespace Zivid::Detail::TypeTraits;
5560 using AllArgsAreDescendantNodes =
5561 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5562 static_assert(AllArgsAreDescendantNodes::value,
5563 "All arguments passed to copyWith(...) must be descendant nodes.");
5565 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5566 "Found duplicate types among the arguments passed to copyWith(...). "
5567 "Types should be listed at most once.");
5570 copy.set(std::forward<Args>(args)...);
5596 m_removal.
set(value);
5603 m_removal.
set(value);
5609 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
5616 template<
typename T,
5617 typename std::enable_if<
5618 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
5625 template<
typename T,
5626 typename std::enable_if<
5627 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
5634 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5641 template<
typename F>
5648 template<
typename F>
5670 void setFromString(
const std::string &value);
5672 void setFromString(
const std::string &fullPath,
const std::string &value);
5674 std::string getString(
const std::string &fullPath)
const;
5678 friend struct DataModel::Detail::Befriend<
Outlier>;
5689 static constexpr
const char *path{
"Processing/Filters/Reflection" };
5692 static constexpr
const char *name{
"Reflection" };
5695 static constexpr
const char *description{
5696 R
"description(Contains a filter that removes points likely introduced by reflections (useful for shiny materials))description"
5707 static constexpr
const char *path{
"Processing/Filters/Reflection/Removal" };
5710 static constexpr
const char *name{
"Removal" };
5713 static constexpr
const char *description{
5714 R
"description(Discard points likely introduced by reflections (useful for shiny materials))description"
5725 static constexpr
const char *path{
"Processing/Filters/Reflection/Removal/Enabled" };
5728 static constexpr
const char *name{
"Enabled" };
5731 static constexpr
const char *description{
5732 R
"description(Enable or disable the reflection filter. Note that this filter is computationally intensive and may affect the frame rate)description"
5743 return {
false,
true };
5772 return m_opt == other.m_opt;
5778 return m_opt != other.m_opt;
5788 void setFromString(
const std::string &value);
5790 Zivid::DataModel::Detail::Optional<bool> m_opt;
5792 friend struct DataModel::Detail::Befriend<
Enabled>;
5795 using Descendants = std::tuple<Settings::Processing::Filters::Reflection::Removal::Enabled>;
5812 template<
typename... Args,
5813 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5814 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
5816 typename std::decay<Args>::type...>::value,
5819 template<typename... Args>
5823 using namespace Zivid::Detail::TypeTraits;
5825 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5826 "Found duplicate types among the arguments passed to Removal(...). "
5827 "Types should be listed at most once.");
5829 set(std::forward<Args>(args)...);
5843 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5845 template<typename... Args>
5849 using namespace Zivid::Detail::TypeTraits;
5851 using AllArgsAreDescendantNodes =
5852 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5853 static_assert(AllArgsAreDescendantNodes::value,
5854 "All arguments passed to set(...) must be descendant nodes.");
5856 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5857 "Found duplicate types among the arguments passed to set(...). "
5858 "Types should be listed at most once.");
5860 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5875 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5877 template<typename... Args>
5881 using namespace Zivid::Detail::TypeTraits;
5883 using AllArgsAreDescendantNodes =
5884 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5885 static_assert(AllArgsAreDescendantNodes::value,
5886 "All arguments passed to copyWith(...) must be descendant nodes.");
5888 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5889 "Found duplicate types among the arguments passed to copyWith(...). "
5890 "Types should be listed at most once.");
5893 copy.set(std::forward<Args>(args)...);
5918 typename std::enable_if<
5919 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
5926 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5933 template<
typename F>
5940 template<
typename F>
5962 void setFromString(
const std::string &value);
5964 void setFromString(
const std::string &fullPath,
const std::string &value);
5966 std::string getString(
const std::string &fullPath)
const;
5970 friend struct DataModel::Detail::Befriend<
Removal>;
5992 template<
typename... Args,
5993 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5994 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
5996 typename std::decay<Args>::type...>::value,
5999 template<typename... Args>
6003 using namespace Zivid::Detail::TypeTraits;
6005 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6006 "Found duplicate types among the arguments passed to Reflection(...). "
6007 "Types should be listed at most once.");
6009 set(std::forward<Args>(args)...);
6024 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6026 template<typename... Args>
6030 using namespace Zivid::Detail::TypeTraits;
6032 using AllArgsAreDescendantNodes =
6033 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6034 static_assert(AllArgsAreDescendantNodes::value,
6035 "All arguments passed to set(...) must be descendant nodes.");
6037 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6038 "Found duplicate types among the arguments passed to set(...). "
6039 "Types should be listed at most once.");
6041 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6057 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6059 template<typename... Args>
6063 using namespace Zivid::Detail::TypeTraits;
6065 using AllArgsAreDescendantNodes =
6066 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6067 static_assert(AllArgsAreDescendantNodes::value,
6068 "All arguments passed to copyWith(...) must be descendant nodes.");
6070 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6071 "Found duplicate types among the arguments passed to copyWith(...). "
6072 "Types should be listed at most once.");
6075 copy.set(std::forward<Args>(args)...);
6101 m_removal.
set(value);
6105 template<
typename T,
6106 typename std::enable_if<
6107 std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
6114 template<
typename T,
6115 typename std::enable_if<
6116 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
6123 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6130 template<
typename F>
6137 template<
typename F>
6159 void setFromString(
const std::string &value);
6161 void setFromString(
const std::string &fullPath,
const std::string &value);
6163 std::string getString(
const std::string &fullPath)
const;
6167 friend struct DataModel::Detail::Befriend<
Reflection>;
6178 static constexpr
const char *path{
"Processing/Filters/Smoothing" };
6181 static constexpr
const char *name{
"Smoothing" };
6184 static constexpr
const char *description{ R
"description(Smoothing filters)description" };
6194 static constexpr
const char *path{
"Processing/Filters/Smoothing/Gaussian" };
6197 static constexpr
const char *name{
"Gaussian" };
6200 static constexpr
const char *description{
6201 R
"description(Gaussian smoothing of the point cloud)description"
6212 static constexpr
const char *path{
"Processing/Filters/Smoothing/Gaussian/Enabled" };
6215 static constexpr
const char *name{
"Enabled" };
6218 static constexpr
const char *description{
6219 R
"description(Enable or disable the smoothing filter)description"
6230 return {
false,
true };
6259 return m_opt == other.m_opt;
6265 return m_opt != other.m_opt;
6275 void setFromString(
const std::string &value);
6277 Zivid::DataModel::Detail::Optional<bool> m_opt;
6279 friend struct DataModel::Detail::Befriend<
Enabled>;
6290 static constexpr
const char *path{
"Processing/Filters/Smoothing/Gaussian/Sigma" };
6293 static constexpr
const char *name{
"Sigma" };
6296 static constexpr
const char *description{
6297 R
"description(Higher values result in smoother point clouds (Standard deviation of the filter coefficients))description"
6314 : m_opt{ verifyValue(value) }
6335 return m_opt == other.m_opt;
6341 return m_opt != other.m_opt;
6347 return m_opt < other.m_opt;
6353 return m_opt > other.m_opt;
6363 void setFromString(
const std::string &value);
6365 constexpr ValueType verifyValue(
const ValueType &value)
const
6369 :
throw std::out_of_range{
"Sigma{ " + std::to_string(value)
6370 +
" } is not in range ["
6372 + std::to_string(
validRange().max()) +
"]" };
6375 Zivid::DataModel::Detail::Optional<double> m_opt;
6377 friend struct DataModel::Detail::Befriend<
Sigma>;
6399 template<
typename... Args,
6400 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6401 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
6403 typename std::decay<Args>::type...>::value,
6406 template<typename... Args>
6410 using namespace Zivid::Detail::TypeTraits;
6412 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6413 "Found duplicate types among the arguments passed to Gaussian(...). "
6414 "Types should be listed at most once.");
6416 set(std::forward<Args>(args)...);
6431 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6433 template<typename... Args>
6437 using namespace Zivid::Detail::TypeTraits;
6439 using AllArgsAreDescendantNodes =
6440 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6441 static_assert(AllArgsAreDescendantNodes::value,
6442 "All arguments passed to set(...) must be descendant nodes.");
6444 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6445 "Found duplicate types among the arguments passed to set(...). "
6446 "Types should be listed at most once.");
6448 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6464 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6466 template<typename... Args>
6470 using namespace Zivid::Detail::TypeTraits;
6472 using AllArgsAreDescendantNodes =
6473 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6474 static_assert(AllArgsAreDescendantNodes::value,
6475 "All arguments passed to copyWith(...) must be descendant nodes.");
6477 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6478 "Found duplicate types among the arguments passed to copyWith(...). "
6479 "Types should be listed at most once.");
6482 copy.set(std::forward<Args>(args)...);
6526 typename std::enable_if<
6527 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
6534 template<
typename T,
6535 typename std::enable_if<
6536 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
6543 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6549 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
6556 template<
typename F>
6564 template<
typename F>
6587 void setFromString(
const std::string &value);
6589 void setFromString(
const std::string &fullPath,
const std::string &value);
6591 std::string getString(
const std::string &fullPath)
const;
6596 friend struct DataModel::Detail::Befriend<
Gaussian>;
6620 template<
typename... Args,
6621 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6622 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
6624 typename std::decay<Args>::type...>::value,
6627 template<typename... Args>
6631 using namespace Zivid::Detail::TypeTraits;
6633 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6634 "Found duplicate types among the arguments passed to Smoothing(...). "
6635 "Types should be listed at most once.");
6637 set(std::forward<Args>(args)...);
6653 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6655 template<typename... Args>
6659 using namespace Zivid::Detail::TypeTraits;
6661 using AllArgsAreDescendantNodes =
6662 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6663 static_assert(AllArgsAreDescendantNodes::value,
6664 "All arguments passed to set(...) must be descendant nodes.");
6666 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6667 "Found duplicate types among the arguments passed to set(...). "
6668 "Types should be listed at most once.");
6670 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6687 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6689 template<typename... Args>
6693 using namespace Zivid::Detail::TypeTraits;
6695 using AllArgsAreDescendantNodes =
6696 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6697 static_assert(AllArgsAreDescendantNodes::value,
6698 "All arguments passed to copyWith(...) must be descendant nodes.");
6700 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6701 "Found duplicate types among the arguments passed to copyWith(...). "
6702 "Types should be listed at most once.");
6705 copy.set(std::forward<Args>(args)...);
6731 m_gaussian.
set(value);
6738 m_gaussian.
set(value);
6742 template<
typename T,
6743 typename std::enable_if<
6744 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
6751 template<
typename T,
6752 typename std::enable_if<
6753 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
6760 template<
typename T,
6761 typename std::enable_if<
6762 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
6769 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6776 template<
typename F>
6783 template<
typename F>
6805 void setFromString(
const std::string &value);
6807 void setFromString(
const std::string &fullPath,
const std::string &value);
6809 std::string getString(
const std::string &fullPath)
const;
6813 friend struct DataModel::Detail::Befriend<
Smoothing>;
6878 template<
typename... Args,
6879 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6880 typename std::enable_if<
6881 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
6882 typename std::decay<Args>::type...>::value,
6885 template<typename... Args>
6889 using namespace Zivid::Detail::TypeTraits;
6891 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6892 "Found duplicate types among the arguments passed to Filters(...). "
6893 "Types should be listed at most once.");
6895 set(std::forward<Args>(args)...);
6931 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6933 template<typename... Args>
6937 using namespace Zivid::Detail::TypeTraits;
6939 using AllArgsAreDescendantNodes =
6940 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6941 static_assert(AllArgsAreDescendantNodes::value,
6942 "All arguments passed to set(...) must be descendant nodes.");
6944 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6945 "Found duplicate types among the arguments passed to set(...). "
6946 "Types should be listed at most once.");
6948 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6985 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6987 template<typename... Args>
6991 using namespace Zivid::Detail::TypeTraits;
6993 using AllArgsAreDescendantNodes =
6994 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6995 static_assert(AllArgsAreDescendantNodes::value,
6996 "All arguments passed to copyWith(...) must be descendant nodes.");
6998 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6999 "Found duplicate types among the arguments passed to copyWith(...). "
7000 "Types should be listed at most once.");
7003 copy.set(std::forward<Args>(args)...);
7010 return m_experimental;
7016 return m_experimental;
7022 m_experimental = value;
7029 m_experimental.
set(value);
7036 m_experimental.
set(value);
7043 m_experimental.
set(value);
7050 m_experimental.
set(value);
7057 m_experimental.
set(value);
7064 m_experimental.
set(value);
7071 m_experimental.
set(value);
7137 m_outlier.
set(value);
7144 m_outlier.
set(value);
7151 m_outlier.
set(value);
7158 return m_reflection;
7164 return m_reflection;
7170 m_reflection = value;
7177 m_reflection.
set(value);
7184 m_reflection.
set(value);
7203 m_smoothing = value;
7210 m_smoothing.
set(value);
7217 m_smoothing.
set(value);
7224 m_smoothing.
set(value);
7228 template<
typename T,
7229 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
7233 return m_experimental;
7236 template<
typename T,
7237 typename std::enable_if<
7238 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
7247 typename std::enable_if<
7248 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::
7253 return m_experimental
7257 template<
typename T,
7258 typename std::enable_if<std::is_same<T,
7259 Settings::Processing::Filters::Experimental::
7260 ContrastDistortion::Correction::Enabled>::value,
7264 return m_experimental
7268 template<
typename T,
7269 typename std::enable_if<std::is_same<T,
7270 Settings::Processing::Filters::Experimental::
7271 ContrastDistortion::Correction::Strength>::value,
7275 return m_experimental
7279 template<
typename T,
7280 typename std::enable_if<
7281 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::
7286 return m_experimental
7290 template<
typename T,
7291 typename std::enable_if<std::is_same<T,
7292 Settings::Processing::Filters::Experimental::
7293 ContrastDistortion::Removal::Enabled>::value,
7297 return m_experimental
7301 template<
typename T,
7302 typename std::enable_if<std::is_same<T,
7303 Settings::Processing::Filters::Experimental::
7304 ContrastDistortion::Removal::Threshold>::value,
7308 return m_experimental
7312 template<
typename T,
7313 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
7320 template<
typename T,
7321 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
7328 template<
typename T,
7329 typename std::enable_if<
7330 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
7337 template<
typename T,
7338 typename std::enable_if<
7339 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
7346 template<
typename T,
7347 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
7356 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
7363 template<
typename T,
7364 typename std::enable_if<
7365 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
7372 template<
typename T,
7373 typename std::enable_if<
7374 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
7381 template<
typename T,
7382 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
7386 return m_reflection;
7391 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
7398 template<
typename T,
7399 typename std::enable_if<
7400 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
7407 template<
typename T,
7408 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
7417 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
7424 template<
typename T,
7425 typename std::enable_if<
7426 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
7433 template<
typename T,
7434 typename std::enable_if<
7435 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
7442 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
7445 return m_experimental;
7448 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
7454 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
7460 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
7463 return m_reflection;
7466 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
7473 template<
typename F>
7484 template<
typename F>
7510 void setFromString(
const std::string &value);
7512 void setFromString(
const std::string &fullPath,
const std::string &value);
7514 std::string getString(
const std::string &fullPath)
const;
7519 Reflection m_reflection;
7522 friend struct DataModel::Detail::Befriend<
Filters>;
7607 template<
typename... Args,
7608 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
7609 typename std::enable_if<
7610 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
7611 typename std::decay<Args>::type...>::value,
7614 template<typename... Args>
7618 using namespace Zivid::Detail::TypeTraits;
7620 static_assert(AllArgsDecayedAreUnique<Args...>::value,
7621 "Found duplicate types among the arguments passed to Processing(...). "
7622 "Types should be listed at most once.");
7624 set(std::forward<Args>(args)...);
7670 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
7672 template<typename... Args>
7676 using namespace Zivid::Detail::TypeTraits;
7678 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7679 static_assert(AllArgsAreDescendantNodes::value,
7680 "All arguments passed to set(...) must be descendant nodes.");
7682 static_assert(AllArgsDecayedAreUnique<Args...>::value,
7683 "Found duplicate types among the arguments passed to set(...). "
7684 "Types should be listed at most once.");
7686 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
7733 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
7735 template<typename... Args>
7739 using namespace Zivid::Detail::TypeTraits;
7741 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7742 static_assert(AllArgsAreDescendantNodes::value,
7743 "All arguments passed to copyWith(...) must be descendant nodes.");
7745 static_assert(AllArgsDecayedAreUnique<Args...>::value,
7746 "Found duplicate types among the arguments passed to copyWith(...). "
7747 "Types should be listed at most once.");
7750 copy.set(std::forward<Args>(args)...);
7851 m_filters.
set(value);
7858 m_filters.
set(value);
7865 m_filters.
set(value);
7872 m_filters.
set(value);
7879 m_filters.
set(value);
7886 m_filters.
set(value);
7893 m_filters.
set(value);
7900 m_filters.
set(value);
7907 m_filters.
set(value);
7914 m_filters.
set(value);
7921 m_filters.
set(value);
7928 m_filters.
set(value);
7935 m_filters.
set(value);
7942 m_filters.
set(value);
7949 m_filters.
set(value);
7956 m_filters.
set(value);
7963 m_filters.
set(value);
7970 m_filters.
set(value);
7977 m_filters.
set(value);
7984 m_filters.
set(value);
7991 m_filters.
set(value);
7998 m_filters.
set(value);
8005 m_filters.
set(value);
8009 template<
typename T,
8010 typename std::enable_if<std::is_same<T, Settings::Processing::Color>::value,
int>::type = 0>
8018 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type = 0>
8024 template<
typename T,
8025 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
8032 template<
typename T,
8033 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
8040 template<
typename T,
8041 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
8048 template<
typename T,
8049 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
8058 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
8065 template<
typename T,
8066 typename std::enable_if<
8067 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
8074 template<
typename T,
8075 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
8081 template<
typename T,
8082 typename std::enable_if<std::is_same<T, Settings::Processing::Filters>::value,
int>::type = 0>
8088 template<
typename T,
8089 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
8096 template<
typename T,
8097 typename std::enable_if<
8098 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
8107 typename std::enable_if<
8108 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
8115 template<
typename T,
8116 typename std::enable_if<std::is_same<T,
8117 Settings::Processing::Filters::Experimental::
8118 ContrastDistortion::Correction::Enabled>::value,
8126 template<
typename T,
8127 typename std::enable_if<std::is_same<T,
8128 Settings::Processing::Filters::Experimental::
8129 ContrastDistortion::Correction::Strength>::value,
8139 typename std::enable_if<
8140 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
8149 typename std::enable_if<
8150 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled>::
8159 template<
typename T,
8160 typename std::enable_if<std::is_same<T,
8161 Settings::Processing::Filters::Experimental::
8162 ContrastDistortion::Removal::Threshold>::value,
8172 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type = 0>
8178 template<
typename T,
8179 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
8188 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
8195 template<
typename T,
8196 typename std::enable_if<
8197 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
8206 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type = 0>
8212 template<
typename T,
8213 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
8220 template<
typename T,
8221 typename std::enable_if<
8222 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
8229 template<
typename T,
8230 typename std::enable_if<
8231 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
8238 template<
typename T,
8239 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
8246 template<
typename T,
8247 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
8254 template<
typename T,
8255 typename std::enable_if<
8256 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
8263 template<
typename T,
8264 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
8271 template<
typename T,
8272 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
8279 template<
typename T,
8280 typename std::enable_if<
8281 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
8288 template<
typename T,
8289 typename std::enable_if<
8290 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
8297 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
8303 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
8310 template<
typename F>
8318 template<
typename F>
8341 void setFromString(
const std::string &value);
8343 void setFromString(
const std::string &fullPath,
const std::string &value);
8345 std::string getString(
const std::string &fullPath)
const;
8350 friend struct DataModel::Detail::Befriend<
Processing>;
8448 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
8449 typename std::enable_if<
8450 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
8453 template<typename... Args>
8457 using namespace Zivid::Detail::TypeTraits;
8459 static_assert(AllArgsDecayedAreUnique<Args...>::value,
8460 "Found duplicate types among the arguments passed to Settings(...). "
8461 "Types should be listed at most once.");
8463 set(std::forward<Args>(args)...);
8513 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
8515 template<typename... Args>
8519 using namespace Zivid::Detail::TypeTraits;
8521 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8522 static_assert(AllArgsAreDescendantNodes::value,
8523 "All arguments passed to set(...) must be descendant nodes.");
8525 static_assert(AllArgsDecayedAreUnique<Args...>::value,
8526 "Found duplicate types among the arguments passed to set(...). "
8527 "Types should be listed at most once.");
8529 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
8580 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
8582 template<typename... Args>
8586 using namespace Zivid::Detail::TypeTraits;
8588 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8589 static_assert(AllArgsAreDescendantNodes::value,
8590 "All arguments passed to copyWith(...) must be descendant nodes.");
8592 static_assert(AllArgsDecayedAreUnique<Args...>::value,
8593 "Found duplicate types among the arguments passed to copyWith(...). "
8594 "Types should be listed at most once.");
8597 copy.set(std::forward<Args>(args)...);
8604 return m_acquisitions;
8610 return m_acquisitions;
8616 m_acquisitions = value;
8623 return m_experimental;
8629 return m_experimental;
8635 m_experimental = value;
8642 m_experimental.
set(value);
8649 return m_processing;
8655 return m_processing;
8661 m_processing = value;
8668 m_processing.
set(value);
8675 m_processing.
set(value);
8682 m_processing.
set(value);
8689 m_processing.
set(value);
8696 m_processing.
set(value);
8703 m_processing.
set(value);
8710 m_processing.
set(value);
8717 m_processing.
set(value);
8724 m_processing.
set(value);
8731 m_processing.
set(value);
8738 m_processing.
set(value);
8745 m_processing.
set(value);
8752 m_processing.
set(value);
8759 m_processing.
set(value);
8766 m_processing.
set(value);
8773 m_processing.
set(value);
8780 m_processing.
set(value);
8787 m_processing.
set(value);
8794 m_processing.
set(value);
8801 m_processing.
set(value);
8808 m_processing.
set(value);
8815 m_processing.
set(value);
8822 m_processing.
set(value);
8829 m_processing.
set(value);
8836 m_processing.
set(value);
8843 m_processing.
set(value);
8850 m_processing.
set(value);
8857 m_processing.
set(value);
8864 m_processing.
set(value);
8871 m_processing.
set(value);
8878 m_processing.
set(value);
8885 m_processing.
set(value);
8892 m_processing.
set(value);
8896 template<typename T, typename std::enable_if<std::is_same<T, Settings::Acquisitions>::value,
int>::type = 0>
8899 return m_acquisitions;
8902 template<typename T, typename std::enable_if<std::is_same<T, Settings::Experimental>::value,
int>::type = 0>
8905 return m_experimental;
8908 template<
typename T,
8909 typename std::enable_if<std::is_same<T, Settings::Experimental::Engine>::value,
int>::type = 0>
8915 template<typename T, typename std::enable_if<std::is_same<T, Settings::Processing>::value,
int>::type = 0>
8918 return m_processing;
8921 template<
typename T,
8922 typename std::enable_if<std::is_same<T, Settings::Processing::Color>::value,
int>::type = 0>
8928 template<
typename T,
8929 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type = 0>
8937 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
int>::type = 0>
8945 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
int>::type = 0>
8953 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::type = 0>
8961 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
int>::type = 0>
8967 template<
typename T,
8968 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
8975 template<
typename T,
8976 typename std::enable_if<
8977 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
8984 template<
typename T,
8985 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
8991 template<
typename T,
8992 typename std::enable_if<std::is_same<T, Settings::Processing::Filters>::value,
int>::type = 0>
9000 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
int>::type = 0>
9006 template<
typename T,
9007 typename std::enable_if<
9008 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
9017 typename std::enable_if<
9018 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
9027 typename std::enable_if<
9028 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled>::
9039 typename std::enable_if<
9040 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength>::
9049 template<
typename T,
9050 typename std::enable_if<
9051 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
9060 typename std::enable_if<
9072 typename std::enable_if<
9073 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold>::
9082 template<
typename T,
9083 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type = 0>
9089 template<
typename T,
9090 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
9097 template<
typename T,
9098 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
9107 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
9114 template<
typename T,
9115 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type = 0>
9121 template<
typename T,
9122 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
9131 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
9140 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
9149 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
int>::type = 0>
9155 template<
typename T,
9156 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
9165 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
9174 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
int>::type = 0>
9180 template<
typename T,
9181 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
9190 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
9199 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
9206 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
9209 return m_acquisitions;
9212 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
9215 return m_experimental;
9218 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
9221 return m_processing;
9225 template<
typename F>
9234 template<
typename F>
9258 void save(
const std::string &fileName)
const;
9261 void load(
const std::string &fileName);
9264 void setFromString(
const std::string &value);
9266 void setFromString(
const std::string &fullPath,
const std::string &value);
9268 std::string getString(
const std::string &fullPath)
const;
9274 friend struct DataModel::Detail::Befriend<
Settings>;
9279 struct Settings::Version<8>
9288 # pragma warning(pop)
9292 # if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
9296 struct tuple_size<
Zivid::Settings::Experimental> : integral_constant<size_t, 1>
9300 struct tuple_element<i,
Zivid::Settings::Experimental>
9302 static_assert(i < tuple_size<Zivid::Settings::Experimental>::value,
"Index must be less than 1");
9305 = decltype(declval<Zivid::Settings::Experimental>().get<i>());
9309 struct tuple_size<
Zivid::Settings::Processing> : integral_constant<size_t, 2>
9313 struct tuple_element<i,
Zivid::Settings::Processing>
9315 static_assert(i < tuple_size<Zivid::Settings::Processing>::value,
"Index must be less than 2");
9318 = decltype(declval<Zivid::Settings::Processing>().get<i>());
9322 struct tuple_size<
Zivid::Settings::Processing::Color> : integral_constant<size_t, 3>
9326 struct tuple_element<i,
Zivid::Settings::Processing::Color>
9328 static_assert(i < tuple_size<Zivid::Settings::Processing::Color>::value,
"Index must be less than 3");
9331 = decltype(declval<Zivid::Settings::Processing::Color>().get<i>());
9335 struct tuple_size<
Zivid::Settings::Processing::Color::Balance> : integral_constant<size_t, 3>
9339 struct tuple_element<i,
Zivid::Settings::Processing::Color::Balance>
9341 static_assert(i < tuple_size<Zivid::Settings::Processing::Color::Balance>::value,
"Index must be less than 3");
9344 = decltype(declval<Zivid::Settings::Processing::Color::Balance>().get<i>());
9348 struct tuple_size<
Zivid::Settings::Processing::Color::Experimental> : integral_constant<size_t, 1>
9352 struct tuple_element<i,
Zivid::Settings::Processing::Color::Experimental>
9354 static_assert(i < tuple_size<Zivid::Settings::Processing::Color::Experimental>::value,
9355 "Index must be less than 1");
9358 = decltype(declval<Zivid::Settings::Processing::Color::Experimental>().get<i>());
9362 struct tuple_size<
Zivid::Settings::Processing::Color::Experimental::ToneMapping> : integral_constant<size_t, 1>
9366 struct tuple_element<i,
Zivid::Settings::Processing::Color::Experimental::ToneMapping>
9368 static_assert(i < tuple_size<Zivid::Settings::Processing::Color::Experimental::ToneMapping>::value,
9369 "Index must be less than 1");
9372 = decltype(declval<Zivid::Settings::Processing::Color::Experimental::ToneMapping>().get<i>());
9376 struct tuple_size<
Zivid::Settings::Processing::Filters> : integral_constant<size_t, 5>
9380 struct tuple_element<i,
Zivid::Settings::Processing::Filters>
9382 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters>::value,
"Index must be less than 5");
9385 = decltype(declval<Zivid::Settings::Processing::Filters>().get<i>());
9389 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental> : integral_constant<size_t, 1>
9393 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental>
9395 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Experimental>::value,
9396 "Index must be less than 1");
9399 = decltype(declval<Zivid::Settings::Processing::Filters::Experimental>().get<i>());
9403 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>
9404 : integral_constant<size_t, 2>
9408 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>
9410 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
9411 "Index must be less than 2");
9414 = decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>().get<i>());
9418 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>
9419 : integral_constant<size_t, 2>
9423 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>
9426 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
9427 "Index must be less than 2");
9431 declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>().get<i>());
9435 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>
9436 : integral_constant<size_t, 2>
9440 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>
9443 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
9444 "Index must be less than 2");
9448 declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>().get<i>());
9452 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise> : integral_constant<size_t, 1>
9456 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise>
9458 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Noise>::value,
"Index must be less than 1");
9461 = decltype(declval<Zivid::Settings::Processing::Filters::Noise>().get<i>());
9465 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise::Removal> : integral_constant<size_t, 2>
9469 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise::Removal>
9471 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Noise::Removal>::value,
9472 "Index must be less than 2");
9475 = decltype(declval<Zivid::Settings::Processing::Filters::Noise::Removal>().get<i>());
9479 struct tuple_size<
Zivid::Settings::Processing::Filters::Outlier> : integral_constant<size_t, 1>
9483 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Outlier>
9485 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Outlier>::value,
9486 "Index must be less than 1");
9489 = decltype(declval<Zivid::Settings::Processing::Filters::Outlier>().get<i>());
9493 struct tuple_size<
Zivid::Settings::Processing::Filters::Outlier::Removal> : integral_constant<size_t, 2>
9497 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Outlier::Removal>
9499 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Outlier::Removal>::value,
9500 "Index must be less than 2");
9503 = decltype(declval<Zivid::Settings::Processing::Filters::Outlier::Removal>().get<i>());
9507 struct tuple_size<
Zivid::Settings::Processing::Filters::Reflection> : integral_constant<size_t, 1>
9511 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Reflection>
9513 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Reflection>::value,
9514 "Index must be less than 1");
9517 = decltype(declval<Zivid::Settings::Processing::Filters::Reflection>().get<i>());
9521 struct tuple_size<
Zivid::Settings::Processing::Filters::Reflection::Removal> : integral_constant<size_t, 1>
9525 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Reflection::Removal>
9527 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Reflection::Removal>::value,
9528 "Index must be less than 1");
9531 = decltype(declval<Zivid::Settings::Processing::Filters::Reflection::Removal>().get<i>());
9535 struct tuple_size<
Zivid::Settings::Processing::Filters::Smoothing> : integral_constant<size_t, 1>
9539 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Smoothing>
9541 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Smoothing>::value,
9542 "Index must be less than 1");
9545 = decltype(declval<Zivid::Settings::Processing::Filters::Smoothing>().get<i>());
9549 struct tuple_size<
Zivid::Settings::Processing::Filters::Smoothing::Gaussian> : integral_constant<size_t, 2>
9553 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Smoothing::Gaussian>
9555 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Smoothing::Gaussian>::value,
9556 "Index must be less than 2");
9559 = decltype(declval<Zivid::Settings::Processing::Filters::Smoothing::Gaussian>().get<i>());
9563 struct tuple_size<
Zivid::Settings> : integral_constant<size_t, 3>
9567 struct tuple_element<i,
Zivid::Settings>
9569 static_assert(i < tuple_size<Zivid::Settings>::value,
"Index must be less than 3");
9572 = decltype(declval<Zivid::Settings>().get<i>());
#define ZIVID_CORE_EXPORT
Definition: CoreExport.h:57
Class describing a range of values for a given type T
Definition: Range.h:58
Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to the effe...
Definition: Settings.h:126
bool operator<(const Aperture &other) const
Comparison operator
Definition: Settings.h:189
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:195
bool operator==(const Aperture &other) const
Comparison operator
Definition: Settings.h:177
static constexpr Range< double > validRange()
The range of valid values for Aperture
Definition: Settings.h:148
bool operator!=(const Aperture &other) const
Comparison operator
Definition: Settings.h:183
Aperture()=default
Default constructor
constexpr Aperture(double value)
Constructor
Definition: Settings.h:157
double ValueType
The type of the underlying value
Definition: Settings.h:145
void reset()
Reset the node to unset state
friend std::ostream & operator<<(std::ostream &stream, const Aperture &value)
Operator to serialize the value to a stream
Definition: Settings.h:201
bool hasValue() const
Check if the value is set
Brightness controls the light output from the projector.
Definition: Settings.h:237
bool operator!=(const Brightness &other) const
Comparison operator
Definition: Settings.h:304
bool operator<(const Brightness &other) const
Comparison operator
Definition: Settings.h:310
bool operator>(const Brightness &other) const
Comparison operator
Definition: Settings.h:316
friend std::ostream & operator<<(std::ostream &stream, const Brightness &value)
Operator to serialize the value to a stream
Definition: Settings.h:322
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Brightness
Definition: Settings.h:269
std::string toString() const
Get the value as string
double value() const
Get the value
constexpr Brightness(double value)
Constructor
Definition: Settings.h:278
bool hasValue() const
Check if the value is set
Brightness()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings.h:266
bool operator==(const Brightness &other) const
Comparison operator
Definition: Settings.h:298
Exposure time for each single image in the measurement. Affects frame rate.
Definition: Settings.h:346
bool operator<(const ExposureTime &other) const
Comparison operator
Definition: Settings.h:407
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for ExposureTime
Definition: Settings.h:366
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:413
friend std::ostream & operator<<(std::ostream &stream, const ExposureTime &value)
Operator to serialize the value to a stream
Definition: Settings.h:419
std::chrono::microseconds ValueType
The type of the underlying value
Definition: Settings.h:363
bool operator==(const ExposureTime &other) const
Comparison operator
Definition: Settings.h:395
bool operator!=(const ExposureTime &other) const
Comparison operator
Definition: Settings.h:401
std::chrono::microseconds value() const
Get the value
constexpr ExposureTime(std::chrono::microseconds value)
Constructor
Definition: Settings.h:375
Analog gain in the camera
Definition: Settings.h:444
static constexpr Range< double > validRange()
The range of valid values for Gain
Definition: Settings.h:462
bool operator==(const Gain &other) const
Comparison operator
Definition: Settings.h:491
constexpr Gain(double value)
Constructor
Definition: Settings.h:471
void reset()
Reset the node to unset state
friend std::ostream & operator<<(std::ostream &stream, const Gain &value)
Operator to serialize the value to a stream
Definition: Settings.h:515
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:459
std::string toString() const
Get the value as string
bool operator!=(const Gain &other) const
Comparison operator
Definition: Settings.h:497
bool operator>(const Gain &other) const
Comparison operator
Definition: Settings.h:509
bool operator<(const Gain &other) const
Comparison operator
Definition: Settings.h:503
Settings for a single acquisition
Definition: Settings.h:108
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:780
const Settings::Acquisition::Aperture & get() const
Definition: Settings.h:727
ExposureTime & exposureTime()
Get ExposureTime
Definition: Settings.h:694
const Aperture & aperture() const
Get Aperture
Definition: Settings.h:650
bool operator==(const Acquisition &other) const
Equality operator
Brightness & brightness()
Get Brightness
Definition: Settings.h:675
Acquisition & set(const Brightness &value)
Set Brightness
Definition: Settings.h:681
bool operator!=(const Acquisition &other) const
Inequality operator
const ExposureTime & exposureTime() const
Get ExposureTime
Definition: Settings.h:688
Acquisition & set(const Gain &value)
Set Gain
Definition: Settings.h:719
Acquisition & set(const ExposureTime &value)
Set ExposureTime
Definition: Settings.h:700
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:598
const Settings::Acquisition::Gain & get() const
Definition: Settings.h:749
Acquisition & set(const Aperture &value)
Set Aperture
Definition: Settings.h:662
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:632
const Gain & gain() const
Get Gain
Definition: Settings.h:707
const Brightness & brightness() const
Get Brightness
Definition: Settings.h:669
const Settings::Acquisition::ExposureTime & get() const
Definition: Settings.h:742
Acquisition(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:569
const Settings::Acquisition::Brightness & get() const
Definition: Settings.h:734
Acquisition()
Default constructor
Gain & gain()
Get Gain
Definition: Settings.h:713
friend std::ostream & operator<<(std::ostream &stream, const Acquisition &value)
Operator to send the value as string to a stream
Definition: Settings.h:808
std::tuple< Settings::Acquisition::Aperture, Settings::Acquisition::Brightness, Settings::Acquisition::ExposureTime, Settings::Acquisition::Gain > Descendants
Definition: Settings.h:540
std::string toString() const
Get the value as string
Aperture & aperture()
Get Aperture
Definition: Settings.h:656
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:790
List of Acquisition objects
Definition: Settings.h:830
bool operator!=(const Acquisitions &other) const
Comparison operator
Definition: Settings.h:944
Settings::Acquisition & at(std::size_t pos)
Returns a reference to the element at position pos in the list
const Settings::Acquisition & operator[](std::size_t pos) const
Returns a const reference to the element at position pos in the list
std::string toString() const
Get the value as string
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Acquisitions
Definition: Settings.h:848
void forEach(const F &f) const
Run the given function on each element in the list
Definition: Settings.h:929
const std::vector< Settings::Acquisition > & value() const
Get the value
bool operator==(const Acquisitions &other) const
Comparison operator
Definition: Settings.h:938
Acquisitions()=default
Default constructor
Acquisitions(std::initializer_list< Settings::Acquisition > value)
Constructor
Definition: Settings.h:862
void forEach(const F &f)
Run the given function on each element in the list
Definition: Settings.h:919
Acquisitions(std::vector< Settings::Acquisition > value)
Constructor
Definition: Settings.h:857
Settings::Acquisition & operator[](std::size_t pos)
Returns a reference to the element at position pos in the list
std::vector< Settings::Acquisition > ValueType
The type of the underlying value
Definition: Settings.h:845
friend std::ostream & operator<<(std::ostream &stream, const Acquisitions &value)
Operator to serialize the value to a stream
Definition: Settings.h:950
std::size_t size() const noexcept
Get the size of the list
const Settings::Acquisition & at(std::size_t pos) const
Returns a const reference to the element at position pos in the list
Set the Zivid Vision Engine to use.
Definition: Settings.h:991
ValueType value() const
Get the value
static std::set< ValueType > validValues()
All valid values of Engine
Definition: Settings.h:1023
static const Engine phase
phase
Definition: Settings.h:1019
friend std::ostream & operator<<(std::ostream &stream, const Engine::ValueType &value)
Operator to serialize ValueType to a stream
Definition: Settings.h:1052
bool hasValue() const
Check if the value is set
ValueType
The type of the underlying value
Definition: Settings.h:1015
friend std::ostream & operator<<(std::ostream &stream, const Engine &value)
Operator to serialize the value to a stream
Definition: Settings.h:1070
std::string toString() const
Get the value as string
bool operator==(const Engine &other) const
Comparison operator
Definition: Settings.h:1058
Engine()=default
Default constructor
bool operator!=(const Engine &other) const
Comparison operator
Definition: Settings.h:1064
constexpr Engine(ValueType value)
Constructor
Definition: Settings.h:1032
static const Engine stripe
stripe
Definition: Settings.h:1020
void reset()
Reset the node to unset state
Experimental features. These settings may be changed, renamed, moved or deleted in the future.
Definition: Settings.h:965
const Settings::Experimental::Engine & get() const
Definition: Settings.h:1214
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:1145
Experimental & set(const Engine &value)
Set Engine
Definition: Settings.h:1206
const Engine & engine() const
Get Engine
Definition: Settings.h:1194
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:1176
std::string toString() const
Get the value as string
bool operator!=(const Experimental &other) const
Inequality operator
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream
Definition: Settings.h:1249
std::tuple< Settings::Experimental::Engine > Descendants
Definition: Settings.h:1093
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:1227
bool operator==(const Experimental &other) const
Equality operator
Experimental(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:1119
Experimental()
Default constructor
Engine & engine()
Get Engine
Definition: Settings.h:1200
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:1234
Digital gain applied to blue channel
Definition: Settings.h:1318
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:1367
friend std::ostream & operator<<(std::ostream &stream, const Blue &value)
Operator to serialize the value to a stream
Definition: Settings.h:1391
std::string toString() const
Get the value as string
static constexpr Range< double > validRange()
The range of valid values for Blue
Definition: Settings.h:1338
bool operator<(const Blue &other) const
Comparison operator
Definition: Settings.h:1379
constexpr Blue(double value)
Constructor
Definition: Settings.h:1347
Blue()=default
Default constructor
bool operator!=(const Blue &other) const
Comparison operator
Definition: Settings.h:1373
bool hasValue() const
Check if the value is set
double ValueType
The type of the underlying value
Definition: Settings.h:1335
bool operator>(const Blue &other) const
Comparison operator
Definition: Settings.h:1385
Digital gain applied to green channel
Definition: Settings.h:1416
friend std::ostream & operator<<(std::ostream &stream, const Green &value)
Operator to serialize the value to a stream
Definition: Settings.h:1489
void reset()
Reset the node to unset state
bool operator>(const Green &other) const
Comparison operator
Definition: Settings.h:1483
double value() const
Get the value
bool hasValue() const
Check if the value is set
double ValueType
The type of the underlying value
Definition: Settings.h:1433
constexpr Green(double value)
Constructor
Definition: Settings.h:1445
static constexpr Range< double > validRange()
The range of valid values for Green
Definition: Settings.h:1436
bool operator==(const Green &other) const
Comparison operator
Definition: Settings.h:1465
bool operator!=(const Green &other) const
Comparison operator
Definition: Settings.h:1471
Green()=default
Default constructor
std::string toString() const
Get the value as string
bool operator<(const Green &other) const
Comparison operator
Definition: Settings.h:1477
Digital gain applied to red channel
Definition: Settings.h:1514
bool operator!=(const Red &other) const
Comparison operator
Definition: Settings.h:1569
static constexpr Range< double > validRange()
The range of valid values for Red
Definition: Settings.h:1534
constexpr Red(double value)
Constructor
Definition: Settings.h:1543
double ValueType
The type of the underlying value
Definition: Settings.h:1531
double value() const
Get the value
bool operator==(const Red &other) const
Comparison operator
Definition: Settings.h:1563
Red()=default
Default constructor
bool operator<(const Red &other) const
Comparison operator
Definition: Settings.h:1575
void reset()
Reset the node to unset state
friend std::ostream & operator<<(std::ostream &stream, const Red &value)
Operator to serialize the value to a stream
Definition: Settings.h:1587
bool operator>(const Red &other) const
Comparison operator
Definition: Settings.h:1581
bool hasValue() const
Check if the value is set
std::string toString() const
Get the value as string
Color balance settings
Definition: Settings.h:1302
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:1668
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:1822
bool operator!=(const Balance &other) const
Inequality operator
Blue & blue()
Get Blue
Definition: Settings.h:1727
std::string toString() const
Get the value as string
const Red & red() const
Get Red
Definition: Settings.h:1759
Balance(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:1640
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:1780
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:1702
std::tuple< Settings::Processing::Color::Balance::Blue, Settings::Processing::Color::Balance::Green, Settings::Processing::Color::Balance::Red > Descendants
Definition: Settings.h:1612
Balance & set(const Green &value)
Set Green
Definition: Settings.h:1752
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:1831
Red & red()
Get Red
Definition: Settings.h:1765
friend std::ostream & operator<<(std::ostream &stream, const Balance &value)
Operator to send the value as string to a stream
Definition: Settings.h:1848
const Blue & blue() const
Get Blue
Definition: Settings.h:1721
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:1797
Balance & set(const Blue &value)
Set Blue
Definition: Settings.h:1733
Balance & set(const Red &value)
Set Red
Definition: Settings.h:1771
const Green & green() const
Get Green
Definition: Settings.h:1740
Green & green()
Get Green
Definition: Settings.h:1746
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:1789
Balance()
Default constructor
This setting controls when tone mapping of colors is performed. Tone mapping will normalize the captu...
Definition: Settings.h:1911
ValueType
The type of the underlying value
Definition: Settings.h:1937
bool hasValue() const
Check if the value is set
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:1980
friend std::ostream & operator<<(std::ostream &stream, const Enabled::ValueType &value)
Operator to serialize ValueType to a stream
Definition: Settings.h:1974
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:1986
std::string toString() const
Get the value as string
static const Enabled always
always
Definition: Settings.h:1941
static const Enabled hdrOnly
hdrOnly
Definition: Settings.h:1942
ValueType value() const
Get the value
static std::set< ValueType > validValues()
All valid values of Enabled
Definition: Settings.h:1945
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:1992
Enabled()=default
Default constructor
constexpr Enabled(ValueType value)
Constructor
Definition: Settings.h:1954
void reset()
Reset the node to unset state
Tonemapping settings.
Definition: Settings.h:1887
ToneMapping(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:2043
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:2163
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:2143
bool operator==(const ToneMapping &other) const
Equality operator
std::tuple< Settings::Processing::Color::Experimental::ToneMapping::Enabled > Descendants
Definition: Settings.h:2017
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:2156
ToneMapping & set(const Enabled &value)
Set Enabled
Definition: Settings.h:2132
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:2126
ToneMapping()
Default constructor
bool operator!=(const ToneMapping &other) const
Inequality operator
ToneMapping copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition: Settings.h:2101
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:2120
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:2069
friend std::ostream & operator<<(std::ostream &stream, const ToneMapping &value)
Operator to send the value as string to a stream
Definition: Settings.h:2178
Experimental color settings. These may be renamed, moved or deleted in the future.
Definition: Settings.h:1869
Experimental & set(const ToneMapping &value)
Set ToneMapping
Definition: Settings.h:2314
ToneMapping & toneMapping()
Get ToneMapping
Definition: Settings.h:2308
const ToneMapping & toneMapping() const
Get ToneMapping
Definition: Settings.h:2302
bool operator!=(const Experimental &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:2361
Experimental(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:2223
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:2341
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:2250
std::tuple< Settings::Processing::Color::Experimental::ToneMapping, Settings::Processing::Color::Experimental::ToneMapping::Enabled > Descendants
Definition: Settings.h:2196
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream
Definition: Settings.h:2376
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:2354
bool operator==(const Experimental &other) const
Equality operator
Experimental()
Default constructor
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:2331
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:2283
Experimental & set(const ToneMapping::Enabled &value)
Set ToneMapping::Enabled
Definition: Settings.h:2321
Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma greater t...
Definition: Settings.h:2397
static constexpr Range< double > validRange()
The range of valid values for Gamma
Definition: Settings.h:2419
double value() const
Get the value
bool operator>(const Gamma &other) const
Comparison operator
Definition: Settings.h:2466
void reset()
Reset the node to unset state
Gamma()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings.h:2416
bool hasValue() const
Check if the value is set
friend std::ostream & operator<<(std::ostream &stream, const Gamma &value)
Operator to serialize the value to a stream
Definition: Settings.h:2472
constexpr Gamma(double value)
Constructor
Definition: Settings.h:2428
bool operator!=(const Gamma &other) const
Comparison operator
Definition: Settings.h:2454
bool operator<(const Gamma &other) const
Comparison operator
Definition: Settings.h:2460
std::string toString() const
Get the value as string
bool operator==(const Gamma &other) const
Comparison operator
Definition: Settings.h:2448
Color settings
Definition: Settings.h:1286
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:2727
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:2760
Color & set(const Gamma &value)
Set Gamma
Definition: Settings.h:2710
Gamma & gamma()
Get Gamma
Definition: Settings.h:2704
bool operator==(const Color &other) const
Equality operator
Color & set(const Experimental::ToneMapping &value)
Set Experimental::ToneMapping
Definition: Settings.h:2684
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:2567
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:2735
const Experimental & experimental() const
Get Experimental
Definition: Settings.h:2665
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:2743
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::ToneMapping, Settings::Processing::Color::Experimental::ToneMapping::Enabled, Settings::Processing::Color::Gamma > Descendants
Definition: Settings.h:2501
Color()
Default constructor
const Settings::Processing::Color::Gamma & get() const
Definition: Settings.h:2777
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:2769
const Settings::Processing::Color::Experimental & get() const
Definition: Settings.h:2751
Color & set(const Balance &value)
Set Balance
Definition: Settings.h:2637
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:2811
Balance & balance()
Get Balance
Definition: Settings.h:2631
std::string toString() const
Get the value as string
const Balance & balance() const
Get Balance
Definition: Settings.h:2625
bool operator!=(const Color &other) const
Inequality operator
Color & set(const Balance::Green &value)
Set Balance::Green
Definition: Settings.h:2651
Color & set(const Experimental::ToneMapping::Enabled &value)
Set Experimental::ToneMapping::Enabled
Definition: Settings.h:2691
const Settings::Processing::Color::Balance & get() const
Definition: Settings.h:2719
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to send the value as string to a stream
Definition: Settings.h:2828
Color & set(const Experimental &value)
Set Experimental
Definition: Settings.h:2677
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:2606
const Gamma & gamma() const
Get Gamma
Definition: Settings.h:2698
Experimental & experimental()
Get Experimental
Definition: Settings.h:2671
Color(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:2534
Color & set(const Balance::Red &value)
Set Balance::Red
Definition: Settings.h:2658
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:2802
Color & set(const Balance::Blue &value)
Set Balance::Blue
Definition: Settings.h:2644
Enabled
Definition: Settings.h:2927
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:2949
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:2945
bool ValueType
The type of the underlying value
Definition: Settings.h:2944
static const Enabled no
Off/disabled.
Definition: Settings.h:2946
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:2958
bool hasValue() const
Check if the value is set
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:2978
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:2990
bool value() const
Get the value
Enabled()=default
Default constructor
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:2984
Higher values gives more correction.
Definition: Settings.h:3005
double ValueType
The type of the underlying value
Definition: Settings.h:3024
bool operator>(const Strength &other) const
Comparison operator
Definition: Settings.h:3074
bool operator!=(const Strength &other) const
Comparison operator
Definition: Settings.h:3062
bool hasValue() const
Check if the value is set
constexpr Strength(double value)
Constructor
Definition: Settings.h:3036
double value() const
Get the value
friend std::ostream & operator<<(std::ostream &stream, const Strength &value)
Operator to serialize the value to a stream
Definition: Settings.h:3080
Strength()=default
Default constructor
bool operator<(const Strength &other) const
Comparison operator
Definition: Settings.h:3068
void reset()
Reset the node to unset state
std::string toString() const
Get the value as string
static constexpr Range< double > validRange()
The range of valid values for Strength
Definition: Settings.h:3027
bool operator==(const Strength &other) const
Comparison operator
Definition: Settings.h:3056
Correction
Definition: Settings.h:2909
bool operator==(const Correction &other) const
Equality operator
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:3290
friend std::ostream & operator<<(std::ostream &stream, const Correction &value)
Operator to send the value as string to a stream
Definition: Settings.h:3314
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:3217
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength > Descendants
Definition: Settings.h:3105
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:3192
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:3255
Correction & set(const Enabled &value)
Set Enabled
Definition: Settings.h:3223
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:3268
bool operator!=(const Correction &other) const
Inequality operator
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:3211
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:3159
Strength & strength()
Get Strength
Definition: Settings.h:3236
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:3298
std::string toString() const
Get the value as string
Correction & set(const Strength &value)
Set Strength
Definition: Settings.h:3242
const Strength & strength() const
Get Strength
Definition: Settings.h:3230
Correction(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:3132
Enabled
Definition: Settings.h:3352
std::string toString() const
Get the value as string
static const Enabled yes
On/enabled.
Definition: Settings.h:3370
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:3383
Enabled()=default
Default constructor
void reset()
Reset the node to unset state
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:3409
bool ValueType
The type of the underlying value
Definition: Settings.h:3369
bool hasValue() const
Check if the value is set
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:3415
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:3403
bool value() const
Get the value
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:3374
static const Enabled no
Off/disabled.
Definition: Settings.h:3371
Higher values remove more points.
Definition: Settings.h:3430
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Threshold
Definition: Settings.h:3452
constexpr Threshold(double value)
Constructor
Definition: Settings.h:3461
bool operator!=(const Threshold &other) const
Comparison operator
Definition: Settings.h:3487
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream
Definition: Settings.h:3505
bool operator<(const Threshold &other) const
Comparison operator
Definition: Settings.h:3493
Threshold()=default
Default constructor
bool operator==(const Threshold &other) const
Comparison operator
Definition: Settings.h:3481
std::string toString() const
Get the value as string
bool operator>(const Threshold &other) const
Comparison operator
Definition: Settings.h:3499
bool hasValue() const
Check if the value is set
double value() const
Get the value
double ValueType
The type of the underlying value
Definition: Settings.h:3449
Removal
Definition: Settings.h:3334
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:3713
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:3584
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:3642
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:3737
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:3636
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:3557
bool operator!=(const Removal &other) const
Inequality operator
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:3692
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:3617
Threshold & threshold()
Get Threshold
Definition: Settings.h:3661
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold > Descendants
Definition: Settings.h:3530
Removal()
Default constructor
const Threshold & threshold() const
Get Threshold
Definition: Settings.h:3655
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:3680
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:3648
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:3721
std::string toString() const
Get the value as string
Removal & set(const Threshold &value)
Set Threshold
Definition: Settings.h:3667
Corrects artifacts that appear when imaging scenes with large texture gradients or high contrast....
Definition: Settings.h:2887
Removal & removal()
Get Removal
Definition: Settings.h:3919
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:3950
Correction & correction()
Get Correction
Definition: Settings.h:3886
const Correction & correction() const
Get Correction
Definition: Settings.h:3880
ContrastDistortion & set(const Correction::Enabled &value)
Set Correction::Enabled
Definition: Settings.h:3899
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:4030
const Removal & removal() const
Get Removal
Definition: Settings.h:3913
friend std::ostream & operator<<(std::ostream &stream, const ContrastDistortion &value)
Operator to send the value as string to a stream
Definition: Settings.h:4054
bool operator!=(const ContrastDistortion &other) const
Inequality operator
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:3861
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:3761
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:3824
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:4038
ContrastDistortion & set(const Removal::Threshold &value)
Set Removal::Threshold
Definition: Settings.h:3939
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:3975
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:3962
ContrastDistortion & set(const Correction::Strength &value)
Set Correction::Strength
Definition: Settings.h:3906
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:4009
std::string toString() const
Get the value as string
ContrastDistortion & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:3932
ContrastDistortion & set(const Correction &value)
Set Correction
Definition: Settings.h:3892
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:3986
bool operator==(const ContrastDistortion &other) const
Equality operator
ContrastDistortion(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:3792
ContrastDistortion & set(const Removal &value)
Set Removal
Definition: Settings.h:3925
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:3996
Experimental filters. These may be renamed, moved or deleted in the future.
Definition: Settings.h:2865
Experimental & set(const ContrastDistortion::Correction::Strength &value)
Set ContrastDistortion::Correction::Strength
Definition: Settings.h:4233
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:4355
Experimental & set(const ContrastDistortion::Removal &value)
Set ContrastDistortion::Removal
Definition: Settings.h:4240
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:4181
Experimental(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:4111
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:4143
Experimental & set(const ContrastDistortion &value)
Set ContrastDistortion
Definition: Settings.h:4212
ContrastDistortion & contrastDistortion()
Get ContrastDistortion
Definition: Settings.h:4206
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:4333
Experimental()
Default constructor
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream
Definition: Settings.h:4370
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:4348
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:4298
Experimental & set(const ContrastDistortion::Correction::Enabled &value)
Set ContrastDistortion::Correction::Enabled
Definition: Settings.h:4226
Experimental & set(const ContrastDistortion::Removal::Enabled &value)
Set ContrastDistortion::Removal::Enabled
Definition: Settings.h:4247
bool operator!=(const Experimental &other) const
Inequality operator
const ContrastDistortion & contrastDistortion() const
Get ContrastDistortion
Definition: Settings.h:4200
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:4286
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:4265
std::string toString() const
Get the value as string
bool operator==(const Experimental &other) const
Equality operator
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:4079
Experimental & set(const ContrastDistortion::Removal::Threshold &value)
Set ContrastDistortion::Removal::Threshold
Definition: Settings.h:4254
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:4275
Experimental & set(const ContrastDistortion::Correction &value)
Set ContrastDistortion::Correction
Definition: Settings.h:4219
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:4311
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:4322
Enable or disable the SNR filter
Definition: Settings.h:4425
static const Enabled yes
On/enabled.
Definition: Settings.h:4443
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:4482
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:4476
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:4456
Enabled()=default
Default constructor
static const Enabled no
Off/disabled.
Definition: Settings.h:4444
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:4447
bool ValueType
The type of the underlying value
Definition: Settings.h:4442
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:4488
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:4503
double value() const
Get the value
bool hasValue() const
Check if the value is set
Threshold()=default
Default constructor
constexpr Threshold(double value)
Constructor
Definition: Settings.h:4532
bool operator==(const Threshold &other) const
Comparison operator
Definition: Settings.h:4552
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream
Definition: Settings.h:4576
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Threshold
Definition: Settings.h:4523
bool operator>(const Threshold &other) const
Comparison operator
Definition: Settings.h:4570
bool operator<(const Threshold &other) const
Comparison operator
Definition: Settings.h:4564
std::string toString() const
Get the value as string
double ValueType
The type of the underlying value
Definition: Settings.h:4520
bool operator!=(const Threshold &other) const
Comparison operator
Definition: Settings.h:4558
Discard points with signal-to-noise ratio (SNR) values below a threshold
Definition: Settings.h:4407
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:4627
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:4718
std::tuple< Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold > Descendants
Definition: Settings.h:4600
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:4706
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:4712
const Threshold & threshold() const
Get Threshold
Definition: Settings.h:4725
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:4747
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:4799
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:4783
bool operator==(const Removal &other) const
Equality operator
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:4654
bool operator!=(const Removal &other) const
Inequality operator
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:4775
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:4756
Threshold & threshold()
Get Threshold
Definition: Settings.h:4731
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:4687
Removal()
Default constructor
Removal & set(const Threshold &value)
Set Threshold
Definition: Settings.h:4737
std::string toString() const
Get the value as string
Contains a filter that removes points with low signal-to-noise ratio (SNR)
Definition: Settings.h:4389
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:4995
std::string toString() const
Get the value as string
Noise()
Default constructor
Noise(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:4847
Removal & removal()
Get Removal
Definition: Settings.h:4934
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:4909
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5002
Noise & set(const Removal::Threshold &value)
Set Removal::Threshold
Definition: Settings.h:4954
Noise & set(const Removal &value)
Set Removal
Definition: Settings.h:4940
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:4973
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:4964
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:4982
std::tuple< Settings::Processing::Filters::Noise::Removal, Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold > Descendants
Definition: Settings.h:4819
Noise & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:4947
const Removal & removal() const
Get Removal
Definition: Settings.h:4928
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:4875
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:5017
bool operator==(const Noise &other) const
Equality operator
Enable or disable the outlier filter
Definition: Settings.h:5072
bool ValueType
The type of the underlying value
Definition: Settings.h:5089
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:5129
bool value() const
Get the value
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:5103
static const Enabled no
Off/disabled.
Definition: Settings.h:5091
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:5094
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:5090
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:5135
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:5123
Enabled()=default
Default constructor
Discard point if Euclidean distance to neighboring points is above the given value
Definition: Settings.h:5150
bool hasValue() const
Check if the value is set
double value() const
Get the value
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream
Definition: Settings.h:5223
constexpr Threshold(double value)
Constructor
Definition: Settings.h:5179
bool operator<(const Threshold &other) const
Comparison operator
Definition: Settings.h:5211
bool operator==(const Threshold &other) const
Comparison operator
Definition: Settings.h:5199
bool operator!=(const Threshold &other) const
Comparison operator
Definition: Settings.h:5205
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Threshold
Definition: Settings.h:5170
bool operator>(const Threshold &other) const
Comparison operator
Definition: Settings.h:5217
std::string toString() const
Get the value as string
double ValueType
The type of the underlying value
Definition: Settings.h:5167
Threshold()=default
Default constructor
Discard point if Euclidean distance to neighboring points is above a threshold
Definition: Settings.h:5054
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:5365
bool operator!=(const Removal &other) const
Inequality operator
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:5403
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:5334
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:5353
Removal & set(const Threshold &value)
Set Threshold
Definition: Settings.h:5384
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:5446
const Threshold & threshold() const
Get Threshold
Definition: Settings.h:5372
std::tuple< Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold > Descendants
Definition: Settings.h:5247
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:5274
std::string toString() const
Get the value as string
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:5359
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:5422
Removal()
Default constructor
bool operator==(const Removal &other) const
Equality operator
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:5301
Threshold & threshold()
Get Threshold
Definition: Settings.h:5378
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:5394
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5430
Contains a filter that removes points with large Euclidean distance to neighboring points
Definition: Settings.h:5036
Outlier & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:5594
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:5629
Outlier(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:5494
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5649
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:5611
Outlier & set(const Removal &value)
Set Removal
Definition: Settings.h:5587
Outlier()
Default constructor
std::string toString() const
Get the value as string
const Removal & removal() const
Get Removal
Definition: Settings.h:5575
std::tuple< Settings::Processing::Filters::Outlier::Removal, Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold > Descendants
Definition: Settings.h:5466
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:5642
bool operator!=(const Outlier &other) const
Inequality operator
Outlier & set(const Removal::Threshold &value)
Set Removal::Threshold
Definition: Settings.h:5601
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:5620
Removal & removal()
Get Removal
Definition: Settings.h:5581
friend std::ostream & operator<<(std::ostream &stream, const Outlier &value)
Operator to send the value as string to a stream
Definition: Settings.h:5664
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:5556
bool operator==(const Outlier &other) const
Equality operator
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:5522
Enable or disable the reflection filter. Note that this filter is computationally intensive and may a...
Definition: Settings.h:5719
bool ValueType
The type of the underlying value
Definition: Settings.h:5736
bool hasValue() const
Check if the value is set
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:5741
void reset()
Reset the node to unset state
static const Enabled yes
On/enabled.
Definition: Settings.h:5737
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:5776
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:5750
std::string toString() const
Get the value as string
bool value() const
Get the value
static const Enabled no
Off/disabled.
Definition: Settings.h:5738
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:5782
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:5770
Enabled()=default
Default constructor
Discard points likely introduced by reflections (useful for shiny materials)
Definition: Settings.h:5701
std::tuple< Settings::Processing::Filters::Reflection::Removal::Enabled > Descendants
Definition: Settings.h:5795
std::string toString() const
Get the value as string
bool operator==(const Removal &other) const
Equality operator
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:5847
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:5921
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:5904
Removal()
Default constructor
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5934
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:5956
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:5879
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:5821
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:5910
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:5898
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5941
bool operator!=(const Removal &other) const
Inequality operator
Contains a filter that removes points likely introduced by reflections (useful for shiny materials)
Definition: Settings.h:5683
const Removal & removal() const
Get Removal
Definition: Settings.h:6080
bool operator!=(const Reflection &other) const
Inequality operator
bool operator==(const Reflection &other) const
Equality operator
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:6028
Removal & removal()
Get Removal
Definition: Settings.h:6086
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:6109
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:6138
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:6131
Reflection & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:6099
Reflection()
Default constructor
std::tuple< Settings::Processing::Filters::Reflection::Removal, Settings::Processing::Filters::Reflection::Removal::Enabled > Descendants
Definition: Settings.h:5974
Reflection & set(const Removal &value)
Set Removal
Definition: Settings.h:6092
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:6118
Reflection(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:6001
friend std::ostream & operator<<(std::ostream &stream, const Reflection &value)
Operator to send the value as string to a stream
Definition: Settings.h:6153
std::string toString() const
Get the value as string
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:6061
Enable or disable the smoothing filter
Definition: Settings.h:6206
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:6228
bool ValueType
The type of the underlying value
Definition: Settings.h:6223
void reset()
Reset the node to unset state
Enabled()=default
Default constructor
bool value() const
Get the value
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:6263
static const Enabled yes
On/enabled.
Definition: Settings.h:6224
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:6257
static const Enabled no
Off/disabled.
Definition: Settings.h:6225
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:6269
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:6237
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:6284
Sigma()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings.h:6301
bool operator!=(const Sigma &other) const
Comparison operator
Definition: Settings.h:6339
bool operator>(const Sigma &other) const
Comparison operator
Definition: Settings.h:6351
double value() const
Get the value
bool hasValue() const
Check if the value is set
constexpr Sigma(double value)
Constructor
Definition: Settings.h:6313
static constexpr Range< double > validRange()
The range of valid values for Sigma
Definition: Settings.h:6304
void reset()
Reset the node to unset state
bool operator==(const Sigma &other) const
Comparison operator
Definition: Settings.h:6333
std::string toString() const
Get the value as string
bool operator<(const Sigma &other) const
Comparison operator
Definition: Settings.h:6345
friend std::ostream & operator<<(std::ostream &stream, const Sigma &value)
Operator to serialize the value to a stream
Definition: Settings.h:6357
Gaussian smoothing of the point cloud
Definition: Settings.h:6188
Sigma & sigma()
Get Sigma
Definition: Settings.h:6512
friend std::ostream & operator<<(std::ostream &stream, const Gaussian &value)
Operator to send the value as string to a stream
Definition: Settings.h:6581
const Sigma & sigma() const
Get Sigma
Definition: Settings.h:6506
Gaussian & set(const Enabled &value)
Set Enabled
Definition: Settings.h:6499
Gaussian(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:6408
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:6538
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:6557
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:6493
std::tuple< Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition: Settings.h:6381
bool operator==(const Gaussian &other) const
Equality operator
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:6487
bool operator!=(const Gaussian &other) const
Inequality operator
Gaussian()
Default constructor
std::string toString() const
Get the value as string
Gaussian & set(const Sigma &value)
Set Sigma
Definition: Settings.h:6518
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:6468
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:6529
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:6435
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:6565
Smoothing filters
Definition: Settings.h:6172
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:6691
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:6657
Smoothing & set(const Gaussian::Enabled &value)
Set Gaussian::Enabled
Definition: Settings.h:6729
Smoothing()
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:6784
friend std::ostream & operator<<(std::ostream &stream, const Smoothing &value)
Operator to send the value as string to a stream
Definition: Settings.h:6799
bool operator!=(const Smoothing &other) const
Inequality operator
const Gaussian & gaussian() const
Get Gaussian
Definition: Settings.h:6710
Smoothing(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:6629
Smoothing & set(const Gaussian::Sigma &value)
Set Gaussian::Sigma
Definition: Settings.h:6736
std::string toString() const
Get the value as string
bool operator==(const Smoothing &other) const
Equality operator
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:6777
Gaussian & gaussian()
Get Gaussian
Definition: Settings.h:6716
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:6746
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:6764
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:6755
Smoothing & set(const Gaussian &value)
Set Gaussian
Definition: Settings.h:6722
std::tuple< Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition: Settings.h:6601
Filters
Definition: Settings.h:2849
bool operator!=(const Filters &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:7485
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:7367
Noise & noise()
Get Noise
Definition: Settings.h:7082
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:6989
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:7393
std::string toString() const
Get the value as string
const Reflection & reflection() const
Get Reflection
Definition: Settings.h:7156
const Noise & noise() const
Get Noise
Definition: Settings.h:7076
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:7376
const Settings::Processing::Filters::Outlier & get() const
Definition: Settings.h:7349
Reflection & reflection()
Get Reflection
Definition: Settings.h:7162
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:7295
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:7240
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:7419
std::tuple< 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::Noise, Settings::Processing::Filters::Noise::Removal, Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold, 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::Smoothing, Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition: Settings.h:6839
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:7332
Filters & set(const Reflection::Removal::Enabled &value)
Set Reflection::Removal::Enabled
Definition: Settings.h:7182
Filters & set(const Noise::Removal::Threshold &value)
Set Noise::Removal::Threshold
Definition: Settings.h:7109
Filters & set(const Smoothing &value)
Set Smoothing
Definition: Settings.h:7201
const Settings::Processing::Filters::Smoothing & get() const
Definition: Settings.h:7410
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:7323
Filters()
Default constructor
Filters & set(const Experimental::ContrastDistortion::Correction &value)
Set Experimental::ContrastDistortion::Correction
Definition: Settings.h:7034
Filters & set(const Smoothing::Gaussian::Enabled &value)
Set Smoothing::Gaussian::Enabled
Definition: Settings.h:7215
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:6935
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:7284
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:7437
const Settings::Processing::Filters::Noise & get() const
Definition: Settings.h:7315
Filters & set(const Smoothing::Gaussian &value)
Set Smoothing::Gaussian
Definition: Settings.h:7208
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:7428
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:7358
Filters & set(const Outlier::Removal::Threshold &value)
Set Outlier::Removal::Threshold
Definition: Settings.h:7149
Filters & set(const Noise::Removal &value)
Set Noise::Removal
Definition: Settings.h:7095
Filters & set(const Reflection &value)
Set Reflection
Definition: Settings.h:7168
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:7474
Filters & set(const Noise &value)
Set Noise
Definition: Settings.h:7088
Filters & set(const Experimental::ContrastDistortion::Correction::Enabled &value)
Set Experimental::ContrastDistortion::Correction::Enabled
Definition: Settings.h:7041
Filters & set(const Experimental::ContrastDistortion::Removal::Threshold &value)
Set Experimental::ContrastDistortion::Removal::Threshold
Definition: Settings.h:7069
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:7306
const Settings::Processing::Filters::Reflection & get() const
Definition: Settings.h:7384
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:7262
const Settings::Processing::Filters::Experimental & get() const
Definition: Settings.h:7231
friend std::ostream & operator<<(std::ostream &stream, const Filters &value)
Operator to send the value as string to a stream
Definition: Settings.h:7504
Filters & set(const Experimental::ContrastDistortion::Removal &value)
Set Experimental::ContrastDistortion::Removal
Definition: Settings.h:7055
Filters & set(const Outlier &value)
Set Outlier
Definition: Settings.h:7128
bool operator==(const Filters &other) const
Equality operator
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:7251
Filters(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:6887
const Smoothing & smoothing() const
Get Smoothing
Definition: Settings.h:7189
Filters & set(const Noise::Removal::Enabled &value)
Set Noise::Removal::Enabled
Definition: Settings.h:7102
Filters & set(const Experimental::ContrastDistortion &value)
Set Experimental::ContrastDistortion
Definition: Settings.h:7027
Filters & set(const Outlier::Removal &value)
Set Outlier::Removal
Definition: Settings.h:7135
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:7402
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:7341
const Experimental & experimental() const
Get Experimental
Definition: Settings.h:7008
Filters & set(const Outlier::Removal::Enabled &value)
Set Outlier::Removal::Enabled
Definition: Settings.h:7142
Filters & set(const Smoothing::Gaussian::Sigma &value)
Set Smoothing::Gaussian::Sigma
Definition: Settings.h:7222
const Outlier & outlier() const
Get Outlier
Definition: Settings.h:7116
Filters & set(const Reflection::Removal &value)
Set Reflection::Removal
Definition: Settings.h:7175
Filters & set(const Experimental::ContrastDistortion::Correction::Strength &value)
Set Experimental::ContrastDistortion::Correction::Strength
Definition: Settings.h:7048
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:7273
Outlier & outlier()
Get Outlier
Definition: Settings.h:7122
Filters & set(const Experimental::ContrastDistortion::Removal::Enabled &value)
Set Experimental::ContrastDistortion::Removal::Enabled
Definition: Settings.h:7062
Experimental & experimental()
Get Experimental
Definition: Settings.h:7014
Smoothing & smoothing()
Get Smoothing
Definition: Settings.h:7195
Filters & set(const Experimental &value)
Set Experimental
Definition: Settings.h:7020
Settings related to processing of a capture, including filters and color balance
Definition: Settings.h:1268
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:8153
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::ToneMapping, Settings::Processing::Color::Experimental::ToneMapping::Enabled, Settings::Processing::Color::Gamma, Settings::Processing::Filters, 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::Noise, Settings::Processing::Filters::Noise::Removal, Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold, 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::Smoothing, Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition: Settings.h:7558
Color & color()
Get Color
Definition: Settings.h:7761
const Settings::Processing::Filters::Smoothing & get() const
Definition: Settings.h:8266
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:7737
Processing & set(const Filters::Reflection::Removal::Enabled &value)
Set Filters::Reflection::Removal::Enabled
Definition: Settings.h:7975
Processing & set(const Filters::Outlier::Removal::Threshold &value)
Set Filters::Outlier::Removal::Threshold
Definition: Settings.h:7954
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:8069
Processing & set(const Filters::Reflection::Removal &value)
Set Filters::Reflection::Removal
Definition: Settings.h:7968
Processing & set(const Filters::Experimental::ContrastDistortion::Removal::Threshold &value)
Set Filters::Experimental::ContrastDistortion::Removal::Threshold
Definition: Settings.h:7898
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:8258
Processing & set(const Filters::Outlier::Removal::Enabled &value)
Set Filters::Outlier::Removal::Enabled
Definition: Settings.h:7947
Processing & set(const Color::Experimental &value)
Set Color::Experimental
Definition: Settings.h:7802
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:8215
Processing()
Default constructor
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:8060
Processing & set(const Filters::Smoothing &value)
Set Filters::Smoothing
Definition: Settings.h:7982
const Settings::Processing::Filters::Experimental & get() const
Definition: Settings.h:8091
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:8035
const Settings::Processing::Color::Experimental & get() const
Definition: Settings.h:8051
std::string toString() const
Get the value as string
Filters & filters()
Get Filters
Definition: Settings.h:7836
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:8043
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:8274
Processing & set(const Filters::Experimental::ContrastDistortion::Correction::Enabled &value)
Set Filters::Experimental::ContrastDistortion::Correction::Enabled
Definition: Settings.h:7870
const Settings::Processing::Filters::Reflection & get() const
Definition: Settings.h:8241
Processing & set(const Filters::Reflection &value)
Set Filters::Reflection
Definition: Settings.h:7961
Processing & set(const Filters::Noise::Removal::Threshold &value)
Set Filters::Noise::Removal::Threshold
Definition: Settings.h:7926
Processing & set(const Filters::Smoothing::Gaussian &value)
Set Filters::Smoothing::Gaussian
Definition: Settings.h:7989
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:8319
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:8142
const Filters & filters() const
Get Filters
Definition: Settings.h:7830
const Settings::Processing::Filters::Outlier & get() const
Definition: Settings.h:8207
Processing & set(const Filters::Noise &value)
Set Filters::Noise
Definition: Settings.h:7905
Processing & set(const Filters::Experimental::ContrastDistortion::Correction &value)
Set Filters::Experimental::ContrastDistortion::Correction
Definition: Settings.h:7863
Processing & set(const Color &value)
Set Color
Definition: Settings.h:7767
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:8283
const Settings::Processing::Filters & get() const
Definition: Settings.h:8083
Processing & set(const Filters::Smoothing::Gaussian::Sigma &value)
Set Filters::Smoothing::Gaussian::Sigma
Definition: Settings.h:8003
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:8233
friend std::ostream & operator<<(std::ostream &stream, const Processing &value)
Operator to send the value as string to a stream
Definition: Settings.h:8335
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:8100
Processing & set(const Filters::Experimental::ContrastDistortion::Removal &value)
Set Filters::Experimental::ContrastDistortion::Removal
Definition: Settings.h:7884
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:8224
Processing & set(const Color::Balance &value)
Set Color::Balance
Definition: Settings.h:7774
const Color & color() const
Get Color
Definition: Settings.h:7755
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:8120
Processing & set(const Filters::Experimental &value)
Set Filters::Experimental
Definition: Settings.h:7849
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:8110
Processing & set(const Filters::Noise::Removal::Enabled &value)
Set Filters::Noise::Removal::Enabled
Definition: Settings.h:7919
Processing & set(const Filters::Experimental::ContrastDistortion::Removal::Enabled &value)
Set Filters::Experimental::ContrastDistortion::Removal::Enabled
Definition: Settings.h:7891
Processing & set(const Filters::Experimental::ContrastDistortion &value)
Set Filters::Experimental::ContrastDistortion
Definition: Settings.h:7856
Processing(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:7616
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:8199
Processing & set(const Color::Experimental::ToneMapping::Enabled &value)
Set Color::Experimental::ToneMapping::Enabled
Definition: Settings.h:7816
const Settings::Processing::Color::Balance & get() const
Definition: Settings.h:8019
Processing & set(const Color::Balance::Red &value)
Set Color::Balance::Red
Definition: Settings.h:7795
bool operator==(const Processing &other) const
Equality operator
Processing & set(const Filters::Outlier::Removal &value)
Set Filters::Outlier::Removal
Definition: Settings.h:7940
Processing & set(const Color::Balance::Green &value)
Set Color::Balance::Green
Definition: Settings.h:7788
bool operator!=(const Processing &other) const
Inequality operator
const Settings::Processing::Filters::Noise & get() const
Definition: Settings.h:8173
const Settings::Processing::Color::Gamma & get() const
Definition: Settings.h:8076
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:7674
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:8027
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:8131
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:8249
Processing & set(const Filters &value)
Set Filters
Definition: Settings.h:7842
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:8190
Processing & set(const Color::Balance::Blue &value)
Set Color::Balance::Blue
Definition: Settings.h:7781
Processing & set(const Color::Gamma &value)
Set Color::Gamma
Definition: Settings.h:7823
Processing & set(const Filters::Smoothing::Gaussian::Enabled &value)
Set Filters::Smoothing::Gaussian::Enabled
Definition: Settings.h:7996
Processing & set(const Filters::Experimental::ContrastDistortion::Correction::Strength &value)
Set Filters::Experimental::ContrastDistortion::Correction::Strength
Definition: Settings.h:7877
const Settings::Processing::Color & get() const
Definition: Settings.h:8011
Processing & set(const Color::Experimental::ToneMapping &value)
Set Color::Experimental::ToneMapping
Definition: Settings.h:7809
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:8181
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:8164
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:8311
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:8292
Processing & set(const Filters::Outlier &value)
Set Filters::Outlier
Definition: Settings.h:7933
Processing & set(const Filters::Noise::Removal &value)
Set Filters::Noise::Removal
Definition: Settings.h:7912
Settings used when capturing with a Zivid camera
Definition: Settings.h:76
Settings & set(const Processing::Filters::Experimental &value)
Set Processing::Filters::Experimental
Definition: Settings.h:8736
Settings(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:8455
Settings & set(const Processing::Filters::Noise::Removal::Enabled &value)
Set Processing::Filters::Noise::Removal::Enabled
Definition: Settings.h:8806
Experimental & experimental()
Get Experimental
Definition: Settings.h:8627
Settings & set(const Processing::Color::Balance::Red &value)
Set Processing::Color::Balance::Red
Definition: Settings.h:8694
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal
Definition: Settings.h:8771
const Settings::Acquisitions & get() const
Definition: Settings.h:8897
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:9043
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:8584
const Settings::Processing::Color::Balance & get() const
Definition: Settings.h:8930
Settings & set(const Processing::Filters::Outlier::Removal::Enabled &value)
Set Processing::Filters::Outlier::Removal::Enabled
Definition: Settings.h:8834
Settings & set(const Processing::Filters::Reflection::Removal::Enabled &value)
Set Processing::Filters::Reflection::Removal::Enabled
Definition: Settings.h:8862
Settings & set(const Processing::Filters::Smoothing::Gaussian::Enabled &value)
Set Processing::Filters::Smoothing::Gaussian::Enabled
Definition: Settings.h:8883
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:8938
Settings & set(const Processing::Filters::Noise::Removal::Threshold &value)
Set Processing::Filters::Noise::Removal::Threshold
Definition: Settings.h:8813
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:9109
Settings & set(const Processing::Color::Balance::Green &value)
Set Processing::Color::Balance::Green
Definition: Settings.h:8687
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:9010
Settings & set(const Processing::Color &value)
Set Processing::Color
Definition: Settings.h:8666
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:9064
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:9158
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:8979
const Settings::Processing::Filters & get() const
Definition: Settings.h:8993
Settings & set(const Processing::Color::Gamma &value)
Set Processing::Color::Gamma
Definition: Settings.h:8722
const Settings::Processing::Filters::Noise & get() const
Definition: Settings.h:9084
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Strength &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Definition: Settings.h:8764
const Settings::Experimental & get() const
Definition: Settings.h:8903
void load(const std::string &fileName)
Load from the given file
Settings & set(const Processing::Color::Experimental &value)
Set Processing::Color::Experimental
Definition: Settings.h:8701
Settings & set(const Processing::Filters::Reflection &value)
Set Processing::Filters::Reflection
Definition: Settings.h:8848
Settings & set(const Processing::Color::Balance::Blue &value)
Set Processing::Color::Balance::Blue
Definition: Settings.h:8680
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
Definition: Settings.h:8785
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:9100
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:8970
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:9226
const Acquisitions & acquisitions() const
Get Acquisitions
Definition: Settings.h:8602
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Definition: Settings.h:8778
Settings & set(const Processing::Filters::Smoothing::Gaussian &value)
Set Processing::Filters::Smoothing::Gaussian
Definition: Settings.h:8876
const Settings::Processing::Filters::Smoothing & get() const
Definition: Settings.h:9175
friend std::ostream & operator<<(std::ostream &stream, const Settings &value)
Operator to send the value as string to a stream
Definition: Settings.h:9252
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:9235
const Settings::Processing & get() const
Definition: Settings.h:8916
Settings()
Default constructor
Settings & set(const Processing::Filters::Reflection::Removal &value)
Set Processing::Filters::Reflection::Removal
Definition: Settings.h:8855
Settings & set(const Processing::Color::Experimental::ToneMapping &value)
Set Processing::Color::Experimental::ToneMapping
Definition: Settings.h:8708
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:8517
const Settings::Processing::Color & get() const
Definition: Settings.h:8923
Settings & set(const Processing::Filters::Smoothing &value)
Set Processing::Filters::Smoothing
Definition: Settings.h:8869
void save(const std::string &fileName) const
Save to the given file
Settings & set(const Processing::Filters::Smoothing::Gaussian::Sigma &value)
Set Processing::Filters::Smoothing::Gaussian::Sigma
Definition: Settings.h:8890
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:9092
const Settings::Processing::Filters::Outlier & get() const
Definition: Settings.h:9116
Settings & set(const Processing::Color::Balance &value)
Set Processing::Color::Balance
Definition: Settings.h:8673
Settings & set(const Acquisitions &value)
Set Acquisitions
Definition: Settings.h:8614
Processing & processing()
Get Processing
Definition: Settings.h:8653
Settings & set(const Processing::Filters::Experimental::ContrastDistortion &value)
Set Processing::Filters::Experimental::ContrastDistortion
Definition: Settings.h:8743
Settings & set(const Processing::Filters::Noise::Removal &value)
Set Processing::Filters::Noise::Removal
Definition: Settings.h:8799
const Processing & processing() const
Get Processing
Definition: Settings.h:8647
bool operator==(const Settings &other) const
Equality operator
const Settings::Processing::Filters::Experimental & get() const
Definition: Settings.h:9001
const Settings::Experimental::Engine & get() const
Definition: Settings.h:8910
Settings(const std::string &fileName)
Construct Settings by loading from file
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:9020
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Definition: Settings.h:8757
Settings & set(const Processing::Filters::Outlier &value)
Set Processing::Filters::Outlier
Definition: Settings.h:8820
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:9192
Acquisitions & acquisitions()
Get Acquisitions
Definition: Settings.h:8608
std::tuple< Settings::Acquisitions, Settings::Experimental, Settings::Experimental::Engine, Settings::Processing, Settings::Processing::Color, Settings::Processing::Color::Balance, Settings::Processing::Color::Balance::Blue, Settings::Processing::Color::Balance::Green, Settings::Processing::Color::Balance::Red, Settings::Processing::Color::Experimental, Settings::Processing::Color::Experimental::ToneMapping, Settings::Processing::Color::Experimental::ToneMapping::Enabled, Settings::Processing::Color::Gamma, Settings::Processing::Filters, 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::Noise, Settings::Processing::Filters::Noise::Removal, Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold, 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::Smoothing, Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition: Settings.h:8390
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:9183
std::string toString() const
Get the value as string
const Settings::Processing::Color::Experimental & get() const
Definition: Settings.h:8962
const Experimental & experimental() const
Get Experimental
Definition: Settings.h:8621
Settings & set(const Experimental::Engine &value)
Set Experimental::Engine
Definition: Settings.h:8640
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:9167
const Settings::Processing::Filters::Reflection & get() const
Definition: Settings.h:9150
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:8954
Settings & set(const Processing::Filters::Noise &value)
Set Processing::Filters::Noise
Definition: Settings.h:8792
Settings & set(const Processing::Color::Experimental::ToneMapping::Enabled &value)
Set Processing::Color::Experimental::ToneMapping::Enabled
Definition: Settings.h:8715
bool operator!=(const Settings &other) const
Inequality operator
Settings & set(const Processing &value)
Set Processing
Definition: Settings.h:8659
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:9053
Settings & set(const Processing::Filters &value)
Set Processing::Filters
Definition: Settings.h:8729
const Settings::Processing::Color::Gamma & get() const
Definition: Settings.h:8986
Settings & set(const Experimental &value)
Set Experimental
Definition: Settings.h:8633
Settings & set(const Processing::Filters::Outlier::Removal::Threshold &value)
Set Processing::Filters::Outlier::Removal::Threshold
Definition: Settings.h:8841
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:9201
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:9142
Settings & set(const Processing::Filters::Outlier::Removal &value)
Set Processing::Filters::Outlier::Removal
Definition: Settings.h:8827
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:9031
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:9076
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:9133
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:9124
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:8946
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction
Definition: Settings.h:8750
NodeType
Definition: NodeType.h:56
Ret validRange(const CameraInfo &cameraInfo)
Definition: SettingsInfo.h:158
The main Zivid namespace. All Zivid code is found here
Definition: Application.h:55