1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250
|
<HTML>
<HEAD>
<TITLE>ClusterFunctor Class Reference</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
<LINK HREF="style_ini.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A href="index.html">Home</A> ·
<A href="classes.html">Classes</A> ·
<A href="annotated.html">Annotated Classes</A> ·
<A href="modules.html">Modules</A> ·
<A href="functions_func.html">Members</A> ·
<A href="namespaces.html">Namespaces</A> ·
<A href="pages.html">Related Pages</A>
<HR style="height:1px; border:none; border-top:1px solid #c0c0c0;">
<!-- Generated by Doxygen 1.8.5 -->
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceOpenMS.html">OpenMS</a></li><li class="navelem"><a class="el" href="classOpenMS_1_1ClusterFunctor.html">ClusterFunctor</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> |
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pub-static-methods">Static Public Member Functions</a> |
<a href="classOpenMS_1_1ClusterFunctor-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ClusterFunctor Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__SpectraClustering.html">Clustering</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Base class for cluster functors.
<a href="classOpenMS_1_1ClusterFunctor.html#details">More...</a></p>
<p><code>#include <<a class="el" href="ClusterFunctor_8h_source.html">OpenMS/COMPARISON/CLUSTERING/ClusterFunctor.h</a>></code></p>
<div class="dynheader">
Inheritance diagram for ClusterFunctor:</div>
<div class="dyncontent">
<div class="center">
<img src="classOpenMS_1_1ClusterFunctor.png" usemap="#ClusterFunctor_map" alt=""/>
<map id="ClusterFunctor_map" name="ClusterFunctor_map">
<area href="classOpenMS_1_1AverageLinkage.html" title="AverageLinkage ClusterMethod. " alt="AverageLinkage" shape="rect" coords="0,56,108,80"/>
<area href="classOpenMS_1_1CompleteLinkage.html" title="CompleteLinkage ClusterMethod. " alt="CompleteLinkage" shape="rect" coords="118,56,226,80"/>
<area href="classOpenMS_1_1SingleLinkage.html" title="SingleLinkage ClusterMethod. " alt="SingleLinkage" shape="rect" coords="236,56,344,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ClusterFunctor_1_1InsufficientInput.html">InsufficientInput</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="namespaceOpenMS_1_1Exception.html" title="Exception namespace ">Exception</a> thrown if not enough data (<2) is used. <a href="classOpenMS_1_1ClusterFunctor_1_1InsufficientInput.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af2422628fd52348a0f64d0f5a2df9975"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ClusterFunctor.html#af2422628fd52348a0f64d0f5a2df9975">ClusterFunctor</a> ()</td></tr>
<tr class="memdesc:af2422628fd52348a0f64d0f5a2df9975"><td class="mdescLeft"> </td><td class="mdescRight">default constructor <a href="#af2422628fd52348a0f64d0f5a2df9975">More...</a><br/></td></tr>
<tr class="separator:af2422628fd52348a0f64d0f5a2df9975"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1b126f049b60a895a02769ae246be3d3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ClusterFunctor.html#a1b126f049b60a895a02769ae246be3d3">ClusterFunctor</a> (const <a class="el" href="classOpenMS_1_1ClusterFunctor.html">ClusterFunctor</a> &source)</td></tr>
<tr class="memdesc:a1b126f049b60a895a02769ae246be3d3"><td class="mdescLeft"> </td><td class="mdescRight">copy constructor <a href="#a1b126f049b60a895a02769ae246be3d3">More...</a><br/></td></tr>
<tr class="separator:a1b126f049b60a895a02769ae246be3d3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1deb8d4beff7b61fea04ef6bc372759b"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ClusterFunctor.html#a1deb8d4beff7b61fea04ef6bc372759b">~ClusterFunctor</a> ()</td></tr>
<tr class="memdesc:a1deb8d4beff7b61fea04ef6bc372759b"><td class="mdescLeft"> </td><td class="mdescRight">destructor <a href="#a1deb8d4beff7b61fea04ef6bc372759b">More...</a><br/></td></tr>
<tr class="separator:a1deb8d4beff7b61fea04ef6bc372759b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7bd743ed3bb05541320a9443b469693f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOpenMS_1_1ClusterFunctor.html">ClusterFunctor</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ClusterFunctor.html#a7bd743ed3bb05541320a9443b469693f">operator=</a> (const <a class="el" href="classOpenMS_1_1ClusterFunctor.html">ClusterFunctor</a> &source)</td></tr>
<tr class="memdesc:a7bd743ed3bb05541320a9443b469693f"><td class="mdescLeft"> </td><td class="mdescRight">assignment operator <a href="#a7bd743ed3bb05541320a9443b469693f">More...</a><br/></td></tr>
<tr class="separator:a7bd743ed3bb05541320a9443b469693f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a762295d1d68d2e4a1d6b1fe717f5bece"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ClusterFunctor.html#a762295d1d68d2e4a1d6b1fe717f5bece">operator()</a> (<a class="el" href="classOpenMS_1_1DistanceMatrix.html">DistanceMatrix</a>< <a class="el" href="group__Concept.html#gab685845059e8a2c92743427d9a698c70">Real</a> > &original_distance, std::vector< <a class="el" href="classOpenMS_1_1BinaryTreeNode.html">BinaryTreeNode</a> > &cluster_tree, const <a class="el" href="group__Concept.html#gab685845059e8a2c92743427d9a698c70">Real</a> threshold=1) const =0</td></tr>
<tr class="memdesc:a762295d1d68d2e4a1d6b1fe717f5bece"><td class="mdescLeft"> </td><td class="mdescRight">abstract for clustering the indices according to their respective element distances <a href="#a762295d1d68d2e4a1d6b1fe717f5bece">More...</a><br/></td></tr>
<tr class="separator:a762295d1d68d2e4a1d6b1fe717f5bece"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a7899dbe105534dc1f81971dd71a26ff0"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classOpenMS_1_1ClusterFunctor.html#a7899dbe105534dc1f81971dd71a26ff0">registerChildren</a> ()</td></tr>
<tr class="memdesc:a7899dbe105534dc1f81971dd71a26ff0"><td class="mdescLeft"> </td><td class="mdescRight">registers all derived products <a href="#a7899dbe105534dc1f81971dd71a26ff0">More...</a><br/></td></tr>
<tr class="separator:a7899dbe105534dc1f81971dd71a26ff0"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base class for cluster functors. </p>
<p>Each cluster functor employs a different method for stepwise merging clusters up to a given threshold, starting from the most elementary partition of data. Elements are represented by indices of a given distance matrix, which also should represent the order of input. </p>
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
<a class="anchor" id="af2422628fd52348a0f64d0f5a2df9975"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classOpenMS_1_1ClusterFunctor.html">ClusterFunctor</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>default constructor </p>
</div>
</div>
<a class="anchor" id="a1b126f049b60a895a02769ae246be3d3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classOpenMS_1_1ClusterFunctor.html">ClusterFunctor</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classOpenMS_1_1ClusterFunctor.html">ClusterFunctor</a> & </td>
<td class="paramname"><em>source</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>copy constructor </p>
</div>
</div>
<a class="anchor" id="a1deb8d4beff7b61fea04ef6bc372759b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual ~<a class="el" href="classOpenMS_1_1ClusterFunctor.html">ClusterFunctor</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>destructor </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a762295d1d68d2e4a1d6b1fe717f5bece"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void operator() </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classOpenMS_1_1DistanceMatrix.html">DistanceMatrix</a>< <a class="el" href="group__Concept.html#gab685845059e8a2c92743427d9a698c70">Real</a> > & </td>
<td class="paramname"><em>original_distance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector< <a class="el" href="classOpenMS_1_1BinaryTreeNode.html">BinaryTreeNode</a> > & </td>
<td class="paramname"><em>cluster_tree</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__Concept.html#gab685845059e8a2c92743427d9a698c70">Real</a> </td>
<td class="paramname"><em>threshold</em> = <code>1</code> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>abstract for clustering the indices according to their respective element distances </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">original_distance</td><td>DistanceMatrix<Real> containing the distances of the elements to be clustered, will be changed during clustering process, make sure to have a copy or be able to redo </td></tr>
<tr><td class="paramname">cluster_tree</td><td>vector< BinaryTreeNode >, represents the clustering, each node contains the next merged clusters (not element indices) and their distance, strict order is kept: left_child < right_child, </td></tr>
<tr><td class="paramname">threshold</td><td>Real value, the minimal distance from which on cluster merging is considered unrealistic. By default set to 1, i.e. complete clustering until only one cluster remains</td></tr>
</table>
</dd>
</dl>
<p><code>original_distance</code> is considered mirrored at the main diagonal, so only entrys up the main diagonal are used. The <code>threshold</code> can be taken from the maximal distance of two elements considered related and adapted in a way corresponding to the employed clustering method. The results are represented by <code>cluster_tree</code>, to get the actual clustering (with element indices) from a certain step of the clustering </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classOpenMS_1_1BinaryTreeNode.html" title="Elements of a binary tree used to represent a hierarchical clustering process. ">BinaryTreeNode</a> , <a class="el" href="classOpenMS_1_1ClusterAnalyzer.html#a1ddae30375fef566e4a1f53fb43baba9" title="Method to calculate a partition resulting from a certain step in clustering given by the number of cl...">ClusterAnalyzer::cut</a> </dd></dl>
<p>Implemented in <a class="el" href="classOpenMS_1_1AverageLinkage.html#a7acf823d809b7d2056caed7c6783ba95">AverageLinkage</a>, <a class="el" href="classOpenMS_1_1CompleteLinkage.html#a7acf823d809b7d2056caed7c6783ba95">CompleteLinkage</a>, and <a class="el" href="classOpenMS_1_1SingleLinkage.html#a7acf823d809b7d2056caed7c6783ba95">SingleLinkage</a>.</p>
</div>
</div>
<a class="anchor" id="a7bd743ed3bb05541320a9443b469693f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classOpenMS_1_1ClusterFunctor.html">ClusterFunctor</a>& operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classOpenMS_1_1ClusterFunctor.html">ClusterFunctor</a> & </td>
<td class="paramname"><em>source</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>assignment operator </p>
</div>
</div>
<a class="anchor" id="a7899dbe105534dc1f81971dd71a26ff0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void registerChildren </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>registers all derived products </p>
</div>
</div>
</div><!-- contents -->
<HR style="height:1px; border:none; border-top:1px solid #c0c0c0;">
<TABLE width="100%" border="0">
<TR>
<TD><font color="#c0c0c0">OpenMS / TOPP release 1.11.1</font></TD>
<TD align="right"><font color="#c0c0c0">Documentation generated on Thu Nov 14 2013 11:19:28 using doxygen 1.8.5</font></TD>
</TR>
</TABLE>
</BODY>
</HTML>
|