OpenMS
Loading...
Searching...
No Matches
WNetMatcher.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Michal Startek $
6// $Authors: Michal Startek $
7// --------------------------------------------------------------------------
8
9#pragma once
10
12#include <OpenMS/OpenMSConfig.h>
13
14#include <array>
15#include <string>
16#include <utility>
17#include <vector>
18
19namespace OpenMS
20{
34 class OPENMS_DLLAPI WNetMatcher
35 {
36 public:
38 enum class DistanceMetric { L1, L2, LINF };
39
41 struct OPENMS_DLLAPI MatchResult
42 {
43 std::vector<std::pair<Size, Size>> matched_pairs;
44 double cost = 0.0;
45 };
46
65 const std::vector<std::array<double, 2>>& positions_a,
66 const std::vector<double>& intensities_a,
67 const std::vector<std::array<double, 2>>& positions_b,
68 const std::vector<double>& intensities_b,
69 DistanceMetric metric = DistanceMetric::LINF,
70 double max_distance = 100.0,
71 double trash_cost = 100.0
72 );
73
81 static DistanceMetric metricFromString(const std::string& s);
82 };
83
84} // namespace OpenMS
Pairwise point-set matching using Wasserstein optimal transport.
Definition WNetMatcher.h:35
DistanceMetric
Distance metric for comparing point positions.
Definition WNetMatcher.h:38
static MatchResult match(const std::vector< std::array< double, 2 > > &positions_a, const std::vector< double > &intensities_a, const std::vector< std::array< double, 2 > > &positions_b, const std::vector< double > &intensities_b, DistanceMetric metric=DistanceMetric::LINF, double max_distance=100.0, double trash_cost=100.0)
Match two sets of 2D points using optimal transport.
static DistanceMetric metricFromString(const std::string &s)
Convert a string to a DistanceMetric enum value.
std::vector< std::pair< Size, Size > > matched_pairs
(index_a, index_b) of matched points
Definition WNetMatcher.h:43
Result of a pairwise matching.
Definition WNetMatcher.h:42
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19