<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>3D Reconstruction of Underwater Scenes &#8211; VISION AND IMAGE PROCESSING (VIP) RESEARCH GROUP</title>
	<atom:link href="https://vip.uwaterloo.ca/category/research-demos/3d-reconstruction-of-underwater-scenes/feed/" rel="self" type="application/rss+xml" />
	<link>https://vip.uwaterloo.ca</link>
	<description>The University of Waterloo&#039;s Vision and Image Processing Lab</description>
	<lastBuildDate>Fri, 12 Jan 2024 17:34:47 +0000</lastBuildDate>
	<language>en-CA</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7</generator>

<image>
	<url>https://vip.uwaterloo.ca/wp-content/uploads/2023/04/cropped-favicon-32x32.png</url>
	<title>3D Reconstruction of Underwater Scenes &#8211; VISION AND IMAGE PROCESSING (VIP) RESEARCH GROUP</title>
	<link>https://vip.uwaterloo.ca</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Linlin Xu</title>
		<link>https://vip.uwaterloo.ca/linlin-xu/</link>
		
		<dc:creator><![CDATA[Linlin Xu]]></dc:creator>
		<pubDate>Wed, 26 Apr 2023 14:17:28 +0000</pubDate>
				<category><![CDATA[3D Reconstruction of Underwater Scenes]]></category>
		<category><![CDATA[Alexander Wong]]></category>
		<category><![CDATA[Alumni]]></category>
		<category><![CDATA[David Clausi]]></category>
		<category><![CDATA[Grid Seams: A fast superpixel algorithm for real-time applications]]></category>
		<category><![CDATA[MAGIC System]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[SAR Sea Ice Image Synthesis]]></category>
		<category><![CDATA[Satellite SAR Sea Ice Classification]]></category>
		<category><![CDATA[Texture Classification]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[PDF Grad Date: 2016]]></category>
		<guid isPermaLink="false">https://vip.uwaterloo.ca/?p=2523</guid>

					<description><![CDATA[I am a post-doc in Vision and Image Processing Lab, working with professors David Clausi, Alexander Wong on machine learning, intelligent remote sensing analytics and environmental monitoring. ]]></description>
										<content:encoded><![CDATA[
<p>I am a post-doc in Vision and Image Processing Lab, working with professors David Clausi, Alexander Wong, Fan Li, and Steven Leigh, on machine learning, intelligent remote sensing analytics and environmental monitoring. </p>



<p></p>



<p>I recieved my PhD degree in Geography in 2014 from Department of Geography and Environment Management, University of Waterloo. I achieved my Master in 2010 and Bachelor degrees in 2007, both in geomatics engineering, from China University of Geosciences (Beijing). </p>


<div class="lazyblock-research-interests-VuFwR wp-block-lazyblock-research-interests"><link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Serif+Pro'>
  <div style='margin-bottom: 0.6rem; font-family: Source Serif Pro, Georgia, Times New Roman, serif; font-size: 3rem; font-weight: bold;'>Research interests</div>My research interests lie broadly in the following aspects: (1) SAR, PolSAR data processing and the associated applications, particularly in ocean environment monitoring; (2) Hyperspectral and multispectral unmixing, classification, segmentation, feature extraction, and the associated applications; (3) Quantitative and computational methods in remote sensing and other geospatial application, spatial-multivariate data modeling and mining, quantitative remote sensing, image processing &amp; computer vision, GIS, WebGIS; (4) GPS and InSAR data processing with the application in subside monitoring and DEM production; (5) Airborne, mobile, and terrestrial laser scanning mapping for land observation and 3D object modelling.</div>

<div class="lazyblock-research-UKqNW wp-block-lazyblock-research"><link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Serif+Pro'>
  <div style='margin-bottom: 0.6rem; font-family: Source Serif Pro, Georgia, Times New Roman, serif; font-size: 3rem; font-weight: bold;'>Research topics</div><link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Serif+Pro'>
  <div style='margin-bottom: 0.6rem; font-family: Source Serif Pro, Georgia, Times New Roman, serif; font-size: 3rem; font-weight: bold;'>Research demos</div><a href=https://vip.uwaterloo.ca/3d-reconstruction-of-underwater-scenes/>3D Reconstruction of Underwater Scenes</a><br><a href=https://vip.uwaterloo.ca/grid-seams-a-fast-superpixel-algorithm-for-real-time-applications/>Grid Seams: A fast superpixel algorithm for real-time applications</a><br><a href=https://vip.uwaterloo.ca/magic-system/>MAGIC System</a><br><a href=https://vip.uwaterloo.ca/sar-sea-ice-image-synthesis/>SAR Sea Ice Image Synthesis</a><br><a href=https://vip.uwaterloo.ca/satellite-sar-sea-ice-classification/>Satellite SAR Sea Ice Classification</a><br><a href=https://vip.uwaterloo.ca/texture-classification/>Texture Classification</a><br></div>

<div class="lazyblock-publications-ZPRftg wp-block-lazyblock-publications"><meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Serif+Pro">

  <!-- Load external CSS styles -->
  <link rel="stylesheet" href="../stylesbootstrap.css">

<style>

#peoplePublications {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    font-weight: bold;
    font-size: 3rem;
    text-align: start;
    margin-bottom: 0.6em;
}

#peoplePublications ~ span {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    font-weight: bold;
    font-size: 1.75rem;
    text-align: start;
    margin-bottom: 0.5em;
}

#nav {
    text-align: start;
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    margin-bottom: 0.5em;
    margin-left: 0;
    padding-left: 0;
}

#nav a {
    text-decoration-line: underline;
}

#nav a:hover {
    text-decoration-line: none;
}

#mainContent {
    max-width: 100%;
}

#pubDataJournals {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    padding-left: 0;
    font-size: 1.75rem;
    white-space: pre-wrap;
}

#pubDataConference {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    padding-left: 0;
    font-size: 1.75rem;
    white-space: pre-wrap;
}
</style>

  <!--Main Content-->
  <div class="container mt-5" id="mainContent">
  
   <div class="row">
      <div class="col ps-0" id="peoplePublications">Publications</div>
      <div id="nav">
        <a href="#journalArticles">Journal Articles</a>
        <span> / </span>
        <a href="#conferencePapers">Conference Papers</a>
      </div>
      <span id="journalArticles" class="ps-0">Journal Articles</span>
      <p id="pubDataJournals">
        <!-- journal data from JS here -->
      </p>
      <span id="conferencePapers" class="ps-0">Conference Papers</span>
      <div id="nav">
        <a href="#peoplePublications">Top</a>
      </div>
      <p id="pubDataConference">
        <!-- conference paper data from JS here -->
      </p>
    </div>
  </div>

<script>
	  let pubDataJournals = "";
	  let pubDataConference = "";
    let publications = [];
    const apiID = "https://ecserv2.uwaterloo.ca/researchmicro/research/reverseauthor.php?scopus_id="
    const api = "https://ecserv2.uwaterloo.ca/researchmicro/research/publications.php?user=";
    const openAccess = "https://bg.api.oa.works/find?id=";
    let userID;
    getNexus(55921131900);

    async function getNexus(scopusID)
    {
        let userInfo = await fetch(apiID+scopusID);
        let userInfoText = await userInfo.text();
        if(userInfoText == "Sorry, you do not have a Scopus ID assigned")
        {
          document.getElementById('peoplePublications').style.display = "none";
          document.querySelectorAll('[id="nav"]')[0].style.display = "none";
          document.querySelectorAll('[id="nav"]')[1].style.display = "none";
          document.getElementById('journalArticles').style.display = "none";
          document.getElementById('conferencePapers').style.display = "none";
          document.getElementById('pubDataJournals').style.display = "none";
          document.getElementById('pubDataConference').style.display = "none";
        }
        else
        {
          userID = JSON.parse(userInfoText).rows.nexus;
          displayPublications();
        }
    }

    async function getOA(searchQuery)
    {
        let openInfo = await fetch(openAccess + searchQuery);
        let openInfoText = await openInfo.text();
        return JSON.parse(openInfoText).url;
    }

    async function getPublications(file) {
        let publicationData = await fetch(file);
        let pubText = await publicationData.text();
        pubText = pubText.replace("=", ":"); //correcting API issue with = instead of :
        return JSON.parse(pubText);
    }

    function generateLink(id, title)
    {
        id.onclick = "";
        title = title.replaceAll(/ /g, '%20');
        id.innerHTML = "loading..."
        getOA(title).then(
            function(value)
            {
                if(value == null)
                {
                    id.innerHTML = "Search UWaterloo Library";
                    id.href = 'https://ocul-wtl.primo.exlibrisgroup.com/discovery/search?query=any,contains,' + title + '&tab=OCULDiscoveryNetwork&search_scope=OCULDiscoveryNetwork&vid=01OCUL_WTL:WTL_DEFAULT&lang=en&offset=0';
                    id.target = "_blank";
                }
                else
                {
                    id.href = value;
                    id.target = "_blank";
                    id.innerHTML = "Open";
                }
            },
            function(error)
            {
                id.href = "#";
                id.innerHTML = "Not found";
            });
    }

    function isConference(publication)
    {
    	return publication.volume == 0 || publication.pub_name.includes("Conference") || publication.pub_name.includes("Proceedings") || publication.pub_name.includes("Lecture Notes") || publication.pub_name.includes("Symposium");
   	}

   function displayPublications() {
	    getPublications(api+userID).then(
            function(value) {
                const size = value.rows.length;
                let pubListJournals = "";
                let pubListConference = "";
                for(var i = 0; i < size; i++)
                            {
                                let publication = "";
                                let authors = value.rows[i].list_names_of_authors.split(", ");
                                lastIndex = authors.length - 1;
                                authors[lastIndex] = authors[lastIndex].slice(4, authors[lastIndex].length - 1);
                                let possibleSupervisors = ["Clausi D.", "Fieguth P.W.", "Fieguth P.", "Wong A.", "Zelek J.", "Xu L.", "Scott A.", "Rambhatla S.", "Lee J.", "Chen Y.", "Shafiee M.J."];
                                if(authors.some(r=>possibleSupervisors.includes(r)))
                                {
                                for(var j = 0; j <= lastIndex; j++)
                                {  
                                    let authorLink = "";
                                    let authorsLC = authors[j].toLowerCase();
                                    if(j == lastIndex)
                                    {
                                        if(authorsLC.includes("."))
                                        {  
                                            authorLink += authorsLC.charAt(authorsLC.indexOf(".") - 1);
                                            authorLink += "-";
                                            authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        }
                                        else
                                        {
                                            authorLink += authorsLC.charAt(authorsLC.length - 1);
                                            authorLink += "-";
                                            authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        }
                                        
                                    }
                                    else
                                    {
                                        authorLink += authorsLC.charAt(authorsLC.indexOf(".") - 1);
                                        authorLink += "-";
                                        authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        
                                    }
                                    authorLink = 'https://vip.uwaterloo.ca/' + authorLink;
                                    if(j != lastIndex)
                                    {
                                        publication += `<a href='${authorLink}' target='_blank'>${authors[j]}</a>` + ", ";
                                    }
                                    else 
                                    {
                                        publication += "and " + `<a href='${authorLink}' target='_blank'>${authors[j]}</a>`;
                                    }
                                }

                                publication += ', "';
                                
                                publication += value.rows[i].title;
                                
                                publication += '", ';
                                publication += value.rows[i].pub_name;
                                if (!isConference(value.rows[i]))
                                {
                                    publication += ", vol. ";
                                    publication += value.rows[i].volume;
                                    publication += ", ";
                                }
                                if (value.rows[i].page_range != "" && !isConference(value.rows[i]))
                                {
                                    publication += "pp. ";
                                    publication += value.rows[i].page_range;
                                    publication += ", ";
                                }
                                else if(isConference(value.rows[i]))
                                {
                                    publication += ", ";
                                }
                                publication += value.rows[i].year;
                                publication += ". ";
                                publication += `<a href="#" onclick="generateLink(this, '${value.rows[i].title}');event.preventDefault();">Get it here.</a>`;
                                
                                publication += "\n\n";
                                if (isConference(value.rows[i]))
                                {
                                    pubListConference += publication;
                                }
                                else
                                {
                                      pubListJournals += publication;
                                }
                                }
                            }
                document.getElementById('pubDataJournals').innerHTML = pubListJournals;
                document.getElementById('pubDataConference').innerHTML = pubListConference;
                if(pubListConference == "")
                {
                   document.getElementById('conferencePapers').style.display = "none";
                }
                if(pubListJournals == "")
                {
                  document.getElementById('journalArticles').style.display = "none";
                }
            },
            function(error) {document.getElementById('pubDataJournals').innerHTML = "Error retrieving data.";}
        )
    }

   
</script></div>


<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Neil Cavan</title>
		<link>https://vip.uwaterloo.ca/n-cavan/</link>
		
		<dc:creator><![CDATA[vipadmin]]></dc:creator>
		<pubDate>Thu, 23 Mar 2023 20:21:25 +0000</pubDate>
				<category><![CDATA[3D Reconstruction of Underwater Scenes]]></category>
		<category><![CDATA[Alumni]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[David Clausi]]></category>
		<category><![CDATA[M.A.Sc.]]></category>
		<category><![CDATA[Paul Fieguth]]></category>
		<category><![CDATA[Video Analysis]]></category>
		<category><![CDATA[M.A.Sc. Grad Date: 2011]]></category>
		<guid isPermaLink="false">https://wwwvip.uwaterloo.ca/?p=1214</guid>

					<description><![CDATA[My research interests include robotics and computer vision, specifically 3D reconstruction of unknown scenes and simultaneous localization and mapping (SLAM) for robotic vehicles.]]></description>
										<content:encoded><![CDATA[
<p>Neil Cavan completed his undergraduate degree in Mechanical Engineering at the University of Waterloo in 2007. After working as a mechanical designer for two years, he completed his MASc in Systems Design engineering in August 2011 and is currently employed at 2G Robotics.</p>


<div class="lazyblock-supervisors-1RTT7N wp-block-lazyblock-supervisors"><link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Serif+Pro'>
  <div style='margin-bottom: 0.6rem; font-family: Source Serif Pro, Georgia, Times New Roman, serif; font-size: 3rem; font-weight: bold;'>Supervisors</div><a href=https://vip.uwaterloo.ca/d-clausi/>David Clausi</a>, <a href=https://vip.uwaterloo.ca/p-fieguth/>Paul Fieguth</a></div>

<div class="lazyblock-research-interests-Z1yyjNg wp-block-lazyblock-research-interests"><link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Serif+Pro'>
  <div style='margin-bottom: 0.6rem; font-family: Source Serif Pro, Georgia, Times New Roman, serif; font-size: 3rem; font-weight: bold;'>Research interests</div>My research interests include robotics and computer vision, specifically 3D reconstruction of unknown scenes and simultaneous localization and mapping (SLAM) for robotic vehicles.</div>

<div class="lazyblock-research-vNGQl wp-block-lazyblock-research"><link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Serif+Pro'>
  <div style='margin-bottom: 0.6rem; font-family: Source Serif Pro, Georgia, Times New Roman, serif; font-size: 3rem; font-weight: bold;'>Research topics</div><a href=https://vip.uwaterloo.ca/computer-vision/>Computer Vision</a><br><a href=https://vip.uwaterloo.ca/video-analysis/>Video Analysis</a><br><link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Serif+Pro'>
  <div style='margin-bottom: 0.6rem; font-family: Source Serif Pro, Georgia, Times New Roman, serif; font-size: 3rem; font-weight: bold;'>Research demos</div><a href=https://vip.uwaterloo.ca/3d-reconstruction-of-underwater-scenes/>3D Reconstruction of Underwater Scenes</a><br></div>

<div class="lazyblock-publications-ZpXbl4 wp-block-lazyblock-publications"><meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Serif+Pro">

  <!-- Load external CSS styles -->
  <link rel="stylesheet" href="../stylesbootstrap.css">

<style>

#peoplePublications {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    font-weight: bold;
    font-size: 3rem;
    text-align: start;
    margin-bottom: 0.6em;
}

#peoplePublications ~ span {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    font-weight: bold;
    font-size: 1.75rem;
    text-align: start;
    margin-bottom: 0.5em;
}

#nav {
    text-align: start;
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    margin-bottom: 0.5em;
    margin-left: 0;
    padding-left: 0;
}

#nav a {
    text-decoration-line: underline;
}

#nav a:hover {
    text-decoration-line: none;
}

#mainContent {
    max-width: 100%;
}

#pubDataJournals {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    padding-left: 0;
    font-size: 1.75rem;
    white-space: pre-wrap;
}

#pubDataConference {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    padding-left: 0;
    font-size: 1.75rem;
    white-space: pre-wrap;
}
</style>

  <!--Main Content-->
  <div class="container mt-5" id="mainContent">
  
   <div class="row">
      <div class="col ps-0" id="peoplePublications">Publications</div>
      <div id="nav">
        <a href="#journalArticles">Journal Articles</a>
        <span> / </span>
        <a href="#conferencePapers">Conference Papers</a>
      </div>
      <span id="journalArticles" class="ps-0">Journal Articles</span>
      <p id="pubDataJournals">
        <!-- journal data from JS here -->
      </p>
      <span id="conferencePapers" class="ps-0">Conference Papers</span>
      <div id="nav">
        <a href="#peoplePublications">Top</a>
      </div>
      <p id="pubDataConference">
        <!-- conference paper data from JS here -->
      </p>
    </div>
  </div>

<script>
	  let pubDataJournals = "";
	  let pubDataConference = "";
    let publications = [];
    const apiID = "https://ecserv2.uwaterloo.ca/researchmicro/research/reverseauthor.php?scopus_id="
    const api = "https://ecserv2.uwaterloo.ca/researchmicro/research/publications.php?user=";
    const openAccess = "https://bg.api.oa.works/find?id=";
    let userID;
    getNexus(47761902000);

    async function getNexus(scopusID)
    {
        let userInfo = await fetch(apiID+scopusID);
        let userInfoText = await userInfo.text();
        if(userInfoText == "Sorry, you do not have a Scopus ID assigned")
        {
          document.getElementById('peoplePublications').style.display = "none";
          document.querySelectorAll('[id="nav"]')[0].style.display = "none";
          document.querySelectorAll('[id="nav"]')[1].style.display = "none";
          document.getElementById('journalArticles').style.display = "none";
          document.getElementById('conferencePapers').style.display = "none";
          document.getElementById('pubDataJournals').style.display = "none";
          document.getElementById('pubDataConference').style.display = "none";
        }
        else
        {
          userID = JSON.parse(userInfoText).rows.nexus;
          displayPublications();
        }
    }

    async function getOA(searchQuery)
    {
        let openInfo = await fetch(openAccess + searchQuery);
        let openInfoText = await openInfo.text();
        return JSON.parse(openInfoText).url;
    }

    async function getPublications(file) {
        let publicationData = await fetch(file);
        let pubText = await publicationData.text();
        pubText = pubText.replace("=", ":"); //correcting API issue with = instead of :
        return JSON.parse(pubText);
    }

    function generateLink(id, title)
    {
        id.onclick = "";
        title = title.replaceAll(/ /g, '%20');
        id.innerHTML = "loading..."
        getOA(title).then(
            function(value)
            {
                if(value == null)
                {
                    id.innerHTML = "Search UWaterloo Library";
                    id.href = 'https://ocul-wtl.primo.exlibrisgroup.com/discovery/search?query=any,contains,' + title + '&tab=OCULDiscoveryNetwork&search_scope=OCULDiscoveryNetwork&vid=01OCUL_WTL:WTL_DEFAULT&lang=en&offset=0';
                    id.target = "_blank";
                }
                else
                {
                    id.href = value;
                    id.target = "_blank";
                    id.innerHTML = "Open";
                }
            },
            function(error)
            {
                id.href = "#";
                id.innerHTML = "Not found";
            });
    }

    function isConference(publication)
    {
    	return publication.volume == 0 || publication.pub_name.includes("Conference") || publication.pub_name.includes("Proceedings") || publication.pub_name.includes("Lecture Notes") || publication.pub_name.includes("Symposium");
   	}

   function displayPublications() {
	    getPublications(api+userID).then(
            function(value) {
                const size = value.rows.length;
                let pubListJournals = "";
                let pubListConference = "";
                for(var i = 0; i < size; i++)
                            {
                                let publication = "";
                                let authors = value.rows[i].list_names_of_authors.split(", ");
                                lastIndex = authors.length - 1;
                                authors[lastIndex] = authors[lastIndex].slice(4, authors[lastIndex].length - 1);
                                let possibleSupervisors = ["Clausi D.", "Fieguth P.W.", "Fieguth P.", "Wong A.", "Zelek J.", "Xu L.", "Scott A.", "Rambhatla S.", "Lee J.", "Chen Y.", "Shafiee M.J."];
                                if(authors.some(r=>possibleSupervisors.includes(r)))
                                {
                                for(var j = 0; j <= lastIndex; j++)
                                {  
                                    let authorLink = "";
                                    let authorsLC = authors[j].toLowerCase();
                                    if(j == lastIndex)
                                    {
                                        if(authorsLC.includes("."))
                                        {  
                                            authorLink += authorsLC.charAt(authorsLC.indexOf(".") - 1);
                                            authorLink += "-";
                                            authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        }
                                        else
                                        {
                                            authorLink += authorsLC.charAt(authorsLC.length - 1);
                                            authorLink += "-";
                                            authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        }
                                        
                                    }
                                    else
                                    {
                                        authorLink += authorsLC.charAt(authorsLC.indexOf(".") - 1);
                                        authorLink += "-";
                                        authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        
                                    }
                                    authorLink = 'https://vip.uwaterloo.ca/' + authorLink;
                                    if(j != lastIndex)
                                    {
                                        publication += `<a href='${authorLink}' target='_blank'>${authors[j]}</a>` + ", ";
                                    }
                                    else 
                                    {
                                        publication += "and " + `<a href='${authorLink}' target='_blank'>${authors[j]}</a>`;
                                    }
                                }

                                publication += ', "';
                                
                                publication += value.rows[i].title;
                                
                                publication += '", ';
                                publication += value.rows[i].pub_name;
                                if (!isConference(value.rows[i]))
                                {
                                    publication += ", vol. ";
                                    publication += value.rows[i].volume;
                                    publication += ", ";
                                }
                                if (value.rows[i].page_range != "" && !isConference(value.rows[i]))
                                {
                                    publication += "pp. ";
                                    publication += value.rows[i].page_range;
                                    publication += ", ";
                                }
                                else if(isConference(value.rows[i]))
                                {
                                    publication += ", ";
                                }
                                publication += value.rows[i].year;
                                publication += ". ";
                                publication += `<a href="#" onclick="generateLink(this, '${value.rows[i].title}');event.preventDefault();">Get it here.</a>`;
                                
                                publication += "\n\n";
                                if (isConference(value.rows[i]))
                                {
                                    pubListConference += publication;
                                }
                                else
                                {
                                      pubListJournals += publication;
                                }
                                }
                            }
                document.getElementById('pubDataJournals').innerHTML = pubListJournals;
                document.getElementById('pubDataConference').innerHTML = pubListConference;
                if(pubListConference == "")
                {
                   document.getElementById('conferencePapers').style.display = "none";
                }
                if(pubListJournals == "")
                {
                  document.getElementById('journalArticles').style.display = "none";
                }
            },
            function(error) {document.getElementById('pubDataJournals').innerHTML = "Error retrieving data.";}
        )
    }

   
</script></div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>3D Reconstruction of Underwater Scenes</title>
		<link>https://vip.uwaterloo.ca/3d-reconstruction-of-underwater-scenes/</link>
		
		<dc:creator><![CDATA[vipadmin]]></dc:creator>
		<pubDate>Thu, 16 Mar 2023 16:10:22 +0000</pubDate>
				<category><![CDATA[3D Reconstruction of Underwater Scenes]]></category>
		<category><![CDATA[Research Demos]]></category>
		<guid isPermaLink="false">https://wwwvip.uwaterloo.ca/?p=821</guid>

					<description><![CDATA[There is a large and growing demand across many industries for underwater inspection technologies. Whether the assets in question are offshore oil rigs owned by energy companies, undersea power or data cables owned by utilities, or large pipe networks owned by municipalities, the problem is the same: critical assets are in need of assessment and maintenance but inspection is difficult and expensive due to their underwater location.]]></description>
										<content:encoded><![CDATA[
<p>There is a large and growing demand across many industries for underwater inspection technologies. Whether the assets in question are offshore oil rigs owned by energy companies, undersea power or data cables owned by utilities, or large pipe networks owned by municipalities, the problem is the same: critical assets are in need of assessment and maintenance but inspection is difficult and expensive due to their underwater location. Currently, much of the work in the industry consists of flying a remotely operated underwater vehicle equipped with a camera to take video of these assets in order to determine their state and whether maintenance is required. These videos can be many hours in length, and must be reviewed by a specialist at significant cost to assess the state of the asset.</p>



<p class="has-text-align-left">This research project was undertaken in participation with&nbsp;<a href="https://vip.uwaterloo.ca/2g-robotics/" data-type="post" data-id="527">2G Robotics Inc.</a>, a company focused on underwater inspection. The goal is to implement computer software that can convert pre-existing single-camera videos of an asset, with unknown or varying camera parameters (auto-focus or zooming is allowed), to a photo-realistic 3D model of the asset. With such a model, the client can rotate, zoom, and generally inspect the asset much more quickly and intuitively without the need to review hours of video. There is demand for such software, and the resulting library could be licensed to inspection companies or offered under the Software-as-Service model.</p>



<p class="has-text-align-left">Videos are reconstructed in three stages:</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" src="https://vip.uwaterloo.ca/wp-content/uploads/2023/03/reconstructionoverview.png" alt=""/></figure>



<p class="has-text-align-left">1)&nbsp;<strong>Video Tracking</strong>&nbsp;&#8211; image features are detected in the video, and tracked using optical flow. This produces a set of image correspondences, representing distinct 3D points imaged from many different locations.</p>



<p>2)&nbsp;<strong>Projective Reconstruction</strong>&nbsp;&#8211; using three-view geometry, the 3D structure of the scene and the motion of the video camera are solved simultaneously. The algorithm is robust to noise and mislabeled data.</p>



<p>3)&nbsp;<strong>Autocalibration</strong>&nbsp;&#8211; A projective reconstruction is not suitable for visualization or measurement &#8211; in projective geometry, concepts of distance and parallelism have no meaning. In order to transform the projective reconstruction into a metric space, the camera properties must be estimated. This research project has developed a hybrid autocalibration method that combines the best aspects of two existing algorithms. By making basic assumptions about the physical properties of the cameras, the hybrid method can produce a metric 3D reconstruction. In its current state, the 3D reconstruction algorithm can produce point cloud data from underwater video sequences. Future work will allow the point cloud to be meshed and textured with image data, producing a photorealistic 3D model.</p>



<h4 class="wp-block-heading has-source-serif-pro-font-family"><strong>Related people</strong></h4>



<h5 class="wp-block-heading has-source-serif-pro-font-family" style="text-transform:capitalize"><strong>Directors</strong></h5>


<div class="lazyblock-related-people-UNxDX wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/p-fieguth/>Paul Fieguth</a>, <a href=https://vip.uwaterloo.ca/d-clausi/>David Clausi</a></p></div>


<h5 class="wp-block-heading has-source-serif-pro-font-family" style="text-transform:capitalize"><strong>Students</strong></h5>


<div class="lazyblock-related-people-UDaxH wp-block-lazyblock-related-people"><p>
  </p></div>


<h5 class="wp-block-heading has-source-serif-pro-font-family" style="text-transform:capitalize"><strong>Alumni</strong></h5>


<div class="lazyblock-related-people-1HGyQa wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/linlin-xu/>Linlin Xu</a>, <a href=https://vip.uwaterloo.ca/n-cavan/>Neil Cavan</a></p></div>


<h4 class="wp-block-heading has-source-serif-pro-font-family"><strong>Downloads</strong></h4>



<p><a href="https://uwaterloo.ca/vision-image-processing-lab/sites/ca.vision-image-processing-lab/files/uploads/files/shipbow-trackedfeatures.zip">shipbow-trackedfeatures.zip</a></p>



<p><a href="https://uwaterloo.ca/vision-image-processing-lab/sites/ca.vision-image-processing-lab/files/uploads/files/shipbow-3dreconstruction.zip">shipbow-3dreconstruction.zip</a></p>



<h4 class="wp-block-heading"><strong>Related publications</strong></h4>



<h5 class="wp-block-heading has-source-serif-pro-font-family" style="text-transform:capitalize"><strong>Theses</strong></h5>



<p><a href="https://vip.uwaterloo.ca/n-cavan/" data-type="post" data-id="1214">Cavan, N.</a>, &#8220;<a href="https://vip.uwaterloo.ca/wp-content/uploads/2023/04/cavan_neil_1.pdf" data-type="URL" data-id="https://uwaterloo.ca/vision-image-processing-lab/sites/ca.vision-image-processing-lab/files/uploads/files/cavan_neil_1.pdf">Reconstruction of 3D Points From Uncalibrated Underwater Video</a>&#8220;, Systems Design Engineering, Waterloo, ON, University of Waterloo, 2011.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Paul Fieguth</title>
		<link>https://vip.uwaterloo.ca/p-fieguth/</link>
		
		<dc:creator><![CDATA[Paul Fieguth]]></dc:creator>
		<pubDate>Thu, 23 Feb 2023 20:12:37 +0000</pubDate>
				<category><![CDATA[3D Reconstruction of Underwater Scenes]]></category>
		<category><![CDATA[Biomedical Imaging]]></category>
		<category><![CDATA[BIOSCAN Insect Biodiversity Assessment]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[Decoupled Active Contours]]></category>
		<category><![CDATA[Directors]]></category>
		<category><![CDATA[Image Denoising]]></category>
		<category><![CDATA[Image Segmentation/Classification]]></category>
		<category><![CDATA[Multiresolution Techniques]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[Porous Media]]></category>
		<category><![CDATA[Remote Sensing]]></category>
		<category><![CDATA[SAR Sea Ice Image Synthesis]]></category>
		<category><![CDATA[Scientific Imaging]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<category><![CDATA[Stochastic Models]]></category>
		<category><![CDATA[Texture Classification]]></category>
		<category><![CDATA[Video Analysis]]></category>
		<category><![CDATA[VIP VPA dataset]]></category>
		<guid isPermaLink="false">https://wwwvip.uwaterloo.ca/?p=452</guid>

					<description><![CDATA[My research interests are in the area of accelerated computational methods applied to large statistical problems in image processing, computer vision, and remote sensing.]]></description>
										<content:encoded><![CDATA[
<p>Paul Fieguth received his B.A.Sc. degree from the University of Waterloo, Ontario, Canada, in 1991 and his Ph.D. degree from the Massachusetts Institute of Technology, Cambridge, in 1995, both degrees in electrical engineering. He joined the faculty at the University of Waterloo in 1996, where he is currently Professor and, since 2010, Department Chair in Systems Design Engineering.  He has held visiting appointments at the University of Heidelberg in Germany, at INRIA/Sophia in France, at the Cambridge Research Laboratory in Boston, at Oxford University and the Rutherford Appleton Laboratory in England, and with postdoctoral positions in Computer Science at the  University of Toronto and in Information and Decision Systems at MIT.</p>



<h2 class="wp-block-heading"><strong>Students</strong></h2>



<h3 class="wp-block-heading"><strong>Supervision &#8211; Current</strong></h3>



<h4 class="wp-block-heading"><strong>PDF</strong></h4>


<div class="lazyblock-related-people-28FOiG wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/amir-nazemi/>Amir Nazemi</a></p></div>


<h4 class="wp-block-heading" style="text-transform:capitalize"><strong>ph.D.</strong></h4>


<div class="lazyblock-related-people-Z2vQEjB wp-block-lazyblock-related-people"><p>
  </p></div>


<h4 class="wp-block-heading" style="text-transform:capitalize"><strong>M.A.Sc.</strong></h4>


<div class="lazyblock-related-people-N4xlt wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/soyeon-jang/>Soyeon Jang</a> ()</p></div>


<h3 class="wp-block-heading"><strong>Supervision &#8211; Completed</strong></h3>



<h4 class="wp-block-heading"><strong>PDF</strong></h4>


<div class="lazyblock-related-people-Z1XXJPz wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/zahra-gharaee/>Zahra Gharaee</a> (2024), <a href=https://vip.uwaterloo.ca/amir-nazemi/>Amir Nazemi</a> (), <a href=https://vip.uwaterloo.ca/b-hongbo/>Bi Hongbo</a> (2015)</p></div>


<h4 class="wp-block-heading" style="text-transform:capitalize"><strong>ph.D.</strong></h4>


<div class="lazyblock-related-people-Z2plEFS wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/j-park/>Jinman (Eddie) Park</a> (2025), <a href=https://vip.uwaterloo.ca/n-pellegrino/>Nicholas Pellegrino</a> (2025), <a href=https://vip.uwaterloo.ca/a-chung/>Audrey Chung</a> (2020), <a href=https://vip.uwaterloo.ca/i-kennedy/>Ian Kennedy</a> (2019), <a href=https://vip.uwaterloo.ca/a-carrington/>Andre Carrington</a> (2018), <a href=https://vip.uwaterloo.ca/e-barshan/>Elnaz Barshan</a> (2016), <a href=https://vip.uwaterloo.ca/k-kasiri/>Keyvan Kasiri</a> (2016), <a href=https://vip.uwaterloo.ca/a-gawish/>Ahmed Gawish</a> (2015), <a href=https://vip.uwaterloo.ca/j-liu/>Jiange Grace Liu</a> (2015), <a href=https://vip.uwaterloo.ca/j-eichel/>Justin Eichel</a> (2013), <a href=https://vip.uwaterloo.ca/c-liu/>Chenyi Liu</a> (2012), <a href=https://vip.uwaterloo.ca/y-liu/>Ying Liu</a> (2011), <a href=https://vip.uwaterloo.ca/l-liu/>Li Liu</a> (2011), <a href=https://vip.uwaterloo.ca/a-mishra/>Akshaya Mishra</a> (2010), <a href=https://vip.uwaterloo.ca/a-mohebi/>Azadeh Mohebi</a> (2009), <a href=https://vip.uwaterloo.ca/n-kachouie/>Nezam Kachouie</a> (2008), <a href=https://vip.uwaterloo.ca/s-wesolkowski/>Slawo Wesolkowski</a> (2007), <a href=https://vip.uwaterloo.ca/s-alexander/>Simon Alexander</a> (2005), <a href=https://vip.uwaterloo.ca/z-azimifar/>Zohreh Azimifar</a> (2005), <a href=https://vip.uwaterloo.ca/l-lee/>Leo Jingyu Lee</a> (2004), <a href=https://vip.uwaterloo.ca/f-jin/>Fu Jin</a> (2004), <a href=https://vip.uwaterloo.ca/f-khellah/>Fakhry Khellah</a> (2001), <a href=https://vip.uwaterloo.ca/s-sinha/>Sunil Sinha</a> (2000), <a href=https://vip.uwaterloo.ca/g-carballo/>Gabriel Carballo</a> (1999), <a href=https://vip.uwaterloo.ca/amir-nazemi/>Amir Nazemi</a> ()</p></div>


<h4 class="wp-block-heading" style="text-transform:capitalize"><strong>M.A.Sc.</strong></h4>


<div class="lazyblock-related-people-Z2sdprk wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/auguste-l-w-koh/>Auguste L. W. Koh</a> (2024), <a href=https://vip.uwaterloo.ca/n-pellegrino-1/>Nicholas Pellegrino</a> (2022), <a href=https://vip.uwaterloo.ca/x-hu/>Xiaodan (Charlotte) Hu</a> (2019), <a href=https://vip.uwaterloo.ca/v-sankar/>Vignesh Sankar</a> (2018), <a href=https://vip.uwaterloo.ca/a-kumar/>Abhishek Kumar</a> (2012), <a href=https://vip.uwaterloo.ca/a-jain/>Aanchal Jain</a> (2012), <a href=https://vip.uwaterloo.ca/w-campaigne/>Wesley Campaigne</a> (2012), <a href=https://vip.uwaterloo.ca/n-cavan/>Neil Cavan</a> (2011), <a href=https://vip.uwaterloo.ca/s-zaboli/>Shiva Zaboli</a> (2011), <a href=https://vip.uwaterloo.ca/k-mcbride/>Kurtis McBride</a> (2007)</p></div>

<div class="lazyblock-research-vthYs wp-block-lazyblock-research"><link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Serif+Pro'>
  <div style='margin-bottom: 0.6rem; font-family: Source Serif Pro, Georgia, Times New Roman, serif; font-size: 3rem; font-weight: bold;'>Research topics</div><a href=https://vip.uwaterloo.ca/biomedical-imaging/>Biomedical Imaging</a><br><a href=https://vip.uwaterloo.ca/bioscan-insect-biodiversity-assessment/>BIOSCAN Insect Biodiversity Assessment</a><br><a href=https://vip.uwaterloo.ca/computer-vision/>Computer Vision</a><br><a href=https://vip.uwaterloo.ca/image-segmentation-classification/>Image Segmentation/Classification</a><br><a href=https://vip.uwaterloo.ca/multiresolution-techniques/>Multiresolution Techniques</a><br><a href=https://vip.uwaterloo.ca/remote-sensing/>Remote Sensing</a><br><a href=https://vip.uwaterloo.ca/scientific-imaging/>Scientific Imaging</a><br><a href=https://vip.uwaterloo.ca/stochastic-models/>Stochastic Models</a><br><a href=https://vip.uwaterloo.ca/video-analysis/>Video Analysis</a><br><link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Serif+Pro'>
  <div style='margin-bottom: 0.6rem; font-family: Source Serif Pro, Georgia, Times New Roman, serif; font-size: 3rem; font-weight: bold;'>Research demos</div><a href=https://vip.uwaterloo.ca/3d-reconstruction-of-underwater-scenes/>3D Reconstruction of Underwater Scenes</a><br><a href=https://vip.uwaterloo.ca/decoupled-active-contours/>Decoupled Active Contours</a><br><a href=https://vip.uwaterloo.ca/image-denoising/>Image Denoising</a><br><a href=https://vip.uwaterloo.ca/porous-media/>Porous Media</a><br><a href=https://vip.uwaterloo.ca/sar-sea-ice-image-synthesis/>SAR Sea Ice Image Synthesis</a><br><a href=https://vip.uwaterloo.ca/skin-cancer-detection/>Skin Cancer Detection</a><br><a href=https://vip.uwaterloo.ca/texture-classification/>Texture Classification</a><br></div>


<meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Serif+Pro">

  <!-- Load external CSS styles -->
  <link rel="stylesheet" href="../stylesbootstrap.css">

<style>

#peoplePublications {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    font-weight: bold;
    font-size: 3rem;
    text-align: start;
    margin-bottom: 0.6em;
}

#peoplePublications ~ span {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    font-weight: bold;
    font-size: 1.75rem;
    text-align: start;
    margin-bottom: 0.5em;
}

#nav {
    text-align: start;
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    margin-bottom: 0.5em;
    margin-left: 0;
    padding-left: 0;
}

#nav a {
    text-decoration-line: underline;
}

#nav a:hover {
    text-decoration-line: none;
}

#mainContent {
    max-width: 100%;
}

#pubDataJournals {
   font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    padding-left: 0;
    font-size: 1.75rem;
    white-space: pre-wrap;
}

#pubDataConference {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    padding-left: 0;
    font-size: 1.75rem;
    white-space: pre-wrap;
}
</style>

  <!--Main Content-->
  <div class="container mt-5" id="mainContent">
  
   <div class="row">
      <div class="col ps-0" id="peoplePublications">Publications</div>
      <div id="nav">
        <a href="#journalArticles">Journal Articles</a>
        <span> / </span>
        <a href="#conferencePapers">Conference Papers</a>
      </div>
      <span id="journalArticles" class="ps-0">Journal Articles</span>
      <p id="pubDataJournals">
        <!-- journal data from JS here -->
      </p>
      <span id="conferencePapers" class="ps-0">Conference Papers</span>
      <div id="nav">
        <a href="#peoplePublications">Top</a>
      </div>
      <p id="pubDataConference">
        <!-- conference paper data from JS here -->
      </p>
    </div>
  </div>

<script>
    
    const scopusID = 7004156748; //Paul Fieguth
    const user = "pfieguth";
    const api = "https://ecserv2.uwaterloo.ca/researchmicro/research/publications.php?user=" +user;
   const openAccess = "https://bg.api.oa.works/find?id=";
    
    displayPublications();

   async function getOA(searchQuery)
    {
        let openInfo = await fetch(openAccess + searchQuery);
        let openInfoText = await openInfo.text();
        return JSON.parse(openInfoText).url;
    }

    async function getPublications(file) {
        let publicationData = await fetch(file);
        let pubText = await publicationData.text();
        pubText = pubText.replace("=", ":"); //correcting API issue with = instead of :
        return JSON.parse(pubText);
    }

    function generateLink(id, title)
    {
        id.onclick = "";
        id.innerHTML = "loading..."
        title = title.replaceAll(/ /g, '%20');
        getOA(title).then(
            function(value)
            {
                if(value == null)
                {
                    id.innerHTML = "Search UWaterloo Library";
                    id.href = 'https://ocul-wtl.primo.exlibrisgroup.com/discovery/search?query=any,contains,' + title + '&tab=OCULDiscoveryNetwork&search_scope=OCULDiscoveryNetwork&vid=01OCUL_WTL:WTL_DEFAULT&lang=en&offset=0';
                    id.target = "_blank";
                }
                else
                {
                    id.href = value;
                    id.target = "_blank";
                    id.innerHTML = "Open";
                }
            },
            function(error)
            {
                id.href = "#";
                id.innerHTML = "Not found";
            });
    }

    function displayPublications() {
	    getPublications(api).then(
            function(value) {
                const size = value.rows.length;
                let pubListJournals = "";
                let pubListConference = "";
                for(var i = 0; i < size; i++)
                            {
                                let publication = "";
                                let authors = value.rows[i].list_names_of_authors.split(", ");
                                lastIndex = authors.length - 1;
                                authors[lastIndex] = authors[lastIndex].slice(4, authors[lastIndex].length - 1);
                                for(var j = 0; j <= lastIndex; j++)
                                {  
                                    let authorLink = "";
                                    let authorsLC = authors[j].toLowerCase();
                                    if(j == lastIndex)
                                    {
                                        if(authorsLC.includes("."))
                                        {  
                                            authorLink += authorsLC.charAt(authorsLC.indexOf(".") - 1);
                                            authorLink += "-";
                                            authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        }
                                        else
                                        {
                                            authorLink += authorsLC.charAt(authorsLC.length - 1);
                                            authorLink += "-";
                                            authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        }
                                        
                                    }
                                    else
                                    {
                                        authorLink += authorsLC.charAt(authorsLC.indexOf(".") - 1);
                                        authorLink += "-";
                                        authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        
                                    }
                                    authorLink = 'https://vip.uwaterloo.ca/' + authorLink;
                                    if(j != lastIndex)
                                    {
                                        publication += `<a href='${authorLink}' target='_blank'>${authors[j]}</a>` + ", ";
                                    }
                                    else 
                                    {
                                        publication += "and " + `<a href='${authorLink}' target='_blank'>${authors[j]}</a>`;
                                    }
                                }

                                publication += ', "';
                                
                                publication += value.rows[i].title;
                                
                                publication += '", ';
                                publication += value.rows[i].pub_name;
                                if (!isConference(value.rows[i]))
                                {
                                    publication += ", vol. ";
                                    publication += value.rows[i].volume;
                                    publication += ", ";
                                }
                                if (value.rows[i].page_range != "" && !isConference(value.rows[i]))
                                {
                                    publication += "pp. ";
                                    publication += value.rows[i].page_range;
                                    publication += ", ";
                                }
                                else if(isConference(value.rows[i]))
                                {
                                    publication += ", ";
                                }
                                publication += value.rows[i].year;
                                publication += ". ";
                                publication += `<a href="#" onclick="generateLink(this, '${value.rows[i].title}');event.preventDefault();">Get it here.</a>`;
                                
                                publication += "\n\n";
                                if (isConference(value.rows[i]))
                                {
                                    pubListConference += publication;
                                }
                                else
                                {
                                      pubListJournals += publication;
                                }
                            }
                document.getElementById('pubDataJournals').innerHTML = pubListJournals;
                document.getElementById('pubDataConference').innerHTML = pubListConference;
                //document.getElementById("testLink").innerHTML = value.rows[1].list_names_of_authors;
                //break at commas, ensure you end up with Clausi D or Fang Y. Then add - and remove spaces and reverse
                //gives you d-clausi, y-fang. For hyperlinking to page.
            },
            function(error) {document.getElementById('publicationData').innerHTML = "Error retrieving data.";}
        )
    }

    function isConference(publication)
    {
        return publication.volume == 0 || publication.pub_name.includes("Conference") || publication.pub_name.includes("Proceedings") || publication.pub_name.includes("Lecture Notes") || publication.pub_name.includes("Symposium");
    }
</script>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>David Clausi</title>
		<link>https://vip.uwaterloo.ca/d-clausi/</link>
					<comments>https://vip.uwaterloo.ca/d-clausi/#comments</comments>
		
		<dc:creator><![CDATA[David A Clausi]]></dc:creator>
		<pubDate>Mon, 13 Feb 2023 20:18:05 +0000</pubDate>
				<category><![CDATA[3D Reconstruction of Underwater Scenes]]></category>
		<category><![CDATA[Action Recognition in Video]]></category>
		<category><![CDATA[Biomedical Imaging]]></category>
		<category><![CDATA[Coded Hemodynamic Imaging]]></category>
		<category><![CDATA[Compressed Sensing]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[Decoupled Active Contours]]></category>
		<category><![CDATA[Directors]]></category>
		<category><![CDATA[Disparate Scene Registration]]></category>
		<category><![CDATA[Enhanced Decoupled Active Contour Using Structural and Textural Variation Energy Functionals]]></category>
		<category><![CDATA[Hybrid Structural and Texture Distinctiveness Vector Field Convolution for Region Segmentation]]></category>
		<category><![CDATA[Image Denoising]]></category>
		<category><![CDATA[Image Segmentation/Classification]]></category>
		<category><![CDATA[MAGIC System]]></category>
		<category><![CDATA[Multiresolution Techniques]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[Remote Sensing]]></category>
		<category><![CDATA[SAR Sea Ice Image Synthesis]]></category>
		<category><![CDATA[Satellite SAR Sea Ice Classification]]></category>
		<category><![CDATA[Scientific Imaging]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<category><![CDATA[Sports Analytics]]></category>
		<category><![CDATA[Statistical Textural Distinctiveness for Salient Region Detection in Natural Images]]></category>
		<category><![CDATA[Stereo Vision for Dimension Estimation]]></category>
		<category><![CDATA[Stochastic Models]]></category>
		<category><![CDATA[Texture Classification]]></category>
		<category><![CDATA[Video Analysis]]></category>
		<guid isPermaLink="false">https://wwwvip.uwaterloo.ca/?p=52</guid>

					<description><![CDATA[My research interests are in the fields of computer vision, image processing, and pattern recognition with an emphasis on the automated interpretation of SAR (synthetic aperture radar) and biomedical imagery. I am an active interdisciplinary and multidisciplinary researcher, publishing refereed journal and conference papers in the diverse fields of remote sensing, computer vision, algorithm design, and biomechanics.]]></description>
										<content:encoded><![CDATA[
<p>I completed my Ph.D. in Systems Design Engineering in 1996 and immediately afterwards, I worked in software medical imaging field at Agfa (nee Mitra)&nbsp;in Waterloo, Ontario.&nbsp;&nbsp;I started&nbsp;my academic career in 1997 as an Assistant Professor in Geomatics Engineering at the University of Calgary, Canada. In 1999,&nbsp;I returned to my alma mater and I am now a Professor specializing in the fields of Intelligent and Environmental Systems.&nbsp; In addition, I was the Associate Chair &#8211; Graduate Studies (2009-2012).&nbsp; I was the Co-chair of IAPR Technical Committee 7 – Remote Sensing during 2004-2006.&nbsp;I have&nbsp;numerous recognitions, including received five Outstanding Performance Awards, three Distinguished Performance Awards, the Sanford Fleming Teaching Excellence Award, and a University of Calgary&nbsp;Teaching Excellence Award.&nbsp; In 2010, I received the award for “Research Excellence and Service to the Research Community” by the Canadian Image Processing and Pattern Recognition Society (CIPPRS).&nbsp;In 2012, I received the Engineering Research Excellence Award.</p>



<p>Currently, I am the Associate Dean &#8211; Research &amp; External Partnerships within the Faculty of Engineering, responsible for all research related activities in the largest Engineering school in Canada.  </p>



<h2 class="wp-block-heading"><strong>Research interests</strong></h2>



<p>My research interests are in the fields of computer vision, image processing, and pattern recognition with an emphasis on the automated interpretation of SAR (synthetic aperture radar) and sports analytics (ice hockey).&nbsp; I am an active interdisciplinary and multidisciplinary researcher, publishing refereed journal and conference papers in the diverse fields of remote sensing, sports analytics, computer vision, algorithm design, and biomechanics. My research efforts have led to successful commercial implementations including creating and selling a startup company (<a href="https://wwwvip.uwaterloo.ca/crez-basketball-systems-inc/" data-type="post" data-id="567">CREZ</a>).</p>



<h2 class="wp-block-heading"><strong>Students</strong></h2>



<h3 class="wp-block-heading"><strong>Supervision &#8211; Current</strong></h3>



<h4 class="wp-block-heading"><strong>PDF</strong></h4>


<div class="lazyblock-related-people-1J8VRm wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/x-chen/>Xinwei Chen</a></p></div>


<h4 class="wp-block-heading" style="text-transform:capitalize"><strong>Ph.D</strong></h4>


<div class="lazyblock-related-people-qq5qm wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/soheil-soltani/>Soheil Soltani</a>, <a href=https://vip.uwaterloo.ca/youssef-nafea/>Youssef Nafea</a>, <a href=https://vip.uwaterloo.ca/zhibo-wang-2/>Zhibo Wang</a>, <a href=https://vip.uwaterloo.ca/j-noa/>Javier Noa Turnes</a></p></div>


<h4 class="wp-block-heading" style="text-transform:capitalize"><strong>M.A.Sc</strong></h4>


<div class="lazyblock-related-people-ZBusJm wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/h-nguyen-huu/>Howard Nguyen-Huu</a>, <a href=https://vip.uwaterloo.ca/j-hsiao/>Jayden Hsiao</a>, <a href=https://vip.uwaterloo.ca/kevin-li/>Kevin Li</a>, <a href=https://vip.uwaterloo.ca/quanyun-daniel-wu/>Quanyun (Daniel) Wu</a>, <a href=https://vip.uwaterloo.ca/jerry-jitao-hu/>Jerry (Jitao) Hu</a>, <a href=https://vip.uwaterloo.ca/kshitij-goyal/>Kshitij Goyal</a>, <a href=https://vip.uwaterloo.ca/n-azad/>Niloofar Azad</a>, <a href=https://vip.uwaterloo.ca/liam-salass/>Liam Salass</a>, <a href=https://vip.uwaterloo.ca/junfeng-lei/>Junfeng Lei</a></p></div>


<h3 class="wp-block-heading"><strong>Supervision &#8211; Completed</strong></h3>



<h4 class="wp-block-heading"><strong>PDF</strong></h4>


<div class="lazyblock-related-people-AOUaf wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/y-fang/>Yuan Fang</a> (2023), <a href=https://vip.uwaterloo.ca/m-fani/>Mehrnaz Fani</a> (2019-2022), <a href=https://vip.uwaterloo.ca/linlin-xu/>Linlin Xu</a> (2016), <a href=https://vip.uwaterloo.ca/h-sekkati/>Hicham Sekkati</a> (2016), <a href=https://vip.uwaterloo.ca/b-hongbo/>Bi Hongbo</a> (2015), <a href=https://vip.uwaterloo.ca/f-hui/>Fu (Helen) Hui</a> (2015), <a href=https://vip.uwaterloo.ca/s-wang/>Shelley Wang</a> (2014), <a href=https://vip.uwaterloo.ca/c-scharfenberger/>Christian Scharfenberger</a> (2014), <a href=https://vip.uwaterloo.ca/p-siva/>Parthipan Siva</a> (2013), <a href=https://vip.uwaterloo.ca/z-wang/>Zhijie Wang</a> (2012), <a href=https://vip.uwaterloo.ca/k-qin/>Kai (Alex) Qin</a> (2009), <a href=https://vip.uwaterloo.ca/x-yang/>Xuezhi (Bruce) Yang</a> (2005), <a href=https://vip.uwaterloo.ca/h-deng/>Huawu (Gordon) Deng</a> (2004)</p></div>


<h4 class="wp-block-heading" style="text-transform:capitalize"><strong>Ph.D</strong></h4>


<div class="lazyblock-related-people-Z1XTS5Y wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/j-park/>Jinman (Eddie) Park</a> (2025), <a href=https://vip.uwaterloo.ca/s-taleghanidoozdoozan/>Saeid Taleghanidoozdoozan</a> (2023), <a href=https://vip.uwaterloo.ca/k-vats/>Kanav Vats</a> (2022), <a href=https://vip.uwaterloo.ca/m-jiang/>Mingzhe (Major) Jiang</a> (2022), <a href=https://vip.uwaterloo.ca/yuan-fang/>Yuan Fang</a> (2022), <a href=https://vip.uwaterloo.ca/mohsen-ghanbari/>Mohsen Ghanbari</a> (2021), <a href=https://vip.uwaterloo.ca/s-haider/>Shahid Haider</a> (), <a href=https://vip.uwaterloo.ca/r-amelard/>Robert Amelard</a> (2017), <a href=https://vip.uwaterloo.ca/k-kasiri/>Keyvan Kasiri</a> (2016), <a href=https://vip.uwaterloo.ca/f-kazemzadeh/>Farnoud Kazemzadeh</a> (2016), <a href=https://vip.uwaterloo.ca/d-cho/>Daniel S. Cho</a> (2016), <a href=https://vip.uwaterloo.ca/l-wang/>Lei Wang</a> (), <a href=https://vip.uwaterloo.ca/f-li/>Fan Li</a> (2015), <a href=https://vip.uwaterloo.ca/s-schwartz/>Shimon Schwartz</a> (2013), <a href=https://vip.uwaterloo.ca/j-eichel/>Justin Eichel</a> (2013), <a href=https://vip.uwaterloo.ca/s-ochilov/>Shuhrat Ochilov</a> (2012), <a href=https://vip.uwaterloo.ca/l-shen/>Li Shen</a> (2012), <a href=https://vip.uwaterloo.ca/a-shabani/>Amir H. Shabani</a> (2011), <a href=https://vip.uwaterloo.ca/l-liu/>Li Liu</a> (2011), <a href=https://vip.uwaterloo.ca/a-mishra/>Akshaya Mishra</a> (2010), <a href=https://vip.uwaterloo.ca/q-yu/>Qiyao Yu</a> (2006), <a href=https://vip.uwaterloo.ca/m-ali/>Mohammed Ali</a> (2003), <a href=https://vip.uwaterloo.ca/ken-m-nsiempba/>Ken M. Nsiempba</a> ()</p></div>


<h4 class="wp-block-heading" style="text-transform:capitalize"><strong>M.A.Sc</strong></h4>


<div class="lazyblock-related-people-zq34s wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/l-de-loe/>Lily de Loë</a> (2025), <a href=https://vip.uwaterloo.ca/v-chomko/>Vasyl Chomko</a> (2025), <a href=https://vip.uwaterloo.ca/k-buzko/>Kseniia (Ksusha) Buzko</a> (2025), <a href=https://vip.uwaterloo.ca/mohammad-basri/>Mohammad Basri</a> (2024), <a href=https://vip.uwaterloo.ca/bavesh-balaji/>Bavesh Balaji</a> (2024), <a href=https://vip.uwaterloo.ca/harish-prakash/>Harish Prakash</a> (2024), <a href=https://vip.uwaterloo.ca/marjan-shahi/>Marjan Shahi</a> (), <a href=https://vip.uwaterloo.ca/f-pena/>Fernando J. Pena Cantu</a> (2024), <a href=https://vip.uwaterloo.ca/muhammed-patel/>Muhammed Patel</a> (2024), <a href=https://vip.uwaterloo.ca/n-brubacher/>Neil Brubacher</a> (2024), <a href=https://vip.uwaterloo.ca/j-shang/>Jason (Jia Cheng) Shang</a> (2023), <a href=https://vip.uwaterloo.ca/b-gebotys/>Brennan Gebotys</a> (2022), <a href=https://vip.uwaterloo.ca/m-manning/>Max Manning</a> (2022), <a href=https://vip.uwaterloo.ca/y-wu/>Yifan Wu</a> (2022), <a href=https://vip.uwaterloo.ca/p-walters/>Pascale Walters</a> (2021), <a href=https://vip.uwaterloo.ca/c-dulhanty/>Chris Dulhanty</a> (2020), <a href=https://vip.uwaterloo.ca/peter-q-lee/>Peter Q. Lee</a> (2020), <a href=https://vip.uwaterloo.ca/m-hoekstra/>Marie Hoekstra</a> (2018), <a href=https://vip.uwaterloo.ca/v-sankar/>Vignesh Sankar</a> (2018), <a href=https://vip.uwaterloo.ca/d-kumar/>Devinder Kumar</a> (2016), <a href=https://vip.uwaterloo.ca/e-li/>Edward Li</a> (2016), <a href=https://vip.uwaterloo.ca/b-chwyl/>Brendan Chwyl</a> (2016), <a href=https://vip.uwaterloo.ca/s-haider/>Shahid Haider</a> (2015), <a href=https://vip.uwaterloo.ca/r-amelard-2/>Robert Amelard</a> (2013), <a href=https://vip.uwaterloo.ca/s-leigh/>Steven Leigh</a> (2013), <a href=https://vip.uwaterloo.ca/j-glaister/>Jeffrey Glaister</a> (2013), <a href=https://vip.uwaterloo.ca/a-kumar/>Abhishek Kumar</a> (2012), <a href=https://vip.uwaterloo.ca/n-bandekar/>Namrata Bandekar</a> (2012), <a href=https://vip.uwaterloo.ca/n-cavan/>Neil Cavan</a> (2011), <a href=https://vip.uwaterloo.ca/f-tung/>Fred Tung</a> (2010), <a href=https://vip.uwaterloo.ca/w-zhang/>Wen Zhang</a> (2009), <a href=https://vip.uwaterloo.ca/p-yu/>Peter Yu</a> (2009), <a href=https://vip.uwaterloo.ca/n-el-nabbout/>Natalie El-Nabbout</a> (2008), <a href=https://vip.uwaterloo.ca/k-mcbride/>Kurtis McBride</a> (2007), <a href=https://vip.uwaterloo.ca/d-kwok/>Damian Kwok</a> (2007), <a href=https://vip.uwaterloo.ca/p-iles/>Peter Iles</a> (2005), <a href=https://vip.uwaterloo.ca/m-korhonen/>Mark Korhonen</a> (2004), <a href=https://vip.uwaterloo.ca/r-jobanputra/>Rishi Jobanputra</a> (2004), <a href=https://vip.uwaterloo.ca/s-puddister/>Shannon Puddister</a> (2003), <a href=https://vip.uwaterloo.ca/r-ge/>Renyan (Ryan) Ge</a> (2003), <a href=https://vip.uwaterloo.ca/s-booth/>Simon Booth</a> (2003), <a href=https://vip.uwaterloo.ca/b-yue/>Bing Yue</a> (2001)</p></div>

<div class="lazyblock-research-1l6Au0 wp-block-lazyblock-research"><link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Serif+Pro'>
  <div style='margin-bottom: 0.6rem; font-family: Source Serif Pro, Georgia, Times New Roman, serif; font-size: 3rem; font-weight: bold;'>Research topics</div><a href=https://vip.uwaterloo.ca/biomedical-imaging/>Biomedical Imaging</a><br><a href=https://vip.uwaterloo.ca/computer-vision/>Computer Vision</a><br><a href=https://vip.uwaterloo.ca/image-segmentation-classification/>Image Segmentation/Classification</a><br><a href=https://vip.uwaterloo.ca/multiresolution-techniques/>Multiresolution Techniques</a><br><a href=https://vip.uwaterloo.ca/remote-sensing/>Remote Sensing</a><br><a href=https://vip.uwaterloo.ca/scientific-imaging/>Scientific Imaging</a><br><a href=https://vip.uwaterloo.ca/sports-analytics/>Sports Analytics</a><br><a href=https://vip.uwaterloo.ca/stochastic-models/>Stochastic Models</a><br><a href=https://vip.uwaterloo.ca/video-analysis/>Video Analysis</a><br><link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Source+Serif+Pro'>
  <div style='margin-bottom: 0.6rem; font-family: Source Serif Pro, Georgia, Times New Roman, serif; font-size: 3rem; font-weight: bold;'>Research demos</div><a href=https://vip.uwaterloo.ca/3d-reconstruction-of-underwater-scenes/>3D Reconstruction of Underwater Scenes</a><br><a href=https://vip.uwaterloo.ca/action-recognition-in-video/>Action Recognition in Video</a><br><a href=https://vip.uwaterloo.ca/coded-hemodynamic-imaging/>Coded Hemodynamic Imaging</a><br><a href=https://vip.uwaterloo.ca/compressed-sensing/>Compressed Sensing</a><br><a href=https://vip.uwaterloo.ca/decoupled-active-contours/>Decoupled Active Contours</a><br><a href=https://vip.uwaterloo.ca/disparate-scene-registration/>Disparate Scene Registration</a><br><a href=https://vip.uwaterloo.ca/enhanced-decoupled-active-contour-using-structural-and-textural-variation-energy-functionals/>Enhanced Decoupled Active Contour Using Structural and Textural Variation Energy Functionals</a><br><a href=https://vip.uwaterloo.ca/hybrid-structural-and-texture-distinctiveness-vector-field-convolution-for-region-segmentation/>Hybrid Structural and Texture Distinctiveness Vector Field Convolution for Region Segmentation</a><br><a href=https://vip.uwaterloo.ca/image-denoising/>Image Denoising</a><br><a href=https://vip.uwaterloo.ca/magic-system/>MAGIC System</a><br><a href=https://vip.uwaterloo.ca/sar-sea-ice-image-synthesis/>SAR Sea Ice Image Synthesis</a><br><a href=https://vip.uwaterloo.ca/satellite-sar-sea-ice-classification/>Satellite SAR Sea Ice Classification</a><br><a href=https://vip.uwaterloo.ca/skin-cancer-detection/>Skin Cancer Detection</a><br><a href=https://vip.uwaterloo.ca/statistical-textural-distinctiveness-for-salient-region-detection-in-natural-images/>Statistical Textural Distinctiveness for Salient Region Detection in Natural Images</a><br><a href=https://vip.uwaterloo.ca/stereo-vision-for-dimension-estimation/>Stereo Vision for Dimension Estimation</a><br><a href=https://vip.uwaterloo.ca/texture-classification/>Texture Classification</a><br></div>


<meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Serif+Pro">

  <!-- Load external CSS styles -->
  <link rel="stylesheet" href="../stylesbootstrap.css">

<style>

#peoplePublications {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    font-weight: bold;
    font-size: 3rem;
    text-align: start;
    margin-bottom: 0.6em;
}

#peoplePublications ~ span {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    font-weight: bold;
    font-size: 1.75rem;
    text-align: start;
    margin-bottom: 0.5em;
}

#nav {
    text-align: start;
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    margin-bottom: 0.5em;
    margin-left: 0;
    padding-left: 0;
}

#nav a {
    text-decoration-line: underline;
}

#nav a:hover {
    text-decoration-line: none;
}

#mainContent {
    max-width: 100%;
}

#pubDataJournals {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    padding-left: 0;
    font-size: 1.75rem;
    white-space: pre-wrap;
}

#pubDataConference {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    padding-left: 0;
    font-size: 1.75rem;
    white-space: pre-wrap;
}
</style>

  <!--Main Content-->
  <div class="container mt-5" id="mainContent">
  
   <div class="row">
      <div class="col ps-0" id="peoplePublications">Publications</div>
      <div id="nav">
        <a href="#journalArticles">Journal Articles</a>
        <span> / </span>
        <a href="#conferencePapers">Conference Papers</a>
      </div>
      <span id="journalArticles" class="ps-0">Journal Articles</span>
      <p id="pubDataJournals">
        <!-- journal data from JS here -->
      </p>
      <span id="conferencePapers" class="ps-0">Conference Papers</span>
      <div id="nav">
        <a href="#peoplePublications">Top</a>
      </div>
      <p id="pubDataConference">
        <!-- conference paper data from JS here -->
      </p>
    </div>
  </div>

<script>
    
    const scopusID = 7003991297; //David Clausi
    const user = "dclausi";
    const api = "https://ecserv2.uwaterloo.ca/researchmicro/research/publications.php?user=" +user;
   const openAccess = "https://bg.api.oa.works/find?id=";
    
    displayPublications();

   async function getOA(searchQuery)
    {
        let openInfo = await fetch(openAccess + searchQuery);
        let openInfoText = await openInfo.text();
        return JSON.parse(openInfoText).url;
    }

    async function getPublications(file) {
        let publicationData = await fetch(file);
        let pubText = await publicationData.text();
        pubText = pubText.replace("=", ":"); //correcting API issue with = instead of :
        return JSON.parse(pubText);
    }

    function generateLink(id, title)
    {
        id.onclick = "";
        id.innerHTML = "loading..."
        title = title.replaceAll(/ /g, '%20');
        getOA(title).then(
            function(value)
            {
                if(value == null)
                {
                    id.innerHTML = "Search UWaterloo Library";
                    id.href = 'https://ocul-wtl.primo.exlibrisgroup.com/discovery/search?query=any,contains,' + title + '&tab=OCULDiscoveryNetwork&search_scope=OCULDiscoveryNetwork&vid=01OCUL_WTL:WTL_DEFAULT&lang=en&offset=0';
                    id.target = "_blank";
                }
                else
                {
                    id.href = value;
                    id.target = "_blank";
                    id.innerHTML = "Open";
                }
            },
            function(error)
            {
                id.href = "#";
                id.innerHTML = "Not found";
            });
    }

    function displayPublications() {
	    getPublications(api).then(
            function(value) {
                const size = value.rows.length;
                let pubListJournals = "";
                let pubListConference = "";
                for(var i = 0; i < size; i++)
                            {
                                let publication = "";
                                let authors = value.rows[i].list_names_of_authors.split(", ");
                                lastIndex = authors.length - 1;
                                authors[lastIndex] = authors[lastIndex].slice(4, authors[lastIndex].length - 1);
                                for(var j = 0; j <= lastIndex; j++)
                                {  
                                    let authorLink = "";
                                    let authorsLC = authors[j].toLowerCase();
                                    if(j == lastIndex)
                                    {
                                        if(authorsLC.includes("."))
                                        {  
                                            authorLink += authorsLC.charAt(authorsLC.indexOf(".") - 1);
                                            authorLink += "-";
                                            authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        }
                                        else
                                        {
                                            authorLink += authorsLC.charAt(authorsLC.length - 1);
                                            authorLink += "-";
                                            authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        }
                                        
                                    }
                                    else
                                    {
                                        authorLink += authorsLC.charAt(authorsLC.indexOf(".") - 1);
                                        authorLink += "-";
                                        authorLink += authorsLC.slice(0, authorsLC.indexOf(" "));
                                        
                                    }
                                    authorLink = 'https://vip.uwaterloo.ca/' + authorLink;
                                    if(j != lastIndex)
                                    {
                                        publication += `<a href='${authorLink}' target='_blank'>${authors[j]}</a>` + ", ";
                                    }
                                    else 
                                    {
                                        publication += "and " + `<a href='${authorLink}' target='_blank'>${authors[j]}</a>`;
                                    }
                                }

                                publication += ', "';
                                
                                publication += value.rows[i].title;
                                
                                publication += '", ';
                                publication += value.rows[i].pub_name;
                                if (!isConference(value.rows[i]))
                                {
                                    publication += ", vol. ";
                                    publication += value.rows[i].volume;
                                    publication += ", ";
                                }
                                if (value.rows[i].page_range != "" && !isConference(value.rows[i]))
                                {
                                    publication += "pp. ";
                                    publication += value.rows[i].page_range;
                                    publication += ", ";
                                }
                                else if(isConference(value.rows[i]))
                                {
                                    publication += ", ";
                                }
                                publication += value.rows[i].year;
                                publication += ". ";
                                publication += `<a href="#" onclick="generateLink(this, '${value.rows[i].title}');event.preventDefault();">Get it here.</a>`;
                                
                                publication += "\n\n";
                                if (isConference(value.rows[i]))
                                {
                                    pubListConference += publication;
                                }
                                else
                                {
                                      pubListJournals += publication;
                                }
                            }
                document.getElementById('pubDataJournals').innerHTML = pubListJournals;
                document.getElementById('pubDataConference').innerHTML = pubListConference;
                //document.getElementById("testLink").innerHTML = value.rows[1].list_names_of_authors;
                //break at commas, ensure you end up with Clausi D or Fang Y. Then add - and remove spaces and reverse
                //gives you d-clausi, y-fang. For hyperlinking to page.
            },
            function(error) {document.getElementById('publicationData').innerHTML = "Error retrieving data.";}
        )
    }

    function isConference(publication)
    {
        return publication.volume == 0 || publication.pub_name.includes("Conference") || publication.pub_name.includes("Proceedings") || publication.pub_name.includes("Lecture Notes") || publication.pub_name.includes("Symposium");
    }
</script>
]]></content:encoded>
					
					<wfw:commentRss>https://vip.uwaterloo.ca/d-clausi/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
