diff --git a/examples/nanobind.py b/examples/nanobind.py index e79db19..58b386b 100755 --- a/examples/nanobind.py +++ b/examples/nanobind.py @@ -6,5 +6,5 @@ method = tapkee.parse_reduction_method('lle') parameters.add(tapkee.Parameter.create('dimension reduction method', method)) data, colors = generate_data('swissroll') - embedded_data = tapkee.initialize().withParameters(parameters).embedUsing(data).embedding + embedded_data = tapkee.withParameters(parameters).embedUsing(data).embedding plot(data, embedded_data.T, colors) diff --git a/src/cli/util.hpp b/src/cli/util.hpp index 69b5c52..d4c6594 100644 --- a/src/cli/util.hpp +++ b/src/cli/util.hpp @@ -225,6 +225,11 @@ typename Mapping::mapped_type parse_multiple(Mapping mapping, const std::string& throw std::logic_error(str); } +auto parse_reduction_method(const std::string& str) +{ + return parse_multiple(DIMENSION_REDUCTION_METHODS, str); +} + template tapkee::DenseMatrix matrix_from_callback(const tapkee::IndexType N, PairwiseCallback callback) { diff --git a/src/python/nanobind_extension.cpp b/src/python/nanobind_extension.cpp index e292688..7cb45d8 100644 --- a/src/python/nanobind_extension.cpp +++ b/src/python/nanobind_extension.cpp @@ -1,8 +1,8 @@ -#include // for parse_reduction_method, TODO consider moving from src to include +#include #include // for Parameter::create -#include // for initialize, withParameters +#include #include // for ParametersSet, TapkeeOutput #include // for DimensionReductionMethod @@ -14,17 +14,15 @@ namespace nb = nanobind; using stichwort::Parameter; -using tapkee::initialize; using tapkee::DimensionReductionMethod; using tapkee::ParametersSet; using tapkee::TapkeeOutput; +using tapkee::with; using tapkee::tapkee_internal::ParametersInitializedState; // TODO consider making it part of the "external" API NB_MODULE(tapkee, m) { - nb::class_(m, "initialize") - .def(nb::init<>()) - .def("withParameters", &initialize::withParameters); + m.def("withParameters", &with); nb::class_(m, "ParametersSet") .def(nb::init<>()) diff --git a/test/test_nanobind_extension.py b/test/test_nanobind_extension.py index 38028b3..9d824ba 100644 --- a/test/test_nanobind_extension.py +++ b/test/test_nanobind_extension.py @@ -17,5 +17,5 @@ def test_exception_unknown_method(): target_dimension = 2 parameters.add(tapkee.Parameter.create('target dimension', target_dimension)) data = np.random.randn(124, 3) - embedded_data = tapkee.initialize().withParameters(parameters).embedUsing(data).embedding + embedded_data = tapkee.withParameters(parameters).embedUsing(data).embedding assert(embedded_data.shape == tuple([data.shape[1], target_dimension]))