{"id":64,"date":"2017-05-04T11:19:03","date_gmt":"2017-05-04T15:19:03","guid":{"rendered":"http:\/\/sites.nd.edu\/chaoli-wang\/?page_id=64"},"modified":"2025-08-30T09:58:52","modified_gmt":"2025-08-30T13:58:52","slug":"flowstring","status":"publish","type":"page","link":"https:\/\/sites.nd.edu\/chaoli-wang\/code\/flowstring\/","title":{"rendered":"FlowString"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>FlowString is an approach that extracts shape invariant features from streamlines and encodes each streamline into a string of well-selected characters. The set of all characters is called the <b><i>alphabet<\/i><\/b>. An alphabet can be extracted from a single data set or multiple data sets. We call the alphabet generated from multiple data sets the <b><i>universal alphabet<\/i><\/b>, which is shown below. Given the encoding of a set of streamlines, the most common patterns are achieved by the most frequently appeared substrings. Each of the most common patterns is called a <b><i>word<\/i><\/b>, and the set of all words is called the <b><i>vocabulary<\/i><\/b>. An image of the six words with the highest frequencies in the vocabulary of the solar plume data set is shown below. The streamline segments in a certain pattern can be queried by a string corresponding to that pattern. An image of the streamline segments matched by the string &#8220;a&#8217;ala'&#8221; is shown below.<\/p>\n<table style=\"border: none\" cellpadding=\"0\" cellspacing=\"0\">\n<tbody>\n<tr style=\"background-color:transparent;border: none\">\n<td style=\"background-color:transparent;text-align: center;border: none\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sites.nd.edu\/chaoli-wang\/files\/2017\/05\/flowstring-alphabet.png\" width=\"240\" height=\"240\" border=\"0\"><br \/>\nUniversal alphabet<\/td>\n<td style=\"background-color:transparent;text-align: center;border: none\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sites.nd.edu\/chaoli-wang\/files\/2017\/05\/flowstring-vocabulary.png\" width=\"360\" height=\"240\" border=\"0\"><br \/>\nVocabulary of the solar plume data set<\/td>\n<td style=\"background-color:transparent;text-align: center;border: none\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sites.nd.edu\/chaoli-wang\/files\/2017\/05\/flowstring-matched.png\" width=\"403\" height=\"240\" border=\"0\"><br \/>\nQuery result<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Download<\/h2>\n<h3>FlowString for Windows<\/h3>\n<ul>\n<li>Click <a href=\"https:\/\/academicweb.nd.edu\/~cwang11\/resources\/flowstring-win.zip\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> to download the Windows version of the FlowString library: <span style=\"font-family: 'Courier New'\"><b>flowstring-win.zip<\/b><\/span>\n<ol>\n<li>Unzip the files into a directory <span style=\"font-family: 'Courier New'\"><b>FlowString<\/b><\/span>.<\/li>\n<li>Refer to <span style=\"font-family: 'Courier New'\"><b>README<\/b><\/span> in that directory for the content and guidance to compile a simple example.<\/li>\n<\/ol>\n<\/li>\n<li>Click <a href=\"https:\/\/academicweb.nd.edu\/~cwang11\/resources\/alphabetviewer-win.zip\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> to download the Windows version of the Alphabet Viewer: <span style=\"font-family: 'Courier New'\"><b>alphabetviewer-win.zip<\/b><\/span>\n<ol>\n<li>Unzip the files into a directory <span style=\"font-family: 'Courier New'\"><b>AlphabetViewer<\/b><\/span>.<\/li>\n<li>Double-click <span style=\"font-family: 'Courier New'\"><b>AlphabetViewer.exe<\/b><\/span> in that directory to execute the program.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<h2>Publications<\/h2>\n<p>Jun Tao, Chaoli Wang, Ching-Kuang Shene, and Raymond A. Shaw. A Vocabulary Approach to Partial Streamline Matching and Exploratory Flow Visualization. <i>IEEE Transactions on Visualization and Computer Graphics<\/i>, 22(5):1503-1516, May 2016. <\/p>\n<p>Jun Tao, Chaoli Wang, and Ching-Kuang Shene. FlowString: Partial Streamline Matching Using Shape Invariant Similarity Measure for Exploratory Flow Visualization. In&nbsp;<i>Proceedings of IEEE Pacific Visualization Symposium<\/i>, Yokohama, Japan, pages 9-16, Mar 2014. <\/p>\n<h2>Contact<\/h2>\n<ul>\n<li><a href=\"mailto:junt@mtu.edu\">Jun Tao<\/a><\/li>\n<li><a href=\"mailto:chaoli.wang@nd.edu\">Chaoli Wang<\/a><\/li>\n<li><a href=\"mailto:shene@mtu.edu\">Ching-Kuang Shene<\/a><\/li>\n<li><a href=\"mailto:rashaw@mtu.edu\">Raymond Shaw<\/a><\/li>\n<\/ul>\n<p><!-- hitwebcounter Code START --><\/p>\n<p><a href=\"http:\/\/www.hitwebcounter.com\/\" target=\"_blank\" rel=\"noopener noreferrer\"><br \/>\n<img decoding=\"async\" src=\"http:\/\/hitwebcounter.com\/counter\/counter.php?page=5330599&amp;style=0006&amp;nbdigits=6&amp;type=page&amp;initCount=0\" title=\"\" alt=\"\" border=\"0\"><br \/>\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction FlowString is an approach that extracts shape invariant features from streamlines and encodes each streamline into a string of well-selected characters. The set of all characters is called the alphabet. An alphabet can be extracted from a single data set or multiple data sets. We call the alphabet generated from multiple data sets the [&hellip;]<\/p>\n","protected":false},"author":2576,"featured_media":0,"parent":360,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-64","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sites.nd.edu\/chaoli-wang\/wp-json\/wp\/v2\/pages\/64","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.nd.edu\/chaoli-wang\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.nd.edu\/chaoli-wang\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/chaoli-wang\/wp-json\/wp\/v2\/users\/2576"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/chaoli-wang\/wp-json\/wp\/v2\/comments?post=64"}],"version-history":[{"count":49,"href":"https:\/\/sites.nd.edu\/chaoli-wang\/wp-json\/wp\/v2\/pages\/64\/revisions"}],"predecessor-version":[{"id":2066,"href":"https:\/\/sites.nd.edu\/chaoli-wang\/wp-json\/wp\/v2\/pages\/64\/revisions\/2066"}],"up":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/chaoli-wang\/wp-json\/wp\/v2\/pages\/360"}],"wp:attachment":[{"href":"https:\/\/sites.nd.edu\/chaoli-wang\/wp-json\/wp\/v2\/media?parent=64"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}