112 # pragma warning(push)
113 # pragma warning(disable : 4251)
126 static constexpr
const char *path{
"" };
129 static constexpr
const char *name{
"Settings" };
132 static constexpr
const char *description{
133 R
"description(Settings used when capturing with a Zivid camera)description"
136 static constexpr
size_t version{ 8 };
146 static constexpr std::array<uint8_t, 3> binaryId{
's',
'e',
't' };
158 static constexpr
const char *path{
"Acquisition" };
161 static constexpr
const char *name{
"Acquisition" };
164 static constexpr
const char *description{ R
"description(Settings for a single acquisition)description" };
176 static constexpr
const char *path{
"Acquisition/Aperture" };
179 static constexpr
const char *name{
"Aperture" };
182 static constexpr
const char *description{
183 R
"description(Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to
184 the effective aperture diameter).
194 return { 1.4, 32.0 };
202 : m_opt{ verifyValue(value) }
223 return m_opt == other.m_opt;
229 return m_opt != other.m_opt;
235 return m_opt < other.m_opt;
241 return m_opt > other.m_opt;
251 void setFromString(
const std::string &value);
253 constexpr ValueType
static verifyValue(
const ValueType &value)
257 :
throw std::out_of_range{
"Aperture{ " + std::to_string(value) +
" } is not in range ["
262 Zivid::DataModel::Detail::Optional<double> m_opt;
264 friend struct DataModel::Detail::Befriend<
Aperture>;
287 static constexpr
const char *path{
"Acquisition/Brightness" };
290 static constexpr
const char *name{
"Brightness" };
293 static constexpr
const char *description{
294 R
"description(Brightness controls the light output from the projector.
296 Brightness above 1.0 may be needed when the distance between the camera and the scene is large,
297 or in case of high levels of ambient lighting. Brightness above 1.0 is supported on Zivid One
300 When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera
301 can capture) will be reduced. For Zivid One Plus the duty cycle in boost mode is 50%. For Zivid
302 Two the duty cycle is reduced linearly from 100% at brightness 1.0, to 50% at brightness 1.8.
303 The duty cycle is calculated over a 10 second period. This limitation is enforced automatically
304 by the camera. Calling capture when the duty cycle limit has been reached will cause the camera
305 to first wait (sleep) for a duration of time to cool down, before capture will start.
323 : m_opt{ verifyValue(value) }
344 return m_opt == other.m_opt;
350 return m_opt != other.m_opt;
356 return m_opt < other.m_opt;
362 return m_opt > other.m_opt;
372 void setFromString(
const std::string &value);
374 constexpr ValueType
static verifyValue(
const ValueType &value)
378 :
throw std::out_of_range{
"Brightness{ " + std::to_string(value)
379 +
" } is not in range [" + std::to_string(
validRange().min())
380 +
", " + std::to_string(
validRange().max()) +
"]" };
383 Zivid::DataModel::Detail::Optional<double> m_opt;
385 friend struct DataModel::Detail::Befriend<
Brightness>;
396 static constexpr
const char *path{
"Acquisition/ExposureTime" };
399 static constexpr
const char *name{
"ExposureTime" };
402 static constexpr
const char *description{
403 R
"description(Exposure time for each single image in the measurement. Affects frame rate.)description"
412 return { std::chrono::microseconds{ 1677 }, std::chrono::microseconds{ 100000 } };
420 : m_opt{ verifyValue(value) }
427 std::chrono::microseconds
value()
const;
441 return m_opt == other.m_opt;
447 return m_opt != other.m_opt;
453 return m_opt < other.m_opt;
459 return m_opt > other.m_opt;
469 void setFromString(
const std::string &value);
471 constexpr ValueType
static verifyValue(
const ValueType &value)
475 :
throw std::out_of_range{
"ExposureTime{ " + std::to_string(value.count())
476 +
" } is not in range ["
477 + std::to_string(
validRange().min().count()) +
", "
478 + std::to_string(
validRange().max().count()) +
"]" };
481 Zivid::DataModel::Detail::Optional<std::chrono::microseconds> m_opt;
483 friend struct DataModel::Detail::Befriend<
ExposureTime>;
494 static constexpr
const char *path{
"Acquisition/Gain" };
497 static constexpr
const char *name{
"Gain" };
500 static constexpr
const char *description{ R
"description(Analog gain in the camera)description" };
515 explicit constexpr
Gain(
double value)
516 : m_opt{ verifyValue(value) }
537 return m_opt == other.m_opt;
543 return m_opt != other.m_opt;
549 return m_opt < other.m_opt;
555 return m_opt > other.m_opt;
565 void setFromString(
const std::string &value);
567 constexpr ValueType
static verifyValue(
const ValueType &value)
571 :
throw std::out_of_range{
"Gain{ " + std::to_string(value) +
" } is not in range ["
576 Zivid::DataModel::Detail::Optional<double> m_opt;
578 friend struct DataModel::Detail::Befriend<
Gain>;
604 template<
typename... Args,
605 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
606 typename std::enable_if<
607 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
608 typename std::decay<Args>::type...>::value,
611 template<typename... Args>
615 using namespace Zivid::Detail::TypeTraits;
617 static_assert(AllArgsDecayedAreUnique<Args...>::value,
618 "Found duplicate types among the arguments passed to Acquisition(...). "
619 "Types should be listed at most once.");
621 set(std::forward<Args>(args)...);
638 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
640 template<typename... Args>
644 using namespace Zivid::Detail::TypeTraits;
646 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
647 static_assert(AllArgsAreDescendantNodes::value,
648 "All arguments passed to set(...) must be descendant nodes.");
650 static_assert(AllArgsDecayedAreUnique<Args...>::value,
651 "Found duplicate types among the arguments passed to set(...). "
652 "Types should be listed at most once.");
654 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
672 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
674 template<typename... Args>
678 using namespace Zivid::Detail::TypeTraits;
680 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
681 static_assert(AllArgsAreDescendantNodes::value,
682 "All arguments passed to copyWith(...) must be descendant nodes.");
684 static_assert(AllArgsDecayedAreUnique<Args...>::value,
685 "Found duplicate types among the arguments passed to copyWith(...). "
686 "Types should be listed at most once.");
689 copy.set(std::forward<Args>(args)...);
727 m_brightness = value;
734 return m_exposureTime;
740 return m_exposureTime;
746 m_exposureTime = value;
770 typename std::enable_if<std::is_same<T, Settings::Acquisition::Aperture>::value,
int>::type = 0>
777 typename std::enable_if<std::is_same<T, Settings::Acquisition::Brightness>::value,
int>::type = 0>
785 typename std::enable_if<std::is_same<T, Settings::Acquisition::ExposureTime>::value,
int>::type = 0>
788 return m_exposureTime;
792 typename std::enable_if<std::is_same<T, Settings::Acquisition::Gain>::value,
int>::type = 0>
798 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
804 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
810 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
813 return m_exposureTime;
816 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
858 void setFromString(
const std::string &value);
860 void setFromString(
const std::string &fullPath,
const std::string &value);
862 std::string getString(
const std::string &fullPath)
const;
865 Brightness m_brightness;
866 ExposureTime m_exposureTime;
869 friend struct DataModel::Detail::Befriend<
Acquisition>;
880 static constexpr
const char *path{
"Acquisitions" };
883 static constexpr
const char *name{
"Acquisitions" };
886 static constexpr
const char *description{ R
"description(List of Acquisition objects)description" };
894 return { 0, std::numeric_limits<ValueType::size_type>::max() };
902 : m_value{ std::move(value) }
906 explicit Acquisitions(std::initializer_list<Settings::Acquisition> value)
911 const std::vector<Settings::Acquisition> &
value()
const;
917 std::size_t
size() const noexcept;
920 bool isEmpty() const noexcept;
927 template<typename... Args>
928 void emplaceBack(Args &&...args)
930 m_value.emplace_back(std::forward<Args>(args)...);
965 for(
auto &child : m_value)
975 for(
const auto &child : m_value)
984 return m_value == other.m_value;
990 return m_value != other.m_value;
1000 void setFromString(
const std::string &value);
1002 std::vector<Settings::Acquisition> m_value{};
1004 friend struct DataModel::Detail::Befriend<
Acquisitions>;
1015 static constexpr
const char *path{
"Experimental" };
1018 static constexpr
const char *name{
"Experimental" };
1021 static constexpr
const char *description{
1022 R
"description(Experimental features. These settings may be changed, renamed, moved or deleted in the future.)description"
1041 static constexpr
const char *path{
"Experimental/Engine" };
1044 static constexpr
const char *name{
"Engine" };
1047 static constexpr
const char *description{ R
"description(Set the Zivid Vision Engine to use.
1049 The Phase Engine is the current default Zivid Vision Engine.
1051 The Stripe Engine uses anti-reflection technology to suppress interreflection artifacts
1052 and improve data quality on shiny objects like cylinders and chrome-plated parts.
1053 Additional acquisition and processing time are required for the Stripe Engine.
1054 The Stripe Engine is currently experimental, and may be changed and improved in the future.
1069 return { ValueType::phase, ValueType::stripe };
1077 : m_opt{ verifyValue(value) }
1104 return m_opt == other.m_opt;
1110 return m_opt != other.m_opt;
1120 void setFromString(
const std::string &value);
1122 constexpr ValueType
static verifyValue(
const ValueType &value)
1124 return value == ValueType::phase || value == ValueType::stripe
1126 :
throw std::invalid_argument{
1127 "Invalid value: Engine{ "
1128 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
1132 Zivid::DataModel::Detail::Optional<ValueType> m_opt;
1134 friend struct DataModel::Detail::Befriend<
Engine>;
1154 template<
typename... Args,
1155 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1156 typename std::enable_if<
1157 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
1158 typename std::decay<Args>::type...>::value,
1161 template<typename... Args>
1165 using namespace Zivid::Detail::TypeTraits;
1167 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1168 "Found duplicate types among the arguments passed to Experimental(...). "
1169 "Types should be listed at most once.");
1171 set(std::forward<Args>(args)...);
1185 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1187 template<typename... Args>
1191 using namespace Zivid::Detail::TypeTraits;
1193 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1194 static_assert(AllArgsAreDescendantNodes::value,
1195 "All arguments passed to set(...) must be descendant nodes.");
1197 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1198 "Found duplicate types among the arguments passed to set(...). "
1199 "Types should be listed at most once.");
1201 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1216 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1218 template<typename... Args>
1222 using namespace Zivid::Detail::TypeTraits;
1224 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1225 static_assert(AllArgsAreDescendantNodes::value,
1226 "All arguments passed to copyWith(...) must be descendant nodes.");
1228 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1229 "Found duplicate types among the arguments passed to copyWith(...). "
1230 "Types should be listed at most once.");
1233 copy.set(std::forward<Args>(args)...);
1256 template<
typename T,
1257 typename std::enable_if<std::is_same<T, Settings::Experimental::Engine>::value,
int>::type = 0>
1263 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1270 template<
typename F>
1277 template<
typename F>
1299 void setFromString(
const std::string &value);
1301 void setFromString(
const std::string &fullPath,
const std::string &value);
1303 std::string getString(
const std::string &fullPath)
const;
1307 friend struct DataModel::Detail::Befriend<
Experimental>;
1318 static constexpr
const char *path{
"Processing" };
1321 static constexpr
const char *name{
"Processing" };
1324 static constexpr
const char *description{
1325 R
"description(Settings related to processing of a capture, including filters and color balance)description"
1336 static constexpr
const char *path{
"Processing/Color" };
1339 static constexpr
const char *name{
"Color" };
1342 static constexpr
const char *description{ R
"description(Color settings)description" };
1352 static constexpr
const char *path{
"Processing/Color/Balance" };
1355 static constexpr
const char *name{
"Balance" };
1358 static constexpr
const char *description{ R
"description(Color balance settings)description" };
1368 static constexpr
const char *path{
"Processing/Color/Balance/Blue" };
1371 static constexpr
const char *name{
"Blue" };
1374 static constexpr
const char *description{
1375 R
"description(Digital gain applied to blue channel)description"
1384 return { 1.0, 8.0 };
1391 explicit constexpr
Blue(
double value)
1392 : m_opt{ verifyValue(value) }
1413 return m_opt == other.m_opt;
1419 return m_opt != other.m_opt;
1425 return m_opt < other.m_opt;
1431 return m_opt > other.m_opt;
1441 void setFromString(
const std::string &value);
1443 constexpr ValueType
static verifyValue(
const ValueType &value)
1447 :
throw std::out_of_range{
"Blue{ " + std::to_string(value)
1448 +
" } is not in range ["
1450 + std::to_string(
validRange().max()) +
"]" };
1453 Zivid::DataModel::Detail::Optional<double> m_opt;
1455 friend struct DataModel::Detail::Befriend<
Blue>;
1466 static constexpr
const char *path{
"Processing/Color/Balance/Green" };
1469 static constexpr
const char *name{
"Green" };
1472 static constexpr
const char *description{
1473 R
"description(Digital gain applied to green channel)description"
1482 return { 1.0, 8.0 };
1490 : m_opt{ verifyValue(value) }
1511 return m_opt == other.m_opt;
1517 return m_opt != other.m_opt;
1523 return m_opt < other.m_opt;
1529 return m_opt > other.m_opt;
1539 void setFromString(
const std::string &value);
1541 constexpr ValueType
static verifyValue(
const ValueType &value)
1545 :
throw std::out_of_range{
"Green{ " + std::to_string(value)
1546 +
" } is not in range ["
1548 + std::to_string(
validRange().max()) +
"]" };
1551 Zivid::DataModel::Detail::Optional<double> m_opt;
1553 friend struct DataModel::Detail::Befriend<
Green>;
1564 static constexpr
const char *path{
"Processing/Color/Balance/Red" };
1567 static constexpr
const char *name{
"Red" };
1570 static constexpr
const char *description{
1571 R
"description(Digital gain applied to red channel)description"
1580 return { 1.0, 8.0 };
1587 explicit constexpr
Red(
double value)
1588 : m_opt{ verifyValue(value) }
1609 return m_opt == other.m_opt;
1615 return m_opt != other.m_opt;
1621 return m_opt < other.m_opt;
1627 return m_opt > other.m_opt;
1637 void setFromString(
const std::string &value);
1639 constexpr ValueType
static verifyValue(
const ValueType &value)
1643 :
throw std::out_of_range{
"Red{ " + std::to_string(value)
1644 +
" } is not in range ["
1646 + std::to_string(
validRange().max()) +
"]" };
1649 Zivid::DataModel::Detail::Optional<double> m_opt;
1651 friend struct DataModel::Detail::Befriend<
Red>;
1675 template<
typename... Args,
1676 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1677 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
1679 typename std::decay<Args>::type...>::value,
1682 template<typename... Args>
1686 using namespace Zivid::Detail::TypeTraits;
1688 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1689 "Found duplicate types among the arguments passed to Balance(...). "
1690 "Types should be listed at most once.");
1692 set(std::forward<Args>(args)...);
1708 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1710 template<typename... Args>
1714 using namespace Zivid::Detail::TypeTraits;
1716 using AllArgsAreDescendantNodes =
1717 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1718 static_assert(AllArgsAreDescendantNodes::value,
1719 "All arguments passed to set(...) must be descendant nodes.");
1721 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1722 "Found duplicate types among the arguments passed to set(...). "
1723 "Types should be listed at most once.");
1725 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1742 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1744 template<typename... Args>
1748 using namespace Zivid::Detail::TypeTraits;
1750 using AllArgsAreDescendantNodes =
1751 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1752 static_assert(AllArgsAreDescendantNodes::value,
1753 "All arguments passed to copyWith(...) must be descendant nodes.");
1755 static_assert(AllArgsDecayedAreUnique<Args...>::value,
1756 "Found duplicate types among the arguments passed to copyWith(...). "
1757 "Types should be listed at most once.");
1760 copy.set(std::forward<Args>(args)...);
1821 template<
typename T,
1822 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
1831 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
1838 template<
typename T,
1839 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
1846 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1852 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1858 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1865 template<
typename F>
1874 template<
typename F>
1898 void setFromString(
const std::string &value);
1900 void setFromString(
const std::string &fullPath,
const std::string &value);
1902 std::string getString(
const std::string &fullPath)
const;
1908 friend struct DataModel::Detail::Befriend<
Balance>;
1919 static constexpr
const char *path{
"Processing/Color/Experimental" };
1922 static constexpr
const char *name{
"Experimental" };
1925 static constexpr
const char *description{
1926 R
"description(Experimental color settings. These may be renamed, moved or deleted in the future.)description"
1937 static constexpr
const char *path{
"Processing/Color/Experimental/ToneMapping" };
1940 static constexpr
const char *name{
"ToneMapping" };
1943 static constexpr
const char *description{ R
"description(Tonemapping settings.)description" };
1961 static constexpr
const char *path{
"Processing/Color/Experimental/ToneMapping/Enabled" };
1964 static constexpr
const char *name{
"Enabled" };
1967 static constexpr
const char *description{
1968 R
"description(This setting controls when tone mapping of colors is performed. Tone mapping will normalize
1969 the captured color image to the full available output range by applying a gain factor to the
1970 colors. For single-captures this can be used do brighten dark images. For HDR captures this
1971 is required to map high-dynamic-range colors to the more limited dynamic range output.
1973 This setting has two possible values. `Always` will perform tone-mapping for all captures.
1974 `HdrOnly` will perform tone mapping for HDR captures but not for single-captures. It is not
1975 possible to disable tone mapping for HDR captures.
1991 return { ValueType::always, ValueType::hdrOnly };
1999 : m_opt{ verifyValue(value) }
2026 return m_opt == other.m_opt;
2032 return m_opt != other.m_opt;
2042 void setFromString(
const std::string &value);
2044 constexpr ValueType
static verifyValue(
const ValueType &value)
2046 return value == ValueType::always || value == ValueType::hdrOnly
2048 :
throw std::invalid_argument{
2049 "Invalid value: Enabled{ "
2051 static_cast<std::underlying_type<ValueType>::type
>(value))
2056 Zivid::DataModel::Detail::Optional<ValueType> m_opt;
2058 friend struct DataModel::Detail::Befriend<
Enabled>;
2061 using Descendants = std::tuple<Settings::Processing::Color::Experimental::ToneMapping::Enabled>;
2078 template<
typename... Args,
2079 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2080 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
2082 typename std::decay<Args>::type...>::value,
2085 template<typename... Args>
2089 using namespace Zivid::Detail::TypeTraits;
2091 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2092 "Found duplicate types among the arguments passed to ToneMapping(...). "
2093 "Types should be listed at most once.");
2095 set(std::forward<Args>(args)...);
2109 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2111 template<typename... Args>
2115 using namespace Zivid::Detail::TypeTraits;
2117 using AllArgsAreDescendantNodes =
2118 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2119 static_assert(AllArgsAreDescendantNodes::value,
2120 "All arguments passed to set(...) must be descendant nodes.");
2122 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2123 "Found duplicate types among the arguments passed to set(...). "
2124 "Types should be listed at most once.");
2126 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2141 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2143 template<typename... Args>
2147 using namespace Zivid::Detail::TypeTraits;
2149 using AllArgsAreDescendantNodes =
2150 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2151 static_assert(AllArgsAreDescendantNodes::value,
2152 "All arguments passed to copyWith(...) must be descendant nodes.");
2154 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2155 "Found duplicate types among the arguments passed to copyWith(...). "
2156 "Types should be listed at most once.");
2159 copy.set(std::forward<Args>(args)...);
2184 typename std::enable_if<
2185 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
2192 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2199 template<
typename F>
2206 template<
typename F>
2228 void setFromString(
const std::string &value);
2230 void setFromString(
const std::string &fullPath,
const std::string &value);
2232 std::string getString(
const std::string &fullPath)
const;
2236 friend struct DataModel::Detail::Befriend<
ToneMapping>;
2258 template<
typename... Args,
2259 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2260 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
2262 typename std::decay<Args>::type...>::value,
2265 template<typename... Args>
2269 using namespace Zivid::Detail::TypeTraits;
2271 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2272 "Found duplicate types among the arguments passed to Experimental(...). "
2273 "Types should be listed at most once.");
2275 set(std::forward<Args>(args)...);
2290 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2292 template<typename... Args>
2296 using namespace Zivid::Detail::TypeTraits;
2298 using AllArgsAreDescendantNodes =
2299 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2300 static_assert(AllArgsAreDescendantNodes::value,
2301 "All arguments passed to set(...) must be descendant nodes.");
2303 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2304 "Found duplicate types among the arguments passed to set(...). "
2305 "Types should be listed at most once.");
2307 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2323 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2325 template<typename... Args>
2329 using namespace Zivid::Detail::TypeTraits;
2331 using AllArgsAreDescendantNodes =
2332 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2333 static_assert(AllArgsAreDescendantNodes::value,
2334 "All arguments passed to copyWith(...) must be descendant nodes.");
2336 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2337 "Found duplicate types among the arguments passed to copyWith(...). "
2338 "Types should be listed at most once.");
2341 copy.set(std::forward<Args>(args)...);
2348 return m_toneMapping;
2354 return m_toneMapping;
2360 m_toneMapping = value;
2367 m_toneMapping.
set(value);
2371 template<
typename T,
2372 typename std::enable_if<
2373 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
2377 return m_toneMapping;
2382 typename std::enable_if<
2383 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
2390 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2393 return m_toneMapping;
2397 template<
typename F>
2404 template<
typename F>
2426 void setFromString(
const std::string &value);
2428 void setFromString(
const std::string &fullPath,
const std::string &value);
2430 std::string getString(
const std::string &fullPath)
const;
2434 friend struct DataModel::Detail::Befriend<
Experimental>;
2447 static constexpr
const char *path{
"Processing/Color/Gamma" };
2450 static constexpr
const char *name{
"Gamma" };
2453 static constexpr
const char *description{
2454 R
"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma
2455 greater than 1 makes the colors darker.
2465 return { 0.25, 1.5 };
2473 : m_opt{ verifyValue(value) }
2494 return m_opt == other.m_opt;
2500 return m_opt != other.m_opt;
2506 return m_opt < other.m_opt;
2512 return m_opt > other.m_opt;
2522 void setFromString(
const std::string &value);
2524 constexpr ValueType
static verifyValue(
const ValueType &value)
2528 :
throw std::out_of_range{
"Gamma{ " + std::to_string(value) +
" } is not in range ["
2530 + std::to_string(
validRange().max()) +
"]" };
2533 Zivid::DataModel::Detail::Optional<double> m_opt;
2535 friend struct DataModel::Detail::Befriend<
Gamma>;
2569 template<
typename... Args,
2570 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2571 typename std::enable_if<
2572 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
2573 typename std::decay<Args>::type...>::value,
2576 template<typename... Args>
2580 using namespace Zivid::Detail::TypeTraits;
2582 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2583 "Found duplicate types among the arguments passed to Color(...). "
2584 "Types should be listed at most once.");
2586 set(std::forward<Args>(args)...);
2607 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2609 template<typename... Args>
2613 using namespace Zivid::Detail::TypeTraits;
2615 using AllArgsAreDescendantNodes =
2616 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2617 static_assert(AllArgsAreDescendantNodes::value,
2618 "All arguments passed to set(...) must be descendant nodes.");
2620 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2621 "Found duplicate types among the arguments passed to set(...). "
2622 "Types should be listed at most once.");
2624 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2646 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2648 template<typename... Args>
2652 using namespace Zivid::Detail::TypeTraits;
2654 using AllArgsAreDescendantNodes =
2655 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2656 static_assert(AllArgsAreDescendantNodes::value,
2657 "All arguments passed to copyWith(...) must be descendant nodes.");
2659 static_assert(AllArgsDecayedAreUnique<Args...>::value,
2660 "Found duplicate types among the arguments passed to copyWith(...). "
2661 "Types should be listed at most once.");
2664 copy.set(std::forward<Args>(args)...);
2690 m_balance.
set(value);
2697 m_balance.
set(value);
2704 m_balance.
set(value);
2711 return m_experimental;
2717 return m_experimental;
2723 m_experimental = value;
2730 m_experimental.
set(value);
2737 m_experimental.
set(value);
2760 template<
typename T,
2761 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
2768 template<
typename T,
2769 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
2776 template<
typename T,
2777 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
2784 template<
typename T,
2785 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
2792 template<
typename T,
2793 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
2797 return m_experimental;
2800 template<
typename T,
2801 typename std::enable_if<
2802 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
2809 template<
typename T,
2810 typename std::enable_if<
2811 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
2820 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
2826 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2832 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2835 return m_experimental;
2838 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
2845 template<
typename F>
2854 template<
typename F>
2878 void setFromString(
const std::string &value);
2880 void setFromString(
const std::string &fullPath,
const std::string &value);
2882 std::string getString(
const std::string &fullPath)
const;
2888 friend struct DataModel::Detail::Befriend<
Color>;
2899 static constexpr
const char *path{
"Processing/Filters" };
2902 static constexpr
const char *name{
"Filters" };
2905 static constexpr
const char *description{ R
"description(Filters)description" };
2915 static constexpr
const char *path{
"Processing/Filters/Experimental" };
2918 static constexpr
const char *name{
"Experimental" };
2921 static constexpr
const char *description{
2922 R
"description(Experimental filters. These may be renamed, moved or deleted in the future.)description"
2937 static constexpr
const char *path{
"Processing/Filters/Experimental/ContrastDistortion" };
2940 static constexpr
const char *name{
"ContrastDistortion" };
2943 static constexpr
const char *description{
2944 R
"description(Corrects artifacts that appear when imaging scenes with large texture gradients
2945 or high contrast. These artifacts are caused by blurring in the lens. The filter
2946 works best when aperture values are chosen such that the camera has quite good focus.
2947 The filter also supports removing the points that experience a large correction.
2959 static constexpr
const char *path{
2960 "Processing/Filters/Experimental/ContrastDistortion/Correction"
2964 static constexpr
const char *name{
"Correction" };
2967 static constexpr
const char *description{ R
"description(Correction)description" };
2977 static constexpr
const char *path{
2978 "Processing/Filters/Experimental/ContrastDistortion/Correction/Enabled"
2982 static constexpr
const char *name{
"Enabled" };
2985 static constexpr
const char *description{ R
"description(Enabled)description" };
2995 return {
false,
true };
3024 return m_opt == other.m_opt;
3030 return m_opt != other.m_opt;
3040 void setFromString(
const std::string &value);
3042 Zivid::DataModel::Detail::Optional<bool> m_opt;
3044 friend struct DataModel::Detail::Befriend<
Enabled>;
3055 static constexpr
const char *path{
3056 "Processing/Filters/Experimental/ContrastDistortion/Correction/Strength"
3060 static constexpr
const char *name{
"Strength" };
3063 static constexpr
const char *description{
3064 R
"description(Higher values gives more correction.)description"
3073 return { 0.0, 1.0 };
3081 : m_opt{ verifyValue(value) }
3102 return m_opt == other.m_opt;
3108 return m_opt != other.m_opt;
3114 return m_opt < other.m_opt;
3120 return m_opt > other.m_opt;
3130 void setFromString(
const std::string &value);
3132 constexpr ValueType
static verifyValue(
const ValueType &value)
3136 :
throw std::out_of_range{
"Strength{ " + std::to_string(value)
3137 +
" } is not in range ["
3139 + std::to_string(
validRange().max()) +
"]" };
3142 Zivid::DataModel::Detail::Optional<double> m_opt;
3144 friend struct DataModel::Detail::Befriend<
Strength>;
3167 template<
typename... Args,
3168 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3169 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
3171 typename std::decay<Args>::type...>::value,
3174 template<typename... Args>
3178 using namespace Zivid::Detail::TypeTraits;
3180 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3181 "Found duplicate types among the arguments passed to Correction(...). "
3182 "Types should be listed at most once.");
3184 set(std::forward<Args>(args)...);
3199 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3201 template<typename... Args>
3205 using namespace Zivid::Detail::TypeTraits;
3207 using AllArgsAreDescendantNodes =
3208 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3209 static_assert(AllArgsAreDescendantNodes::value,
3210 "All arguments passed to set(...) must be descendant nodes.");
3212 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3213 "Found duplicate types among the arguments passed to set(...). "
3214 "Types should be listed at most once.");
3216 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3232 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3234 template<typename... Args>
3238 using namespace Zivid::Detail::TypeTraits;
3240 using AllArgsAreDescendantNodes =
3241 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3242 static_assert(AllArgsAreDescendantNodes::value,
3243 "All arguments passed to copyWith(...) must be descendant nodes.");
3245 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3246 "Found duplicate types among the arguments passed to copyWith(...). "
3247 "Types should be listed at most once.");
3250 copy.set(std::forward<Args>(args)...);
3292 template<
typename T,
3293 typename std::enable_if<
3295 Settings::Processing::Filters::Experimental::ContrastDistortion::
3296 Correction::Enabled>::value,
3304 template<
typename T,
3305 typename std::enable_if<
3307 Settings::Processing::Filters::Experimental::ContrastDistortion::
3308 Correction::Strength>::value,
3317 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3324 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3333 template<
typename F>
3341 template<
typename F>
3364 void setFromString(
const std::string &value);
3366 void setFromString(
const std::string &fullPath,
const std::string &value);
3368 std::string getString(
const std::string &fullPath)
const;
3373 friend struct DataModel::Detail::Befriend<
Correction>;
3384 static constexpr
const char *path{
3385 "Processing/Filters/Experimental/ContrastDistortion/Removal"
3389 static constexpr
const char *name{
"Removal" };
3392 static constexpr
const char *description{ R
"description(Removal)description" };
3402 static constexpr
const char *path{
3403 "Processing/Filters/Experimental/ContrastDistortion/Removal/Enabled"
3407 static constexpr
const char *name{
"Enabled" };
3410 static constexpr
const char *description{ R
"description(Enabled)description" };
3420 return {
false,
true };
3449 return m_opt == other.m_opt;
3455 return m_opt != other.m_opt;
3465 void setFromString(
const std::string &value);
3467 Zivid::DataModel::Detail::Optional<bool> m_opt;
3469 friend struct DataModel::Detail::Befriend<
Enabled>;
3480 static constexpr
const char *path{
3481 "Processing/Filters/Experimental/ContrastDistortion/Removal/Threshold"
3485 static constexpr
const char *name{
"Threshold" };
3488 static constexpr
const char *description{
3489 R
"description(Higher values remove more points.)description"
3498 return { 0.0, 1.0 };
3506 : m_opt{ verifyValue(value) }
3527 return m_opt == other.m_opt;
3533 return m_opt != other.m_opt;
3539 return m_opt < other.m_opt;
3545 return m_opt > other.m_opt;
3555 void setFromString(
const std::string &value);
3557 constexpr ValueType
static verifyValue(
const ValueType &value)
3561 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
3562 +
" } is not in range ["
3564 + std::to_string(
validRange().max()) +
"]" };
3567 Zivid::DataModel::Detail::Optional<double> m_opt;
3569 friend struct DataModel::Detail::Befriend<
Threshold>;
3592 template<
typename... Args,
3593 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3594 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
3596 typename std::decay<Args>::type...>::value,
3599 template<typename... Args>
3603 using namespace Zivid::Detail::TypeTraits;
3605 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3606 "Found duplicate types among the arguments passed to Removal(...). "
3607 "Types should be listed at most once.");
3609 set(std::forward<Args>(args)...);
3624 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3626 template<typename... Args>
3630 using namespace Zivid::Detail::TypeTraits;
3632 using AllArgsAreDescendantNodes =
3633 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3634 static_assert(AllArgsAreDescendantNodes::value,
3635 "All arguments passed to set(...) must be descendant nodes.");
3637 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3638 "Found duplicate types among the arguments passed to set(...). "
3639 "Types should be listed at most once.");
3641 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3657 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3659 template<typename... Args>
3663 using namespace Zivid::Detail::TypeTraits;
3665 using AllArgsAreDescendantNodes =
3666 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3667 static_assert(AllArgsAreDescendantNodes::value,
3668 "All arguments passed to copyWith(...) must be descendant nodes.");
3670 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3671 "Found duplicate types among the arguments passed to copyWith(...). "
3672 "Types should be listed at most once.");
3675 copy.set(std::forward<Args>(args)...);
3713 m_threshold = value;
3719 typename std::enable_if<std::is_same<T,
3720 Settings::Processing::Filters::Experimental::
3721 ContrastDistortion::Removal::Enabled>::value,
3731 typename std::enable_if<std::is_same<T,
3732 Settings::Processing::Filters::Experimental::
3733 ContrastDistortion::Removal::Threshold>::value,
3741 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3748 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3756 template<
typename F>
3764 template<
typename F>
3787 void setFromString(
const std::string &value);
3789 void setFromString(
const std::string &fullPath,
const std::string &value);
3791 std::string getString(
const std::string &fullPath)
const;
3796 friend struct DataModel::Detail::Befriend<
Removal>;
3827 template<
typename... Args,
3828 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3829 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
3831 typename std::decay<Args>::type...>::value,
3834 template<typename... Args>
3838 using namespace Zivid::Detail::TypeTraits;
3841 AllArgsDecayedAreUnique<Args...>::value,
3842 "Found duplicate types among the arguments passed to ContrastDistortion(...). "
3843 "Types should be listed at most once.");
3845 set(std::forward<Args>(args)...);
3864 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3866 template<typename... Args>
3870 using namespace Zivid::Detail::TypeTraits;
3872 using AllArgsAreDescendantNodes =
3873 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3874 static_assert(AllArgsAreDescendantNodes::value,
3875 "All arguments passed to set(...) must be descendant nodes.");
3877 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3878 "Found duplicate types among the arguments passed to set(...). "
3879 "Types should be listed at most once.");
3881 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3901 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3903 template<typename... Args>
3907 using namespace Zivid::Detail::TypeTraits;
3909 using AllArgsAreDescendantNodes =
3910 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3911 static_assert(AllArgsAreDescendantNodes::value,
3912 "All arguments passed to copyWith(...) must be descendant nodes.");
3914 static_assert(AllArgsDecayedAreUnique<Args...>::value,
3915 "Found duplicate types among the arguments passed to copyWith(...). "
3916 "Types should be listed at most once.");
3919 copy.set(std::forward<Args>(args)...);
3926 return m_correction;
3932 return m_correction;
3938 m_correction = value;
3945 m_correction.
set(value);
3952 m_correction.
set(value);
3978 m_removal.
set(value);
3985 m_removal.
set(value);
3989 template<
typename T,
3990 typename std::enable_if<std::is_same<T,
3991 Settings::Processing::Filters::Experimental::
3992 ContrastDistortion::Correction>::value,
3996 return m_correction;
4001 typename std::enable_if<std::is_same<T,
4002 Settings::Processing::Filters::Experimental::
4003 ContrastDistortion::Correction::Enabled>::value,
4008 return m_correction.get<
4014 typename std::enable_if<std::is_same<T,
4015 Settings::Processing::Filters::Experimental::
4016 ContrastDistortion::Correction::Strength>::value,
4021 return m_correction.get<Settings::Processing::Filters::Experimental::ContrastDistortion::
4022 Correction::Strength>();
4025 template<
typename T,
4026 typename std::enable_if<std::is_same<T,
4027 Settings::Processing::Filters::Experimental::
4028 ContrastDistortion::Removal>::value,
4035 template<
typename T,
4036 typename std::enable_if<std::is_same<T,
4037 Settings::Processing::Filters::Experimental::
4038 ContrastDistortion::Removal::Enabled>::value,
4043 return m_removal.get<
4049 typename std::enable_if<std::is_same<T,
4050 Settings::Processing::Filters::Experimental::
4051 ContrastDistortion::Removal::Threshold>::value,
4056 return m_removal.get<
4060 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4063 return m_correction;
4066 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4073 template<
typename F>
4081 template<
typename F>
4104 void setFromString(
const std::string &value);
4106 void setFromString(
const std::string &fullPath,
const std::string &value);
4108 std::string getString(
const std::string &fullPath)
const;
4110 Correction m_correction;
4146 template<
typename... Args,
4147 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4148 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
4150 typename std::decay<Args>::type...>::value,
4153 template<typename... Args>
4157 using namespace Zivid::Detail::TypeTraits;
4159 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4160 "Found duplicate types among the arguments passed to Experimental(...). "
4161 "Types should be listed at most once.");
4163 set(std::forward<Args>(args)...);
4183 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4185 template<typename... Args>
4189 using namespace Zivid::Detail::TypeTraits;
4191 using AllArgsAreDescendantNodes =
4192 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4193 static_assert(AllArgsAreDescendantNodes::value,
4194 "All arguments passed to set(...) must be descendant nodes.");
4196 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4197 "Found duplicate types among the arguments passed to set(...). "
4198 "Types should be listed at most once.");
4200 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4221 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4223 template<typename... Args>
4227 using namespace Zivid::Detail::TypeTraits;
4229 using AllArgsAreDescendantNodes =
4230 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4231 static_assert(AllArgsAreDescendantNodes::value,
4232 "All arguments passed to copyWith(...) must be descendant nodes.");
4234 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4235 "Found duplicate types among the arguments passed to copyWith(...). "
4236 "Types should be listed at most once.");
4239 copy.set(std::forward<Args>(args)...);
4246 return m_contrastDistortion;
4252 return m_contrastDistortion;
4258 m_contrastDistortion = value;
4265 m_contrastDistortion.
set(value);
4272 m_contrastDistortion.
set(value);
4279 m_contrastDistortion.
set(value);
4286 m_contrastDistortion.
set(value);
4293 m_contrastDistortion.
set(value);
4300 m_contrastDistortion.
set(value);
4306 typename std::enable_if<
4307 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
4311 return m_contrastDistortion;
4314 template<
typename T,
4315 typename std::enable_if<std::is_same<T,
4316 Settings::Processing::Filters::Experimental::
4317 ContrastDistortion::Correction>::value,
4321 return m_contrastDistortion
4325 template<
typename T,
4326 typename std::enable_if<std::is_same<T,
4327 Settings::Processing::Filters::Experimental::
4328 ContrastDistortion::Correction::Enabled>::value,
4333 return m_contrastDistortion.get<
4337 template<
typename T,
4338 typename std::enable_if<std::is_same<T,
4339 Settings::Processing::Filters::Experimental::
4340 ContrastDistortion::Correction::Strength>::value,
4345 return m_contrastDistortion.get<
4351 typename std::enable_if<
4352 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::
4357 return m_contrastDistortion
4361 template<
typename T,
4362 typename std::enable_if<std::is_same<T,
4363 Settings::Processing::Filters::Experimental::
4364 ContrastDistortion::Removal::Enabled>::value,
4368 return m_contrastDistortion
4372 template<
typename T,
4373 typename std::enable_if<std::is_same<T,
4374 Settings::Processing::Filters::Experimental::
4375 ContrastDistortion::Removal::Threshold>::value,
4380 return m_contrastDistortion
4384 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4387 return m_contrastDistortion;
4391 template<
typename F>
4394 f(m_contrastDistortion);
4398 template<
typename F>
4401 f(m_contrastDistortion);
4420 void setFromString(
const std::string &value);
4422 void setFromString(
const std::string &fullPath,
const std::string &value);
4424 std::string getString(
const std::string &fullPath)
const;
4428 friend struct DataModel::Detail::Befriend<
Experimental>;
4439 static constexpr
const char *path{
"Processing/Filters/Noise" };
4442 static constexpr
const char *name{
"Noise" };
4445 static constexpr
const char *description{
4446 R
"description(Contains a filter that removes points with low signal-to-noise ratio (SNR))description"
4457 static constexpr
const char *path{
"Processing/Filters/Noise/Removal" };
4460 static constexpr
const char *name{
"Removal" };
4463 static constexpr
const char *description{
4464 R
"description(Discard points with signal-to-noise ratio (SNR) values below a threshold)description"
4475 static constexpr
const char *path{
"Processing/Filters/Noise/Removal/Enabled" };
4478 static constexpr
const char *name{
"Enabled" };
4481 static constexpr
const char *description{
4482 R
"description(Enable or disable the SNR filter)description"
4493 return {
false,
true };
4522 return m_opt == other.m_opt;
4528 return m_opt != other.m_opt;
4538 void setFromString(
const std::string &value);
4540 Zivid::DataModel::Detail::Optional<bool> m_opt;
4542 friend struct DataModel::Detail::Befriend<
Enabled>;
4553 static constexpr
const char *path{
"Processing/Filters/Noise/Removal/Threshold" };
4556 static constexpr
const char *name{
"Threshold" };
4559 static constexpr
const char *description{
4560 R
"description(Discard points with signal-to-noise ratio (SNR) below the given value)description"
4569 return { 0.0, 100.0 };
4577 : m_opt{ verifyValue(value) }
4598 return m_opt == other.m_opt;
4604 return m_opt != other.m_opt;
4610 return m_opt < other.m_opt;
4616 return m_opt > other.m_opt;
4626 void setFromString(
const std::string &value);
4628 constexpr ValueType
static verifyValue(
const ValueType &value)
4632 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
4633 +
" } is not in range ["
4635 + std::to_string(
validRange().max()) +
"]" };
4638 Zivid::DataModel::Detail::Optional<double> m_opt;
4640 friend struct DataModel::Detail::Befriend<
Threshold>;
4662 template<
typename... Args,
4663 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4664 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
4666 typename std::decay<Args>::type...>::value,
4669 template<typename... Args>
4673 using namespace Zivid::Detail::TypeTraits;
4675 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4676 "Found duplicate types among the arguments passed to Removal(...). "
4677 "Types should be listed at most once.");
4679 set(std::forward<Args>(args)...);
4694 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4696 template<typename... Args>
4700 using namespace Zivid::Detail::TypeTraits;
4702 using AllArgsAreDescendantNodes =
4703 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4704 static_assert(AllArgsAreDescendantNodes::value,
4705 "All arguments passed to set(...) must be descendant nodes.");
4707 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4708 "Found duplicate types among the arguments passed to set(...). "
4709 "Types should be listed at most once.");
4711 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4727 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4729 template<typename... Args>
4733 using namespace Zivid::Detail::TypeTraits;
4735 using AllArgsAreDescendantNodes =
4736 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4737 static_assert(AllArgsAreDescendantNodes::value,
4738 "All arguments passed to copyWith(...) must be descendant nodes.");
4740 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4741 "Found duplicate types among the arguments passed to copyWith(...). "
4742 "Types should be listed at most once.");
4745 copy.set(std::forward<Args>(args)...);
4783 m_threshold = value;
4787 template<
typename T,
4788 typename std::enable_if<
4789 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
4796 template<
typename T,
4797 typename std::enable_if<
4798 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
4805 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4811 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4818 template<
typename F>
4826 template<
typename F>
4849 void setFromString(
const std::string &value);
4851 void setFromString(
const std::string &fullPath,
const std::string &value);
4853 std::string getString(
const std::string &fullPath)
const;
4858 friend struct DataModel::Detail::Befriend<
Removal>;
4882 template<
typename... Args,
4883 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4884 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
4886 typename std::decay<Args>::type...>::value,
4889 template<typename... Args>
4893 using namespace Zivid::Detail::TypeTraits;
4895 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4896 "Found duplicate types among the arguments passed to Noise(...). "
4897 "Types should be listed at most once.");
4899 set(std::forward<Args>(args)...);
4915 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4917 template<typename... Args>
4921 using namespace Zivid::Detail::TypeTraits;
4923 using AllArgsAreDescendantNodes =
4924 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4925 static_assert(AllArgsAreDescendantNodes::value,
4926 "All arguments passed to set(...) must be descendant nodes.");
4928 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4929 "Found duplicate types among the arguments passed to set(...). "
4930 "Types should be listed at most once.");
4932 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4949 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4951 template<typename... Args>
4955 using namespace Zivid::Detail::TypeTraits;
4957 using AllArgsAreDescendantNodes =
4958 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4959 static_assert(AllArgsAreDescendantNodes::value,
4960 "All arguments passed to copyWith(...) must be descendant nodes.");
4962 static_assert(AllArgsDecayedAreUnique<Args...>::value,
4963 "Found duplicate types among the arguments passed to copyWith(...). "
4964 "Types should be listed at most once.");
4967 copy.set(std::forward<Args>(args)...);
4993 m_removal.
set(value);
5000 m_removal.
set(value);
5006 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
5013 template<
typename T,
5014 typename std::enable_if<
5015 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
5022 template<
typename T,
5023 typename std::enable_if<
5024 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
5031 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5038 template<
typename F>
5045 template<
typename F>
5067 void setFromString(
const std::string &value);
5069 void setFromString(
const std::string &fullPath,
const std::string &value);
5071 std::string getString(
const std::string &fullPath)
const;
5075 friend struct DataModel::Detail::Befriend<
Noise>;
5086 static constexpr
const char *path{
"Processing/Filters/Outlier" };
5089 static constexpr
const char *name{
"Outlier" };
5092 static constexpr
const char *description{
5093 R
"description(Contains a filter that removes points with large Euclidean distance to neighboring points)description"
5104 static constexpr
const char *path{
"Processing/Filters/Outlier/Removal" };
5107 static constexpr
const char *name{
"Removal" };
5110 static constexpr
const char *description{
5111 R
"description(Discard point if Euclidean distance to neighboring points is above a threshold)description"
5122 static constexpr
const char *path{
"Processing/Filters/Outlier/Removal/Enabled" };
5125 static constexpr
const char *name{
"Enabled" };
5128 static constexpr
const char *description{
5129 R
"description(Enable or disable the outlier filter)description"
5140 return {
false,
true };
5169 return m_opt == other.m_opt;
5175 return m_opt != other.m_opt;
5185 void setFromString(
const std::string &value);
5187 Zivid::DataModel::Detail::Optional<bool> m_opt;
5189 friend struct DataModel::Detail::Befriend<
Enabled>;
5200 static constexpr
const char *path{
"Processing/Filters/Outlier/Removal/Threshold" };
5203 static constexpr
const char *name{
"Threshold" };
5206 static constexpr
const char *description{
5207 R
"description(Discard point if Euclidean distance to neighboring points is above the given value)description"
5216 return { 0.0, 100.0 };
5224 : m_opt{ verifyValue(value) }
5245 return m_opt == other.m_opt;
5251 return m_opt != other.m_opt;
5257 return m_opt < other.m_opt;
5263 return m_opt > other.m_opt;
5273 void setFromString(
const std::string &value);
5275 constexpr ValueType
static verifyValue(
const ValueType &value)
5279 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
5280 +
" } is not in range ["
5282 + std::to_string(
validRange().max()) +
"]" };
5285 Zivid::DataModel::Detail::Optional<double> m_opt;
5287 friend struct DataModel::Detail::Befriend<
Threshold>;
5309 template<
typename... Args,
5310 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5311 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
5313 typename std::decay<Args>::type...>::value,
5316 template<typename... Args>
5320 using namespace Zivid::Detail::TypeTraits;
5322 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5323 "Found duplicate types among the arguments passed to Removal(...). "
5324 "Types should be listed at most once.");
5326 set(std::forward<Args>(args)...);
5341 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5343 template<typename... Args>
5347 using namespace Zivid::Detail::TypeTraits;
5349 using AllArgsAreDescendantNodes =
5350 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5351 static_assert(AllArgsAreDescendantNodes::value,
5352 "All arguments passed to set(...) must be descendant nodes.");
5354 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5355 "Found duplicate types among the arguments passed to set(...). "
5356 "Types should be listed at most once.");
5358 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5374 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5376 template<typename... Args>
5380 using namespace Zivid::Detail::TypeTraits;
5382 using AllArgsAreDescendantNodes =
5383 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5384 static_assert(AllArgsAreDescendantNodes::value,
5385 "All arguments passed to copyWith(...) must be descendant nodes.");
5387 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5388 "Found duplicate types among the arguments passed to copyWith(...). "
5389 "Types should be listed at most once.");
5392 copy.set(std::forward<Args>(args)...);
5430 m_threshold = value;
5434 template<
typename T,
5435 typename std::enable_if<
5436 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
5443 template<
typename T,
5444 typename std::enable_if<
5445 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
5452 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5458 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
5465 template<
typename F>
5473 template<
typename F>
5496 void setFromString(
const std::string &value);
5498 void setFromString(
const std::string &fullPath,
const std::string &value);
5500 std::string getString(
const std::string &fullPath)
const;
5505 friend struct DataModel::Detail::Befriend<
Removal>;
5529 template<
typename... Args,
5530 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5531 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
5533 typename std::decay<Args>::type...>::value,
5536 template<typename... Args>
5540 using namespace Zivid::Detail::TypeTraits;
5542 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5543 "Found duplicate types among the arguments passed to Outlier(...). "
5544 "Types should be listed at most once.");
5546 set(std::forward<Args>(args)...);
5562 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5564 template<typename... Args>
5568 using namespace Zivid::Detail::TypeTraits;
5570 using AllArgsAreDescendantNodes =
5571 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5572 static_assert(AllArgsAreDescendantNodes::value,
5573 "All arguments passed to set(...) must be descendant nodes.");
5575 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5576 "Found duplicate types among the arguments passed to set(...). "
5577 "Types should be listed at most once.");
5579 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5596 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5598 template<typename... Args>
5602 using namespace Zivid::Detail::TypeTraits;
5604 using AllArgsAreDescendantNodes =
5605 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5606 static_assert(AllArgsAreDescendantNodes::value,
5607 "All arguments passed to copyWith(...) must be descendant nodes.");
5609 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5610 "Found duplicate types among the arguments passed to copyWith(...). "
5611 "Types should be listed at most once.");
5614 copy.set(std::forward<Args>(args)...);
5640 m_removal.
set(value);
5647 m_removal.
set(value);
5653 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
5660 template<
typename T,
5661 typename std::enable_if<
5662 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
5669 template<
typename T,
5670 typename std::enable_if<
5671 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
5678 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5685 template<
typename F>
5692 template<
typename F>
5714 void setFromString(
const std::string &value);
5716 void setFromString(
const std::string &fullPath,
const std::string &value);
5718 std::string getString(
const std::string &fullPath)
const;
5722 friend struct DataModel::Detail::Befriend<
Outlier>;
5733 static constexpr
const char *path{
"Processing/Filters/Reflection" };
5736 static constexpr
const char *name{
"Reflection" };
5739 static constexpr
const char *description{
5740 R
"description(Contains a filter that removes points likely introduced by reflections (useful for shiny materials))description"
5751 static constexpr
const char *path{
"Processing/Filters/Reflection/Removal" };
5754 static constexpr
const char *name{
"Removal" };
5757 static constexpr
const char *description{
5758 R
"description(Discard points likely introduced by reflections (useful for shiny materials))description"
5769 static constexpr
const char *path{
"Processing/Filters/Reflection/Removal/Enabled" };
5772 static constexpr
const char *name{
"Enabled" };
5775 static constexpr
const char *description{
5776 R
"description(Enable or disable the reflection filter. Note that this filter is computationally intensive and may affect the frame rate)description"
5787 return {
false,
true };
5816 return m_opt == other.m_opt;
5822 return m_opt != other.m_opt;
5832 void setFromString(
const std::string &value);
5834 Zivid::DataModel::Detail::Optional<bool> m_opt;
5836 friend struct DataModel::Detail::Befriend<
Enabled>;
5839 using Descendants = std::tuple<Settings::Processing::Filters::Reflection::Removal::Enabled>;
5856 template<
typename... Args,
5857 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5858 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
5860 typename std::decay<Args>::type...>::value,
5863 template<typename... Args>
5867 using namespace Zivid::Detail::TypeTraits;
5869 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5870 "Found duplicate types among the arguments passed to Removal(...). "
5871 "Types should be listed at most once.");
5873 set(std::forward<Args>(args)...);
5887 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5889 template<typename... Args>
5893 using namespace Zivid::Detail::TypeTraits;
5895 using AllArgsAreDescendantNodes =
5896 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5897 static_assert(AllArgsAreDescendantNodes::value,
5898 "All arguments passed to set(...) must be descendant nodes.");
5900 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5901 "Found duplicate types among the arguments passed to set(...). "
5902 "Types should be listed at most once.");
5904 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5919 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5921 template<typename... Args>
5925 using namespace Zivid::Detail::TypeTraits;
5927 using AllArgsAreDescendantNodes =
5928 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5929 static_assert(AllArgsAreDescendantNodes::value,
5930 "All arguments passed to copyWith(...) must be descendant nodes.");
5932 static_assert(AllArgsDecayedAreUnique<Args...>::value,
5933 "Found duplicate types among the arguments passed to copyWith(...). "
5934 "Types should be listed at most once.");
5937 copy.set(std::forward<Args>(args)...);
5962 typename std::enable_if<
5963 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
5970 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5977 template<
typename F>
5984 template<
typename F>
6006 void setFromString(
const std::string &value);
6008 void setFromString(
const std::string &fullPath,
const std::string &value);
6010 std::string getString(
const std::string &fullPath)
const;
6014 friend struct DataModel::Detail::Befriend<
Removal>;
6036 template<
typename... Args,
6037 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6038 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
6040 typename std::decay<Args>::type...>::value,
6043 template<typename... Args>
6047 using namespace Zivid::Detail::TypeTraits;
6049 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6050 "Found duplicate types among the arguments passed to Reflection(...). "
6051 "Types should be listed at most once.");
6053 set(std::forward<Args>(args)...);
6068 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6070 template<typename... Args>
6074 using namespace Zivid::Detail::TypeTraits;
6076 using AllArgsAreDescendantNodes =
6077 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6078 static_assert(AllArgsAreDescendantNodes::value,
6079 "All arguments passed to set(...) must be descendant nodes.");
6081 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6082 "Found duplicate types among the arguments passed to set(...). "
6083 "Types should be listed at most once.");
6085 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6101 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6103 template<typename... Args>
6107 using namespace Zivid::Detail::TypeTraits;
6109 using AllArgsAreDescendantNodes =
6110 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6111 static_assert(AllArgsAreDescendantNodes::value,
6112 "All arguments passed to copyWith(...) must be descendant nodes.");
6114 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6115 "Found duplicate types among the arguments passed to copyWith(...). "
6116 "Types should be listed at most once.");
6119 copy.set(std::forward<Args>(args)...);
6145 m_removal.
set(value);
6149 template<
typename T,
6150 typename std::enable_if<
6151 std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
6158 template<
typename T,
6159 typename std::enable_if<
6160 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
6167 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6174 template<
typename F>
6181 template<
typename F>
6203 void setFromString(
const std::string &value);
6205 void setFromString(
const std::string &fullPath,
const std::string &value);
6207 std::string getString(
const std::string &fullPath)
const;
6211 friend struct DataModel::Detail::Befriend<
Reflection>;
6222 static constexpr
const char *path{
"Processing/Filters/Smoothing" };
6225 static constexpr
const char *name{
"Smoothing" };
6228 static constexpr
const char *description{ R
"description(Smoothing filters)description" };
6238 static constexpr
const char *path{
"Processing/Filters/Smoothing/Gaussian" };
6241 static constexpr
const char *name{
"Gaussian" };
6244 static constexpr
const char *description{
6245 R
"description(Gaussian smoothing of the point cloud)description"
6256 static constexpr
const char *path{
"Processing/Filters/Smoothing/Gaussian/Enabled" };
6259 static constexpr
const char *name{
"Enabled" };
6262 static constexpr
const char *description{
6263 R
"description(Enable or disable the smoothing filter)description"
6274 return {
false,
true };
6303 return m_opt == other.m_opt;
6309 return m_opt != other.m_opt;
6319 void setFromString(
const std::string &value);
6321 Zivid::DataModel::Detail::Optional<bool> m_opt;
6323 friend struct DataModel::Detail::Befriend<
Enabled>;
6334 static constexpr
const char *path{
"Processing/Filters/Smoothing/Gaussian/Sigma" };
6337 static constexpr
const char *name{
"Sigma" };
6340 static constexpr
const char *description{
6341 R
"description(Higher values result in smoother point clouds (Standard deviation of the filter coefficients))description"
6358 : m_opt{ verifyValue(value) }
6379 return m_opt == other.m_opt;
6385 return m_opt != other.m_opt;
6391 return m_opt < other.m_opt;
6397 return m_opt > other.m_opt;
6407 void setFromString(
const std::string &value);
6409 constexpr ValueType
static verifyValue(
const ValueType &value)
6413 :
throw std::out_of_range{
"Sigma{ " + std::to_string(value)
6414 +
" } is not in range ["
6416 + std::to_string(
validRange().max()) +
"]" };
6419 Zivid::DataModel::Detail::Optional<double> m_opt;
6421 friend struct DataModel::Detail::Befriend<
Sigma>;
6443 template<
typename... Args,
6444 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6445 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
6447 typename std::decay<Args>::type...>::value,
6450 template<typename... Args>
6454 using namespace Zivid::Detail::TypeTraits;
6456 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6457 "Found duplicate types among the arguments passed to Gaussian(...). "
6458 "Types should be listed at most once.");
6460 set(std::forward<Args>(args)...);
6475 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6477 template<typename... Args>
6481 using namespace Zivid::Detail::TypeTraits;
6483 using AllArgsAreDescendantNodes =
6484 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6485 static_assert(AllArgsAreDescendantNodes::value,
6486 "All arguments passed to set(...) must be descendant nodes.");
6488 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6489 "Found duplicate types among the arguments passed to set(...). "
6490 "Types should be listed at most once.");
6492 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6508 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6510 template<typename... Args>
6514 using namespace Zivid::Detail::TypeTraits;
6516 using AllArgsAreDescendantNodes =
6517 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6518 static_assert(AllArgsAreDescendantNodes::value,
6519 "All arguments passed to copyWith(...) must be descendant nodes.");
6521 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6522 "Found duplicate types among the arguments passed to copyWith(...). "
6523 "Types should be listed at most once.");
6526 copy.set(std::forward<Args>(args)...);
6570 typename std::enable_if<
6571 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
6578 template<
typename T,
6579 typename std::enable_if<
6580 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
6587 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6593 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
6600 template<
typename F>
6608 template<
typename F>
6631 void setFromString(
const std::string &value);
6633 void setFromString(
const std::string &fullPath,
const std::string &value);
6635 std::string getString(
const std::string &fullPath)
const;
6640 friend struct DataModel::Detail::Befriend<
Gaussian>;
6664 template<
typename... Args,
6665 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6666 typename std::enable_if<Zivid::Detail::TypeTraits::AllArgsAreInTuple<
6668 typename std::decay<Args>::type...>::value,
6671 template<typename... Args>
6675 using namespace Zivid::Detail::TypeTraits;
6677 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6678 "Found duplicate types among the arguments passed to Smoothing(...). "
6679 "Types should be listed at most once.");
6681 set(std::forward<Args>(args)...);
6697 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6699 template<typename... Args>
6703 using namespace Zivid::Detail::TypeTraits;
6705 using AllArgsAreDescendantNodes =
6706 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6707 static_assert(AllArgsAreDescendantNodes::value,
6708 "All arguments passed to set(...) must be descendant nodes.");
6710 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6711 "Found duplicate types among the arguments passed to set(...). "
6712 "Types should be listed at most once.");
6714 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6731 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6733 template<typename... Args>
6737 using namespace Zivid::Detail::TypeTraits;
6739 using AllArgsAreDescendantNodes =
6740 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6741 static_assert(AllArgsAreDescendantNodes::value,
6742 "All arguments passed to copyWith(...) must be descendant nodes.");
6744 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6745 "Found duplicate types among the arguments passed to copyWith(...). "
6746 "Types should be listed at most once.");
6749 copy.set(std::forward<Args>(args)...);
6775 m_gaussian.
set(value);
6782 m_gaussian.
set(value);
6786 template<
typename T,
6787 typename std::enable_if<
6788 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
6795 template<
typename T,
6796 typename std::enable_if<
6797 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
6804 template<
typename T,
6805 typename std::enable_if<
6806 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
6813 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6820 template<
typename F>
6827 template<
typename F>
6849 void setFromString(
const std::string &value);
6851 void setFromString(
const std::string &fullPath,
const std::string &value);
6853 std::string getString(
const std::string &fullPath)
const;
6857 friend struct DataModel::Detail::Befriend<
Smoothing>;
6922 template<
typename... Args,
6923 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6924 typename std::enable_if<
6925 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
6926 typename std::decay<Args>::type...>::value,
6929 template<typename... Args>
6933 using namespace Zivid::Detail::TypeTraits;
6935 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6936 "Found duplicate types among the arguments passed to Filters(...). "
6937 "Types should be listed at most once.");
6939 set(std::forward<Args>(args)...);
6975 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6977 template<typename... Args>
6981 using namespace Zivid::Detail::TypeTraits;
6983 using AllArgsAreDescendantNodes =
6984 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6985 static_assert(AllArgsAreDescendantNodes::value,
6986 "All arguments passed to set(...) must be descendant nodes.");
6988 static_assert(AllArgsDecayedAreUnique<Args...>::value,
6989 "Found duplicate types among the arguments passed to set(...). "
6990 "Types should be listed at most once.");
6992 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
7029 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
7031 template<typename... Args>
7035 using namespace Zivid::Detail::TypeTraits;
7037 using AllArgsAreDescendantNodes =
7038 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7039 static_assert(AllArgsAreDescendantNodes::value,
7040 "All arguments passed to copyWith(...) must be descendant nodes.");
7042 static_assert(AllArgsDecayedAreUnique<Args...>::value,
7043 "Found duplicate types among the arguments passed to copyWith(...). "
7044 "Types should be listed at most once.");
7047 copy.set(std::forward<Args>(args)...);
7054 return m_experimental;
7060 return m_experimental;
7066 m_experimental = value;
7073 m_experimental.
set(value);
7080 m_experimental.
set(value);
7087 m_experimental.
set(value);
7094 m_experimental.
set(value);
7101 m_experimental.
set(value);
7108 m_experimental.
set(value);
7115 m_experimental.
set(value);
7181 m_outlier.
set(value);
7188 m_outlier.
set(value);
7195 m_outlier.
set(value);
7202 return m_reflection;
7208 return m_reflection;
7214 m_reflection = value;
7221 m_reflection.
set(value);
7228 m_reflection.
set(value);
7247 m_smoothing = value;
7254 m_smoothing.
set(value);
7261 m_smoothing.
set(value);
7268 m_smoothing.
set(value);
7272 template<
typename T,
7273 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
7277 return m_experimental;
7280 template<
typename T,
7281 typename std::enable_if<
7282 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
7291 typename std::enable_if<
7292 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::
7297 return m_experimental
7301 template<
typename T,
7302 typename std::enable_if<std::is_same<T,
7303 Settings::Processing::Filters::Experimental::
7304 ContrastDistortion::Correction::Enabled>::value,
7308 return m_experimental
7312 template<
typename T,
7313 typename std::enable_if<std::is_same<T,
7314 Settings::Processing::Filters::Experimental::
7315 ContrastDistortion::Correction::Strength>::value,
7319 return m_experimental
7323 template<
typename T,
7324 typename std::enable_if<
7325 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::
7330 return m_experimental
7334 template<
typename T,
7335 typename std::enable_if<std::is_same<T,
7336 Settings::Processing::Filters::Experimental::
7337 ContrastDistortion::Removal::Enabled>::value,
7341 return m_experimental
7345 template<
typename T,
7346 typename std::enable_if<std::is_same<T,
7347 Settings::Processing::Filters::Experimental::
7348 ContrastDistortion::Removal::Threshold>::value,
7352 return m_experimental
7356 template<
typename T,
7357 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
7364 template<
typename T,
7365 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
7372 template<
typename T,
7373 typename std::enable_if<
7374 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
7381 template<
typename T,
7382 typename std::enable_if<
7383 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
7390 template<
typename T,
7391 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
7400 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
7407 template<
typename T,
7408 typename std::enable_if<
7409 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
7416 template<
typename T,
7417 typename std::enable_if<
7418 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
7425 template<
typename T,
7426 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
7430 return m_reflection;
7435 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
7442 template<
typename T,
7443 typename std::enable_if<
7444 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
7451 template<
typename T,
7452 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
7461 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
7468 template<
typename T,
7469 typename std::enable_if<
7470 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
7477 template<
typename T,
7478 typename std::enable_if<
7479 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
7486 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
7489 return m_experimental;
7492 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
7498 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
7504 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
7507 return m_reflection;
7510 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
7517 template<
typename F>
7528 template<
typename F>
7554 void setFromString(
const std::string &value);
7556 void setFromString(
const std::string &fullPath,
const std::string &value);
7558 std::string getString(
const std::string &fullPath)
const;
7563 Reflection m_reflection;
7566 friend struct DataModel::Detail::Befriend<
Filters>;
7651 template<
typename... Args,
7652 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
7653 typename std::enable_if<
7654 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
7655 typename std::decay<Args>::type...>::value,
7658 template<typename... Args>
7662 using namespace Zivid::Detail::TypeTraits;
7664 static_assert(AllArgsDecayedAreUnique<Args...>::value,
7665 "Found duplicate types among the arguments passed to Processing(...). "
7666 "Types should be listed at most once.");
7668 set(std::forward<Args>(args)...);
7714 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
7716 template<typename... Args>
7720 using namespace Zivid::Detail::TypeTraits;
7722 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7723 static_assert(AllArgsAreDescendantNodes::value,
7724 "All arguments passed to set(...) must be descendant nodes.");
7726 static_assert(AllArgsDecayedAreUnique<Args...>::value,
7727 "Found duplicate types among the arguments passed to set(...). "
7728 "Types should be listed at most once.");
7730 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
7777 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
7779 template<typename... Args>
7783 using namespace Zivid::Detail::TypeTraits;
7785 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7786 static_assert(AllArgsAreDescendantNodes::value,
7787 "All arguments passed to copyWith(...) must be descendant nodes.");
7789 static_assert(AllArgsDecayedAreUnique<Args...>::value,
7790 "Found duplicate types among the arguments passed to copyWith(...). "
7791 "Types should be listed at most once.");
7794 copy.set(std::forward<Args>(args)...);
7895 m_filters.
set(value);
7902 m_filters.
set(value);
7909 m_filters.
set(value);
7916 m_filters.
set(value);
7923 m_filters.
set(value);
7930 m_filters.
set(value);
7937 m_filters.
set(value);
7944 m_filters.
set(value);
7951 m_filters.
set(value);
7958 m_filters.
set(value);
7965 m_filters.
set(value);
7972 m_filters.
set(value);
7979 m_filters.
set(value);
7986 m_filters.
set(value);
7993 m_filters.
set(value);
8000 m_filters.
set(value);
8007 m_filters.
set(value);
8014 m_filters.
set(value);
8021 m_filters.
set(value);
8028 m_filters.
set(value);
8035 m_filters.
set(value);
8042 m_filters.
set(value);
8049 m_filters.
set(value);
8053 template<
typename T,
8054 typename std::enable_if<std::is_same<T, Settings::Processing::Color>::value,
int>::type = 0>
8062 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type = 0>
8068 template<
typename T,
8069 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
8076 template<
typename T,
8077 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
8084 template<
typename T,
8085 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
8092 template<
typename T,
8093 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
8102 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
8109 template<
typename T,
8110 typename std::enable_if<
8111 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
8118 template<
typename T,
8119 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
8125 template<
typename T,
8126 typename std::enable_if<std::is_same<T, Settings::Processing::Filters>::value,
int>::type = 0>
8132 template<
typename T,
8133 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
8140 template<
typename T,
8141 typename std::enable_if<
8142 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
8151 typename std::enable_if<
8152 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
8159 template<
typename T,
8160 typename std::enable_if<std::is_same<T,
8161 Settings::Processing::Filters::Experimental::
8162 ContrastDistortion::Correction::Enabled>::value,
8170 template<
typename T,
8171 typename std::enable_if<std::is_same<T,
8172 Settings::Processing::Filters::Experimental::
8173 ContrastDistortion::Correction::Strength>::value,
8183 typename std::enable_if<
8184 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
8193 typename std::enable_if<
8194 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled>::
8203 template<
typename T,
8204 typename std::enable_if<std::is_same<T,
8205 Settings::Processing::Filters::Experimental::
8206 ContrastDistortion::Removal::Threshold>::value,
8216 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type = 0>
8222 template<
typename T,
8223 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
8232 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
8239 template<
typename T,
8240 typename std::enable_if<
8241 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
8250 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type = 0>
8256 template<
typename T,
8257 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
8264 template<
typename T,
8265 typename std::enable_if<
8266 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
8273 template<
typename T,
8274 typename std::enable_if<
8275 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
8282 template<
typename T,
8283 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
8290 template<
typename T,
8291 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
8298 template<
typename T,
8299 typename std::enable_if<
8300 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
8307 template<
typename T,
8308 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
8315 template<
typename T,
8316 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
8323 template<
typename T,
8324 typename std::enable_if<
8325 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
8332 template<
typename T,
8333 typename std::enable_if<
8334 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
8341 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
8347 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
8354 template<
typename F>
8362 template<
typename F>
8385 void setFromString(
const std::string &value);
8387 void setFromString(
const std::string &fullPath,
const std::string &value);
8389 std::string getString(
const std::string &fullPath)
const;
8394 friend struct DataModel::Detail::Befriend<
Processing>;
8492 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
8493 typename std::enable_if<
8494 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
8497 template<typename... Args>
8501 using namespace Zivid::Detail::TypeTraits;
8503 static_assert(AllArgsDecayedAreUnique<Args...>::value,
8504 "Found duplicate types among the arguments passed to Settings(...). "
8505 "Types should be listed at most once.");
8507 set(std::forward<Args>(args)...);
8557 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
8559 template<typename... Args>
8563 using namespace Zivid::Detail::TypeTraits;
8565 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8566 static_assert(AllArgsAreDescendantNodes::value,
8567 "All arguments passed to set(...) must be descendant nodes.");
8569 static_assert(AllArgsDecayedAreUnique<Args...>::value,
8570 "Found duplicate types among the arguments passed to set(...). "
8571 "Types should be listed at most once.");
8573 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
8624 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
8626 template<typename... Args>
8630 using namespace Zivid::Detail::TypeTraits;
8632 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8633 static_assert(AllArgsAreDescendantNodes::value,
8634 "All arguments passed to copyWith(...) must be descendant nodes.");
8636 static_assert(AllArgsDecayedAreUnique<Args...>::value,
8637 "Found duplicate types among the arguments passed to copyWith(...). "
8638 "Types should be listed at most once.");
8641 copy.set(std::forward<Args>(args)...);
8648 return m_acquisitions;
8654 return m_acquisitions;
8660 m_acquisitions = value;
8667 return m_experimental;
8673 return m_experimental;
8679 m_experimental = value;
8686 m_experimental.
set(value);
8693 return m_processing;
8699 return m_processing;
8705 m_processing = value;
8712 m_processing.
set(value);
8719 m_processing.
set(value);
8726 m_processing.
set(value);
8733 m_processing.
set(value);
8740 m_processing.
set(value);
8747 m_processing.
set(value);
8754 m_processing.
set(value);
8761 m_processing.
set(value);
8768 m_processing.
set(value);
8775 m_processing.
set(value);
8782 m_processing.
set(value);
8789 m_processing.
set(value);
8796 m_processing.
set(value);
8803 m_processing.
set(value);
8810 m_processing.
set(value);
8817 m_processing.
set(value);
8824 m_processing.
set(value);
8831 m_processing.
set(value);
8838 m_processing.
set(value);
8845 m_processing.
set(value);
8852 m_processing.
set(value);
8859 m_processing.
set(value);
8866 m_processing.
set(value);
8873 m_processing.
set(value);
8880 m_processing.
set(value);
8887 m_processing.
set(value);
8894 m_processing.
set(value);
8901 m_processing.
set(value);
8908 m_processing.
set(value);
8915 m_processing.
set(value);
8922 m_processing.
set(value);
8929 m_processing.
set(value);
8936 m_processing.
set(value);
8940 template<typename T, typename std::enable_if<std::is_same<T, Settings::Acquisitions>::value,
int>::type = 0>
8943 return m_acquisitions;
8946 template<typename T, typename std::enable_if<std::is_same<T, Settings::Experimental>::value,
int>::type = 0>
8949 return m_experimental;
8952 template<
typename T,
8953 typename std::enable_if<std::is_same<T, Settings::Experimental::Engine>::value,
int>::type = 0>
8959 template<typename T, typename std::enable_if<std::is_same<T, Settings::Processing>::value,
int>::type = 0>
8962 return m_processing;
8965 template<
typename T,
8966 typename std::enable_if<std::is_same<T, Settings::Processing::Color>::value,
int>::type = 0>
8972 template<
typename T,
8973 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type = 0>
8981 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
int>::type = 0>
8989 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
int>::type = 0>
8997 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::type = 0>
9005 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
int>::type = 0>
9011 template<
typename T,
9012 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
9019 template<
typename T,
9020 typename std::enable_if<
9021 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
9028 template<
typename T,
9029 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
9035 template<
typename T,
9036 typename std::enable_if<std::is_same<T, Settings::Processing::Filters>::value,
int>::type = 0>
9044 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
int>::type = 0>
9050 template<
typename T,
9051 typename std::enable_if<
9052 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
9061 typename std::enable_if<
9062 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
9071 typename std::enable_if<
9072 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled>::
9083 typename std::enable_if<
9084 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength>::
9093 template<
typename T,
9094 typename std::enable_if<
9095 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
9104 typename std::enable_if<
9116 typename std::enable_if<
9117 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold>::
9126 template<
typename T,
9127 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type = 0>
9133 template<
typename T,
9134 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
9141 template<
typename T,
9142 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
9151 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
9158 template<
typename T,
9159 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type = 0>
9165 template<
typename T,
9166 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
9175 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
9184 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
9193 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
int>::type = 0>
9199 template<
typename T,
9200 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
9209 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
9218 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
int>::type = 0>
9224 template<
typename T,
9225 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
9234 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
9243 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
9250 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
9253 return m_acquisitions;
9256 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
9259 return m_experimental;
9262 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
9265 return m_processing;
9269 template<
typename F>
9278 template<
typename F>
9302 void save(
const std::string &fileName)
const;
9305 void load(
const std::string &fileName);
9308 void setFromString(
const std::string &value);
9310 void setFromString(
const std::string &fullPath,
const std::string &value);
9312 std::string getString(
const std::string &fullPath)
const;
9318 friend struct DataModel::Detail::Befriend<
Settings>;
9323 struct Settings::Version<8>
9332 # pragma warning(pop)
9336 # if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
9340 struct tuple_size<
Zivid::Settings::Experimental> : integral_constant<size_t, 1>
9344 struct tuple_element<i,
Zivid::Settings::Experimental>
9346 static_assert(i < tuple_size<Zivid::Settings::Experimental>::value,
"Index must be less than 1");
9349 = decltype(declval<Zivid::Settings::Experimental>().get<i>());
9353 struct tuple_size<
Zivid::Settings::Processing> : integral_constant<size_t, 2>
9357 struct tuple_element<i,
Zivid::Settings::Processing>
9359 static_assert(i < tuple_size<Zivid::Settings::Processing>::value,
"Index must be less than 2");
9362 = decltype(declval<Zivid::Settings::Processing>().get<i>());
9366 struct tuple_size<
Zivid::Settings::Processing::Color> : integral_constant<size_t, 3>
9370 struct tuple_element<i,
Zivid::Settings::Processing::Color>
9372 static_assert(i < tuple_size<Zivid::Settings::Processing::Color>::value,
"Index must be less than 3");
9375 = decltype(declval<Zivid::Settings::Processing::Color>().get<i>());
9379 struct tuple_size<
Zivid::Settings::Processing::Color::Balance> : integral_constant<size_t, 3>
9383 struct tuple_element<i,
Zivid::Settings::Processing::Color::Balance>
9385 static_assert(i < tuple_size<Zivid::Settings::Processing::Color::Balance>::value,
"Index must be less than 3");
9388 = decltype(declval<Zivid::Settings::Processing::Color::Balance>().get<i>());
9392 struct tuple_size<
Zivid::Settings::Processing::Color::Experimental> : integral_constant<size_t, 1>
9396 struct tuple_element<i,
Zivid::Settings::Processing::Color::Experimental>
9398 static_assert(i < tuple_size<Zivid::Settings::Processing::Color::Experimental>::value,
9399 "Index must be less than 1");
9402 = decltype(declval<Zivid::Settings::Processing::Color::Experimental>().get<i>());
9406 struct tuple_size<
Zivid::Settings::Processing::Color::Experimental::ToneMapping> : integral_constant<size_t, 1>
9410 struct tuple_element<i,
Zivid::Settings::Processing::Color::Experimental::ToneMapping>
9412 static_assert(i < tuple_size<Zivid::Settings::Processing::Color::Experimental::ToneMapping>::value,
9413 "Index must be less than 1");
9416 = decltype(declval<Zivid::Settings::Processing::Color::Experimental::ToneMapping>().get<i>());
9420 struct tuple_size<
Zivid::Settings::Processing::Filters> : integral_constant<size_t, 5>
9424 struct tuple_element<i,
Zivid::Settings::Processing::Filters>
9426 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters>::value,
"Index must be less than 5");
9429 = decltype(declval<Zivid::Settings::Processing::Filters>().get<i>());
9433 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental> : integral_constant<size_t, 1>
9437 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental>
9439 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Experimental>::value,
9440 "Index must be less than 1");
9443 = decltype(declval<Zivid::Settings::Processing::Filters::Experimental>().get<i>());
9447 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>
9448 : integral_constant<size_t, 2>
9452 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>
9454 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
9455 "Index must be less than 2");
9458 = decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>().get<i>());
9462 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>
9463 : integral_constant<size_t, 2>
9467 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>
9470 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
9471 "Index must be less than 2");
9474 = decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>()
9479 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>
9480 : integral_constant<size_t, 2>
9484 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>
9487 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
9488 "Index must be less than 2");
9491 = decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>()
9496 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise> : integral_constant<size_t, 1>
9500 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise>
9502 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Noise>::value,
"Index must be less than 1");
9505 = decltype(declval<Zivid::Settings::Processing::Filters::Noise>().get<i>());
9509 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise::Removal> : integral_constant<size_t, 2>
9513 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise::Removal>
9515 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Noise::Removal>::value,
9516 "Index must be less than 2");
9519 = decltype(declval<Zivid::Settings::Processing::Filters::Noise::Removal>().get<i>());
9523 struct tuple_size<
Zivid::Settings::Processing::Filters::Outlier> : integral_constant<size_t, 1>
9527 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Outlier>
9529 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Outlier>::value,
9530 "Index must be less than 1");
9533 = decltype(declval<Zivid::Settings::Processing::Filters::Outlier>().get<i>());
9537 struct tuple_size<
Zivid::Settings::Processing::Filters::Outlier::Removal> : integral_constant<size_t, 2>
9541 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Outlier::Removal>
9543 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Outlier::Removal>::value,
9544 "Index must be less than 2");
9547 = decltype(declval<Zivid::Settings::Processing::Filters::Outlier::Removal>().get<i>());
9551 struct tuple_size<
Zivid::Settings::Processing::Filters::Reflection> : integral_constant<size_t, 1>
9555 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Reflection>
9557 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Reflection>::value,
9558 "Index must be less than 1");
9561 = decltype(declval<Zivid::Settings::Processing::Filters::Reflection>().get<i>());
9565 struct tuple_size<
Zivid::Settings::Processing::Filters::Reflection::Removal> : integral_constant<size_t, 1>
9569 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Reflection::Removal>
9571 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Reflection::Removal>::value,
9572 "Index must be less than 1");
9575 = decltype(declval<Zivid::Settings::Processing::Filters::Reflection::Removal>().get<i>());
9579 struct tuple_size<
Zivid::Settings::Processing::Filters::Smoothing> : integral_constant<size_t, 1>
9583 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Smoothing>
9585 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Smoothing>::value,
9586 "Index must be less than 1");
9589 = decltype(declval<Zivid::Settings::Processing::Filters::Smoothing>().get<i>());
9593 struct tuple_size<
Zivid::Settings::Processing::Filters::Smoothing::Gaussian> : integral_constant<size_t, 2>
9597 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Smoothing::Gaussian>
9599 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Smoothing::Gaussian>::value,
9600 "Index must be less than 2");
9603 = decltype(declval<Zivid::Settings::Processing::Filters::Smoothing::Gaussian>().get<i>());
9607 struct tuple_size<
Zivid::Settings> : integral_constant<size_t, 3>
9611 struct tuple_element<i,
Zivid::Settings>
9613 static_assert(i < tuple_size<Zivid::Settings>::value,
"Index must be less than 3");
9616 = decltype(declval<Zivid::Settings>().get<i>());
#define ZIVID_CORE_EXPORT
Definition: CoreExport.h:101
Class describing a range of values for a given type T
Definition: Range.h:102
Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to the effe...
Definition: Settings.h:170
bool operator<(const Aperture &other) const
Comparison operator
Definition: Settings.h:233
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:239
bool operator==(const Aperture &other) const
Comparison operator
Definition: Settings.h:221
static constexpr Range< double > validRange()
The range of valid values for Aperture
Definition: Settings.h:192
bool operator!=(const Aperture &other) const
Comparison operator
Definition: Settings.h:227
Aperture()=default
Default constructor
constexpr Aperture(double value)
Constructor
Definition: Settings.h:201
double ValueType
The type of the underlying value
Definition: Settings.h:189
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:245
bool hasValue() const
Check if the value is set
Brightness controls the light output from the projector.
Definition: Settings.h:281
bool operator!=(const Brightness &other) const
Comparison operator
Definition: Settings.h:348
bool operator<(const Brightness &other) const
Comparison operator
Definition: Settings.h:354
bool operator>(const Brightness &other) const
Comparison operator
Definition: Settings.h:360
friend std::ostream & operator<<(std::ostream &stream, const Brightness &value)
Operator to serialize the value to a stream
Definition: Settings.h:366
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Brightness
Definition: Settings.h:313
std::string toString() const
Get the value as string
double value() const
Get the value
constexpr Brightness(double value)
Constructor
Definition: Settings.h:322
bool hasValue() const
Check if the value is set
Brightness()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings.h:310
bool operator==(const Brightness &other) const
Comparison operator
Definition: Settings.h:342
Exposure time for each single image in the measurement. Affects frame rate.
Definition: Settings.h:390
bool operator<(const ExposureTime &other) const
Comparison operator
Definition: Settings.h:451
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for ExposureTime
Definition: Settings.h:410
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:457
friend std::ostream & operator<<(std::ostream &stream, const ExposureTime &value)
Operator to serialize the value to a stream
Definition: Settings.h:463
std::chrono::microseconds ValueType
The type of the underlying value
Definition: Settings.h:407
bool operator==(const ExposureTime &other) const
Comparison operator
Definition: Settings.h:439
bool operator!=(const ExposureTime &other) const
Comparison operator
Definition: Settings.h:445
std::chrono::microseconds value() const
Get the value
constexpr ExposureTime(std::chrono::microseconds value)
Constructor
Definition: Settings.h:419
Analog gain in the camera
Definition: Settings.h:488
static constexpr Range< double > validRange()
The range of valid values for Gain
Definition: Settings.h:506
bool operator==(const Gain &other) const
Comparison operator
Definition: Settings.h:535
constexpr Gain(double value)
Constructor
Definition: Settings.h:515
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:559
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:503
std::string toString() const
Get the value as string
bool operator!=(const Gain &other) const
Comparison operator
Definition: Settings.h:541
bool operator>(const Gain &other) const
Comparison operator
Definition: Settings.h:553
bool operator<(const Gain &other) const
Comparison operator
Definition: Settings.h:547
Settings for a single acquisition
Definition: Settings.h:152
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:824
const Settings::Acquisition::Aperture & get() const
Definition: Settings.h:771
ExposureTime & exposureTime()
Get ExposureTime
Definition: Settings.h:738
const Aperture & aperture() const
Get Aperture
Definition: Settings.h:694
bool operator==(const Acquisition &other) const
Equality operator
Brightness & brightness()
Get Brightness
Definition: Settings.h:719
Acquisition & set(const Brightness &value)
Set Brightness
Definition: Settings.h:725
bool operator!=(const Acquisition &other) const
Inequality operator
const ExposureTime & exposureTime() const
Get ExposureTime
Definition: Settings.h:732
Acquisition & set(const Gain &value)
Set Gain
Definition: Settings.h:763
Acquisition & set(const ExposureTime &value)
Set ExposureTime
Definition: Settings.h:744
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:642
const Settings::Acquisition::Gain & get() const
Definition: Settings.h:793
Acquisition & set(const Aperture &value)
Set Aperture
Definition: Settings.h:706
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:676
const Gain & gain() const
Get Gain
Definition: Settings.h:751
const Brightness & brightness() const
Get Brightness
Definition: Settings.h:713
const Settings::Acquisition::ExposureTime & get() const
Definition: Settings.h:786
Acquisition(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:613
const Settings::Acquisition::Brightness & get() const
Definition: Settings.h:778
Acquisition()
Default constructor
Gain & gain()
Get Gain
Definition: Settings.h:757
friend std::ostream & operator<<(std::ostream &stream, const Acquisition &value)
Operator to send the value as string to a stream
Definition: Settings.h:852
std::tuple< Settings::Acquisition::Aperture, Settings::Acquisition::Brightness, Settings::Acquisition::ExposureTime, Settings::Acquisition::Gain > Descendants
Definition: Settings.h:584
std::string toString() const
Get the value as string
Aperture & aperture()
Get Aperture
Definition: Settings.h:700
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:834
List of Acquisition objects
Definition: Settings.h:874
bool operator!=(const Acquisitions &other) const
Comparison operator
Definition: Settings.h:988
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:892
void forEach(const F &f) const
Run the given function on each element in the list
Definition: Settings.h:973
const std::vector< Settings::Acquisition > & value() const
Get the value
bool operator==(const Acquisitions &other) const
Comparison operator
Definition: Settings.h:982
Acquisitions()=default
Default constructor
Acquisitions(std::initializer_list< Settings::Acquisition > value)
Constructor
Definition: Settings.h:906
void forEach(const F &f)
Run the given function on each element in the list
Definition: Settings.h:963
Acquisitions(std::vector< Settings::Acquisition > value)
Constructor
Definition: Settings.h:901
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:889
friend std::ostream & operator<<(std::ostream &stream, const Acquisitions &value)
Operator to serialize the value to a stream
Definition: Settings.h:994
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:1035
ValueType value() const
Get the value
static std::set< ValueType > validValues()
All valid values of Engine
Definition: Settings.h:1067
static const Engine phase
phase
Definition: Settings.h:1063
friend std::ostream & operator<<(std::ostream &stream, const Engine::ValueType &value)
Operator to serialize ValueType to a stream
Definition: Settings.h:1096
bool hasValue() const
Check if the value is set
ValueType
The type of the underlying value
Definition: Settings.h:1059
friend std::ostream & operator<<(std::ostream &stream, const Engine &value)
Operator to serialize the value to a stream
Definition: Settings.h:1114
std::string toString() const
Get the value as string
bool operator==(const Engine &other) const
Comparison operator
Definition: Settings.h:1102
Engine()=default
Default constructor
bool operator!=(const Engine &other) const
Comparison operator
Definition: Settings.h:1108
constexpr Engine(ValueType value)
Constructor
Definition: Settings.h:1076
static const Engine stripe
stripe
Definition: Settings.h:1064
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:1009
const Settings::Experimental::Engine & get() const
Definition: Settings.h:1258
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:1189
Experimental & set(const Engine &value)
Set Engine
Definition: Settings.h:1250
const Engine & engine() const
Get Engine
Definition: Settings.h:1238
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:1220
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:1293
std::tuple< Settings::Experimental::Engine > Descendants
Definition: Settings.h:1137
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:1271
bool operator==(const Experimental &other) const
Equality operator
Experimental(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:1163
Experimental()
Default constructor
Engine & engine()
Get Engine
Definition: Settings.h:1244
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:1278
Digital gain applied to blue channel
Definition: Settings.h:1362
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:1411
friend std::ostream & operator<<(std::ostream &stream, const Blue &value)
Operator to serialize the value to a stream
Definition: Settings.h:1435
std::string toString() const
Get the value as string
static constexpr Range< double > validRange()
The range of valid values for Blue
Definition: Settings.h:1382
bool operator<(const Blue &other) const
Comparison operator
Definition: Settings.h:1423
constexpr Blue(double value)
Constructor
Definition: Settings.h:1391
Blue()=default
Default constructor
bool operator!=(const Blue &other) const
Comparison operator
Definition: Settings.h:1417
bool hasValue() const
Check if the value is set
double ValueType
The type of the underlying value
Definition: Settings.h:1379
bool operator>(const Blue &other) const
Comparison operator
Definition: Settings.h:1429
Digital gain applied to green channel
Definition: Settings.h:1460
friend std::ostream & operator<<(std::ostream &stream, const Green &value)
Operator to serialize the value to a stream
Definition: Settings.h:1533
void reset()
Reset the node to unset state
bool operator>(const Green &other) const
Comparison operator
Definition: Settings.h:1527
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:1477
constexpr Green(double value)
Constructor
Definition: Settings.h:1489
static constexpr Range< double > validRange()
The range of valid values for Green
Definition: Settings.h:1480
bool operator==(const Green &other) const
Comparison operator
Definition: Settings.h:1509
bool operator!=(const Green &other) const
Comparison operator
Definition: Settings.h:1515
Green()=default
Default constructor
std::string toString() const
Get the value as string
bool operator<(const Green &other) const
Comparison operator
Definition: Settings.h:1521
Digital gain applied to red channel
Definition: Settings.h:1558
bool operator!=(const Red &other) const
Comparison operator
Definition: Settings.h:1613
static constexpr Range< double > validRange()
The range of valid values for Red
Definition: Settings.h:1578
constexpr Red(double value)
Constructor
Definition: Settings.h:1587
double ValueType
The type of the underlying value
Definition: Settings.h:1575
double value() const
Get the value
bool operator==(const Red &other) const
Comparison operator
Definition: Settings.h:1607
Red()=default
Default constructor
bool operator<(const Red &other) const
Comparison operator
Definition: Settings.h:1619
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:1631
bool operator>(const Red &other) const
Comparison operator
Definition: Settings.h:1625
bool hasValue() const
Check if the value is set
std::string toString() const
Get the value as string
Color balance settings
Definition: Settings.h:1346
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:1712
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:1866
bool operator!=(const Balance &other) const
Inequality operator
Blue & blue()
Get Blue
Definition: Settings.h:1771
std::string toString() const
Get the value as string
const Red & red() const
Get Red
Definition: Settings.h:1803
Balance(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:1684
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:1824
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:1746
std::tuple< Settings::Processing::Color::Balance::Blue, Settings::Processing::Color::Balance::Green, Settings::Processing::Color::Balance::Red > Descendants
Definition: Settings.h:1656
Balance & set(const Green &value)
Set Green
Definition: Settings.h:1796
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:1875
Red & red()
Get Red
Definition: Settings.h:1809
friend std::ostream & operator<<(std::ostream &stream, const Balance &value)
Operator to send the value as string to a stream
Definition: Settings.h:1892
const Blue & blue() const
Get Blue
Definition: Settings.h:1765
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:1841
Balance & set(const Blue &value)
Set Blue
Definition: Settings.h:1777
Balance & set(const Red &value)
Set Red
Definition: Settings.h:1815
const Green & green() const
Get Green
Definition: Settings.h:1784
Green & green()
Get Green
Definition: Settings.h:1790
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:1833
Balance()
Default constructor
This setting controls when tone mapping of colors is performed. Tone mapping will normalize the captu...
Definition: Settings.h:1955
ValueType
The type of the underlying value
Definition: Settings.h:1981
bool hasValue() const
Check if the value is set
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:2024
friend std::ostream & operator<<(std::ostream &stream, const Enabled::ValueType &value)
Operator to serialize ValueType to a stream
Definition: Settings.h:2018
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:2030
std::string toString() const
Get the value as string
static const Enabled always
always
Definition: Settings.h:1985
static const Enabled hdrOnly
hdrOnly
Definition: Settings.h:1986
ValueType value() const
Get the value
static std::set< ValueType > validValues()
All valid values of Enabled
Definition: Settings.h:1989
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:2036
Enabled()=default
Default constructor
constexpr Enabled(ValueType value)
Constructor
Definition: Settings.h:1998
void reset()
Reset the node to unset state
Tonemapping settings.
Definition: Settings.h:1931
ToneMapping(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:2087
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:2207
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:2187
bool operator==(const ToneMapping &other) const
Equality operator
std::tuple< Settings::Processing::Color::Experimental::ToneMapping::Enabled > Descendants
Definition: Settings.h:2061
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:2200
ToneMapping & set(const Enabled &value)
Set Enabled
Definition: Settings.h:2176
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:2170
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:2145
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:2164
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:2113
friend std::ostream & operator<<(std::ostream &stream, const ToneMapping &value)
Operator to send the value as string to a stream
Definition: Settings.h:2222
Experimental color settings. These may be renamed, moved or deleted in the future.
Definition: Settings.h:1913
Experimental & set(const ToneMapping &value)
Set ToneMapping
Definition: Settings.h:2358
ToneMapping & toneMapping()
Get ToneMapping
Definition: Settings.h:2352
const ToneMapping & toneMapping() const
Get ToneMapping
Definition: Settings.h:2346
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:2405
Experimental(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:2267
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:2385
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:2294
std::tuple< Settings::Processing::Color::Experimental::ToneMapping, Settings::Processing::Color::Experimental::ToneMapping::Enabled > Descendants
Definition: Settings.h:2240
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream
Definition: Settings.h:2420
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:2398
bool operator==(const Experimental &other) const
Equality operator
Experimental()
Default constructor
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:2375
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:2327
Experimental & set(const ToneMapping::Enabled &value)
Set ToneMapping::Enabled
Definition: Settings.h:2365
Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma greater t...
Definition: Settings.h:2441
static constexpr Range< double > validRange()
The range of valid values for Gamma
Definition: Settings.h:2463
double value() const
Get the value
bool operator>(const Gamma &other) const
Comparison operator
Definition: Settings.h:2510
void reset()
Reset the node to unset state
Gamma()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings.h:2460
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:2516
constexpr Gamma(double value)
Constructor
Definition: Settings.h:2472
bool operator!=(const Gamma &other) const
Comparison operator
Definition: Settings.h:2498
bool operator<(const Gamma &other) const
Comparison operator
Definition: Settings.h:2504
std::string toString() const
Get the value as string
bool operator==(const Gamma &other) const
Comparison operator
Definition: Settings.h:2492
Color settings
Definition: Settings.h:1330
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:2771
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:2804
Color & set(const Gamma &value)
Set Gamma
Definition: Settings.h:2754
Gamma & gamma()
Get Gamma
Definition: Settings.h:2748
bool operator==(const Color &other) const
Equality operator
Color & set(const Experimental::ToneMapping &value)
Set Experimental::ToneMapping
Definition: Settings.h:2728
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:2611
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:2779
const Experimental & experimental() const
Get Experimental
Definition: Settings.h:2709
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:2787
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:2545
Color()
Default constructor
const Settings::Processing::Color::Gamma & get() const
Definition: Settings.h:2821
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:2813
const Settings::Processing::Color::Experimental & get() const
Definition: Settings.h:2795
Color & set(const Balance &value)
Set Balance
Definition: Settings.h:2681
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:2855
Balance & balance()
Get Balance
Definition: Settings.h:2675
std::string toString() const
Get the value as string
const Balance & balance() const
Get Balance
Definition: Settings.h:2669
bool operator!=(const Color &other) const
Inequality operator
Color & set(const Balance::Green &value)
Set Balance::Green
Definition: Settings.h:2695
Color & set(const Experimental::ToneMapping::Enabled &value)
Set Experimental::ToneMapping::Enabled
Definition: Settings.h:2735
const Settings::Processing::Color::Balance & get() const
Definition: Settings.h:2763
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to send the value as string to a stream
Definition: Settings.h:2872
Color & set(const Experimental &value)
Set Experimental
Definition: Settings.h:2721
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:2650
const Gamma & gamma() const
Get Gamma
Definition: Settings.h:2742
Experimental & experimental()
Get Experimental
Definition: Settings.h:2715
Color(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:2578
Color & set(const Balance::Red &value)
Set Balance::Red
Definition: Settings.h:2702
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:2846
Color & set(const Balance::Blue &value)
Set Balance::Blue
Definition: Settings.h:2688
Enabled
Definition: Settings.h:2971
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:2993
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:2989
bool ValueType
The type of the underlying value
Definition: Settings.h:2988
static const Enabled no
Off/disabled.
Definition: Settings.h:2990
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:3002
bool hasValue() const
Check if the value is set
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:3022
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:3034
bool value() const
Get the value
Enabled()=default
Default constructor
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:3028
Higher values gives more correction.
Definition: Settings.h:3049
double ValueType
The type of the underlying value
Definition: Settings.h:3068
bool operator>(const Strength &other) const
Comparison operator
Definition: Settings.h:3118
bool operator!=(const Strength &other) const
Comparison operator
Definition: Settings.h:3106
bool hasValue() const
Check if the value is set
constexpr Strength(double value)
Constructor
Definition: Settings.h:3080
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:3124
Strength()=default
Default constructor
bool operator<(const Strength &other) const
Comparison operator
Definition: Settings.h:3112
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:3071
bool operator==(const Strength &other) const
Comparison operator
Definition: Settings.h:3100
Correction
Definition: Settings.h:2953
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:3334
friend std::ostream & operator<<(std::ostream &stream, const Correction &value)
Operator to send the value as string to a stream
Definition: Settings.h:3358
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:3261
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength > Descendants
Definition: Settings.h:3149
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:3236
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:3299
Correction & set(const Enabled &value)
Set Enabled
Definition: Settings.h:3267
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:3312
bool operator!=(const Correction &other) const
Inequality operator
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:3255
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:3203
Strength & strength()
Get Strength
Definition: Settings.h:3280
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:3342
std::string toString() const
Get the value as string
Correction & set(const Strength &value)
Set Strength
Definition: Settings.h:3286
const Strength & strength() const
Get Strength
Definition: Settings.h:3274
Correction(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:3176
Enabled
Definition: Settings.h:3396
std::string toString() const
Get the value as string
static const Enabled yes
On/enabled.
Definition: Settings.h:3414
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:3427
Enabled()=default
Default constructor
void reset()
Reset the node to unset state
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:3453
bool ValueType
The type of the underlying value
Definition: Settings.h:3413
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:3459
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:3447
bool value() const
Get the value
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:3418
static const Enabled no
Off/disabled.
Definition: Settings.h:3415
Higher values remove more points.
Definition: Settings.h:3474
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Threshold
Definition: Settings.h:3496
constexpr Threshold(double value)
Constructor
Definition: Settings.h:3505
bool operator!=(const Threshold &other) const
Comparison operator
Definition: Settings.h:3531
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream
Definition: Settings.h:3549
bool operator<(const Threshold &other) const
Comparison operator
Definition: Settings.h:3537
Threshold()=default
Default constructor
bool operator==(const Threshold &other) const
Comparison operator
Definition: Settings.h:3525
std::string toString() const
Get the value as string
bool operator>(const Threshold &other) const
Comparison operator
Definition: Settings.h:3543
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:3493
Removal
Definition: Settings.h:3378
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:3757
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:3628
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:3686
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:3781
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:3680
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:3601
bool operator!=(const Removal &other) const
Inequality operator
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:3736
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:3661
Threshold & threshold()
Get Threshold
Definition: Settings.h:3705
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold > Descendants
Definition: Settings.h:3574
Removal()
Default constructor
const Threshold & threshold() const
Get Threshold
Definition: Settings.h:3699
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:3724
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:3692
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:3765
std::string toString() const
Get the value as string
Removal & set(const Threshold &value)
Set Threshold
Definition: Settings.h:3711
Corrects artifacts that appear when imaging scenes with large texture gradients or high contrast....
Definition: Settings.h:2931
Removal & removal()
Get Removal
Definition: Settings.h:3963
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:3994
Correction & correction()
Get Correction
Definition: Settings.h:3930
const Correction & correction() const
Get Correction
Definition: Settings.h:3924
ContrastDistortion & set(const Correction::Enabled &value)
Set Correction::Enabled
Definition: Settings.h:3943
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:4074
const Removal & removal() const
Get Removal
Definition: Settings.h:3957
friend std::ostream & operator<<(std::ostream &stream, const ContrastDistortion &value)
Operator to send the value as string to a stream
Definition: Settings.h:4098
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:3905
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:3805
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:3868
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:4082
ContrastDistortion & set(const Removal::Threshold &value)
Set Removal::Threshold
Definition: Settings.h:3983
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:4019
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:4006
ContrastDistortion & set(const Correction::Strength &value)
Set Correction::Strength
Definition: Settings.h:3950
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:4053
std::string toString() const
Get the value as string
ContrastDistortion & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:3976
ContrastDistortion & set(const Correction &value)
Set Correction
Definition: Settings.h:3936
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:4030
bool operator==(const ContrastDistortion &other) const
Equality operator
ContrastDistortion(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:3836
ContrastDistortion & set(const Removal &value)
Set Removal
Definition: Settings.h:3969
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:4040
Experimental filters. These may be renamed, moved or deleted in the future.
Definition: Settings.h:2909
Experimental & set(const ContrastDistortion::Correction::Strength &value)
Set ContrastDistortion::Correction::Strength
Definition: Settings.h:4277
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:4399
Experimental & set(const ContrastDistortion::Removal &value)
Set ContrastDistortion::Removal
Definition: Settings.h:4284
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:4225
Experimental(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:4155
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:4187
Experimental & set(const ContrastDistortion &value)
Set ContrastDistortion
Definition: Settings.h:4256
ContrastDistortion & contrastDistortion()
Get ContrastDistortion
Definition: Settings.h:4250
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:4377
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:4414
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:4392
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:4342
Experimental & set(const ContrastDistortion::Correction::Enabled &value)
Set ContrastDistortion::Correction::Enabled
Definition: Settings.h:4270
Experimental & set(const ContrastDistortion::Removal::Enabled &value)
Set ContrastDistortion::Removal::Enabled
Definition: Settings.h:4291
bool operator!=(const Experimental &other) const
Inequality operator
const ContrastDistortion & contrastDistortion() const
Get ContrastDistortion
Definition: Settings.h:4244
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:4330
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:4309
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:4123
Experimental & set(const ContrastDistortion::Removal::Threshold &value)
Set ContrastDistortion::Removal::Threshold
Definition: Settings.h:4298
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:4319
Experimental & set(const ContrastDistortion::Correction &value)
Set ContrastDistortion::Correction
Definition: Settings.h:4263
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:4355
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:4366
Enable or disable the SNR filter
Definition: Settings.h:4469
static const Enabled yes
On/enabled.
Definition: Settings.h:4487
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:4526
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:4520
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:4500
Enabled()=default
Default constructor
static const Enabled no
Off/disabled.
Definition: Settings.h:4488
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:4491
bool ValueType
The type of the underlying value
Definition: Settings.h:4486
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:4532
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:4547
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:4576
bool operator==(const Threshold &other) const
Comparison operator
Definition: Settings.h:4596
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream
Definition: Settings.h:4620
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Threshold
Definition: Settings.h:4567
bool operator>(const Threshold &other) const
Comparison operator
Definition: Settings.h:4614
bool operator<(const Threshold &other) const
Comparison operator
Definition: Settings.h:4608
std::string toString() const
Get the value as string
double ValueType
The type of the underlying value
Definition: Settings.h:4564
bool operator!=(const Threshold &other) const
Comparison operator
Definition: Settings.h:4602
Discard points with signal-to-noise ratio (SNR) values below a threshold
Definition: Settings.h:4451
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:4671
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:4762
std::tuple< Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold > Descendants
Definition: Settings.h:4644
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:4750
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:4756
const Threshold & threshold() const
Get Threshold
Definition: Settings.h:4769
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:4791
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:4843
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:4827
bool operator==(const Removal &other) const
Equality operator
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:4698
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:4819
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:4800
Threshold & threshold()
Get Threshold
Definition: Settings.h:4775
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:4731
Removal()
Default constructor
Removal & set(const Threshold &value)
Set Threshold
Definition: Settings.h:4781
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:4433
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:5039
std::string toString() const
Get the value as string
Noise()
Default constructor
Noise(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:4891
Removal & removal()
Get Removal
Definition: Settings.h:4978
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:4953
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5046
Noise & set(const Removal::Threshold &value)
Set Removal::Threshold
Definition: Settings.h:4998
Noise & set(const Removal &value)
Set Removal
Definition: Settings.h:4984
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:5017
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:5008
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:5026
std::tuple< Settings::Processing::Filters::Noise::Removal, Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold > Descendants
Definition: Settings.h:4863
Noise & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:4991
const Removal & removal() const
Get Removal
Definition: Settings.h:4972
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:4919
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:5061
bool operator==(const Noise &other) const
Equality operator
Enable or disable the outlier filter
Definition: Settings.h:5116
bool ValueType
The type of the underlying value
Definition: Settings.h:5133
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:5173
bool value() const
Get the value
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:5147
static const Enabled no
Off/disabled.
Definition: Settings.h:5135
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:5138
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:5134
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:5179
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:5167
Enabled()=default
Default constructor
Discard point if Euclidean distance to neighboring points is above the given value
Definition: Settings.h:5194
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:5267
constexpr Threshold(double value)
Constructor
Definition: Settings.h:5223
bool operator<(const Threshold &other) const
Comparison operator
Definition: Settings.h:5255
bool operator==(const Threshold &other) const
Comparison operator
Definition: Settings.h:5243
bool operator!=(const Threshold &other) const
Comparison operator
Definition: Settings.h:5249
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Threshold
Definition: Settings.h:5214
bool operator>(const Threshold &other) const
Comparison operator
Definition: Settings.h:5261
std::string toString() const
Get the value as string
double ValueType
The type of the underlying value
Definition: Settings.h:5211
Threshold()=default
Default constructor
Discard point if Euclidean distance to neighboring points is above a threshold
Definition: Settings.h:5098
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:5409
bool operator!=(const Removal &other) const
Inequality operator
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:5447
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:5378
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:5397
Removal & set(const Threshold &value)
Set Threshold
Definition: Settings.h:5428
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:5490
const Threshold & threshold() const
Get Threshold
Definition: Settings.h:5416
std::tuple< Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold > Descendants
Definition: Settings.h:5291
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:5318
std::string toString() const
Get the value as string
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:5403
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:5466
Removal()
Default constructor
bool operator==(const Removal &other) const
Equality operator
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:5345
Threshold & threshold()
Get Threshold
Definition: Settings.h:5422
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:5438
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5474
Contains a filter that removes points with large Euclidean distance to neighboring points
Definition: Settings.h:5080
Outlier & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:5638
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:5673
Outlier(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:5538
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5693
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:5655
Outlier & set(const Removal &value)
Set Removal
Definition: Settings.h:5631
Outlier()
Default constructor
std::string toString() const
Get the value as string
const Removal & removal() const
Get Removal
Definition: Settings.h:5619
std::tuple< Settings::Processing::Filters::Outlier::Removal, Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold > Descendants
Definition: Settings.h:5510
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:5686
bool operator!=(const Outlier &other) const
Inequality operator
Outlier & set(const Removal::Threshold &value)
Set Removal::Threshold
Definition: Settings.h:5645
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:5664
Removal & removal()
Get Removal
Definition: Settings.h:5625
friend std::ostream & operator<<(std::ostream &stream, const Outlier &value)
Operator to send the value as string to a stream
Definition: Settings.h:5708
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:5600
bool operator==(const Outlier &other) const
Equality operator
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:5566
Enable or disable the reflection filter. Note that this filter is computationally intensive and may a...
Definition: Settings.h:5763
bool ValueType
The type of the underlying value
Definition: Settings.h:5780
bool hasValue() const
Check if the value is set
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:5785
void reset()
Reset the node to unset state
static const Enabled yes
On/enabled.
Definition: Settings.h:5781
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:5820
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:5794
std::string toString() const
Get the value as string
bool value() const
Get the value
static const Enabled no
Off/disabled.
Definition: Settings.h:5782
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:5826
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:5814
Enabled()=default
Default constructor
Discard points likely introduced by reflections (useful for shiny materials)
Definition: Settings.h:5745
std::tuple< Settings::Processing::Filters::Reflection::Removal::Enabled > Descendants
Definition: Settings.h:5839
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:5891
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:5965
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:5948
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:5978
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:6000
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:5923
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:5865
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:5954
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:5942
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5985
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:5727
const Removal & removal() const
Get Removal
Definition: Settings.h:6124
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:6072
Removal & removal()
Get Removal
Definition: Settings.h:6130
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:6153
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:6182
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:6175
Reflection & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:6143
Reflection()
Default constructor
std::tuple< Settings::Processing::Filters::Reflection::Removal, Settings::Processing::Filters::Reflection::Removal::Enabled > Descendants
Definition: Settings.h:6018
Reflection & set(const Removal &value)
Set Removal
Definition: Settings.h:6136
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:6162
Reflection(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:6045
friend std::ostream & operator<<(std::ostream &stream, const Reflection &value)
Operator to send the value as string to a stream
Definition: Settings.h:6197
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:6105
Enable or disable the smoothing filter
Definition: Settings.h:6250
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:6272
bool ValueType
The type of the underlying value
Definition: Settings.h:6267
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:6307
static const Enabled yes
On/enabled.
Definition: Settings.h:6268
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:6301
static const Enabled no
Off/disabled.
Definition: Settings.h:6269
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:6313
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:6281
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:6328
Sigma()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings.h:6345
bool operator!=(const Sigma &other) const
Comparison operator
Definition: Settings.h:6383
bool operator>(const Sigma &other) const
Comparison operator
Definition: Settings.h:6395
double value() const
Get the value
bool hasValue() const
Check if the value is set
constexpr Sigma(double value)
Constructor
Definition: Settings.h:6357
static constexpr Range< double > validRange()
The range of valid values for Sigma
Definition: Settings.h:6348
void reset()
Reset the node to unset state
bool operator==(const Sigma &other) const
Comparison operator
Definition: Settings.h:6377
std::string toString() const
Get the value as string
bool operator<(const Sigma &other) const
Comparison operator
Definition: Settings.h:6389
friend std::ostream & operator<<(std::ostream &stream, const Sigma &value)
Operator to serialize the value to a stream
Definition: Settings.h:6401
Gaussian smoothing of the point cloud
Definition: Settings.h:6232
Sigma & sigma()
Get Sigma
Definition: Settings.h:6556
friend std::ostream & operator<<(std::ostream &stream, const Gaussian &value)
Operator to send the value as string to a stream
Definition: Settings.h:6625
const Sigma & sigma() const
Get Sigma
Definition: Settings.h:6550
Gaussian & set(const Enabled &value)
Set Enabled
Definition: Settings.h:6543
Gaussian(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:6452
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:6582
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:6601
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:6537
std::tuple< Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition: Settings.h:6425
bool operator==(const Gaussian &other) const
Equality operator
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:6531
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:6562
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:6512
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:6573
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:6479
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:6609
Smoothing filters
Definition: Settings.h:6216
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:6735
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:6701
Smoothing & set(const Gaussian::Enabled &value)
Set Gaussian::Enabled
Definition: Settings.h:6773
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:6828
friend std::ostream & operator<<(std::ostream &stream, const Smoothing &value)
Operator to send the value as string to a stream
Definition: Settings.h:6843
bool operator!=(const Smoothing &other) const
Inequality operator
const Gaussian & gaussian() const
Get Gaussian
Definition: Settings.h:6754
Smoothing(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:6673
Smoothing & set(const Gaussian::Sigma &value)
Set Gaussian::Sigma
Definition: Settings.h:6780
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:6821
Gaussian & gaussian()
Get Gaussian
Definition: Settings.h:6760
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:6790
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:6808
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:6799
Smoothing & set(const Gaussian &value)
Set Gaussian
Definition: Settings.h:6766
std::tuple< Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition: Settings.h:6645
Filters
Definition: Settings.h:2893
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:7529
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:7411
Noise & noise()
Get Noise
Definition: Settings.h:7126
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:7033
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:7437
std::string toString() const
Get the value as string
const Reflection & reflection() const
Get Reflection
Definition: Settings.h:7200
const Noise & noise() const
Get Noise
Definition: Settings.h:7120
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:7420
const Settings::Processing::Filters::Outlier & get() const
Definition: Settings.h:7393
Reflection & reflection()
Get Reflection
Definition: Settings.h:7206
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:7339
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:7284
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:7463
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:6883
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:7376
Filters & set(const Reflection::Removal::Enabled &value)
Set Reflection::Removal::Enabled
Definition: Settings.h:7226
Filters & set(const Noise::Removal::Threshold &value)
Set Noise::Removal::Threshold
Definition: Settings.h:7153
Filters & set(const Smoothing &value)
Set Smoothing
Definition: Settings.h:7245
const Settings::Processing::Filters::Smoothing & get() const
Definition: Settings.h:7454
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:7367
Filters()
Default constructor
Filters & set(const Experimental::ContrastDistortion::Correction &value)
Set Experimental::ContrastDistortion::Correction
Definition: Settings.h:7078
Filters & set(const Smoothing::Gaussian::Enabled &value)
Set Smoothing::Gaussian::Enabled
Definition: Settings.h:7259
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:6979
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:7328
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:7481
const Settings::Processing::Filters::Noise & get() const
Definition: Settings.h:7359
Filters & set(const Smoothing::Gaussian &value)
Set Smoothing::Gaussian
Definition: Settings.h:7252
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:7472
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:7402
Filters & set(const Outlier::Removal::Threshold &value)
Set Outlier::Removal::Threshold
Definition: Settings.h:7193
Filters & set(const Noise::Removal &value)
Set Noise::Removal
Definition: Settings.h:7139
Filters & set(const Reflection &value)
Set Reflection
Definition: Settings.h:7212
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:7518
Filters & set(const Noise &value)
Set Noise
Definition: Settings.h:7132
Filters & set(const Experimental::ContrastDistortion::Correction::Enabled &value)
Set Experimental::ContrastDistortion::Correction::Enabled
Definition: Settings.h:7085
Filters & set(const Experimental::ContrastDistortion::Removal::Threshold &value)
Set Experimental::ContrastDistortion::Removal::Threshold
Definition: Settings.h:7113
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:7350
const Settings::Processing::Filters::Reflection & get() const
Definition: Settings.h:7428
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:7306
const Settings::Processing::Filters::Experimental & get() const
Definition: Settings.h:7275
friend std::ostream & operator<<(std::ostream &stream, const Filters &value)
Operator to send the value as string to a stream
Definition: Settings.h:7548
Filters & set(const Experimental::ContrastDistortion::Removal &value)
Set Experimental::ContrastDistortion::Removal
Definition: Settings.h:7099
Filters & set(const Outlier &value)
Set Outlier
Definition: Settings.h:7172
bool operator==(const Filters &other) const
Equality operator
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:7295
Filters(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:6931
const Smoothing & smoothing() const
Get Smoothing
Definition: Settings.h:7233
Filters & set(const Noise::Removal::Enabled &value)
Set Noise::Removal::Enabled
Definition: Settings.h:7146
Filters & set(const Experimental::ContrastDistortion &value)
Set Experimental::ContrastDistortion
Definition: Settings.h:7071
Filters & set(const Outlier::Removal &value)
Set Outlier::Removal
Definition: Settings.h:7179
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:7446
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:7385
const Experimental & experimental() const
Get Experimental
Definition: Settings.h:7052
Filters & set(const Outlier::Removal::Enabled &value)
Set Outlier::Removal::Enabled
Definition: Settings.h:7186
Filters & set(const Smoothing::Gaussian::Sigma &value)
Set Smoothing::Gaussian::Sigma
Definition: Settings.h:7266
const Outlier & outlier() const
Get Outlier
Definition: Settings.h:7160
Filters & set(const Reflection::Removal &value)
Set Reflection::Removal
Definition: Settings.h:7219
Filters & set(const Experimental::ContrastDistortion::Correction::Strength &value)
Set Experimental::ContrastDistortion::Correction::Strength
Definition: Settings.h:7092
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:7317
Outlier & outlier()
Get Outlier
Definition: Settings.h:7166
Filters & set(const Experimental::ContrastDistortion::Removal::Enabled &value)
Set Experimental::ContrastDistortion::Removal::Enabled
Definition: Settings.h:7106
Experimental & experimental()
Get Experimental
Definition: Settings.h:7058
Smoothing & smoothing()
Get Smoothing
Definition: Settings.h:7239
Filters & set(const Experimental &value)
Set Experimental
Definition: Settings.h:7064
Settings related to processing of a capture, including filters and color balance
Definition: Settings.h:1312
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:8197
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:7602
Color & color()
Get Color
Definition: Settings.h:7805
const Settings::Processing::Filters::Smoothing & get() const
Definition: Settings.h:8310
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:7781
Processing & set(const Filters::Reflection::Removal::Enabled &value)
Set Filters::Reflection::Removal::Enabled
Definition: Settings.h:8019
Processing & set(const Filters::Outlier::Removal::Threshold &value)
Set Filters::Outlier::Removal::Threshold
Definition: Settings.h:7998
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:8113
Processing & set(const Filters::Reflection::Removal &value)
Set Filters::Reflection::Removal
Definition: Settings.h:8012
Processing & set(const Filters::Experimental::ContrastDistortion::Removal::Threshold &value)
Set Filters::Experimental::ContrastDistortion::Removal::Threshold
Definition: Settings.h:7942
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:8302
Processing & set(const Filters::Outlier::Removal::Enabled &value)
Set Filters::Outlier::Removal::Enabled
Definition: Settings.h:7991
Processing & set(const Color::Experimental &value)
Set Color::Experimental
Definition: Settings.h:7846
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:8259
Processing()
Default constructor
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:8104
Processing & set(const Filters::Smoothing &value)
Set Filters::Smoothing
Definition: Settings.h:8026
const Settings::Processing::Filters::Experimental & get() const
Definition: Settings.h:8135
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:8079
const Settings::Processing::Color::Experimental & get() const
Definition: Settings.h:8095
std::string toString() const
Get the value as string
Filters & filters()
Get Filters
Definition: Settings.h:7880
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:8087
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:8318
Processing & set(const Filters::Experimental::ContrastDistortion::Correction::Enabled &value)
Set Filters::Experimental::ContrastDistortion::Correction::Enabled
Definition: Settings.h:7914
const Settings::Processing::Filters::Reflection & get() const
Definition: Settings.h:8285
Processing & set(const Filters::Reflection &value)
Set Filters::Reflection
Definition: Settings.h:8005
Processing & set(const Filters::Noise::Removal::Threshold &value)
Set Filters::Noise::Removal::Threshold
Definition: Settings.h:7970
Processing & set(const Filters::Smoothing::Gaussian &value)
Set Filters::Smoothing::Gaussian
Definition: Settings.h:8033
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:8363
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:8186
const Filters & filters() const
Get Filters
Definition: Settings.h:7874
const Settings::Processing::Filters::Outlier & get() const
Definition: Settings.h:8251
Processing & set(const Filters::Noise &value)
Set Filters::Noise
Definition: Settings.h:7949
Processing & set(const Filters::Experimental::ContrastDistortion::Correction &value)
Set Filters::Experimental::ContrastDistortion::Correction
Definition: Settings.h:7907
Processing & set(const Color &value)
Set Color
Definition: Settings.h:7811
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:8327
const Settings::Processing::Filters & get() const
Definition: Settings.h:8127
Processing & set(const Filters::Smoothing::Gaussian::Sigma &value)
Set Filters::Smoothing::Gaussian::Sigma
Definition: Settings.h:8047
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:8277
friend std::ostream & operator<<(std::ostream &stream, const Processing &value)
Operator to send the value as string to a stream
Definition: Settings.h:8379
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:8144
Processing & set(const Filters::Experimental::ContrastDistortion::Removal &value)
Set Filters::Experimental::ContrastDistortion::Removal
Definition: Settings.h:7928
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:8268
Processing & set(const Color::Balance &value)
Set Color::Balance
Definition: Settings.h:7818
const Color & color() const
Get Color
Definition: Settings.h:7799
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:8164
Processing & set(const Filters::Experimental &value)
Set Filters::Experimental
Definition: Settings.h:7893
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:8154
Processing & set(const Filters::Noise::Removal::Enabled &value)
Set Filters::Noise::Removal::Enabled
Definition: Settings.h:7963
Processing & set(const Filters::Experimental::ContrastDistortion::Removal::Enabled &value)
Set Filters::Experimental::ContrastDistortion::Removal::Enabled
Definition: Settings.h:7935
Processing & set(const Filters::Experimental::ContrastDistortion &value)
Set Filters::Experimental::ContrastDistortion
Definition: Settings.h:7900
Processing(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:7660
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:8243
Processing & set(const Color::Experimental::ToneMapping::Enabled &value)
Set Color::Experimental::ToneMapping::Enabled
Definition: Settings.h:7860
const Settings::Processing::Color::Balance & get() const
Definition: Settings.h:8063
Processing & set(const Color::Balance::Red &value)
Set Color::Balance::Red
Definition: Settings.h:7839
bool operator==(const Processing &other) const
Equality operator
Processing & set(const Filters::Outlier::Removal &value)
Set Filters::Outlier::Removal
Definition: Settings.h:7984
Processing & set(const Color::Balance::Green &value)
Set Color::Balance::Green
Definition: Settings.h:7832
bool operator!=(const Processing &other) const
Inequality operator
const Settings::Processing::Filters::Noise & get() const
Definition: Settings.h:8217
const Settings::Processing::Color::Gamma & get() const
Definition: Settings.h:8120
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:7718
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:8071
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:8175
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:8293
Processing & set(const Filters &value)
Set Filters
Definition: Settings.h:7886
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:8234
Processing & set(const Color::Balance::Blue &value)
Set Color::Balance::Blue
Definition: Settings.h:7825
Processing & set(const Color::Gamma &value)
Set Color::Gamma
Definition: Settings.h:7867
Processing & set(const Filters::Smoothing::Gaussian::Enabled &value)
Set Filters::Smoothing::Gaussian::Enabled
Definition: Settings.h:8040
Processing & set(const Filters::Experimental::ContrastDistortion::Correction::Strength &value)
Set Filters::Experimental::ContrastDistortion::Correction::Strength
Definition: Settings.h:7921
const Settings::Processing::Color & get() const
Definition: Settings.h:8055
Processing & set(const Color::Experimental::ToneMapping &value)
Set Color::Experimental::ToneMapping
Definition: Settings.h:7853
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:8225
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:8208
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:8355
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:8336
Processing & set(const Filters::Outlier &value)
Set Filters::Outlier
Definition: Settings.h:7977
Processing & set(const Filters::Noise::Removal &value)
Set Filters::Noise::Removal
Definition: Settings.h:7956
Settings used when capturing with a Zivid camera
Definition: Settings.h:120
Settings & set(const Processing::Filters::Experimental &value)
Set Processing::Filters::Experimental
Definition: Settings.h:8780
Settings(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:8499
Settings & set(const Processing::Filters::Noise::Removal::Enabled &value)
Set Processing::Filters::Noise::Removal::Enabled
Definition: Settings.h:8850
Experimental & experimental()
Get Experimental
Definition: Settings.h:8671
Settings & set(const Processing::Color::Balance::Red &value)
Set Processing::Color::Balance::Red
Definition: Settings.h:8738
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal
Definition: Settings.h:8815
const Settings::Acquisitions & get() const
Definition: Settings.h:8941
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:9087
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:8628
const Settings::Processing::Color::Balance & get() const
Definition: Settings.h:8974
Settings & set(const Processing::Filters::Outlier::Removal::Enabled &value)
Set Processing::Filters::Outlier::Removal::Enabled
Definition: Settings.h:8878
Settings & set(const Processing::Filters::Reflection::Removal::Enabled &value)
Set Processing::Filters::Reflection::Removal::Enabled
Definition: Settings.h:8906
Settings & set(const Processing::Filters::Smoothing::Gaussian::Enabled &value)
Set Processing::Filters::Smoothing::Gaussian::Enabled
Definition: Settings.h:8927
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:8982
Settings & set(const Processing::Filters::Noise::Removal::Threshold &value)
Set Processing::Filters::Noise::Removal::Threshold
Definition: Settings.h:8857
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:9153
Settings & set(const Processing::Color::Balance::Green &value)
Set Processing::Color::Balance::Green
Definition: Settings.h:8731
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:9054
Settings & set(const Processing::Color &value)
Set Processing::Color
Definition: Settings.h:8710
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:9108
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:9202
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:9023
const Settings::Processing::Filters & get() const
Definition: Settings.h:9037
Settings & set(const Processing::Color::Gamma &value)
Set Processing::Color::Gamma
Definition: Settings.h:8766
const Settings::Processing::Filters::Noise & get() const
Definition: Settings.h:9128
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Strength &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Definition: Settings.h:8808
const Settings::Experimental & get() const
Definition: Settings.h:8947
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:8745
Settings & set(const Processing::Filters::Reflection &value)
Set Processing::Filters::Reflection
Definition: Settings.h:8892
Settings & set(const Processing::Color::Balance::Blue &value)
Set Processing::Color::Balance::Blue
Definition: Settings.h:8724
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
Definition: Settings.h:8829
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:9144
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:9014
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:9270
const Acquisitions & acquisitions() const
Get Acquisitions
Definition: Settings.h:8646
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Definition: Settings.h:8822
Settings & set(const Processing::Filters::Smoothing::Gaussian &value)
Set Processing::Filters::Smoothing::Gaussian
Definition: Settings.h:8920
const Settings::Processing::Filters::Smoothing & get() const
Definition: Settings.h:9219
friend std::ostream & operator<<(std::ostream &stream, const Settings &value)
Operator to send the value as string to a stream
Definition: Settings.h:9296
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:9279
const Settings::Processing & get() const
Definition: Settings.h:8960
Settings()
Default constructor
Settings & set(const Processing::Filters::Reflection::Removal &value)
Set Processing::Filters::Reflection::Removal
Definition: Settings.h:8899
Settings & set(const Processing::Color::Experimental::ToneMapping &value)
Set Processing::Color::Experimental::ToneMapping
Definition: Settings.h:8752
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:8561
const Settings::Processing::Color & get() const
Definition: Settings.h:8967
Settings & set(const Processing::Filters::Smoothing &value)
Set Processing::Filters::Smoothing
Definition: Settings.h:8913
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:8934
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:9136
const Settings::Processing::Filters::Outlier & get() const
Definition: Settings.h:9160
Settings & set(const Processing::Color::Balance &value)
Set Processing::Color::Balance
Definition: Settings.h:8717
Settings & set(const Acquisitions &value)
Set Acquisitions
Definition: Settings.h:8658
Processing & processing()
Get Processing
Definition: Settings.h:8697
Settings & set(const Processing::Filters::Experimental::ContrastDistortion &value)
Set Processing::Filters::Experimental::ContrastDistortion
Definition: Settings.h:8787
Settings & set(const Processing::Filters::Noise::Removal &value)
Set Processing::Filters::Noise::Removal
Definition: Settings.h:8843
const Processing & processing() const
Get Processing
Definition: Settings.h:8691
bool operator==(const Settings &other) const
Equality operator
const Settings::Processing::Filters::Experimental & get() const
Definition: Settings.h:9045
const Settings::Experimental::Engine & get() const
Definition: Settings.h:8954
Settings(const std::string &fileName)
Construct Settings by loading from file
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:9064
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Definition: Settings.h:8801
Settings & set(const Processing::Filters::Outlier &value)
Set Processing::Filters::Outlier
Definition: Settings.h:8864
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:9236
Acquisitions & acquisitions()
Get Acquisitions
Definition: Settings.h:8652
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:8434
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:9227
std::string toString() const
Get the value as string
const Settings::Processing::Color::Experimental & get() const
Definition: Settings.h:9006
const Experimental & experimental() const
Get Experimental
Definition: Settings.h:8665
Settings & set(const Experimental::Engine &value)
Set Experimental::Engine
Definition: Settings.h:8684
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:9211
const Settings::Processing::Filters::Reflection & get() const
Definition: Settings.h:9194
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:8998
Settings & set(const Processing::Filters::Noise &value)
Set Processing::Filters::Noise
Definition: Settings.h:8836
Settings & set(const Processing::Color::Experimental::ToneMapping::Enabled &value)
Set Processing::Color::Experimental::ToneMapping::Enabled
Definition: Settings.h:8759
bool operator!=(const Settings &other) const
Inequality operator
Settings & set(const Processing &value)
Set Processing
Definition: Settings.h:8703
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:9097
Settings & set(const Processing::Filters &value)
Set Processing::Filters
Definition: Settings.h:8773
const Settings::Processing::Color::Gamma & get() const
Definition: Settings.h:9030
Settings & set(const Experimental &value)
Set Experimental
Definition: Settings.h:8677
Settings & set(const Processing::Filters::Outlier::Removal::Threshold &value)
Set Processing::Filters::Outlier::Removal::Threshold
Definition: Settings.h:8885
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:9245
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:9186
Settings & set(const Processing::Filters::Outlier::Removal &value)
Set Processing::Filters::Outlier::Removal
Definition: Settings.h:8871
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:9075
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:9120
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:9177
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:9168
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:8990
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction
Definition: Settings.h:8794
NodeType
Definition: NodeType.h:100
Ret validRange(const CameraInfo &cameraInfo)
Definition: SettingsInfo.h:200
The main Zivid namespace. All Zivid code is found here
Definition: Application.h:99