MCPcopy Create free account
hub / github.com/MrNeRF/LichtFeld-Studio / register_params

Function register_params

src/python/lfs/py_params.cpp:995–1532  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

993 }
994
995 void register_params(nb::module_& m) {
996 register_optimization_properties();
997 register_dataset_properties();
998
999 nb::enum_<MaskMode>(m, "MaskMode")
1000 .value("NONE", MaskMode::None)
1001 .value("SEGMENT", MaskMode::Segment)
1002 .value("IGNORE", MaskMode::Ignore)
1003 .value("SEGMENT_AND_IGNORE", MaskMode::SegmentAndIgnore)
1004 .value("ALPHA_CONSISTENT", MaskMode::AlphaConsistent);
1005
1006 nb::enum_<BackgroundMode>(m, "BackgroundMode")
1007 .value("SOLID_COLOR", BackgroundMode::SolidColor)
1008 .value("MODULATION", BackgroundMode::Modulation)
1009 .value("IMAGE", BackgroundMode::Image)
1010 .value("RANDOM", BackgroundMode::Random);
1011
1012 nb::class_<PyOptimizationParams>(m, "OptimizationParams")
1013 .def(nb::init<>())
1014 .def_prop_ro(
1015 "__property_group__", [](PyOptimizationParams&) { return "optimization"; }, "Property group identifier")
1016 .def("get", &PyOptimizationParams::get, nb::arg("name"), "Get property value by name")
1017 .def("set", &PyOptimizationParams::set, nb::arg("name"), nb::arg("value"), "Set property value by name")
1018 .def("__getattr__", &PyOptimizationParams::get, nb::arg("name"), "Get property value by attribute name")
1019 .def("prop_info", &PyOptimizationParams::prop_info, nb::arg("prop_id"),
1020 "Get metadata for a property")
1021 .def("reset", &PyOptimizationParams::reset, nb::arg("prop_id"),
1022 "Reset property to default value")
1023 .def("properties", &PyOptimizationParams::properties,
1024 "List all properties with their current values")
1025 .def("get_all_properties", &PyOptimizationParams::get_all_properties,
1026 "Get all property descriptors as Python Property objects")
1027 .def("has_params", &PyOptimizationParams::has_params,
1028 "Check if ParameterManager is available")
1029 .def(
1030 "validate", [](PyOptimizationParams& self) { return self.params().validate(); },
1031 "Validate parameter consistency, returns empty string if valid")
1032 .def_prop_rw(
1033 "iterations",
1034 [](PyOptimizationParams& self) { return self.params().iterations; },
1035 [](PyOptimizationParams&, size_t v) { modify_params([v](auto& p) { p.iterations = v; }); },
1036 "Maximum training iterations")
1037 .def_prop_rw(
1038 "means_lr",
1039 [](PyOptimizationParams& self) { return self.params().means_lr; },
1040 [](PyOptimizationParams&, float v) { modify_params([v](auto& p) { p.means_lr = v; }); },
1041 "Learning rate for gaussian positions")
1042 .def_prop_rw(
1043 "means_lr_end",
1044 [](PyOptimizationParams& self) { return self.params().means_lr_end; },
1045 [](PyOptimizationParams&, float v) { modify_params([v](auto& p) { p.means_lr_end = v; }); },
1046 "Target end learning rate for gaussian positions")
1047 .def_prop_rw(
1048 "shs_lr",
1049 [](PyOptimizationParams& self) { return self.params().shs_lr; },
1050 [](PyOptimizationParams&, float v) { modify_params([v](auto& p) { p.shs_lr = v; }); },
1051 "Learning rate for spherical harmonics")
1052 .def_prop_rw(

Callers 1

NB_MODULEFunction · 0.85

Calls 15

modify_paramsFunction · 0.85
canonical_strategy_nameFunction · 0.85
get_parameter_managerFunction · 0.85
path_to_utf8Function · 0.85
utf8_to_pathFunction · 0.85
sortFunction · 0.85
instanceFunction · 0.85
setActiveStrategyMethod · 0.80
scale_stepsMethod · 0.80
autoScaleStepsMethod · 0.80

Tested by

no test coverage detected