112# pragma warning(push)
113# pragma warning(disable : 4251)
127 static constexpr const char *path{
"" };
130 static constexpr const char *name{
"Settings" };
133 static constexpr const char *description{
134 R
"description(Settings used when capturing with a Zivid camera)description"
137 static constexpr size_t version{ 10 };
147 static constexpr std::array<uint8_t, 3> binaryId{
's',
'e',
't' };
159 static constexpr const char *path{
"Acquisition" };
162 static constexpr const char *name{
"Acquisition" };
165 static constexpr const char *description{ R
"description(Settings for a single acquisition)description" };
177 static constexpr const char *path{
"Acquisition/Aperture" };
180 static constexpr const char *name{
"Aperture" };
183 static constexpr const char *description{
184 R
"description(Aperture setting for the camera. Specified as an f-number (the ratio of lens focal length to
185the effective aperture diameter).
195 return { 1.4, 32.0 };
203 : m_opt{ verifyValue(value) }
224 return m_opt == other.m_opt;
230 return m_opt != other.m_opt;
236 return m_opt < other.m_opt;
242 return m_opt > other.m_opt;
252 void setFromString(
const std::string &value);
254 constexpr ValueType
static verifyValue(
const ValueType &value)
258 :
throw std::out_of_range{
"Aperture{ " + std::to_string(value) +
" } is not in range ["
263 Zivid::DataModel::Detail::Optional<double> m_opt;
265 friend struct DataModel::Detail::Befriend<
Aperture>;
288 static constexpr const char *path{
"Acquisition/Brightness" };
291 static constexpr const char *name{
"Brightness" };
294 static constexpr const char *description{
295 R
"description(Brightness controls the light output from the projector.
297Brightness above 1.0 may be needed when the distance between the camera and the scene is large,
298or in case of high levels of ambient lighting. Brightness above 1.0 is supported on Zivid One
301When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera
302can capture) will be reduced. For Zivid One Plus the duty cycle in boost mode is 50%. For Zivid
303Two the duty cycle is reduced linearly from 100% at brightness 1.0, to 50% at brightness 1.8.
304The duty cycle is calculated over a 10 second period. This limitation is enforced automatically
305by the camera. Calling capture when the duty cycle limit has been reached will cause the camera
306to first wait (sleep) for a duration of time to cool down, before capture will start.
324 : m_opt{ verifyValue(value) }
345 return m_opt == other.m_opt;
351 return m_opt != other.m_opt;
357 return m_opt < other.m_opt;
363 return m_opt > other.m_opt;
373 void setFromString(
const std::string &value);
375 constexpr ValueType
static verifyValue(
const ValueType &value)
379 :
throw std::out_of_range{
"Brightness{ " + std::to_string(value)
380 +
" } is not in range [" + std::to_string(
validRange().min())
381 +
", " + std::to_string(
validRange().max()) +
"]" };
384 Zivid::DataModel::Detail::Optional<double> m_opt;
386 friend struct DataModel::Detail::Befriend<
Brightness>;
397 static constexpr const char *path{
"Acquisition/ExposureTime" };
400 static constexpr const char *name{
"ExposureTime" };
403 static constexpr const char *description{
404 R
"description(Exposure time for each single image in the measurement. Affects frame rate.)description"
413 return { std::chrono::microseconds{ 1677 }, std::chrono::microseconds{ 100000 } };
421 : m_opt{ verifyValue(value) }
428 std::chrono::microseconds
value()
const;
442 return m_opt == other.m_opt;
448 return m_opt != other.m_opt;
454 return m_opt < other.m_opt;
460 return m_opt > other.m_opt;
470 void setFromString(
const std::string &value);
472 constexpr ValueType
static verifyValue(
const ValueType &value)
476 :
throw std::out_of_range{
"ExposureTime{ " + std::to_string(value.count())
477 +
" } is not in range ["
478 + std::to_string(
validRange().min().count()) +
", "
479 + std::to_string(
validRange().max().count()) +
"]" };
482 Zivid::DataModel::Detail::Optional<std::chrono::microseconds> m_opt;
484 friend struct DataModel::Detail::Befriend<
ExposureTime>;
495 static constexpr const char *path{
"Acquisition/Gain" };
498 static constexpr const char *name{
"Gain" };
501 static constexpr const char *description{ R
"description(Analog gain in the camera)description" };
516 explicit constexpr Gain(
double value)
517 : m_opt{ verifyValue(value) }
538 return m_opt == other.m_opt;
544 return m_opt != other.m_opt;
550 return m_opt < other.m_opt;
556 return m_opt > other.m_opt;
566 void setFromString(
const std::string &value);
568 constexpr ValueType
static verifyValue(
const ValueType &value)
572 :
throw std::out_of_range{
"Gain{ " + std::to_string(value) +
" } is not in range ["
577 Zivid::DataModel::Detail::Optional<double> m_opt;
579 friend struct DataModel::Detail::Befriend<
Gain>;
608 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
609 typename std::enable_if<
610 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
614 template<typename... Args>
618 using namespace Zivid::Detail::TypeTraits;
621 AllArgsDecayedAreUnique<Args...>::value,
622 "Found duplicate types among the arguments passed to Acquisition(...). "
623 "Types should be listed at most once.");
625 set(std::forward<Args>(args)...);
642 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
644 template<typename... Args>
648 using namespace Zivid::Detail::TypeTraits;
650 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
652 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
655 AllArgsDecayedAreUnique<Args...>::value,
656 "Found duplicate types among the arguments passed to set(...). "
657 "Types should be listed at most once.");
659 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
677 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
679 template<typename... Args>
683 using namespace Zivid::Detail::TypeTraits;
685 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
687 AllArgsAreDescendantNodes::value,
688 "All arguments passed to copyWith(...) must be descendant nodes.");
691 AllArgsDecayedAreUnique<Args...>::value,
692 "Found duplicate types among the arguments passed to copyWith(...). "
693 "Types should be listed at most once.");
696 copy.
set(std::forward<Args>(args)...);
734 m_brightness = value;
741 return m_exposureTime;
747 return m_exposureTime;
753 m_exposureTime = value;
778 typename std::enable_if<std::is_same<T, Settings::Acquisition::Aperture>::value,
int>::type = 0>
786 typename std::enable_if<std::is_same<T, Settings::Acquisition::Brightness>::value,
int>::type = 0>
794 typename std::enable_if<std::is_same<T, Settings::Acquisition::ExposureTime>::value,
int>::type = 0>
797 return m_exposureTime;
802 typename std::enable_if<std::is_same<T, Settings::Acquisition::Gain>::value,
int>::type = 0>
808 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
814 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
820 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
823 return m_exposureTime;
826 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
868 void setFromString(
const std::string &value);
870 void setFromString(
const std::string &fullPath,
const std::string &value);
872 std::string getString(
const std::string &fullPath)
const;
875 Brightness m_brightness;
876 ExposureTime m_exposureTime;
879 friend struct DataModel::Detail::Befriend<
Acquisition>;
890 static constexpr const char *path{
"Acquisitions" };
893 static constexpr const char *name{
"Acquisitions" };
896 static constexpr const char *description{ R
"description(List of Acquisition objects)description" };
904 return { 0, std::numeric_limits<ValueType::size_type>::max() };
912 : m_value{ std::move(value) }
916 explicit Acquisitions(std::initializer_list<Settings::Acquisition> value)
921 const std::vector<Settings::Acquisition> &
value()
const;
927 std::size_t
size() const noexcept;
930 bool isEmpty() const noexcept;
937 template<typename... Args>
938 void emplaceBack(Args &&...args)
940 m_value.emplace_back(std::forward<Args>(args)...);
975 for(
auto &child : m_value)
985 for(
const auto &child : m_value)
994 return m_value == other.m_value;
1000 return m_value != other.m_value;
1010 void setFromString(
const std::string &value);
1012 std::vector<Settings::Acquisition> m_value{};
1014 friend struct DataModel::Detail::Befriend<
Acquisitions>;
1031 static constexpr const char *path{
"Diagnostics" };
1034 static constexpr const char *name{
"Diagnostics" };
1037 static constexpr const char *description{
1038 R
"description(When Diagnostics is enabled, extra diagnostic information is recorded during capture. This extra
1039information is included when saving the frame to a .zdf file, and will help Zivid's support team
1040to provide better assistance.
1042Enabling Diagnostics increases the capture time and the RAM usage. It will also increase the size of the
1043.zdf file. It is recommended to enable Diagnostics only when reporting issues to Zivid's support team.
1055 static constexpr const char *path{
"Diagnostics/Enabled" };
1058 static constexpr const char *name{
"Enabled" };
1061 static constexpr const char *description{ R
"description(Enable diagnostics)description" };
1071 return {
false,
true };
1100 return m_opt == other.m_opt;
1106 return m_opt != other.m_opt;
1116 void setFromString(
const std::string &value);
1118 Zivid::DataModel::Detail::Optional<bool> m_opt;
1120 friend struct DataModel::Detail::Befriend<
Enabled>;
1142 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1143 typename std::enable_if<
1144 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1148 template<typename... Args>
1152 using namespace Zivid::Detail::TypeTraits;
1155 AllArgsDecayedAreUnique<Args...>::value,
1156 "Found duplicate types among the arguments passed to Diagnostics(...). "
1157 "Types should be listed at most once.");
1159 set(std::forward<Args>(args)...);
1173 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1175 template<typename... Args>
1179 using namespace Zivid::Detail::TypeTraits;
1181 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1183 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1186 AllArgsDecayedAreUnique<Args...>::value,
1187 "Found duplicate types among the arguments passed to set(...). "
1188 "Types should be listed at most once.");
1190 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1205 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1207 template<typename... Args>
1211 using namespace Zivid::Detail::TypeTraits;
1213 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1215 AllArgsAreDescendantNodes::value,
1216 "All arguments passed to copyWith(...) must be descendant nodes.");
1219 AllArgsDecayedAreUnique<Args...>::value,
1220 "Found duplicate types among the arguments passed to copyWith(...). "
1221 "Types should be listed at most once.");
1224 copy.
set(std::forward<Args>(args)...);
1249 typename std::enable_if<std::is_same<T, Settings::Diagnostics::Enabled>::value,
int>::type = 0>
1255 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1262 template<
typename F>
1269 template<
typename F>
1291 void setFromString(
const std::string &value);
1293 void setFromString(
const std::string &fullPath,
const std::string &value);
1295 std::string getString(
const std::string &fullPath)
const;
1299 friend struct DataModel::Detail::Befriend<
Diagnostics>;
1310 static constexpr const char *path{
"Experimental" };
1313 static constexpr const char *name{
"Experimental" };
1316 static constexpr const char *description{
1317 R
"description(Experimental features. These settings may be changed, renamed, moved or deleted in the future.)description"
1336 static constexpr const char *path{
"Experimental/Engine" };
1339 static constexpr const char *name{
"Engine" };
1342 static constexpr const char *description{ R
"description(Set the Zivid Vision Engine to use.
1344The Phase Engine is the current default Zivid Vision Engine.
1346The Stripe Engine uses anti-reflection technology to suppress interreflection artifacts
1347and improve data quality on shiny objects like cylinders and chrome-plated parts.
1348Additional acquisition and processing time are required for the Stripe Engine.
1349The Stripe Engine is currently experimental, and may be changed and improved in the future.
1364 return { ValueType::phase, ValueType::stripe };
1372 : m_opt{ verifyValue(value) }
1399 return m_opt == other.m_opt;
1405 return m_opt != other.m_opt;
1415 void setFromString(
const std::string &value);
1417 constexpr ValueType
static verifyValue(
const ValueType &value)
1419 return value == ValueType::phase || value == ValueType::stripe
1421 :
throw std::invalid_argument{
1422 "Invalid value: Engine{ "
1423 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
1427 Zivid::DataModel::Detail::Optional<ValueType> m_opt;
1429 friend struct DataModel::Detail::Befriend<
Engine>;
1451 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1452 typename std::enable_if<
1453 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1457 template<typename... Args>
1461 using namespace Zivid::Detail::TypeTraits;
1464 AllArgsDecayedAreUnique<Args...>::value,
1465 "Found duplicate types among the arguments passed to Experimental(...). "
1466 "Types should be listed at most once.");
1468 set(std::forward<Args>(args)...);
1482 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1484 template<typename... Args>
1488 using namespace Zivid::Detail::TypeTraits;
1490 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1492 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1495 AllArgsDecayedAreUnique<Args...>::value,
1496 "Found duplicate types among the arguments passed to set(...). "
1497 "Types should be listed at most once.");
1499 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1514 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1516 template<typename... Args>
1520 using namespace Zivid::Detail::TypeTraits;
1522 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1524 AllArgsAreDescendantNodes::value,
1525 "All arguments passed to copyWith(...) must be descendant nodes.");
1528 AllArgsDecayedAreUnique<Args...>::value,
1529 "Found duplicate types among the arguments passed to copyWith(...). "
1530 "Types should be listed at most once.");
1533 copy.
set(std::forward<Args>(args)...);
1558 typename std::enable_if<std::is_same<T, Settings::Experimental::Engine>::value,
int>::type = 0>
1564 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1571 template<
typename F>
1578 template<
typename F>
1600 void setFromString(
const std::string &value);
1602 void setFromString(
const std::string &fullPath,
const std::string &value);
1604 std::string getString(
const std::string &fullPath)
const;
1608 friend struct DataModel::Detail::Befriend<
Experimental>;
1619 static constexpr const char *path{
"Processing" };
1622 static constexpr const char *name{
"Processing" };
1625 static constexpr const char *description{
1626 R
"description(Settings related to processing of a capture, including filters and color balance)description"
1637 static constexpr const char *path{
"Processing/Color" };
1640 static constexpr const char *name{
"Color" };
1643 static constexpr const char *description{ R
"description(Color settings)description" };
1653 static constexpr const char *path{
"Processing/Color/Balance" };
1656 static constexpr const char *name{
"Balance" };
1659 static constexpr const char *description{ R
"description(Color balance settings)description" };
1669 static constexpr const char *path{
"Processing/Color/Balance/Blue" };
1672 static constexpr const char *name{
"Blue" };
1675 static constexpr const char *description{
1676 R
"description(Digital gain applied to blue channel)description"
1685 return { 1.0, 8.0 };
1692 explicit constexpr Blue(
double value)
1693 : m_opt{ verifyValue(value) }
1714 return m_opt == other.m_opt;
1720 return m_opt != other.m_opt;
1726 return m_opt < other.m_opt;
1732 return m_opt > other.m_opt;
1742 void setFromString(
const std::string &value);
1744 constexpr ValueType
static verifyValue(
const ValueType &value)
1748 :
throw std::out_of_range{
"Blue{ " + std::to_string(value)
1749 +
" } is not in range ["
1751 + std::to_string(
validRange().max()) +
"]" };
1754 Zivid::DataModel::Detail::Optional<double> m_opt;
1756 friend struct DataModel::Detail::Befriend<
Blue>;
1767 static constexpr const char *path{
"Processing/Color/Balance/Green" };
1770 static constexpr const char *name{
"Green" };
1773 static constexpr const char *description{
1774 R
"description(Digital gain applied to green channel)description"
1783 return { 1.0, 8.0 };
1791 : m_opt{ verifyValue(value) }
1812 return m_opt == other.m_opt;
1818 return m_opt != other.m_opt;
1824 return m_opt < other.m_opt;
1830 return m_opt > other.m_opt;
1840 void setFromString(
const std::string &value);
1842 constexpr ValueType
static verifyValue(
const ValueType &value)
1846 :
throw std::out_of_range{
"Green{ " + std::to_string(value)
1847 +
" } is not in range ["
1849 + std::to_string(
validRange().max()) +
"]" };
1852 Zivid::DataModel::Detail::Optional<double> m_opt;
1854 friend struct DataModel::Detail::Befriend<
Green>;
1865 static constexpr const char *path{
"Processing/Color/Balance/Red" };
1868 static constexpr const char *name{
"Red" };
1871 static constexpr const char *description{
1872 R
"description(Digital gain applied to red channel)description"
1881 return { 1.0, 8.0 };
1888 explicit constexpr Red(
double value)
1889 : m_opt{ verifyValue(value) }
1910 return m_opt == other.m_opt;
1916 return m_opt != other.m_opt;
1922 return m_opt < other.m_opt;
1928 return m_opt > other.m_opt;
1938 void setFromString(
const std::string &value);
1940 constexpr ValueType
static verifyValue(
const ValueType &value)
1944 :
throw std::out_of_range{
"Red{ " + std::to_string(value)
1945 +
" } is not in range ["
1947 + std::to_string(
validRange().max()) +
"]" };
1950 Zivid::DataModel::Detail::Optional<double> m_opt;
1952 friend struct DataModel::Detail::Befriend<
Red>;
1979 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1980 typename std::enable_if<
1981 Zivid::Detail::TypeTraits::
1982 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
1985 template<typename... Args>
1989 using namespace Zivid::Detail::TypeTraits;
1992 AllArgsDecayedAreUnique<Args...>::value,
1993 "Found duplicate types among the arguments passed to Balance(...). "
1994 "Types should be listed at most once.");
1996 set(std::forward<Args>(args)...);
2012 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2014 template<typename... Args>
2018 using namespace Zivid::Detail::TypeTraits;
2020 using AllArgsAreDescendantNodes =
2021 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2023 AllArgsAreDescendantNodes::value,
2024 "All arguments passed to set(...) must be descendant nodes.");
2027 AllArgsDecayedAreUnique<Args...>::value,
2028 "Found duplicate types among the arguments passed to set(...). "
2029 "Types should be listed at most once.");
2031 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2048 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2050 template<typename... Args>
2054 using namespace Zivid::Detail::TypeTraits;
2056 using AllArgsAreDescendantNodes =
2057 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2059 AllArgsAreDescendantNodes::value,
2060 "All arguments passed to copyWith(...) must be descendant nodes.");
2063 AllArgsDecayedAreUnique<Args...>::value,
2064 "Found duplicate types among the arguments passed to copyWith(...). "
2065 "Types should be listed at most once.");
2068 copy.
set(std::forward<Args>(args)...);
2131 typename std::enable_if<
2132 std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
2141 typename std::enable_if<
2142 std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
2152 enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::type = 0>
2158 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2164 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2170 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
2177 template<
typename F>
2186 template<
typename F>
2210 void setFromString(
const std::string &value);
2212 void setFromString(
const std::string &fullPath,
const std::string &value);
2214 std::string getString(
const std::string &fullPath)
const;
2220 friend struct DataModel::Detail::Befriend<
Balance>;
2231 static constexpr const char *path{
"Processing/Color/Experimental" };
2234 static constexpr const char *name{
"Experimental" };
2237 static constexpr const char *description{
2238 R
"description(Experimental color settings. These may be renamed, moved or deleted in the future.)description"
2249 static constexpr const char *path{
"Processing/Color/Experimental/ToneMapping" };
2252 static constexpr const char *name{
"ToneMapping" };
2255 static constexpr const char *description{ R
"description(Tonemapping settings.)description" };
2273 static constexpr const char *path{
"Processing/Color/Experimental/ToneMapping/Enabled" };
2276 static constexpr const char *name{
"Enabled" };
2279 static constexpr const char *description{
2280 R
"description(This setting controls when tone mapping of colors is performed. Tone mapping will normalize
2281the captured color image to the full available output range by applying a gain factor to the
2282colors. For single-captures this can be used to brighten dark images. For HDR captures this
2283is required to map high-dynamic-range colors to the more limited dynamic range output.
2285This setting has two possible values. `Always` will perform tone-mapping for all captures.
2286`HdrOnly` will perform tone mapping for HDR captures but not for single-captures. It is not
2287possible to disable tone mapping for HDR captures.
2303 return { ValueType::always, ValueType::hdrOnly };
2311 : m_opt{ verifyValue(value) }
2338 return m_opt == other.m_opt;
2344 return m_opt != other.m_opt;
2354 void setFromString(
const std::string &value);
2356 constexpr ValueType
static verifyValue(
const ValueType &value)
2358 return value == ValueType::always || value == ValueType::hdrOnly
2360 :
throw std::invalid_argument{
2361 "Invalid value: Enabled{ "
2363 static_cast<std::underlying_type<ValueType>::type
>(value))
2368 Zivid::DataModel::Detail::Optional<ValueType> m_opt;
2370 friend struct DataModel::Detail::Befriend<
Enabled>;
2373 using Descendants = std::tuple<Settings::Processing::Color::Experimental::ToneMapping::Enabled>;
2392 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2393 typename std::enable_if<
2394 Zivid::Detail::TypeTraits::
2395 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
2398 template<typename... Args>
2402 using namespace Zivid::Detail::TypeTraits;
2405 AllArgsDecayedAreUnique<Args...>::value,
2406 "Found duplicate types among the arguments passed to ToneMapping(...). "
2407 "Types should be listed at most once.");
2409 set(std::forward<Args>(args)...);
2423 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2425 template<typename... Args>
2429 using namespace Zivid::Detail::TypeTraits;
2431 using AllArgsAreDescendantNodes =
2432 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2434 AllArgsAreDescendantNodes::value,
2435 "All arguments passed to set(...) must be descendant nodes.");
2438 AllArgsDecayedAreUnique<Args...>::value,
2439 "Found duplicate types among the arguments passed to set(...). "
2440 "Types should be listed at most once.");
2442 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2457 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2459 template<typename... Args>
2463 using namespace Zivid::Detail::TypeTraits;
2465 using AllArgsAreDescendantNodes =
2466 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2468 AllArgsAreDescendantNodes::value,
2469 "All arguments passed to copyWith(...) must be descendant nodes.");
2472 AllArgsDecayedAreUnique<Args...>::value,
2473 "Found duplicate types among the arguments passed to copyWith(...). "
2474 "Types should be listed at most once.");
2477 copy.
set(std::forward<Args>(args)...);
2502 typename std::enable_if<
2503 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
2510 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2517 template<
typename F>
2524 template<
typename F>
2546 void setFromString(
const std::string &value);
2548 void setFromString(
const std::string &fullPath,
const std::string &value);
2550 std::string getString(
const std::string &fullPath)
const;
2554 friend struct DataModel::Detail::Befriend<
ToneMapping>;
2579 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2580 typename std::enable_if<
2581 Zivid::Detail::TypeTraits::
2582 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
2585 template<typename... Args>
2589 using namespace Zivid::Detail::TypeTraits;
2592 AllArgsDecayedAreUnique<Args...>::value,
2593 "Found duplicate types among the arguments passed to Experimental(...). "
2594 "Types should be listed at most once.");
2596 set(std::forward<Args>(args)...);
2611 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2613 template<typename... Args>
2617 using namespace Zivid::Detail::TypeTraits;
2619 using AllArgsAreDescendantNodes =
2620 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2622 AllArgsAreDescendantNodes::value,
2623 "All arguments passed to set(...) must be descendant nodes.");
2626 AllArgsDecayedAreUnique<Args...>::value,
2627 "Found duplicate types among the arguments passed to set(...). "
2628 "Types should be listed at most once.");
2630 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...>;
2657 AllArgsAreDescendantNodes::value,
2658 "All arguments passed to copyWith(...) must be descendant nodes.");
2661 AllArgsDecayedAreUnique<Args...>::value,
2662 "Found duplicate types among the arguments passed to copyWith(...). "
2663 "Types should be listed at most once.");
2666 copy.
set(std::forward<Args>(args)...);
2673 return m_toneMapping;
2679 return m_toneMapping;
2685 m_toneMapping = value;
2692 m_toneMapping.
set(value);
2698 typename std::enable_if<
2699 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
2703 return m_toneMapping;
2708 typename std::enable_if<
2709 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
2716 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2719 return m_toneMapping;
2723 template<
typename F>
2730 template<
typename F>
2752 void setFromString(
const std::string &value);
2754 void setFromString(
const std::string &fullPath,
const std::string &value);
2756 std::string getString(
const std::string &fullPath)
const;
2760 friend struct DataModel::Detail::Befriend<
Experimental>;
2773 static constexpr const char *path{
"Processing/Color/Gamma" };
2776 static constexpr const char *name{
"Gamma" };
2779 static constexpr const char *description{
2780 R
"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma
2781greater than 1 makes the colors darker.
2791 return { 0.25, 1.5 };
2799 : m_opt{ verifyValue(value) }
2820 return m_opt == other.m_opt;
2826 return m_opt != other.m_opt;
2832 return m_opt < other.m_opt;
2838 return m_opt > other.m_opt;
2848 void setFromString(
const std::string &value);
2850 constexpr ValueType
static verifyValue(
const ValueType &value)
2854 :
throw std::out_of_range{
"Gamma{ " + std::to_string(value) +
" } is not in range ["
2856 + std::to_string(
validRange().max()) +
"]" };
2859 Zivid::DataModel::Detail::Optional<double> m_opt;
2861 friend struct DataModel::Detail::Befriend<
Gamma>;
2898 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2899 typename std::enable_if<
2900 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2904 template<typename... Args>
2908 using namespace Zivid::Detail::TypeTraits;
2911 AllArgsDecayedAreUnique<Args...>::value,
2912 "Found duplicate types among the arguments passed to Color(...). "
2913 "Types should be listed at most once.");
2915 set(std::forward<Args>(args)...);
2936 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2938 template<typename... Args>
2942 using namespace Zivid::Detail::TypeTraits;
2944 using AllArgsAreDescendantNodes =
2945 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2947 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2950 AllArgsDecayedAreUnique<Args...>::value,
2951 "Found duplicate types among the arguments passed to set(...). "
2952 "Types should be listed at most once.");
2954 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2976 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2978 template<typename... Args>
2982 using namespace Zivid::Detail::TypeTraits;
2984 using AllArgsAreDescendantNodes =
2985 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2987 AllArgsAreDescendantNodes::value,
2988 "All arguments passed to copyWith(...) must be descendant nodes.");
2991 AllArgsDecayedAreUnique<Args...>::value,
2992 "Found duplicate types among the arguments passed to copyWith(...). "
2993 "Types should be listed at most once.");
2996 copy.
set(std::forward<Args>(args)...);
3022 m_balance.
set(value);
3029 m_balance.
set(value);
3036 m_balance.
set(value);
3043 return m_experimental;
3049 return m_experimental;
3055 m_experimental = value;
3062 m_experimental.
set(value);
3069 m_experimental.
set(value);
3094 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type =
3103 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
int>::
3112 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
int>::
3121 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::
3130 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
int>::
3134 return m_experimental;
3139 typename std::enable_if<
3140 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
3149 typename std::enable_if<
3150 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
3159 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
3165 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3171 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3174 return m_experimental;
3177 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
3184 template<
typename F>
3193 template<
typename F>
3217 void setFromString(
const std::string &value);
3219 void setFromString(
const std::string &fullPath,
const std::string &value);
3221 std::string getString(
const std::string &fullPath)
const;
3227 friend struct DataModel::Detail::Befriend<
Color>;
3238 static constexpr const char *path{
"Processing/Filters" };
3241 static constexpr const char *name{
"Filters" };
3244 static constexpr const char *description{ R
"description(Filters)description" };
3254 static constexpr const char *path{
"Processing/Filters/Experimental" };
3257 static constexpr const char *name{
"Experimental" };
3260 static constexpr const char *description{
3261 R
"description(Experimental filters. These may be renamed, moved or deleted in the future.)description"
3276 static constexpr const char *path{
"Processing/Filters/Experimental/ContrastDistortion" };
3279 static constexpr const char *name{
"ContrastDistortion" };
3282 static constexpr const char *description{
3283 R
"description(Corrects artifacts that appear when imaging scenes with large texture gradients
3284or high contrast. These artifacts are caused by blurring in the lens. The filter
3285works best when aperture values are chosen such that the camera has quite good focus.
3286The filter also supports removing the points that experience a large correction.
3298 static constexpr const char *path{
3299 "Processing/Filters/Experimental/ContrastDistortion/Correction"
3303 static constexpr const char *name{
"Correction" };
3306 static constexpr const char *description{ R
"description(Correction)description" };
3316 static constexpr const char *path{
3317 "Processing/Filters/Experimental/ContrastDistortion/Correction/Enabled"
3321 static constexpr const char *name{
"Enabled" };
3324 static constexpr const char *description{ R
"description(Enabled)description" };
3334 return {
false,
true };
3363 return m_opt == other.m_opt;
3369 return m_opt != other.m_opt;
3379 void setFromString(
const std::string &value);
3381 Zivid::DataModel::Detail::Optional<bool> m_opt;
3383 friend struct DataModel::Detail::Befriend<
Enabled>;
3394 static constexpr const char *path{
3395 "Processing/Filters/Experimental/ContrastDistortion/Correction/Strength"
3399 static constexpr const char *name{
"Strength" };
3402 static constexpr const char *description{
3403 R
"description(Higher values gives more correction.)description"
3412 return { 0.0, 1.0 };
3420 : m_opt{ verifyValue(value) }
3441 return m_opt == other.m_opt;
3447 return m_opt != other.m_opt;
3453 return m_opt < other.m_opt;
3459 return m_opt > other.m_opt;
3469 void setFromString(
const std::string &value);
3471 constexpr ValueType
static verifyValue(
const ValueType &value)
3475 :
throw std::out_of_range{
"Strength{ " + std::to_string(value)
3476 +
" } is not in range ["
3478 + std::to_string(
validRange().max()) +
"]" };
3481 Zivid::DataModel::Detail::Optional<double> m_opt;
3483 friend struct DataModel::Detail::Befriend<
Strength>;
3508 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3509 typename std::enable_if<
3510 Zivid::Detail::TypeTraits::
3511 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
3514 template<typename... Args>
3518 using namespace Zivid::Detail::TypeTraits;
3521 AllArgsDecayedAreUnique<Args...>::value,
3522 "Found duplicate types among the arguments passed to Correction(...). "
3523 "Types should be listed at most once.");
3525 set(std::forward<Args>(args)...);
3540 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3542 template<typename... Args>
3546 using namespace Zivid::Detail::TypeTraits;
3548 using AllArgsAreDescendantNodes =
3549 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3551 AllArgsAreDescendantNodes::value,
3552 "All arguments passed to set(...) must be descendant nodes.");
3555 AllArgsDecayedAreUnique<Args...>::value,
3556 "Found duplicate types among the arguments passed to set(...). "
3557 "Types should be listed at most once.");
3559 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3575 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3577 template<typename... Args>
3581 using namespace Zivid::Detail::TypeTraits;
3583 using AllArgsAreDescendantNodes =
3584 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3586 AllArgsAreDescendantNodes::value,
3587 "All arguments passed to copyWith(...) must be descendant nodes.");
3590 AllArgsDecayedAreUnique<Args...>::value,
3591 "Found duplicate types among the arguments passed to copyWith(...). "
3592 "Types should be listed at most once.");
3595 copy.
set(std::forward<Args>(args)...);
3639 typename std::enable_if<
3642 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
3653 typename std::enable_if<
3656 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
3666 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3673 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3682 template<
typename F>
3690 template<
typename F>
3713 void setFromString(
const std::string &value);
3715 void setFromString(
const std::string &fullPath,
const std::string &value);
3717 std::string getString(
const std::string &fullPath)
const;
3722 friend struct DataModel::Detail::Befriend<
Correction>;
3733 static constexpr const char *path{
3734 "Processing/Filters/Experimental/ContrastDistortion/Removal"
3738 static constexpr const char *name{
"Removal" };
3741 static constexpr const char *description{ R
"description(Removal)description" };
3751 static constexpr const char *path{
3752 "Processing/Filters/Experimental/ContrastDistortion/Removal/Enabled"
3756 static constexpr const char *name{
"Enabled" };
3759 static constexpr const char *description{ R
"description(Enabled)description" };
3769 return {
false,
true };
3798 return m_opt == other.m_opt;
3804 return m_opt != other.m_opt;
3814 void setFromString(
const std::string &value);
3816 Zivid::DataModel::Detail::Optional<bool> m_opt;
3818 friend struct DataModel::Detail::Befriend<
Enabled>;
3829 static constexpr const char *path{
3830 "Processing/Filters/Experimental/ContrastDistortion/Removal/Threshold"
3834 static constexpr const char *name{
"Threshold" };
3837 static constexpr const char *description{
3838 R
"description(Higher values remove more points.)description"
3847 return { 0.0, 1.0 };
3855 : m_opt{ verifyValue(value) }
3876 return m_opt == other.m_opt;
3882 return m_opt != other.m_opt;
3888 return m_opt < other.m_opt;
3894 return m_opt > other.m_opt;
3904 void setFromString(
const std::string &value);
3906 constexpr ValueType
static verifyValue(
const ValueType &value)
3910 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
3911 +
" } is not in range ["
3913 + std::to_string(
validRange().max()) +
"]" };
3916 Zivid::DataModel::Detail::Optional<double> m_opt;
3918 friend struct DataModel::Detail::Befriend<
Threshold>;
3943 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3944 typename std::enable_if<
3945 Zivid::Detail::TypeTraits::
3946 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
3949 template<typename... Args>
3953 using namespace Zivid::Detail::TypeTraits;
3956 AllArgsDecayedAreUnique<Args...>::value,
3957 "Found duplicate types among the arguments passed to Removal(...). "
3958 "Types should be listed at most once.");
3960 set(std::forward<Args>(args)...);
3975 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3977 template<typename... Args>
3981 using namespace Zivid::Detail::TypeTraits;
3983 using AllArgsAreDescendantNodes =
3984 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3986 AllArgsAreDescendantNodes::value,
3987 "All arguments passed to set(...) must be descendant nodes.");
3990 AllArgsDecayedAreUnique<Args...>::value,
3991 "Found duplicate types among the arguments passed to set(...). "
3992 "Types should be listed at most once.");
3994 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4010 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4012 template<typename... Args>
4016 using namespace Zivid::Detail::TypeTraits;
4018 using AllArgsAreDescendantNodes =
4019 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4021 AllArgsAreDescendantNodes::value,
4022 "All arguments passed to copyWith(...) must be descendant nodes.");
4025 AllArgsDecayedAreUnique<Args...>::value,
4026 "Found duplicate types among the arguments passed to copyWith(...). "
4027 "Types should be listed at most once.");
4030 copy.
set(std::forward<Args>(args)...);
4068 m_threshold = value;
4074 typename std::enable_if<
4077 Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::
4088 typename std::enable_if<
4091 Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::
4100 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4107 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4115 template<
typename F>
4123 template<
typename F>
4146 void setFromString(
const std::string &value);
4148 void setFromString(
const std::string &fullPath,
const std::string &value);
4150 std::string getString(
const std::string &fullPath)
const;
4155 friend struct DataModel::Detail::Befriend<
Removal>;
4188 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4189 typename std::enable_if<
4190 Zivid::Detail::TypeTraits::
4191 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
4194 template<typename... Args>
4198 using namespace Zivid::Detail::TypeTraits;
4201 AllArgsDecayedAreUnique<Args...>::value,
4202 "Found duplicate types among the arguments passed to ContrastDistortion(...). "
4203 "Types should be listed at most once.");
4205 set(std::forward<Args>(args)...);
4224 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4226 template<typename... Args>
4230 using namespace Zivid::Detail::TypeTraits;
4232 using AllArgsAreDescendantNodes =
4233 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4235 AllArgsAreDescendantNodes::value,
4236 "All arguments passed to set(...) must be descendant nodes.");
4239 AllArgsDecayedAreUnique<Args...>::value,
4240 "Found duplicate types among the arguments passed to set(...). "
4241 "Types should be listed at most once.");
4243 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4263 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4265 template<typename... Args>
4269 using namespace Zivid::Detail::TypeTraits;
4271 using AllArgsAreDescendantNodes =
4272 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4274 AllArgsAreDescendantNodes::value,
4275 "All arguments passed to copyWith(...) must be descendant nodes.");
4278 AllArgsDecayedAreUnique<Args...>::value,
4279 "Found duplicate types among the arguments passed to copyWith(...). "
4280 "Types should be listed at most once.");
4283 copy.
set(std::forward<Args>(args)...);
4290 return m_correction;
4296 return m_correction;
4302 m_correction = value;
4309 m_correction.
set(value);
4316 m_correction.
set(value);
4342 m_removal.
set(value);
4349 m_removal.
set(value);
4355 typename std::enable_if<
4362 return m_correction;
4367 typename std::enable_if<
4370 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
4376 return m_correction.get<
4382 typename std::enable_if<
4385 Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::
4391 return m_correction.get<Settings::Processing::Filters::Experimental::ContrastDistortion::
4392 Correction::Strength>();
4397 typename std::enable_if<
4409 typename std::enable_if<
4418 return m_removal.get<
4424 typename std::enable_if<
4427 Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::
4433 return m_removal.get<
4437 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4440 return m_correction;
4443 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4450 template<
typename F>
4458 template<
typename F>
4481 void setFromString(
const std::string &value);
4483 void setFromString(
const std::string &fullPath,
const std::string &value);
4485 std::string getString(
const std::string &fullPath)
const;
4487 Correction m_correction;
4525 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4526 typename std::enable_if<
4527 Zivid::Detail::TypeTraits::
4528 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
4531 template<typename... Args>
4535 using namespace Zivid::Detail::TypeTraits;
4538 AllArgsDecayedAreUnique<Args...>::value,
4539 "Found duplicate types among the arguments passed to Experimental(...). "
4540 "Types should be listed at most once.");
4542 set(std::forward<Args>(args)...);
4562 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4564 template<typename... Args>
4568 using namespace Zivid::Detail::TypeTraits;
4570 using AllArgsAreDescendantNodes =
4571 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4573 AllArgsAreDescendantNodes::value,
4574 "All arguments passed to set(...) must be descendant nodes.");
4577 AllArgsDecayedAreUnique<Args...>::value,
4578 "Found duplicate types among the arguments passed to set(...). "
4579 "Types should be listed at most once.");
4581 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4602 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4604 template<typename... Args>
4608 using namespace Zivid::Detail::TypeTraits;
4610 using AllArgsAreDescendantNodes =
4611 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4613 AllArgsAreDescendantNodes::value,
4614 "All arguments passed to copyWith(...) must be descendant nodes.");
4617 AllArgsDecayedAreUnique<Args...>::value,
4618 "Found duplicate types among the arguments passed to copyWith(...). "
4619 "Types should be listed at most once.");
4622 copy.
set(std::forward<Args>(args)...);
4629 return m_contrastDistortion;
4635 return m_contrastDistortion;
4641 m_contrastDistortion = value;
4648 m_contrastDistortion.
set(value);
4655 m_contrastDistortion.
set(value);
4662 m_contrastDistortion.
set(value);
4669 m_contrastDistortion.
set(value);
4676 m_contrastDistortion.
set(value);
4683 m_contrastDistortion.
set(value);
4689 typename std::enable_if<
4690 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
4694 return m_contrastDistortion;
4699 typename std::enable_if<
4706 return m_contrastDistortion
4712 typename std::enable_if<
4721 return m_contrastDistortion.get<
4727 typename std::enable_if<
4736 return m_contrastDistortion.get<
4742 typename std::enable_if<
4743 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::
4748 return m_contrastDistortion
4754 typename std::enable_if<
4762 return m_contrastDistortion
4768 typename std::enable_if<
4777 return m_contrastDistortion
4781 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4784 return m_contrastDistortion;
4788 template<
typename F>
4791 f(m_contrastDistortion);
4795 template<
typename F>
4798 f(m_contrastDistortion);
4817 void setFromString(
const std::string &value);
4819 void setFromString(
const std::string &fullPath,
const std::string &value);
4821 std::string getString(
const std::string &fullPath)
const;
4825 friend struct DataModel::Detail::Befriend<
Experimental>;
4836 static constexpr const char *path{
"Processing/Filters/Noise" };
4839 static constexpr const char *name{
"Noise" };
4842 static constexpr const char *description{
4843 R
"description(Contains a filter that removes points with low signal-to-noise ratio (SNR))description"
4854 static constexpr const char *path{
"Processing/Filters/Noise/Removal" };
4857 static constexpr const char *name{
"Removal" };
4860 static constexpr const char *description{
4861 R
"description(Discard points with signal-to-noise ratio (SNR) values below a threshold)description"
4872 static constexpr const char *path{
"Processing/Filters/Noise/Removal/Enabled" };
4875 static constexpr const char *name{
"Enabled" };
4878 static constexpr const char *description{
4879 R
"description(Enable or disable the SNR filter)description"
4890 return {
false,
true };
4919 return m_opt == other.m_opt;
4925 return m_opt != other.m_opt;
4935 void setFromString(
const std::string &value);
4937 Zivid::DataModel::Detail::Optional<bool> m_opt;
4939 friend struct DataModel::Detail::Befriend<
Enabled>;
4950 static constexpr const char *path{
"Processing/Filters/Noise/Removal/Threshold" };
4953 static constexpr const char *name{
"Threshold" };
4956 static constexpr const char *description{
4957 R
"description(Discard points with signal-to-noise ratio (SNR) below the given value)description"
4966 return { 0.0, 100.0 };
4974 : m_opt{ verifyValue(value) }
4995 return m_opt == other.m_opt;
5001 return m_opt != other.m_opt;
5007 return m_opt < other.m_opt;
5013 return m_opt > other.m_opt;
5023 void setFromString(
const std::string &value);
5025 constexpr ValueType
static verifyValue(
const ValueType &value)
5029 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
5030 +
" } is not in range ["
5032 + std::to_string(
validRange().max()) +
"]" };
5035 Zivid::DataModel::Detail::Optional<double> m_opt;
5037 friend struct DataModel::Detail::Befriend<
Threshold>;
5062 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5063 typename std::enable_if<
5064 Zivid::Detail::TypeTraits::
5065 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
5068 template<typename... Args>
5072 using namespace Zivid::Detail::TypeTraits;
5075 AllArgsDecayedAreUnique<Args...>::value,
5076 "Found duplicate types among the arguments passed to Removal(...). "
5077 "Types should be listed at most once.");
5079 set(std::forward<Args>(args)...);
5094 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5096 template<typename... Args>
5100 using namespace Zivid::Detail::TypeTraits;
5102 using AllArgsAreDescendantNodes =
5103 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5105 AllArgsAreDescendantNodes::value,
5106 "All arguments passed to set(...) must be descendant nodes.");
5109 AllArgsDecayedAreUnique<Args...>::value,
5110 "Found duplicate types among the arguments passed to set(...). "
5111 "Types should be listed at most once.");
5113 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5129 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5131 template<typename... Args>
5135 using namespace Zivid::Detail::TypeTraits;
5137 using AllArgsAreDescendantNodes =
5138 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5140 AllArgsAreDescendantNodes::value,
5141 "All arguments passed to copyWith(...) must be descendant nodes.");
5144 AllArgsDecayedAreUnique<Args...>::value,
5145 "Found duplicate types among the arguments passed to copyWith(...). "
5146 "Types should be listed at most once.");
5149 copy.
set(std::forward<Args>(args)...);
5187 m_threshold = value;
5193 typename std::enable_if<
5194 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
5203 typename std::enable_if<
5204 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
5211 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5217 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
5224 template<
typename F>
5232 template<
typename F>
5255 void setFromString(
const std::string &value);
5257 void setFromString(
const std::string &fullPath,
const std::string &value);
5259 std::string getString(
const std::string &fullPath)
const;
5264 friend struct DataModel::Detail::Befriend<
Removal>;
5291 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5292 typename std::enable_if<
5293 Zivid::Detail::TypeTraits::
5294 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
5297 template<typename... Args>
5301 using namespace Zivid::Detail::TypeTraits;
5304 AllArgsDecayedAreUnique<Args...>::value,
5305 "Found duplicate types among the arguments passed to Noise(...). "
5306 "Types should be listed at most once.");
5308 set(std::forward<Args>(args)...);
5324 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5326 template<typename... Args>
5330 using namespace Zivid::Detail::TypeTraits;
5332 using AllArgsAreDescendantNodes =
5333 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5335 AllArgsAreDescendantNodes::value,
5336 "All arguments passed to set(...) must be descendant nodes.");
5339 AllArgsDecayedAreUnique<Args...>::value,
5340 "Found duplicate types among the arguments passed to set(...). "
5341 "Types should be listed at most once.");
5343 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5360 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5362 template<typename... Args>
5366 using namespace Zivid::Detail::TypeTraits;
5368 using AllArgsAreDescendantNodes =
5369 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5371 AllArgsAreDescendantNodes::value,
5372 "All arguments passed to copyWith(...) must be descendant nodes.");
5375 AllArgsDecayedAreUnique<Args...>::value,
5376 "Found duplicate types among the arguments passed to copyWith(...). "
5377 "Types should be listed at most once.");
5380 copy.
set(std::forward<Args>(args)...);
5406 m_removal.
set(value);
5413 m_removal.
set(value);
5419 typename std::enable_if<
5420 std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
5429 typename std::enable_if<
5430 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
5439 typename std::enable_if<
5440 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
5447 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5454 template<
typename F>
5461 template<
typename F>
5483 void setFromString(
const std::string &value);
5485 void setFromString(
const std::string &fullPath,
const std::string &value);
5487 std::string getString(
const std::string &fullPath)
const;
5491 friend struct DataModel::Detail::Befriend<
Noise>;
5502 static constexpr const char *path{
"Processing/Filters/Outlier" };
5505 static constexpr const char *name{
"Outlier" };
5508 static constexpr const char *description{
5509 R
"description(Contains a filter that removes points with large Euclidean distance to neighboring points)description"
5520 static constexpr const char *path{
"Processing/Filters/Outlier/Removal" };
5523 static constexpr const char *name{
"Removal" };
5526 static constexpr const char *description{
5527 R
"description(Discard point if Euclidean distance to neighboring points is above a threshold)description"
5538 static constexpr const char *path{
"Processing/Filters/Outlier/Removal/Enabled" };
5541 static constexpr const char *name{
"Enabled" };
5544 static constexpr const char *description{
5545 R
"description(Enable or disable the outlier filter)description"
5556 return {
false,
true };
5585 return m_opt == other.m_opt;
5591 return m_opt != other.m_opt;
5601 void setFromString(
const std::string &value);
5603 Zivid::DataModel::Detail::Optional<bool> m_opt;
5605 friend struct DataModel::Detail::Befriend<
Enabled>;
5616 static constexpr const char *path{
"Processing/Filters/Outlier/Removal/Threshold" };
5619 static constexpr const char *name{
"Threshold" };
5622 static constexpr const char *description{
5623 R
"description(Discard point if Euclidean distance to neighboring points is above the given value)description"
5632 return { 0.0, 100.0 };
5640 : m_opt{ verifyValue(value) }
5661 return m_opt == other.m_opt;
5667 return m_opt != other.m_opt;
5673 return m_opt < other.m_opt;
5679 return m_opt > other.m_opt;
5689 void setFromString(
const std::string &value);
5691 constexpr ValueType
static verifyValue(
const ValueType &value)
5695 :
throw std::out_of_range{
"Threshold{ " + std::to_string(value)
5696 +
" } is not in range ["
5698 + std::to_string(
validRange().max()) +
"]" };
5701 Zivid::DataModel::Detail::Optional<double> m_opt;
5703 friend struct DataModel::Detail::Befriend<
Threshold>;
5728 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5729 typename std::enable_if<
5730 Zivid::Detail::TypeTraits::
5731 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
5734 template<typename... Args>
5738 using namespace Zivid::Detail::TypeTraits;
5741 AllArgsDecayedAreUnique<Args...>::value,
5742 "Found duplicate types among the arguments passed to Removal(...). "
5743 "Types should be listed at most once.");
5745 set(std::forward<Args>(args)...);
5760 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5762 template<typename... Args>
5766 using namespace Zivid::Detail::TypeTraits;
5768 using AllArgsAreDescendantNodes =
5769 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5771 AllArgsAreDescendantNodes::value,
5772 "All arguments passed to set(...) must be descendant nodes.");
5775 AllArgsDecayedAreUnique<Args...>::value,
5776 "Found duplicate types among the arguments passed to set(...). "
5777 "Types should be listed at most once.");
5779 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
5795 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
5797 template<typename... Args>
5801 using namespace Zivid::Detail::TypeTraits;
5803 using AllArgsAreDescendantNodes =
5804 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
5806 AllArgsAreDescendantNodes::value,
5807 "All arguments passed to copyWith(...) must be descendant nodes.");
5810 AllArgsDecayedAreUnique<Args...>::value,
5811 "Found duplicate types among the arguments passed to copyWith(...). "
5812 "Types should be listed at most once.");
5815 copy.
set(std::forward<Args>(args)...);
5853 m_threshold = value;
5859 typename std::enable_if<
5860 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
5869 typename std::enable_if<
5870 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
5877 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
5883 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
5890 template<
typename F>
5898 template<
typename F>
5921 void setFromString(
const std::string &value);
5923 void setFromString(
const std::string &fullPath,
const std::string &value);
5925 std::string getString(
const std::string &fullPath)
const;
5930 friend struct DataModel::Detail::Befriend<
Removal>;
5957 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
5958 typename std::enable_if<
5959 Zivid::Detail::TypeTraits::
5960 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
5963 template<typename... Args>
5967 using namespace Zivid::Detail::TypeTraits;
5970 AllArgsDecayedAreUnique<Args...>::value,
5971 "Found duplicate types among the arguments passed to Outlier(...). "
5972 "Types should be listed at most once.");
5974 set(std::forward<Args>(args)...);
5990 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
5992 template<typename... Args>
5996 using namespace Zivid::Detail::TypeTraits;
5998 using AllArgsAreDescendantNodes =
5999 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6001 AllArgsAreDescendantNodes::value,
6002 "All arguments passed to set(...) must be descendant nodes.");
6005 AllArgsDecayedAreUnique<Args...>::value,
6006 "Found duplicate types among the arguments passed to set(...). "
6007 "Types should be listed at most once.");
6009 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6026 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6028 template<typename... Args>
6032 using namespace Zivid::Detail::TypeTraits;
6034 using AllArgsAreDescendantNodes =
6035 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6037 AllArgsAreDescendantNodes::value,
6038 "All arguments passed to copyWith(...) must be descendant nodes.");
6041 AllArgsDecayedAreUnique<Args...>::value,
6042 "Found duplicate types among the arguments passed to copyWith(...). "
6043 "Types should be listed at most once.");
6046 copy.
set(std::forward<Args>(args)...);
6072 m_removal.
set(value);
6079 m_removal.
set(value);
6085 typename std::enable_if<
6086 std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
6095 typename std::enable_if<
6096 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
6105 typename std::enable_if<
6106 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
6113 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6120 template<
typename F>
6127 template<
typename F>
6149 void setFromString(
const std::string &value);
6151 void setFromString(
const std::string &fullPath,
const std::string &value);
6153 std::string getString(
const std::string &fullPath)
const;
6157 friend struct DataModel::Detail::Befriend<
Outlier>;
6168 static constexpr const char *path{
"Processing/Filters/Reflection" };
6171 static constexpr const char *name{
"Reflection" };
6174 static constexpr const char *description{
6175 R
"description(Contains a filter that removes points likely introduced by reflections (useful for shiny materials))description"
6186 static constexpr const char *path{
"Processing/Filters/Reflection/Removal" };
6189 static constexpr const char *name{
"Removal" };
6192 static constexpr const char *description{
6193 R
"description(Discard points likely introduced by reflections (useful for shiny materials))description"
6204 static constexpr const char *path{
"Processing/Filters/Reflection/Removal/Enabled" };
6207 static constexpr const char *name{
"Enabled" };
6210 static constexpr const char *description{
6211 R
"description(Enable or disable the reflection filter. Note that this filter is computationally intensive and may affect the frame rate)description"
6222 return {
false,
true };
6251 return m_opt == other.m_opt;
6257 return m_opt != other.m_opt;
6267 void setFromString(
const std::string &value);
6269 Zivid::DataModel::Detail::Optional<bool> m_opt;
6271 friend struct DataModel::Detail::Befriend<
Enabled>;
6274 using Descendants = std::tuple<Settings::Processing::Filters::Reflection::Removal::Enabled>;
6293 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6294 typename std::enable_if<
6295 Zivid::Detail::TypeTraits::
6296 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
6299 template<typename... Args>
6303 using namespace Zivid::Detail::TypeTraits;
6306 AllArgsDecayedAreUnique<Args...>::value,
6307 "Found duplicate types among the arguments passed to Removal(...). "
6308 "Types should be listed at most once.");
6310 set(std::forward<Args>(args)...);
6324 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6326 template<typename... Args>
6330 using namespace Zivid::Detail::TypeTraits;
6332 using AllArgsAreDescendantNodes =
6333 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6335 AllArgsAreDescendantNodes::value,
6336 "All arguments passed to set(...) must be descendant nodes.");
6339 AllArgsDecayedAreUnique<Args...>::value,
6340 "Found duplicate types among the arguments passed to set(...). "
6341 "Types should be listed at most once.");
6343 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6358 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6360 template<typename... Args>
6364 using namespace Zivid::Detail::TypeTraits;
6366 using AllArgsAreDescendantNodes =
6367 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6369 AllArgsAreDescendantNodes::value,
6370 "All arguments passed to copyWith(...) must be descendant nodes.");
6373 AllArgsDecayedAreUnique<Args...>::value,
6374 "Found duplicate types among the arguments passed to copyWith(...). "
6375 "Types should be listed at most once.");
6378 copy.
set(std::forward<Args>(args)...);
6403 typename std::enable_if<
6404 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
6411 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6418 template<
typename F>
6425 template<
typename F>
6447 void setFromString(
const std::string &value);
6449 void setFromString(
const std::string &fullPath,
const std::string &value);
6451 std::string getString(
const std::string &fullPath)
const;
6455 friend struct DataModel::Detail::Befriend<
Removal>;
6480 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6481 typename std::enable_if<
6482 Zivid::Detail::TypeTraits::
6483 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
6486 template<typename... Args>
6490 using namespace Zivid::Detail::TypeTraits;
6493 AllArgsDecayedAreUnique<Args...>::value,
6494 "Found duplicate types among the arguments passed to Reflection(...). "
6495 "Types should be listed at most once.");
6497 set(std::forward<Args>(args)...);
6512 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6514 template<typename... Args>
6518 using namespace Zivid::Detail::TypeTraits;
6520 using AllArgsAreDescendantNodes =
6521 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6523 AllArgsAreDescendantNodes::value,
6524 "All arguments passed to set(...) must be descendant nodes.");
6527 AllArgsDecayedAreUnique<Args...>::value,
6528 "Found duplicate types among the arguments passed to set(...). "
6529 "Types should be listed at most once.");
6531 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6547 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6549 template<typename... Args>
6553 using namespace Zivid::Detail::TypeTraits;
6555 using AllArgsAreDescendantNodes =
6556 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6558 AllArgsAreDescendantNodes::value,
6559 "All arguments passed to copyWith(...) must be descendant nodes.");
6562 AllArgsDecayedAreUnique<Args...>::value,
6563 "Found duplicate types among the arguments passed to copyWith(...). "
6564 "Types should be listed at most once.");
6567 copy.
set(std::forward<Args>(args)...);
6593 m_removal.
set(value);
6599 typename std::enable_if<
6600 std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
6609 typename std::enable_if<
6610 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
6617 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
6624 template<
typename F>
6631 template<
typename F>
6653 void setFromString(
const std::string &value);
6655 void setFromString(
const std::string &fullPath,
const std::string &value);
6657 std::string getString(
const std::string &fullPath)
const;
6661 friend struct DataModel::Detail::Befriend<
Reflection>;
6672 static constexpr const char *path{
"Processing/Filters/Smoothing" };
6675 static constexpr const char *name{
"Smoothing" };
6678 static constexpr const char *description{ R
"description(Smoothing filters)description" };
6688 static constexpr const char *path{
"Processing/Filters/Smoothing/Gaussian" };
6691 static constexpr const char *name{
"Gaussian" };
6694 static constexpr const char *description{
6695 R
"description(Gaussian smoothing of the point cloud)description"
6706 static constexpr const char *path{
"Processing/Filters/Smoothing/Gaussian/Enabled" };
6709 static constexpr const char *name{
"Enabled" };
6712 static constexpr const char *description{
6713 R
"description(Enable or disable the smoothing filter)description"
6724 return {
false,
true };
6753 return m_opt == other.m_opt;
6759 return m_opt != other.m_opt;
6769 void setFromString(
const std::string &value);
6771 Zivid::DataModel::Detail::Optional<bool> m_opt;
6773 friend struct DataModel::Detail::Befriend<
Enabled>;
6784 static constexpr const char *path{
"Processing/Filters/Smoothing/Gaussian/Sigma" };
6787 static constexpr const char *name{
"Sigma" };
6790 static constexpr const char *description{
6791 R
"description(Higher values result in smoother point clouds (Standard deviation of the filter coefficients))description"
6808 : m_opt{ verifyValue(value) }
6829 return m_opt == other.m_opt;
6835 return m_opt != other.m_opt;
6841 return m_opt < other.m_opt;
6847 return m_opt > other.m_opt;
6857 void setFromString(
const std::string &value);
6859 constexpr ValueType
static verifyValue(
const ValueType &value)
6863 :
throw std::out_of_range{
"Sigma{ " + std::to_string(value)
6864 +
" } is not in range ["
6866 + std::to_string(
validRange().max()) +
"]" };
6869 Zivid::DataModel::Detail::Optional<double> m_opt;
6871 friend struct DataModel::Detail::Befriend<
Sigma>;
6896 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
6897 typename std::enable_if<
6898 Zivid::Detail::TypeTraits::
6899 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
6902 template<typename... Args>
6906 using namespace Zivid::Detail::TypeTraits;
6909 AllArgsDecayedAreUnique<Args...>::value,
6910 "Found duplicate types among the arguments passed to Gaussian(...). "
6911 "Types should be listed at most once.");
6913 set(std::forward<Args>(args)...);
6928 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
6930 template<typename... Args>
6934 using namespace Zivid::Detail::TypeTraits;
6936 using AllArgsAreDescendantNodes =
6937 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6939 AllArgsAreDescendantNodes::value,
6940 "All arguments passed to set(...) must be descendant nodes.");
6943 AllArgsDecayedAreUnique<Args...>::value,
6944 "Found duplicate types among the arguments passed to set(...). "
6945 "Types should be listed at most once.");
6947 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
6963 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
6965 template<typename... Args>
6969 using namespace Zivid::Detail::TypeTraits;
6971 using AllArgsAreDescendantNodes =
6972 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
6974 AllArgsAreDescendantNodes::value,
6975 "All arguments passed to copyWith(...) must be descendant nodes.");
6978 AllArgsDecayedAreUnique<Args...>::value,
6979 "Found duplicate types among the arguments passed to copyWith(...). "
6980 "Types should be listed at most once.");
6983 copy.
set(std::forward<Args>(args)...);
7027 typename std::enable_if<
7028 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
7037 typename std::enable_if<
7038 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
7045 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
7051 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
7058 template<
typename F>
7066 template<
typename F>
7089 void setFromString(
const std::string &value);
7091 void setFromString(
const std::string &fullPath,
const std::string &value);
7093 std::string getString(
const std::string &fullPath)
const;
7098 friend struct DataModel::Detail::Befriend<
Gaussian>;
7125 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
7126 typename std::enable_if<
7127 Zivid::Detail::TypeTraits::
7128 AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
7131 template<typename... Args>
7135 using namespace Zivid::Detail::TypeTraits;
7138 AllArgsDecayedAreUnique<Args...>::value,
7139 "Found duplicate types among the arguments passed to Smoothing(...). "
7140 "Types should be listed at most once.");
7142 set(std::forward<Args>(args)...);
7158 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
7160 template<typename... Args>
7164 using namespace Zivid::Detail::TypeTraits;
7166 using AllArgsAreDescendantNodes =
7167 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7169 AllArgsAreDescendantNodes::value,
7170 "All arguments passed to set(...) must be descendant nodes.");
7173 AllArgsDecayedAreUnique<Args...>::value,
7174 "Found duplicate types among the arguments passed to set(...). "
7175 "Types should be listed at most once.");
7177 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
7194 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
7196 template<typename... Args>
7200 using namespace Zivid::Detail::TypeTraits;
7202 using AllArgsAreDescendantNodes =
7203 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7205 AllArgsAreDescendantNodes::value,
7206 "All arguments passed to copyWith(...) must be descendant nodes.");
7209 AllArgsDecayedAreUnique<Args...>::value,
7210 "Found duplicate types among the arguments passed to copyWith(...). "
7211 "Types should be listed at most once.");
7214 copy.
set(std::forward<Args>(args)...);
7240 m_gaussian.
set(value);
7247 m_gaussian.
set(value);
7253 typename std::enable_if<
7254 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
7263 typename std::enable_if<
7264 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
7273 typename std::enable_if<
7274 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
7281 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
7288 template<
typename F>
7295 template<
typename F>
7317 void setFromString(
const std::string &value);
7319 void setFromString(
const std::string &fullPath,
const std::string &value);
7321 std::string getString(
const std::string &fullPath)
const;
7325 friend struct DataModel::Detail::Befriend<
Smoothing>;
7392 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
7393 typename std::enable_if<
7394 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
7398 template<typename... Args>
7402 using namespace Zivid::Detail::TypeTraits;
7405 AllArgsDecayedAreUnique<Args...>::value,
7406 "Found duplicate types among the arguments passed to Filters(...). "
7407 "Types should be listed at most once.");
7409 set(std::forward<Args>(args)...);
7445 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
7447 template<typename... Args>
7451 using namespace Zivid::Detail::TypeTraits;
7453 using AllArgsAreDescendantNodes =
7454 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7456 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
7459 AllArgsDecayedAreUnique<Args...>::value,
7460 "Found duplicate types among the arguments passed to set(...). "
7461 "Types should be listed at most once.");
7463 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
7500 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
7502 template<typename... Args>
7506 using namespace Zivid::Detail::TypeTraits;
7508 using AllArgsAreDescendantNodes =
7509 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
7511 AllArgsAreDescendantNodes::value,
7512 "All arguments passed to copyWith(...) must be descendant nodes.");
7515 AllArgsDecayedAreUnique<Args...>::value,
7516 "Found duplicate types among the arguments passed to copyWith(...). "
7517 "Types should be listed at most once.");
7520 copy.
set(std::forward<Args>(args)...);
7527 return m_experimental;
7533 return m_experimental;
7539 m_experimental = value;
7546 m_experimental.
set(value);
7553 m_experimental.
set(value);
7560 m_experimental.
set(value);
7567 m_experimental.
set(value);
7574 m_experimental.
set(value);
7581 m_experimental.
set(value);
7588 m_experimental.
set(value);
7654 m_outlier.
set(value);
7661 m_outlier.
set(value);
7668 m_outlier.
set(value);
7675 return m_reflection;
7681 return m_reflection;
7687 m_reflection = value;
7694 m_reflection.
set(value);
7701 m_reflection.
set(value);
7720 m_smoothing = value;
7727 m_smoothing.
set(value);
7734 m_smoothing.
set(value);
7741 m_smoothing.
set(value);
7747 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
int>::
7751 return m_experimental;
7756 typename std::enable_if<
7757 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
7766 typename std::enable_if<
7767 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::
7772 return m_experimental
7778 typename std::enable_if<
7786 return m_experimental
7792 typename std::enable_if<
7800 return m_experimental
7806 typename std::enable_if<
7807 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::
7812 return m_experimental
7818 typename std::enable_if<
7825 return m_experimental
7831 typename std::enable_if<
7838 return m_experimental
7844 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type =
7854 enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
int>::type = 0>
7862 typename std::enable_if<
7863 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
7872 typename std::enable_if<
7873 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
7882 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type =
7891 typename std::enable_if<
7892 std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
7901 typename std::enable_if<
7902 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
7911 typename std::enable_if<
7912 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
7921 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
int>::
7925 return m_reflection;
7930 typename std::enable_if<
7931 std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
7940 typename std::enable_if<
7941 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
7950 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
int>::
7959 typename std::enable_if<
7960 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
7969 typename std::enable_if<
7970 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
7979 typename std::enable_if<
7980 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
7987 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
7990 return m_experimental;
7993 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
7999 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
8005 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
8008 return m_reflection;
8011 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
8018 template<
typename F>
8029 template<
typename F>
8055 void setFromString(
const std::string &value);
8057 void setFromString(
const std::string &fullPath,
const std::string &value);
8059 std::string getString(
const std::string &fullPath)
const;
8064 Reflection m_reflection;
8067 friend struct DataModel::Detail::Befriend<
Filters>;
8154 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
8155 typename std::enable_if<
8156 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
8160 template<typename... Args>
8164 using namespace Zivid::Detail::TypeTraits;
8167 AllArgsDecayedAreUnique<Args...>::value,
8168 "Found duplicate types among the arguments passed to Processing(...). "
8169 "Types should be listed at most once.");
8171 set(std::forward<Args>(args)...);
8217 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
8219 template<typename... Args>
8223 using namespace Zivid::Detail::TypeTraits;
8225 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8227 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
8230 AllArgsDecayedAreUnique<Args...>::value,
8231 "Found duplicate types among the arguments passed to set(...). "
8232 "Types should be listed at most once.");
8234 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
8281 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
8283 template<typename... Args>
8287 using namespace Zivid::Detail::TypeTraits;
8289 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
8291 AllArgsAreDescendantNodes::value,
8292 "All arguments passed to copyWith(...) must be descendant nodes.");
8295 AllArgsDecayedAreUnique<Args...>::value,
8296 "Found duplicate types among the arguments passed to copyWith(...). "
8297 "Types should be listed at most once.");
8300 copy.
set(std::forward<Args>(args)...);
8401 m_filters.
set(value);
8408 m_filters.
set(value);
8415 m_filters.
set(value);
8422 m_filters.
set(value);
8429 m_filters.
set(value);
8436 m_filters.
set(value);
8443 m_filters.
set(value);
8450 m_filters.
set(value);
8457 m_filters.
set(value);
8464 m_filters.
set(value);
8471 m_filters.
set(value);
8478 m_filters.
set(value);
8485 m_filters.
set(value);
8492 m_filters.
set(value);
8499 m_filters.
set(value);
8506 m_filters.
set(value);
8513 m_filters.
set(value);
8520 m_filters.
set(value);
8527 m_filters.
set(value);
8534 m_filters.
set(value);
8541 m_filters.
set(value);
8548 m_filters.
set(value);
8555 m_filters.
set(value);
8561 typename std::enable_if<std::is_same<T, Settings::Processing::Color>::value,
int>::type = 0>
8569 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type = 0>
8577 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
int>::type =
8586 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
int>::
8595 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::type =
8604 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
int>::type =
8613 typename std::enable_if<
8614 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
8623 typename std::enable_if<
8624 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
8633 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
8641 typename std::enable_if<std::is_same<T, Settings::Processing::Filters>::value,
int>::type = 0>
8649 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
int>::
8658 typename std::enable_if<
8659 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
8668 typename std::enable_if<
8669 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
8678 typename std::enable_if<
8691 typename std::enable_if<
8704 typename std::enable_if<
8705 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
8714 typename std::enable_if<
8715 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled>::
8726 typename std::enable_if<
8739 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type = 0>
8747 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
int>::
8756 typename std::enable_if<
8757 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
8766 typename std::enable_if<
8767 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
8776 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type = 0>
8784 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
int>::
8793 typename std::enable_if<
8794 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
8803 typename std::enable_if<
8804 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
8813 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
int>::type =
8822 typename std::enable_if<
8823 std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
8832 typename std::enable_if<
8833 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
8842 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
int>::type =
8851 typename std::enable_if<
8852 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
8861 typename std::enable_if<
8862 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
8871 typename std::enable_if<
8872 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
8879 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
8885 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
8892 template<
typename F>
8900 template<
typename F>
8923 void setFromString(
const std::string &value);
8925 void setFromString(
const std::string &fullPath,
const std::string &value);
8927 std::string getString(
const std::string &fullPath)
const;
8932 friend struct DataModel::Detail::Befriend<
Processing>;
9034 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
9035 typename std::enable_if<
9036 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
9039 template<typename... Args>
9043 using namespace Zivid::Detail::TypeTraits;
9046 AllArgsDecayedAreUnique<Args...>::value,
9047 "Found duplicate types among the arguments passed to Settings(...). "
9048 "Types should be listed at most once.");
9050 set(std::forward<Args>(args)...);
9102 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
9104 template<typename... Args>
9108 using namespace Zivid::Detail::TypeTraits;
9110 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9112 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
9115 AllArgsDecayedAreUnique<Args...>::value,
9116 "Found duplicate types among the arguments passed to set(...). "
9117 "Types should be listed at most once.");
9119 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
9172 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
9174 template<typename... Args>
9178 using namespace Zivid::Detail::TypeTraits;
9180 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
9182 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
9185 AllArgsDecayedAreUnique<Args...>::value,
9186 "Found duplicate types among the arguments passed to copyWith(...). "
9187 "Types should be listed at most once.");
9190 copy.
set(std::forward<Args>(args)...);
9197 return m_acquisitions;
9203 return m_acquisitions;
9209 m_acquisitions = value;
9216 return m_diagnostics;
9222 return m_diagnostics;
9228 m_diagnostics = value;
9235 m_diagnostics.
set(value);
9242 return m_experimental;
9248 return m_experimental;
9254 m_experimental = value;
9261 m_experimental.
set(value);
9268 return m_processing;
9274 return m_processing;
9280 m_processing = value;
9287 m_processing.
set(value);
9294 m_processing.
set(value);
9301 m_processing.
set(value);
9308 m_processing.
set(value);
9315 m_processing.
set(value);
9322 m_processing.
set(value);
9329 m_processing.
set(value);
9336 m_processing.
set(value);
9343 m_processing.
set(value);
9350 m_processing.
set(value);
9357 m_processing.
set(value);
9364 m_processing.
set(value);
9371 m_processing.
set(value);
9378 m_processing.
set(value);
9385 m_processing.
set(value);
9392 m_processing.
set(value);
9399 m_processing.
set(value);
9406 m_processing.
set(value);
9413 m_processing.
set(value);
9420 m_processing.
set(value);
9427 m_processing.
set(value);
9434 m_processing.
set(value);
9441 m_processing.
set(value);
9448 m_processing.
set(value);
9455 m_processing.
set(value);
9462 m_processing.
set(value);
9469 m_processing.
set(value);
9476 m_processing.
set(value);
9483 m_processing.
set(value);
9490 m_processing.
set(value);
9497 m_processing.
set(value);
9504 m_processing.
set(value);
9511 m_processing.
set(value);
9515 template<typename T, typename std::enable_if<std::is_same<T, Settings::Acquisitions>::value,
int>::type = 0>
9518 return m_acquisitions;
9521 template<typename T, typename std::enable_if<std::is_same<T, Settings::Diagnostics>::value,
int>::type = 0>
9524 return m_diagnostics;
9529 typename std::enable_if<std::is_same<T, Settings::Diagnostics::Enabled>::value,
int>::type = 0>
9535 template<typename T, typename std::enable_if<std::is_same<T, Settings::Experimental>::value,
int>::type = 0>
9538 return m_experimental;
9543 typename std::enable_if<std::is_same<T, Settings::Experimental::Engine>::value,
int>::type = 0>
9549 template<typename T, typename std::enable_if<std::is_same<T, Settings::Processing>::value,
int>::type = 0>
9552 return m_processing;
9557 typename std::enable_if<std::is_same<T, Settings::Processing::Color>::value,
int>::type = 0>
9565 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance>::value,
int>::type = 0>
9573 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Blue>::value,
int>::type = 0>
9581 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Green>::value,
int>::type = 0>
9589 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Balance::Red>::value,
int>::type = 0>
9597 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Experimental>::value,
int>::type = 0>
9605 typename std::enable_if<
9606 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping>::value,
9615 typename std::enable_if<
9616 std::is_same<T, Settings::Processing::Color::Experimental::ToneMapping::Enabled>::value,
9625 typename std::enable_if<std::is_same<T, Settings::Processing::Color::Gamma>::value,
int>::type = 0>
9633 typename std::enable_if<std::is_same<T, Settings::Processing::Filters>::value,
int>::type = 0>
9641 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Experimental>::value,
int>::type = 0>
9649 typename std::enable_if<
9650 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
9659 typename std::enable_if<
9660 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
9669 typename std::enable_if<
9670 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled>::
9681 typename std::enable_if<
9682 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength>::
9693 typename std::enable_if<
9694 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
9703 typename std::enable_if<
9704 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled>::
9715 typename std::enable_if<
9716 std::is_same<T, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold>::
9727 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise>::value,
int>::type = 0>
9735 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Noise::Removal>::value,
int>::type =
9744 typename std::enable_if<
9745 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Enabled>::value,
9754 typename std::enable_if<
9755 std::is_same<T, Settings::Processing::Filters::Noise::Removal::Threshold>::value,
9764 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier>::value,
int>::type = 0>
9772 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Outlier::Removal>::value,
int>::
9781 typename std::enable_if<
9782 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Enabled>::value,
9791 typename std::enable_if<
9792 std::is_same<T, Settings::Processing::Filters::Outlier::Removal::Threshold>::value,
9801 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection>::value,
int>::type = 0>
9809 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Reflection::Removal>::value,
int>::
9818 typename std::enable_if<
9819 std::is_same<T, Settings::Processing::Filters::Reflection::Removal::Enabled>::value,
9828 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing>::value,
int>::type = 0>
9836 typename std::enable_if<std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian>::value,
int>::
9845 typename std::enable_if<
9846 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Enabled>::value,
9855 typename std::enable_if<
9856 std::is_same<T, Settings::Processing::Filters::Smoothing::Gaussian::Sigma>::value,
9863 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
9866 return m_acquisitions;
9869 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
9872 return m_diagnostics;
9875 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
9878 return m_experimental;
9881 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
9884 return m_processing;
9888 template<
typename F>
9898 template<
typename F>
9923 void save(
const std::string &fileName)
const;
9926 void load(
const std::string &fileName);
9929 void setFromString(
const std::string &value);
9931 void setFromString(
const std::string &fullPath,
const std::string &value);
9933 std::string getString(
const std::string &fullPath)
const;
9940 friend struct DataModel::Detail::Befriend<
Settings>;
9945 struct Settings::Version<10>
9954# pragma warning(pop)
9958# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
9963 struct tuple_size<
Zivid::Settings::Diagnostics> : integral_constant<size_t, 1>
9967 struct tuple_element<i,
Zivid::Settings::Diagnostics>
9969 static_assert(i < tuple_size<Zivid::Settings::Diagnostics>::value,
"Index must be less than 1");
9972 =
decltype(declval<Zivid::Settings::Diagnostics>().get<i>());
9976 struct tuple_size<
Zivid::Settings::Experimental> : integral_constant<size_t, 1>
9980 struct tuple_element<i,
Zivid::Settings::Experimental>
9982 static_assert(i < tuple_size<Zivid::Settings::Experimental>::value,
"Index must be less than 1");
9985 =
decltype(declval<Zivid::Settings::Experimental>().get<i>());
9989 struct tuple_size<
Zivid::Settings::Processing> : integral_constant<size_t, 2>
9993 struct tuple_element<i,
Zivid::Settings::Processing>
9995 static_assert(i < tuple_size<Zivid::Settings::Processing>::value,
"Index must be less than 2");
9998 =
decltype(declval<Zivid::Settings::Processing>().get<i>());
10002 struct tuple_size<
Zivid::Settings::Processing::Color> : integral_constant<size_t, 3>
10006 struct tuple_element<i,
Zivid::Settings::Processing::Color>
10008 static_assert(i < tuple_size<Zivid::Settings::Processing::Color>::value,
"Index must be less than 3");
10011 =
decltype(declval<Zivid::Settings::Processing::Color>().get<i>());
10015 struct tuple_size<
Zivid::Settings::Processing::Color::Balance> : integral_constant<size_t, 3>
10019 struct tuple_element<i,
Zivid::Settings::Processing::Color::Balance>
10021 static_assert(i < tuple_size<Zivid::Settings::Processing::Color::Balance>::value,
"Index must be less than 3");
10024 =
decltype(declval<Zivid::Settings::Processing::Color::Balance>().get<i>());
10028 struct tuple_size<
Zivid::Settings::Processing::Color::Experimental> : integral_constant<size_t, 1>
10032 struct tuple_element<i,
Zivid::Settings::Processing::Color::Experimental>
10035 i < tuple_size<Zivid::Settings::Processing::Color::Experimental>::value,
10036 "Index must be less than 1");
10039 =
decltype(declval<Zivid::Settings::Processing::Color::Experimental>().get<i>());
10043 struct tuple_size<
Zivid::Settings::Processing::Color::Experimental::ToneMapping> : integral_constant<size_t, 1>
10047 struct tuple_element<i,
Zivid::Settings::Processing::Color::Experimental::ToneMapping>
10050 i < tuple_size<Zivid::Settings::Processing::Color::Experimental::ToneMapping>::value,
10051 "Index must be less than 1");
10054 =
decltype(declval<Zivid::Settings::Processing::Color::Experimental::ToneMapping>().get<i>());
10058 struct tuple_size<
Zivid::Settings::Processing::Filters> : integral_constant<size_t, 5>
10062 struct tuple_element<i,
Zivid::Settings::Processing::Filters>
10064 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters>::value,
"Index must be less than 5");
10067 =
decltype(declval<Zivid::Settings::Processing::Filters>().get<i>());
10071 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental> : integral_constant<size_t, 1>
10075 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental>
10078 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental>::value,
10079 "Index must be less than 1");
10082 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental>().get<i>());
10086 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>
10087 : integral_constant<size_t, 2>
10091 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>
10094 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>::value,
10095 "Index must be less than 2");
10098 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion>().get<i>());
10102 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>
10103 : integral_constant<size_t, 2>
10107 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>
10110 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>::value,
10111 "Index must be less than 2");
10114 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Correction>()
10119 struct tuple_size<
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>
10120 : integral_constant<size_t, 2>
10124 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>
10127 i < tuple_size<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>::value,
10128 "Index must be less than 2");
10131 =
decltype(declval<Zivid::Settings::Processing::Filters::Experimental::ContrastDistortion::Removal>()
10136 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise> : integral_constant<size_t, 1>
10140 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise>
10142 static_assert(i < tuple_size<Zivid::Settings::Processing::Filters::Noise>::value,
"Index must be less than 1");
10145 =
decltype(declval<Zivid::Settings::Processing::Filters::Noise>().get<i>());
10149 struct tuple_size<
Zivid::Settings::Processing::Filters::Noise::Removal> : integral_constant<size_t, 2>
10153 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Noise::Removal>
10156 i < tuple_size<Zivid::Settings::Processing::Filters::Noise::Removal>::value,
10157 "Index must be less than 2");
10160 =
decltype(declval<Zivid::Settings::Processing::Filters::Noise::Removal>().get<i>());
10164 struct tuple_size<
Zivid::Settings::Processing::Filters::Outlier> : integral_constant<size_t, 1>
10168 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Outlier>
10171 i < tuple_size<Zivid::Settings::Processing::Filters::Outlier>::value,
10172 "Index must be less than 1");
10175 =
decltype(declval<Zivid::Settings::Processing::Filters::Outlier>().get<i>());
10179 struct tuple_size<
Zivid::Settings::Processing::Filters::Outlier::Removal> : integral_constant<size_t, 2>
10183 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Outlier::Removal>
10186 i < tuple_size<Zivid::Settings::Processing::Filters::Outlier::Removal>::value,
10187 "Index must be less than 2");
10190 =
decltype(declval<Zivid::Settings::Processing::Filters::Outlier::Removal>().get<i>());
10194 struct tuple_size<
Zivid::Settings::Processing::Filters::Reflection> : integral_constant<size_t, 1>
10198 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Reflection>
10201 i < tuple_size<Zivid::Settings::Processing::Filters::Reflection>::value,
10202 "Index must be less than 1");
10205 =
decltype(declval<Zivid::Settings::Processing::Filters::Reflection>().get<i>());
10209 struct tuple_size<
Zivid::Settings::Processing::Filters::Reflection::Removal> : integral_constant<size_t, 1>
10213 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Reflection::Removal>
10216 i < tuple_size<Zivid::Settings::Processing::Filters::Reflection::Removal>::value,
10217 "Index must be less than 1");
10220 =
decltype(declval<Zivid::Settings::Processing::Filters::Reflection::Removal>().get<i>());
10224 struct tuple_size<
Zivid::Settings::Processing::Filters::Smoothing> : integral_constant<size_t, 1>
10228 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Smoothing>
10231 i < tuple_size<Zivid::Settings::Processing::Filters::Smoothing>::value,
10232 "Index must be less than 1");
10235 =
decltype(declval<Zivid::Settings::Processing::Filters::Smoothing>().get<i>());
10239 struct tuple_size<
Zivid::Settings::Processing::Filters::Smoothing::Gaussian> : integral_constant<size_t, 2>
10243 struct tuple_element<i,
Zivid::Settings::Processing::Filters::Smoothing::Gaussian>
10246 i < tuple_size<Zivid::Settings::Processing::Filters::Smoothing::Gaussian>::value,
10247 "Index must be less than 2");
10250 =
decltype(declval<Zivid::Settings::Processing::Filters::Smoothing::Gaussian>().get<i>());
10254 struct tuple_size<
Zivid::Settings> : integral_constant<size_t, 4>
10258 struct tuple_element<i,
Zivid::Settings>
10260 static_assert(i < tuple_size<Zivid::Settings>::value,
"Index must be less than 4");
10263 =
decltype(declval<Zivid::Settings>().get<i>());
10272#if defined(__has_include) && !defined(NO_DOC)
10273# if __has_include("Zivid/SettingsInternal.h") && __has_include("Zivid/DataModelSerializationMetaData.h")
10274# include "Zivid/SettingsInternal.h"
#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:171
bool operator<(const Aperture &other) const
Comparison operator
Definition: Settings.h:234
friend std::ostream & operator<<(std::ostream &stream, const Aperture &value)
Operator to serialize the value to a stream
Definition: Settings.h:246
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:240
bool operator==(const Aperture &other) const
Comparison operator
Definition: Settings.h:222
bool operator!=(const Aperture &other) const
Comparison operator
Definition: Settings.h:228
Aperture()=default
Default constructor
constexpr Aperture(double value)
Constructor
Definition: Settings.h:202
double ValueType
The type of the underlying value
Definition: Settings.h:190
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Aperture
Definition: Settings.h:193
bool hasValue() const
Check if the value is set
Brightness controls the light output from the projector.
Definition: Settings.h:282
bool operator!=(const Brightness &other) const
Comparison operator
Definition: Settings.h:349
bool operator<(const Brightness &other) const
Comparison operator
Definition: Settings.h:355
bool operator>(const Brightness &other) const
Comparison operator
Definition: Settings.h:361
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Brightness
Definition: Settings.h:314
std::string toString() const
Get the value as string
double value() const
Get the value
friend std::ostream & operator<<(std::ostream &stream, const Brightness &value)
Operator to serialize the value to a stream
Definition: Settings.h:367
constexpr Brightness(double value)
Constructor
Definition: Settings.h:323
bool hasValue() const
Check if the value is set
Brightness()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings.h:311
bool operator==(const Brightness &other) const
Comparison operator
Definition: Settings.h:343
Exposure time for each single image in the measurement. Affects frame rate.
Definition: Settings.h:391
bool operator<(const ExposureTime &other) const
Comparison operator
Definition: Settings.h:452
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:458
std::chrono::microseconds ValueType
The type of the underlying value
Definition: Settings.h:408
bool operator==(const ExposureTime &other) const
Comparison operator
Definition: Settings.h:440
bool operator!=(const ExposureTime &other) const
Comparison operator
Definition: Settings.h:446
std::chrono::microseconds value() const
Get the value
static constexpr Range< std::chrono::microseconds > validRange()
The range of valid values for ExposureTime
Definition: Settings.h:411
constexpr ExposureTime(std::chrono::microseconds value)
Constructor
Definition: Settings.h:420
friend std::ostream & operator<<(std::ostream &stream, const ExposureTime &value)
Operator to serialize the value to a stream
Definition: Settings.h:464
Analog gain in the camera
Definition: Settings.h:489
bool operator==(const Gain &other) const
Comparison operator
Definition: Settings.h:536
friend std::ostream & operator<<(std::ostream &stream, const Gain &value)
Operator to serialize the value to a stream
Definition: Settings.h:560
constexpr Gain(double value)
Constructor
Definition: Settings.h:516
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Gain
Definition: Settings.h:507
double value() const
Get the value
Gain()=default
Default constructor
bool hasValue() const
Check if the value is set
double ValueType
The type of the underlying value
Definition: Settings.h:504
std::string toString() const
Get the value as string
bool operator!=(const Gain &other) const
Comparison operator
Definition: Settings.h:542
bool operator>(const Gain &other) const
Comparison operator
Definition: Settings.h:554
bool operator<(const Gain &other) const
Comparison operator
Definition: Settings.h:548
Settings for a single acquisition
Definition: Settings.h:153
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:834
Acquisition & set(const Aperture &value)
Set Aperture
Definition: Settings.h:713
const Aperture & aperture() const
Get Aperture
Definition: Settings.h:701
Gain & gain()
Get Gain
Definition: Settings.h:764
const Settings::Acquisition::Aperture & get() const
Definition: Settings.h:779
Brightness & brightness()
Get Brightness
Definition: Settings.h:726
friend std::ostream & operator<<(std::ostream &stream, const Acquisition &value)
Operator to send the value as string to a stream
Definition: Settings.h:862
std::tuple< Settings::Acquisition::Aperture, Settings::Acquisition::Brightness, Settings::Acquisition::ExposureTime, Settings::Acquisition::Gain > Descendants
Definition: Settings.h:586
bool operator==(const Acquisition &other) const
Equality operator
const Settings::Acquisition::ExposureTime & get() const
Definition: Settings.h:795
bool operator!=(const Acquisition &other) const
Inequality operator
const ExposureTime & exposureTime() const
Get ExposureTime
Definition: Settings.h:739
Acquisition & set(const Brightness &value)
Set Brightness
Definition: Settings.h:732
Acquisition & set(const ExposureTime &value)
Set ExposureTime
Definition: Settings.h:751
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:646
const Brightness & brightness() const
Get Brightness
Definition: Settings.h:720
const Settings::Acquisition::Gain & get() const
Definition: Settings.h:803
Acquisition & set(const Gain &value)
Set Gain
Definition: Settings.h:770
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:681
Aperture & aperture()
Get Aperture
Definition: Settings.h:707
const Settings::Acquisition::Brightness & get() const
Definition: Settings.h:787
Acquisition(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:616
ExposureTime & exposureTime()
Get ExposureTime
Definition: Settings.h:745
const Gain & gain() const
Get Gain
Definition: Settings.h:758
Acquisition()
Default constructor
std::string toString() const
Get the value as string
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:844
List of Acquisition objects
Definition: Settings.h:884
bool operator!=(const Acquisitions &other) const
Comparison operator
Definition: Settings.h:998
const std::vector< Settings::Acquisition > & value() const
Get the value
std::string toString() const
Get the value as string
void forEach(const F &f) const
Run the given function on each element in the list
Definition: Settings.h:983
const Settings::Acquisition & at(std::size_t pos) const
Returns a const reference to the element at position pos in the list
bool operator==(const Acquisitions &other) const
Comparison operator
Definition: Settings.h:992
Acquisitions()=default
Default constructor
Acquisitions(std::initializer_list< Settings::Acquisition > value)
Constructor
Definition: Settings.h:916
friend std::ostream & operator<<(std::ostream &stream, const Acquisitions &value)
Operator to serialize the value to a stream
Definition: Settings.h:1004
void forEach(const F &f)
Run the given function on each element in the list
Definition: Settings.h:973
Acquisitions(std::vector< Settings::Acquisition > value)
Constructor
Definition: Settings.h:911
std::vector< Settings::Acquisition > ValueType
The type of the underlying value
Definition: Settings.h:899
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Acquisitions
Definition: Settings.h:902
const Settings::Acquisition & operator[](std::size_t pos) const
Returns a const reference to the element at position pos in the list
Settings::Acquisition & at(std::size_t pos)
Returns a reference to the element at position pos in the list
std::size_t size() const noexcept
Get the size of the list
Settings::Acquisition & operator[](std::size_t pos)
Returns a reference to the element at position pos in the list
Enable diagnostics
Definition: Settings.h:1049
static const Enabled no
Off/disabled.
Definition: Settings.h:1066
bool hasValue() const
Check if the value is set
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:1069
void reset()
Reset the node to unset state
Enabled()=default
Default constructor
bool ValueType
The type of the underlying value
Definition: Settings.h:1064
static const Enabled yes
On/enabled.
Definition: Settings.h:1065
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:1098
bool value() const
Get the value
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:1110
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:1078
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:1104
std::string toString() const
Get the value as string
When Diagnostics is enabled, extra diagnostic information is recorded during capture....
Definition: Settings.h:1025
friend std::ostream & operator<<(std::ostream &stream, const Diagnostics &value)
Operator to send the value as string to a stream
Definition: Settings.h:1285
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:1263
std::tuple< Settings::Diagnostics::Enabled > Descendants
Definition: Settings.h:1123
std::string toString() const
Get the value as string
Diagnostics copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition: Settings.h:1209
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:1270
Diagnostics()
Default constructor
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:1235
bool operator==(const Diagnostics &other) const
Equality operator
Diagnostics(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:1150
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:1177
const Settings::Diagnostics::Enabled & get() const
Definition: Settings.h:1250
bool operator!=(const Diagnostics &other) const
Inequality operator
Diagnostics & set(const Enabled &value)
Set Enabled
Definition: Settings.h:1241
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:1229
Set the Zivid Vision Engine to use.
Definition: Settings.h:1330
ValueType value() const
Get the value
static const Engine phase
phase
Definition: Settings.h:1358
bool hasValue() const
Check if the value is set
ValueType
The type of the underlying value
Definition: Settings.h:1354
friend std::ostream & operator<<(std::ostream &stream, const Engine &value)
Operator to serialize the value to a stream
Definition: Settings.h:1409
static std::set< ValueType > validValues()
All valid values of Engine
Definition: Settings.h:1362
std::string toString() const
Get the value as string
bool operator==(const Engine &other) const
Comparison operator
Definition: Settings.h:1397
Engine()=default
Default constructor
bool operator!=(const Engine &other) const
Comparison operator
Definition: Settings.h:1403
constexpr Engine(ValueType value)
Constructor
Definition: Settings.h:1371
friend std::ostream & operator<<(std::ostream &stream, const Engine::ValueType &value)
Operator to serialize ValueType to a stream
Definition: Settings.h:1391
static const Engine stripe
stripe
Definition: Settings.h:1359
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:1304
Engine & engine()
Get Engine
Definition: Settings.h:1544
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:1486
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:1518
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:1594
const Settings::Experimental::Engine & get() const
Definition: Settings.h:1559
std::tuple< Settings::Experimental::Engine > Descendants
Definition: Settings.h:1432
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:1572
bool operator==(const Experimental &other) const
Equality operator
Experimental(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:1459
Experimental()
Default constructor
Experimental & set(const Engine &value)
Set Engine
Definition: Settings.h:1550
const Engine & engine() const
Get Engine
Definition: Settings.h:1538
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:1579
Digital gain applied to blue channel
Definition: Settings.h:1663
friend std::ostream & operator<<(std::ostream &stream, const Blue &value)
Operator to serialize the value to a stream
Definition: Settings.h:1736
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:1712
std::string toString() const
Get the value as string
bool operator<(const Blue &other) const
Comparison operator
Definition: Settings.h:1724
constexpr Blue(double value)
Constructor
Definition: Settings.h:1692
Blue()=default
Default constructor
bool operator!=(const Blue &other) const
Comparison operator
Definition: Settings.h:1718
bool hasValue() const
Check if the value is set
double ValueType
The type of the underlying value
Definition: Settings.h:1680
bool operator>(const Blue &other) const
Comparison operator
Definition: Settings.h:1730
static constexpr Range< double > validRange()
The range of valid values for Blue
Definition: Settings.h:1683
Digital gain applied to green channel
Definition: Settings.h:1761
void reset()
Reset the node to unset state
bool operator>(const Green &other) const
Comparison operator
Definition: Settings.h:1828
double value() const
Get the value
bool hasValue() const
Check if the value is set
friend std::ostream & operator<<(std::ostream &stream, const Green &value)
Operator to serialize the value to a stream
Definition: Settings.h:1834
double ValueType
The type of the underlying value
Definition: Settings.h:1778
constexpr Green(double value)
Constructor
Definition: Settings.h:1790
bool operator==(const Green &other) const
Comparison operator
Definition: Settings.h:1810
bool operator!=(const Green &other) const
Comparison operator
Definition: Settings.h:1816
Green()=default
Default constructor
std::string toString() const
Get the value as string
bool operator<(const Green &other) const
Comparison operator
Definition: Settings.h:1822
static constexpr Range< double > validRange()
The range of valid values for Green
Definition: Settings.h:1781
Digital gain applied to red channel
Definition: Settings.h:1859
bool operator!=(const Red &other) const
Comparison operator
Definition: Settings.h:1914
constexpr Red(double value)
Constructor
Definition: Settings.h:1888
friend std::ostream & operator<<(std::ostream &stream, const Red &value)
Operator to serialize the value to a stream
Definition: Settings.h:1932
double ValueType
The type of the underlying value
Definition: Settings.h:1876
static constexpr Range< double > validRange()
The range of valid values for Red
Definition: Settings.h:1879
double value() const
Get the value
bool operator==(const Red &other) const
Comparison operator
Definition: Settings.h:1908
Red()=default
Default constructor
bool operator<(const Red &other) const
Comparison operator
Definition: Settings.h:1920
void reset()
Reset the node to unset state
bool operator>(const Red &other) const
Comparison operator
Definition: Settings.h:1926
bool hasValue() const
Check if the value is set
std::string toString() const
Get the value as string
Color balance settings
Definition: Settings.h:1647
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:2016
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:2178
bool operator!=(const Balance &other) const
Inequality operator
Balance & set(const Red &value)
Set Red
Definition: Settings.h:2123
Green & green()
Get Green
Definition: Settings.h:2098
std::string toString() const
Get the value as string
Balance(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:1987
Red & red()
Get Red
Definition: Settings.h:2117
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:2052
Balance & set(const Blue &value)
Set Blue
Definition: Settings.h:2085
Blue & blue()
Get Blue
Definition: Settings.h:2079
const Red & red() const
Get Red
Definition: Settings.h:2111
std::tuple< Settings::Processing::Color::Balance::Blue, Settings::Processing::Color::Balance::Green, Settings::Processing::Color::Balance::Red > Descendants
Definition: Settings.h:1958
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:2187
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:2144
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:2153
Balance & set(const Green &value)
Set Green
Definition: Settings.h:2104
const Green & green() const
Get Green
Definition: Settings.h:2092
friend std::ostream & operator<<(std::ostream &stream, const Balance &value)
Operator to send the value as string to a stream
Definition: Settings.h:2204
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:2134
const Blue & blue() const
Get Blue
Definition: Settings.h:2073
Balance()
Default constructor
This setting controls when tone mapping of colors is performed. Tone mapping will normalize the captu...
Definition: Settings.h:2267
ValueType
The type of the underlying value
Definition: Settings.h:2293
bool hasValue() const
Check if the value is set
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:2336
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:2342
std::string toString() const
Get the value as string
static const Enabled always
always
Definition: Settings.h:2297
static std::set< ValueType > validValues()
All valid values of Enabled
Definition: Settings.h:2301
static const Enabled hdrOnly
hdrOnly
Definition: Settings.h:2298
ValueType value() const
Get the value
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:2348
friend std::ostream & operator<<(std::ostream &stream, const Enabled::ValueType &value)
Operator to serialize ValueType to a stream
Definition: Settings.h:2330
Enabled()=default
Default constructor
constexpr Enabled(ValueType value)
Constructor
Definition: Settings.h:2310
void reset()
Reset the node to unset state
Tonemapping settings.
Definition: Settings.h:2243
friend std::ostream & operator<<(std::ostream &stream, const ToneMapping &value)
Operator to send the value as string to a stream
Definition: Settings.h:2540
ToneMapping & set(const Enabled &value)
Set Enabled
Definition: Settings.h:2494
ToneMapping(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:2400
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:2525
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:2482
bool operator==(const ToneMapping &other) const
Equality operator
std::tuple< Settings::Processing::Color::Experimental::ToneMapping::Enabled > Descendants
Definition: Settings.h:2373
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:2518
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:2505
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:2488
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:2461
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:2427
Experimental color settings. These may be renamed, moved or deleted in the future.
Definition: Settings.h:2225
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:2711
Experimental & set(const ToneMapping &value)
Set ToneMapping
Definition: Settings.h:2683
const ToneMapping & toneMapping() const
Get ToneMapping
Definition: Settings.h:2671
Experimental & set(const ToneMapping::Enabled &value)
Set ToneMapping::Enabled
Definition: Settings.h:2690
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:2746
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:2731
Experimental(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:2587
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:2615
std::tuple< Settings::Processing::Color::Experimental::ToneMapping, Settings::Processing::Color::Experimental::ToneMapping::Enabled > Descendants
Definition: Settings.h:2559
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:2724
bool operator==(const Experimental &other) const
Equality operator
Experimental()
Default constructor
ToneMapping & toneMapping()
Get ToneMapping
Definition: Settings.h:2677
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:2650
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:2701
Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gamma greater t...
Definition: Settings.h:2767
friend std::ostream & operator<<(std::ostream &stream, const Gamma &value)
Operator to serialize the value to a stream
Definition: Settings.h:2842
double value() const
Get the value
bool operator>(const Gamma &other) const
Comparison operator
Definition: Settings.h:2836
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Gamma
Definition: Settings.h:2789
Gamma()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings.h:2786
bool hasValue() const
Check if the value is set
constexpr Gamma(double value)
Constructor
Definition: Settings.h:2798
bool operator!=(const Gamma &other) const
Comparison operator
Definition: Settings.h:2824
bool operator<(const Gamma &other) const
Comparison operator
Definition: Settings.h:2830
std::string toString() const
Get the value as string
bool operator==(const Gamma &other) const
Comparison operator
Definition: Settings.h:2818
Color settings
Definition: Settings.h:1631
Color & set(const Gamma &value)
Set Gamma
Definition: Settings.h:3086
const Settings::Processing::Color::Gamma & get() const
Definition: Settings.h:3160
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:3123
bool operator==(const Color &other) const
Equality operator
std::tuple< Settings::Processing::Color::Balance, Settings::Processing::Color::Balance::Blue, Settings::Processing::Color::Balance::Green, Settings::Processing::Color::Balance::Red, Settings::Processing::Color::Experimental, Settings::Processing::Color::Experimental::ToneMapping, Settings::Processing::Color::Experimental::ToneMapping::Enabled, Settings::Processing::Color::Gamma > Descendants
Definition: Settings.h:2872
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:3114
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:2940
Color & set(const Experimental::ToneMapping &value)
Set Experimental::ToneMapping
Definition: Settings.h:3060
Color & set(const Experimental &value)
Set Experimental
Definition: Settings.h:3053
Color & set(const Experimental::ToneMapping::Enabled &value)
Set Experimental::ToneMapping::Enabled
Definition: Settings.h:3067
Color & set(const Balance &value)
Set Balance
Definition: Settings.h:3013
friend std::ostream & operator<<(std::ostream &stream, const Color &value)
Operator to send the value as string to a stream
Definition: Settings.h:3211
const Balance & balance() const
Get Balance
Definition: Settings.h:3001
const Experimental & experimental() const
Get Experimental
Definition: Settings.h:3041
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:3152
Color()
Default constructor
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:3194
const Settings::Processing::Color::Experimental & get() const
Definition: Settings.h:3132
Color & set(const Balance::Green &value)
Set Balance::Green
Definition: Settings.h:3027
Experimental & experimental()
Get Experimental
Definition: Settings.h:3047
std::string toString() const
Get the value as string
bool operator!=(const Color &other) const
Inequality operator
Color & set(const Balance::Blue &value)
Set Balance::Blue
Definition: Settings.h:3020
Gamma & gamma()
Get Gamma
Definition: Settings.h:3080
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:2980
Color & set(const Balance::Red &value)
Set Balance::Red
Definition: Settings.h:3034
const Gamma & gamma() const
Get Gamma
Definition: Settings.h:3074
Color(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:2906
const Settings::Processing::Color::Balance & get() const
Definition: Settings.h:3096
Balance & balance()
Get Balance
Definition: Settings.h:3007
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:3185
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:3142
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:3105
Enabled
Definition: Settings.h:3310
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:3328
bool ValueType
The type of the underlying value
Definition: Settings.h:3327
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:3332
static const Enabled no
Off/disabled.
Definition: Settings.h:3329
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:3341
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:3373
bool hasValue() const
Check if the value is set
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:3361
bool value() const
Get the value
Enabled()=default
Default constructor
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:3367
Higher values gives more correction.
Definition: Settings.h:3388
double ValueType
The type of the underlying value
Definition: Settings.h:3407
bool operator>(const Strength &other) const
Comparison operator
Definition: Settings.h:3457
bool operator!=(const Strength &other) const
Comparison operator
Definition: Settings.h:3445
bool hasValue() const
Check if the value is set
constexpr Strength(double value)
Constructor
Definition: Settings.h:3419
static constexpr Range< double > validRange()
The range of valid values for Strength
Definition: Settings.h:3410
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:3463
Strength()=default
Default constructor
bool operator<(const Strength &other) const
Comparison operator
Definition: Settings.h:3451
void reset()
Reset the node to unset state
std::string toString() const
Get the value as string
bool operator==(const Strength &other) const
Comparison operator
Definition: Settings.h:3439
Correction
Definition: Settings.h:3292
bool operator==(const Correction &other) const
Equality operator
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:3606
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:3683
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:3600
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:3661
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength > Descendants
Definition: Settings.h:3488
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:3579
Strength & strength()
Get Strength
Definition: Settings.h:3625
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:3646
bool operator!=(const Correction &other) const
Inequality operator
friend std::ostream & operator<<(std::ostream &stream, const Correction &value)
Operator to send the value as string to a stream
Definition: Settings.h:3707
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:3544
Correction & set(const Enabled &value)
Set Enabled
Definition: Settings.h:3612
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:3691
std::string toString() const
Get the value as string
Correction & set(const Strength &value)
Set Strength
Definition: Settings.h:3631
const Strength & strength() const
Get Strength
Definition: Settings.h:3619
Correction(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:3516
Enabled
Definition: Settings.h:3745
std::string toString() const
Get the value as string
static const Enabled yes
On/enabled.
Definition: Settings.h:3763
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:3776
Enabled()=default
Default constructor
void reset()
Reset the node to unset state
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:3802
bool ValueType
The type of the underlying value
Definition: Settings.h:3762
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:3767
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:3808
bool hasValue() const
Check if the value is set
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:3796
bool value() const
Get the value
static const Enabled no
Off/disabled.
Definition: Settings.h:3764
Higher values remove more points.
Definition: Settings.h:3823
void reset()
Reset the node to unset state
constexpr Threshold(double value)
Constructor
Definition: Settings.h:3854
bool operator!=(const Threshold &other) const
Comparison operator
Definition: Settings.h:3880
bool operator<(const Threshold &other) const
Comparison operator
Definition: Settings.h:3886
static constexpr Range< double > validRange()
The range of valid values for Threshold
Definition: Settings.h:3845
Threshold()=default
Default constructor
bool operator==(const Threshold &other) const
Comparison operator
Definition: Settings.h:3874
std::string toString() const
Get the value as string
bool operator>(const Threshold &other) const
Comparison operator
Definition: Settings.h:3892
bool hasValue() const
Check if the value is set
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream
Definition: Settings.h:3898
double value() const
Get the value
double ValueType
The type of the underlying value
Definition: Settings.h:3842
Removal
Definition: Settings.h:3727
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:4116
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:3979
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:4140
const Threshold & threshold() const
Get Threshold
Definition: Settings.h:4054
Removal & set(const Threshold &value)
Set Threshold
Definition: Settings.h:4066
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:3951
bool operator!=(const Removal &other) const
Inequality operator
bool operator==(const Removal &other) const
Equality operator
Removal copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition: Settings.h:4014
Threshold & threshold()
Get Threshold
Definition: Settings.h:4060
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:4047
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:4081
std::tuple< Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled, Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold > Descendants
Definition: Settings.h:3923
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:4041
Removal()
Default constructor
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:4035
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:4095
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:4124
std::string toString() const
Get the value as string
Corrects artifacts that appear when imaging scenes with large texture gradients or high contrast....
Definition: Settings.h:3270
ContrastDistortion & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:4340
ContrastDistortion & set(const Correction::Enabled &value)
Set Correction::Enabled
Definition: Settings.h:4307
ContrastDistortion & set(const Correction &value)
Set Correction
Definition: Settings.h:4300
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:4451
bool operator!=(const ContrastDistortion &other) const
Inequality operator
friend std::ostream & operator<<(std::ostream &stream, const ContrastDistortion &value)
Operator to send the value as string to a stream
Definition: Settings.h:4475
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:4267
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:4164
ContrastDistortion & set(const Correction::Strength &value)
Set Correction::Strength
Definition: Settings.h:4314
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:4228
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:4459
ContrastDistortion & set(const Removal &value)
Set Removal
Definition: Settings.h:4333
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:4430
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:4402
const Removal & removal() const
Get Removal
Definition: Settings.h:4321
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:4374
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:4360
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:4389
std::string toString() const
Get the value as string
Removal & removal()
Get Removal
Definition: Settings.h:4327
bool operator==(const ContrastDistortion &other) const
Equality operator
ContrastDistortion & set(const Removal::Threshold &value)
Set Removal::Threshold
Definition: Settings.h:4347
const Correction & correction() const
Get Correction
Definition: Settings.h:4288
ContrastDistortion(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:4196
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:4415
Correction & correction()
Get Correction
Definition: Settings.h:4294
Experimental filters. These may be renamed, moved or deleted in the future.
Definition: Settings.h:3248
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:4796
ContrastDistortion & contrastDistortion()
Get ContrastDistortion
Definition: Settings.h:4633
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:4746
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:4606
Experimental(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:4533
Experimental & set(const ContrastDistortion &value)
Set ContrastDistortion
Definition: Settings.h:4639
Experimental & set(const ContrastDistortion::Removal::Threshold &value)
Set ContrastDistortion::Removal::Threshold
Definition: Settings.h:4681
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:4566
Experimental & set(const ContrastDistortion::Correction::Strength &value)
Set ContrastDistortion::Correction::Strength
Definition: Settings.h:4660
friend std::ostream & operator<<(std::ostream &stream, const Experimental &value)
Operator to send the value as string to a stream
Definition: Settings.h:4811
Experimental()
Default constructor
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:4733
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:4789
Experimental & set(const ContrastDistortion::Removal &value)
Set ContrastDistortion::Removal
Definition: Settings.h:4667
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:4692
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:4704
bool operator!=(const Experimental &other) const
Inequality operator
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:4774
Experimental & set(const ContrastDistortion::Correction::Enabled &value)
Set ContrastDistortion::Correction::Enabled
Definition: Settings.h:4653
const ContrastDistortion & contrastDistortion() const
Get ContrastDistortion
Definition: Settings.h:4627
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:4500
Experimental & set(const ContrastDistortion::Correction &value)
Set ContrastDistortion::Correction
Definition: Settings.h:4646
Experimental & set(const ContrastDistortion::Removal::Enabled &value)
Set ContrastDistortion::Removal::Enabled
Definition: Settings.h:4674
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:4718
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:4760
Enable or disable the SNR filter
Definition: Settings.h:4866
static const Enabled yes
On/enabled.
Definition: Settings.h:4884
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:4923
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:4917
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:4888
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:4897
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:4929
Enabled()=default
Default constructor
static const Enabled no
Off/disabled.
Definition: Settings.h:4885
bool ValueType
The type of the underlying value
Definition: Settings.h:4883
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:4944
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:4973
bool operator==(const Threshold &other) const
Comparison operator
Definition: Settings.h:4993
void reset()
Reset the node to unset state
static constexpr Range< double > validRange()
The range of valid values for Threshold
Definition: Settings.h:4964
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream
Definition: Settings.h:5017
bool operator>(const Threshold &other) const
Comparison operator
Definition: Settings.h:5011
bool operator<(const Threshold &other) const
Comparison operator
Definition: Settings.h:5005
std::string toString() const
Get the value as string
double ValueType
The type of the underlying value
Definition: Settings.h:4961
bool operator!=(const Threshold &other) const
Comparison operator
Definition: Settings.h:4999
Discard points with signal-to-noise ratio (SNR) values below a threshold
Definition: Settings.h:4848
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:5070
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:5249
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:5154
const Threshold & threshold() const
Get Threshold
Definition: Settings.h:5173
std::tuple< Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold > Descendants
Definition: Settings.h:5042
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5233
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:5166
Removal & set(const Threshold &value)
Set Threshold
Definition: Settings.h:5185
bool operator==(const Removal &other) const
Equality operator
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:5098
bool operator!=(const Removal &other) const
Inequality operator
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:5206
Threshold & threshold()
Get Threshold
Definition: Settings.h:5179
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:5225
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:5133
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:5160
Removal()
Default constructor
std::string toString() const
Get the value as string
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:5196
Contains a filter that removes points with low signal-to-noise ratio (SNR)
Definition: Settings.h:4830
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:5455
std::string toString() const
Get the value as string
Removal & removal()
Get Removal
Definition: Settings.h:5391
Noise()
Default constructor
Noise(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:5299
Noise & set(const Removal::Threshold &value)
Set Removal::Threshold
Definition: Settings.h:5411
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:5364
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5462
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:5442
std::tuple< Settings::Processing::Filters::Noise::Removal, Settings::Processing::Filters::Noise::Removal::Enabled, Settings::Processing::Filters::Noise::Removal::Threshold > Descendants
Definition: Settings.h:5270
Noise & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:5404
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:5328
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:5477
const Removal & removal() const
Get Removal
Definition: Settings.h:5385
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:5432
bool operator==(const Noise &other) const
Equality operator
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:5422
Noise & set(const Removal &value)
Set Removal
Definition: Settings.h:5397
Enable or disable the outlier filter
Definition: Settings.h:5532
bool ValueType
The type of the underlying value
Definition: Settings.h:5549
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:5589
bool value() const
Get the value
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:5563
static const Enabled no
Off/disabled.
Definition: Settings.h:5551
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:5550
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:5595
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:5554
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:5583
Enabled()=default
Default constructor
Discard point if Euclidean distance to neighboring points is above the given value
Definition: Settings.h:5610
static constexpr Range< double > validRange()
The range of valid values for Threshold
Definition: Settings.h:5630
bool hasValue() const
Check if the value is set
double value() const
Get the value
constexpr Threshold(double value)
Constructor
Definition: Settings.h:5639
bool operator<(const Threshold &other) const
Comparison operator
Definition: Settings.h:5671
bool operator==(const Threshold &other) const
Comparison operator
Definition: Settings.h:5659
bool operator!=(const Threshold &other) const
Comparison operator
Definition: Settings.h:5665
friend std::ostream & operator<<(std::ostream &stream, const Threshold &value)
Operator to serialize the value to a stream
Definition: Settings.h:5683
void reset()
Reset the node to unset state
bool operator>(const Threshold &other) const
Comparison operator
Definition: Settings.h:5677
std::string toString() const
Get the value as string
double ValueType
The type of the underlying value
Definition: Settings.h:5627
Threshold()=default
Default constructor
Discard point if Euclidean distance to neighboring points is above a threshold
Definition: Settings.h:5514
bool operator!=(const Removal &other) const
Inequality operator
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:5915
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:5820
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:5799
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:5832
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:5826
Removal & set(const Threshold &value)
Set Threshold
Definition: Settings.h:5851
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:5862
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:5736
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:5872
std::tuple< Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold > Descendants
Definition: Settings.h:5708
const Threshold & threshold() const
Get Threshold
Definition: Settings.h:5839
Threshold & threshold()
Get Threshold
Definition: Settings.h:5845
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:5891
Removal()
Default constructor
bool operator==(const Removal &other) const
Equality operator
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:5764
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:5899
Contains a filter that removes points with large Euclidean distance to neighboring points
Definition: Settings.h:5496
const Removal & removal() const
Get Removal
Definition: Settings.h:6051
Outlier(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:5965
Outlier & set(const Removal &value)
Set Removal
Definition: Settings.h:6063
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:6128
Outlier()
Default constructor
std::string toString() const
Get the value as string
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:6121
bool operator!=(const Outlier &other) const
Inequality operator
Outlier & set(const Removal::Threshold &value)
Set Removal::Threshold
Definition: Settings.h:6077
Outlier & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:6070
Removal & removal()
Get Removal
Definition: Settings.h:6057
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:6030
friend std::ostream & operator<<(std::ostream &stream, const Outlier &value)
Operator to send the value as string to a stream
Definition: Settings.h:6143
bool operator==(const Outlier &other) const
Equality operator
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:6108
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:6088
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:6098
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:5994
std::tuple< Settings::Processing::Filters::Outlier::Removal, Settings::Processing::Filters::Outlier::Removal::Enabled, Settings::Processing::Filters::Outlier::Removal::Threshold > Descendants
Definition: Settings.h:5936
Enable or disable the reflection filter. Note that this filter is computationally intensive and may a...
Definition: Settings.h:6198
bool ValueType
The type of the underlying value
Definition: Settings.h:6215
bool hasValue() const
Check if the value is set
void reset()
Reset the node to unset state
static const Enabled yes
On/enabled.
Definition: Settings.h:6216
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:6255
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:6229
std::string toString() const
Get the value as string
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:6261
bool value() const
Get the value
static const Enabled no
Off/disabled.
Definition: Settings.h:6217
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:6249
Enabled()=default
Default constructor
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:6220
Discard points likely introduced by reflections (useful for shiny materials)
Definition: Settings.h:6180
std::tuple< Settings::Processing::Filters::Reflection::Removal::Enabled > Descendants
Definition: Settings.h:6274
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:6389
friend std::ostream & operator<<(std::ostream &stream, const Removal &value)
Operator to send the value as string to a stream
Definition: Settings.h:6441
std::string toString() const
Get the value as string
bool operator==(const Removal &other) const
Equality operator
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:6406
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:6328
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:6419
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:6362
Removal(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:6301
Removal & set(const Enabled &value)
Set Enabled
Definition: Settings.h:6395
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:6426
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:6383
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:6162
std::tuple< Settings::Processing::Filters::Reflection::Removal, Settings::Processing::Filters::Reflection::Removal::Enabled > Descendants
Definition: Settings.h:6460
bool operator!=(const Reflection &other) const
Inequality operator
bool operator==(const Reflection &other) const
Equality operator
Removal & removal()
Get Removal
Definition: Settings.h:6578
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:6516
friend std::ostream & operator<<(std::ostream &stream, const Reflection &value)
Operator to send the value as string to a stream
Definition: Settings.h:6647
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:6632
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:6625
Reflection & set(const Removal::Enabled &value)
Set Removal::Enabled
Definition: Settings.h:6591
Reflection()
Default constructor
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:6612
Reflection(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:6488
std::string toString() const
Get the value as string
const Removal & removal() const
Get Removal
Definition: Settings.h:6572
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:6602
Reflection & set(const Removal &value)
Set Removal
Definition: Settings.h:6584
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:6551
Enable or disable the smoothing filter
Definition: Settings.h:6700
bool ValueType
The type of the underlying value
Definition: Settings.h:6717
void reset()
Reset the node to unset state
Enabled()=default
Default constructor
static std::set< bool > validValues()
All valid values of Enabled
Definition: Settings.h:6722
bool value() const
Get the value
bool operator!=(const Enabled &other) const
Comparison operator
Definition: Settings.h:6757
static const Enabled yes
On/enabled.
Definition: Settings.h:6718
bool operator==(const Enabled &other) const
Comparison operator
Definition: Settings.h:6751
friend std::ostream & operator<<(std::ostream &stream, const Enabled &value)
Operator to serialize the value to a stream
Definition: Settings.h:6763
static const Enabled no
Off/disabled.
Definition: Settings.h:6719
constexpr Enabled(bool value)
Constructor
Definition: Settings.h:6731
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:6778
Sigma()=default
Default constructor
double ValueType
The type of the underlying value
Definition: Settings.h:6795
bool operator!=(const Sigma &other) const
Comparison operator
Definition: Settings.h:6833
bool operator>(const Sigma &other) const
Comparison operator
Definition: Settings.h:6845
double value() const
Get the value
bool hasValue() const
Check if the value is set
constexpr Sigma(double value)
Constructor
Definition: Settings.h:6807
static constexpr Range< double > validRange()
The range of valid values for Sigma
Definition: Settings.h:6798
friend std::ostream & operator<<(std::ostream &stream, const Sigma &value)
Operator to serialize the value to a stream
Definition: Settings.h:6851
void reset()
Reset the node to unset state
bool operator==(const Sigma &other) const
Comparison operator
Definition: Settings.h:6827
std::string toString() const
Get the value as string
bool operator<(const Sigma &other) const
Comparison operator
Definition: Settings.h:6839
Gaussian smoothing of the point cloud
Definition: Settings.h:6682
Gaussian(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:6904
Enabled & isEnabled()
Get Enabled
Definition: Settings.h:6994
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:7059
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:7040
Gaussian & set(const Enabled &value)
Set Enabled
Definition: Settings.h:7000
friend std::ostream & operator<<(std::ostream &stream, const Gaussian &value)
Operator to send the value as string to a stream
Definition: Settings.h:7083
const Sigma & sigma() const
Get Sigma
Definition: Settings.h:7007
std::tuple< Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition: Settings.h:6876
bool operator==(const Gaussian &other) const
Equality operator
const Enabled & isEnabled() const
Get Enabled
Definition: Settings.h:6988
bool operator!=(const Gaussian &other) const
Inequality operator
Gaussian()
Default constructor
std::string toString() const
Get the value as string
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:7030
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:6967
Gaussian & set(const Sigma &value)
Set Sigma
Definition: Settings.h:7019
Sigma & sigma()
Get Sigma
Definition: Settings.h:7013
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:6932
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:7067
Smoothing filters
Definition: Settings.h:6666
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:7198
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:7162
Smoothing & set(const Gaussian &value)
Set Gaussian
Definition: Settings.h:7231
Smoothing()
Default constructor
std::tuple< Settings::Processing::Filters::Smoothing::Gaussian, Settings::Processing::Filters::Smoothing::Gaussian::Enabled, Settings::Processing::Filters::Smoothing::Gaussian::Sigma > Descendants
Definition: Settings.h:7104
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:7266
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:7296
Smoothing & set(const Gaussian::Sigma &value)
Set Gaussian::Sigma
Definition: Settings.h:7245
Smoothing & set(const Gaussian::Enabled &value)
Set Gaussian::Enabled
Definition: Settings.h:7238
bool operator!=(const Smoothing &other) const
Inequality operator
const Gaussian & gaussian() const
Get Gaussian
Definition: Settings.h:7219
Smoothing(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:7133
std::string toString() const
Get the value as string
bool operator==(const Smoothing &other) const
Equality operator
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:7256
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:7289
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:7276
friend std::ostream & operator<<(std::ostream &stream, const Smoothing &value)
Operator to send the value as string to a stream
Definition: Settings.h:7311
Gaussian & gaussian()
Get Gaussian
Definition: Settings.h:7225
Filters
Definition: Settings.h:3232
bool operator!=(const Filters &other) const
Inequality operator
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:7894
Filters & set(const Reflection::Removal::Enabled &value)
Set Reflection::Removal::Enabled
Definition: Settings.h:7699
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:8030
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:7904
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:7504
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:7836
std::string toString() const
Get the value as string
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:7865
const Settings::Processing::Filters::Smoothing & get() const
Definition: Settings.h:7952
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:7933
const Settings::Processing::Filters::Reflection & get() const
Definition: Settings.h:7923
Filters & set(const Outlier::Removal::Threshold &value)
Set Outlier::Removal::Threshold
Definition: Settings.h:7666
Filters & set(const Experimental::ContrastDistortion::Correction::Strength &value)
Set Experimental::ContrastDistortion::Correction::Strength
Definition: Settings.h:7565
Filters & set(const Experimental &value)
Set Experimental
Definition: Settings.h:7537
Outlier & outlier()
Get Outlier
Definition: Settings.h:7639
Filters & set(const Outlier::Removal &value)
Set Outlier::Removal
Definition: Settings.h:7652
const Experimental & experimental() const
Get Experimental
Definition: Settings.h:7525
Filters & set(const Experimental::ContrastDistortion &value)
Set Experimental::ContrastDistortion
Definition: Settings.h:7544
Filters()
Default constructor
friend std::ostream & operator<<(std::ostream &stream, const Filters &value)
Operator to send the value as string to a stream
Definition: Settings.h:8049
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:7943
const Settings::Processing::Filters::Outlier & get() const
Definition: Settings.h:7884
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:7759
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:7982
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:7449
const Reflection & reflection() const
Get Reflection
Definition: Settings.h:7673
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:7351
const Settings::Processing::Filters::Experimental & get() const
Definition: Settings.h:7749
Filters & set(const Noise::Removal::Threshold &value)
Set Noise::Removal::Threshold
Definition: Settings.h:7626
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:7972
Filters & set(const Reflection &value)
Set Reflection
Definition: Settings.h:7685
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:7798
Filters & set(const Experimental::ContrastDistortion::Removal &value)
Set Experimental::ContrastDistortion::Removal
Definition: Settings.h:7572
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:8019
Filters & set(const Outlier &value)
Set Outlier
Definition: Settings.h:7645
const Noise & noise() const
Get Noise
Definition: Settings.h:7593
Filters & set(const Experimental::ContrastDistortion::Correction &value)
Set Experimental::ContrastDistortion::Correction
Definition: Settings.h:7551
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:7784
Filters & set(const Reflection::Removal &value)
Set Reflection::Removal
Definition: Settings.h:7692
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:7855
Filters & set(const Noise::Removal::Enabled &value)
Set Noise::Removal::Enabled
Definition: Settings.h:7619
Filters & set(const Smoothing::Gaussian::Enabled &value)
Set Smoothing::Gaussian::Enabled
Definition: Settings.h:7732
const Settings::Processing::Filters::Noise & get() const
Definition: Settings.h:7846
Filters & set(const Experimental::ContrastDistortion::Removal::Threshold &value)
Set Experimental::ContrastDistortion::Removal::Threshold
Definition: Settings.h:7586
Filters & set(const Smoothing::Gaussian &value)
Set Smoothing::Gaussian
Definition: Settings.h:7725
bool operator==(const Filters &other) const
Equality operator
Filters & set(const Outlier::Removal::Enabled &value)
Set Outlier::Removal::Enabled
Definition: Settings.h:7659
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:7823
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:7810
Filters(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:7400
Noise & noise()
Get Noise
Definition: Settings.h:7599
Filters & set(const Smoothing &value)
Set Smoothing
Definition: Settings.h:7718
Filters & set(const Experimental::ContrastDistortion::Correction::Enabled &value)
Set Experimental::ContrastDistortion::Correction::Enabled
Definition: Settings.h:7558
Filters & set(const Noise::Removal &value)
Set Noise::Removal
Definition: Settings.h:7612
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:7914
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:7875
Smoothing & smoothing()
Get Smoothing
Definition: Settings.h:7712
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:7962
Filters & set(const Experimental::ContrastDistortion::Removal::Enabled &value)
Set Experimental::ContrastDistortion::Removal::Enabled
Definition: Settings.h:7579
const Outlier & outlier() const
Get Outlier
Definition: Settings.h:7633
Reflection & reflection()
Get Reflection
Definition: Settings.h:7679
Filters & set(const Noise &value)
Set Noise
Definition: Settings.h:7605
Filters & set(const Smoothing::Gaussian::Sigma &value)
Set Smoothing::Gaussian::Sigma
Definition: Settings.h:7739
const Smoothing & smoothing() const
Get Smoothing
Definition: Settings.h:7706
Experimental & experimental()
Get Experimental
Definition: Settings.h:7531
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:7770
Settings related to processing of a capture, including filters and color balance
Definition: Settings.h:1613
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:8626
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:8707
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:8854
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:8835
Processing & set(const Color::Experimental &value)
Set Color::Experimental
Definition: Settings.h:8352
Processing & set(const Color &value)
Set Color
Definition: Settings.h:8317
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:8597
Processing & set(const Color::Experimental::ToneMapping::Enabled &value)
Set Color::Experimental::ToneMapping::Enabled
Definition: Settings.h:8366
Processing & set(const Color::Balance &value)
Set Color::Balance
Definition: Settings.h:8324
Processing & set(const Filters::Smoothing::Gaussian &value)
Set Filters::Smoothing::Gaussian
Definition: Settings.h:8539
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:8285
Filters & filters()
Get Filters
Definition: Settings.h:8386
Processing & set(const Filters::Smoothing::Gaussian::Enabled &value)
Set Filters::Smoothing::Gaussian::Enabled
Definition: Settings.h:8546
const Settings::Processing::Color::Gamma & get() const
Definition: Settings.h:8634
Processing & set(const Filters::Experimental::ContrastDistortion::Removal &value)
Set Filters::Experimental::ContrastDistortion::Removal
Definition: Settings.h:8434
Processing()
Default constructor
const Settings::Processing::Filters::Smoothing & get() const
Definition: Settings.h:8844
Processing & set(const Filters::Experimental::ContrastDistortion::Removal::Threshold &value)
Set Filters::Experimental::ContrastDistortion::Removal::Threshold
Definition: Settings.h:8448
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:8588
Processing & set(const Filters::Outlier::Removal &value)
Set Filters::Outlier::Removal
Definition: Settings.h:8490
Processing & set(const Filters::Experimental::ContrastDistortion::Removal::Enabled &value)
Set Filters::Experimental::ContrastDistortion::Removal::Enabled
Definition: Settings.h:8441
friend std::ostream & operator<<(std::ostream &stream, const Processing &value)
Operator to send the value as string to a stream
Definition: Settings.h:8917
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:8718
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:8825
std::string toString() const
Get the value as string
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:8769
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:8874
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:8759
Processing & set(const Color::Balance::Blue &value)
Set Color::Balance::Blue
Definition: Settings.h:8331
Color & color()
Get Color
Definition: Settings.h:8311
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:8864
Processing & set(const Filters::Reflection &value)
Set Filters::Reflection
Definition: Settings.h:8511
Processing & set(const Filters::Noise &value)
Set Filters::Noise
Definition: Settings.h:8455
const Settings::Processing::Filters::Outlier & get() const
Definition: Settings.h:8777
const Settings::Processing::Filters & get() const
Definition: Settings.h:8642
Processing & set(const Filters::Experimental::ContrastDistortion::Correction::Strength &value)
Set Filters::Experimental::ContrastDistortion::Correction::Strength
Definition: Settings.h:8427
Processing & set(const Filters::Noise::Removal::Enabled &value)
Set Filters::Noise::Removal::Enabled
Definition: Settings.h:8469
Processing & set(const Filters::Smoothing &value)
Set Filters::Smoothing
Definition: Settings.h:8532
const Settings::Processing::Color::Balance & get() const
Definition: Settings.h:8570
const Filters & filters() const
Get Filters
Definition: Settings.h:8380
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:8901
Processing & set(const Filters::Smoothing::Gaussian::Sigma &value)
Set Filters::Smoothing::Gaussian::Sigma
Definition: Settings.h:8553
Processing & set(const Filters::Noise::Removal &value)
Set Filters::Noise::Removal
Definition: Settings.h:8462
Processing & set(const Filters::Outlier::Removal::Enabled &value)
Set Filters::Outlier::Removal::Enabled
Definition: Settings.h:8497
Processing & set(const Filters::Noise::Removal::Threshold &value)
Set Filters::Noise::Removal::Threshold
Definition: Settings.h:8476
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:8579
Processing & set(const Filters::Experimental &value)
Set Filters::Experimental
Definition: Settings.h:8399
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:8749
Processing & set(const Filters::Outlier::Removal::Threshold &value)
Set Filters::Outlier::Removal::Threshold
Definition: Settings.h:8504
Processing & set(const Color::Balance::Green &value)
Set Color::Balance::Green
Definition: Settings.h:8338
const Settings::Processing::Color::Experimental & get() const
Definition: Settings.h:8606
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:8696
Processing & set(const Filters::Outlier &value)
Set Filters::Outlier
Definition: Settings.h:8483
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:8683
Processing & set(const Filters::Reflection::Removal::Enabled &value)
Set Filters::Reflection::Removal::Enabled
Definition: Settings.h:8525
Processing & set(const Filters::Experimental::ContrastDistortion::Correction::Enabled &value)
Set Filters::Experimental::ContrastDistortion::Correction::Enabled
Definition: Settings.h:8420
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:8806
Processing & set(const Filters::Reflection::Removal &value)
Set Filters::Reflection::Removal
Definition: Settings.h:8518
Processing(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:8162
Processing & set(const Filters::Experimental::ContrastDistortion::Correction &value)
Set Filters::Experimental::ContrastDistortion::Correction
Definition: Settings.h:8413
const Settings::Processing::Color & get() const
Definition: Settings.h:8562
bool operator==(const Processing &other) const
Equality operator
const Color & color() const
Get Color
Definition: Settings.h:8305
Processing & set(const Filters::Experimental::ContrastDistortion &value)
Set Filters::Experimental::ContrastDistortion
Definition: Settings.h:8406
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:8103
const Settings::Processing::Filters::Reflection & get() const
Definition: Settings.h:8815
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:8616
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:8796
Processing & set(const Filters &value)
Set Filters
Definition: Settings.h:8392
Processing & set(const Color::Balance::Red &value)
Set Color::Balance::Red
Definition: Settings.h:8345
const Settings::Processing::Filters::Noise & get() const
Definition: Settings.h:8740
bool operator!=(const Processing &other) const
Inequality operator
const Settings::Processing::Filters::Experimental & get() const
Definition: Settings.h:8651
Processing & set(const Color::Gamma &value)
Set Color::Gamma
Definition: Settings.h:8373
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:8221
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:8731
Processing & set(const Color::Experimental::ToneMapping &value)
Set Color::Experimental::ToneMapping
Definition: Settings.h:8359
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:8671
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:8661
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:8893
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:8786
Settings used when capturing with a Zivid camera
Definition: Settings.h:121
const Settings::Processing::Filters::Outlier::Removal::Enabled & get() const
Definition: Settings.h:9784
Settings(Args &&...args)
Constructor taking variadic number of arguments
Definition: Settings.h:9041
const Settings::Processing::Filters::Outlier & get() const
Definition: Settings.h:9765
const Settings::Processing::Color::Balance & get() const
Definition: Settings.h:9566
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Definition: Settings.h:9397
const Experimental & experimental() const
Get Experimental
Definition: Settings.h:9240
const Settings::Processing::Color::Balance::Red & get() const
Definition: Settings.h:9590
Settings & set(const Processing::Filters::Smoothing &value)
Set Processing::Filters::Smoothing
Definition: Settings.h:9488
const Settings::Processing::Filters::Noise::Removal & get() const
Definition: Settings.h:9737
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:9176
const Processing & processing() const
Get Processing
Definition: Settings.h:9266
const Settings::Experimental & get() const
Definition: Settings.h:9536
const Settings::Processing::Color::Gamma & get() const
Definition: Settings.h:9626
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal & get() const
Definition: Settings.h:9696
Settings & set(const Processing &value)
Set Processing
Definition: Settings.h:9278
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold & get() const
Definition: Settings.h:9719
Settings & set(const Processing::Filters::Outlier::Removal::Enabled &value)
Set Processing::Filters::Outlier::Removal::Enabled
Definition: Settings.h:9453
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
Definition: Settings.h:9404
Settings & set(const Experimental::Engine &value)
Set Experimental::Engine
Definition: Settings.h:9259
Settings & set(const Processing::Filters::Smoothing::Gaussian &value)
Set Processing::Filters::Smoothing::Gaussian
Definition: Settings.h:9495
Settings & set(const Diagnostics &value)
Set Diagnostics
Definition: Settings.h:9226
const Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled & get() const
Definition: Settings.h:9707
Settings & set(const Processing::Filters::Noise &value)
Set Processing::Filters::Noise
Definition: Settings.h:9411
void load(const std::string &fileName)
Load from the given file
const Settings::Acquisitions & get() const
Definition: Settings.h:9516
const Settings::Processing::Filters::Experimental & get() const
Definition: Settings.h:9642
const Settings::Processing::Filters::Outlier::Removal & get() const
Definition: Settings.h:9774
const Settings::Processing::Filters::Smoothing::Gaussian::Sigma & get() const
Definition: Settings.h:9858
const Settings::Diagnostics & get() const
Definition: Settings.h:9522
const Settings::Processing::Filters::Smoothing::Gaussian::Enabled & get() const
Definition: Settings.h:9848
Settings & set(const Processing::Color::Balance &value)
Set Processing::Color::Balance
Definition: Settings.h:9292
const Settings::Processing::Filters::Noise::Removal::Enabled & get() const
Definition: Settings.h:9747
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction & get() const
Definition: Settings.h:9662
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:9889
const Settings::Processing::Color::Balance::Green & get() const
Definition: Settings.h:9582
Settings & set(const Processing::Filters::Smoothing::Gaussian::Enabled &value)
Set Processing::Filters::Smoothing::Gaussian::Enabled
Definition: Settings.h:9502
const Settings::Processing & get() const
Definition: Settings.h:9550
Settings & set(const Processing::Filters::Reflection &value)
Set Processing::Filters::Reflection
Definition: Settings.h:9467
const Settings::Experimental::Engine & get() const
Definition: Settings.h:9544
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter
Definition: Settings.h:9899
Settings()
Default constructor
const Settings::Processing::Filters::Experimental::ContrastDistortion & get() const
Definition: Settings.h:9652
Settings & set(const Processing::Filters::Outlier::Removal::Threshold &value)
Set Processing::Filters::Outlier::Removal::Threshold
Definition: Settings.h:9460
const Settings::Processing::Color::Experimental::ToneMapping::Enabled & get() const
Definition: Settings.h:9618
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Strength &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Definition: Settings.h:9383
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength & get() const
Definition: Settings.h:9685
const Settings::Processing::Color::Balance::Blue & get() const
Definition: Settings.h:9574
const Acquisitions & acquisitions() const
Get Acquisitions
Definition: Settings.h:9195
void set(Args &&...args)
Set multiple arguments
Definition: Settings.h:9106
const Settings::Processing::Filters::Reflection & get() const
Definition: Settings.h:9802
Settings & set(const Processing::Filters::Experimental &value)
Set Processing::Filters::Experimental
Definition: Settings.h:9355
const Settings::Processing::Filters::Smoothing & get() const
Definition: Settings.h:9829
const Settings::Processing::Filters & get() const
Definition: Settings.h:9634
Settings & set(const Processing::Color::Experimental &value)
Set Processing::Color::Experimental
Definition: Settings.h:9320
void save(const std::string &fileName) const
Save to the given file
const Settings::Processing::Color::Experimental & get() const
Definition: Settings.h:9598
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Removal &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal
Definition: Settings.h:9390
std::tuple< Settings::Acquisitions, Settings::Diagnostics, Settings::Diagnostics::Enabled, Settings::Experimental, Settings::Experimental::Engine, Settings::Processing, Settings::Processing::Color, Settings::Processing::Color::Balance, Settings::Processing::Color::Balance::Blue, Settings::Processing::Color::Balance::Green, Settings::Processing::Color::Balance::Red, Settings::Processing::Color::Experimental, Settings::Processing::Color::Experimental::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:8974
Settings & set(const Processing::Color &value)
Set Processing::Color
Definition: Settings.h:9285
Experimental & experimental()
Get Experimental
Definition: Settings.h:9246
Settings & set(const Processing::Filters::Outlier &value)
Set Processing::Filters::Outlier
Definition: Settings.h:9439
bool operator==(const Settings &other) const
Equality operator
Acquisitions & acquisitions()
Get Acquisitions
Definition: Settings.h:9201
Settings & set(const Processing::Filters::Reflection::Removal &value)
Set Processing::Filters::Reflection::Removal
Definition: Settings.h:9474
Settings(const std::string &fileName)
Construct Settings by loading from file
Settings & set(const Processing::Color::Balance::Red &value)
Set Processing::Color::Balance::Red
Definition: Settings.h:9313
Diagnostics & diagnostics()
Get Diagnostics
Definition: Settings.h:9220
const Settings::Processing::Filters::Noise::Removal::Threshold & get() const
Definition: Settings.h:9757
Settings & set(const Processing::Filters::Reflection::Removal::Enabled &value)
Set Processing::Filters::Reflection::Removal::Enabled
Definition: Settings.h:9481
Processing & processing()
Get Processing
Definition: Settings.h:9272
Settings & set(const Diagnostics::Enabled &value)
Set Diagnostics::Enabled
Definition: Settings.h:9233
const Settings::Processing::Filters::Noise & get() const
Definition: Settings.h:9728
const Settings::Diagnostics::Enabled & get() const
Definition: Settings.h:9530
std::string toString() const
Get the value as string
const Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled & get() const
Definition: Settings.h:9673
Settings & set(const Processing::Filters::Experimental::ContrastDistortion &value)
Set Processing::Filters::Experimental::ContrastDistortion
Definition: Settings.h:9362
Settings & set(const Processing::Color::Gamma &value)
Set Processing::Color::Gamma
Definition: Settings.h:9341
Settings & set(const Processing::Filters::Noise::Removal::Threshold &value)
Set Processing::Filters::Noise::Removal::Threshold
Definition: Settings.h:9432
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Definition: Settings.h:9376
Settings & set(const Acquisitions &value)
Set Acquisitions
Definition: Settings.h:9207
Settings & set(const Processing::Filters::Smoothing::Gaussian::Sigma &value)
Set Processing::Filters::Smoothing::Gaussian::Sigma
Definition: Settings.h:9509
const Diagnostics & diagnostics() const
Get Diagnostics
Definition: Settings.h:9214
bool operator!=(const Settings &other) const
Inequality operator
Settings & set(const Processing::Filters::Noise::Removal &value)
Set Processing::Filters::Noise::Removal
Definition: Settings.h:9418
const Settings::Processing::Color::Experimental::ToneMapping & get() const
Definition: Settings.h:9608
Settings & set(const Processing::Filters::Outlier::Removal &value)
Set Processing::Filters::Outlier::Removal
Definition: Settings.h:9446
Settings & set(const Processing::Color::Experimental::ToneMapping::Enabled &value)
Set Processing::Color::Experimental::ToneMapping::Enabled
Definition: Settings.h:9334
Settings & set(const Processing::Filters::Noise::Removal::Enabled &value)
Set Processing::Filters::Noise::Removal::Enabled
Definition: Settings.h:9425
Settings & set(const Processing::Filters::Experimental::ContrastDistortion::Correction &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction
Definition: Settings.h:9369
const Settings::Processing::Color & get() const
Definition: Settings.h:9558
Settings & set(const Processing::Color::Experimental::ToneMapping &value)
Set Processing::Color::Experimental::ToneMapping
Definition: Settings.h:9327
const Settings::Processing::Filters::Reflection::Removal::Enabled & get() const
Definition: Settings.h:9821
const Settings::Processing::Filters::Reflection::Removal & get() const
Definition: Settings.h:9811
Settings & set(const Processing::Color::Balance::Green &value)
Set Processing::Color::Balance::Green
Definition: Settings.h:9306
Settings & set(const Processing::Filters &value)
Set Processing::Filters
Definition: Settings.h:9348
Settings & set(const Experimental &value)
Set Experimental
Definition: Settings.h:9252
const Settings::Processing::Filters::Outlier::Removal::Threshold & get() const
Definition: Settings.h:9794
Settings & set(const Processing::Color::Balance::Blue &value)
Set Processing::Color::Balance::Blue
Definition: Settings.h:9299
const Settings::Processing::Filters::Smoothing::Gaussian & get() const
Definition: Settings.h:9838
friend std::ostream & operator<<(std::ostream &stream, const Settings &value)
Operator to send the value as string to a stream
Definition: Settings.h:9917
NodeType
Definition: NodeType.h:100
Ret validRange(const CameraInfo &cameraInfo)
Definition: SettingsInfo.h:203
The main Zivid namespace. All Zivid code is found here
Definition: Application.h:99