Stream Feature Extractor QGIS Plugin

Kartoza developed a QGIS plugin to extract stream features (wells, sinks, confluences, etc.) from a stream network.
Description
Stream feature extractor is a QGIS plugin to extract stream features (wells, sinks, confluences, etc.) from a stream network.
Visit the GitHub Repository for more details, or view the QGIS Plugins page.
This plugin is Free and Open Source Software and is released under the GPL V2. See the LICENSE file included with the plugin (and in this repository) for more information about this license. It was developed under subcontract to Terrestris. Development was sponsored by:
Landesbetrieb fuer Hochwasserschutz und Wasserwirtschaft Sachsen-Anhalt
There are 11 types of features which can be extracted from a stream network:
1) Crossing or Intersection: If two lines cross each other (without a node)
2) Pseudo node: A node that has one upstream and one downstream node. The node is superfluous as it can be represented by one line instead of two.
3) Well or Source: A node that has one downstream node and zero upstream nodes.
4) Sink: A node that has no downstream node and one or more upstream nodes.
5) Watershed: A node that has more than one downstream node and zero upstream nodes.
6) Separated: Only one upstream node or only one downstream node and intersects with one or more other lines. Note that in the lines below, there is only one node under the star, the other line has no node at the position of the star.
7) Unclear bifurcation: It has more than one upstream and more than one downstream node, but the number of upstream and downstream nodes are same.
8) Distributary or Branch: It has more downstream nodes than upstream nodes. The minimum number of upstream nodes is one.
9) Tributary or Confluence: It has more upstream nodes than downstream nodes. The minimum number of downstream nodes is one.
10) Segment centre: Segment centre is the linear centre of a line. The tool finds the point in the line that is half way along the line.
11) Self Intersection: Same as intersection (crossing), but this time the line intersects with itself.