<?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>Skin Cancer Detection &#8211; VISION AND IMAGE PROCESSING (VIP) RESEARCH GROUP</title>
	<atom:link href="https://vip.uwaterloo.ca/category/research-demos/skin-cancer-detection/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>Tue, 10 Mar 2026 20:15:48 +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>Skin Cancer Detection &#8211; VISION AND IMAGE PROCESSING (VIP) RESEARCH GROUP</title>
	<link>https://vip.uwaterloo.ca</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Amy Tai</title>
		<link>https://vip.uwaterloo.ca/amy-tai/</link>
		
		<dc:creator><![CDATA[Amy Tai]]></dc:creator>
		<pubDate>Sun, 09 Feb 2025 01:06:08 +0000</pubDate>
				<category><![CDATA[Alexander Wong]]></category>
		<category><![CDATA[Biomedical Imaging]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[Correlated Diffusion Imaging]]></category>
		<category><![CDATA[Current Students]]></category>
		<category><![CDATA[Image Segmentation/Classification]]></category>
		<category><![CDATA[Ph.D.]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<guid isPermaLink="false">https://vip.uwaterloo.ca/?p=4249</guid>

					<description><![CDATA[Amy Tai is a PhD student in the Vision and Image Processing Lab at the University of Waterloo. She is in the Computer Science program and supervised by Alexander Wong and Lukasz Golab. Her research focuses on the cancer domain with focus on medical imaging and computer vision. Previously, she completed her Master of Applied Sciences in the Systems Design Engineering program and her Bachelor of Applied Science in Management Engineering at the University of Waterloo. Outside of research, she enjoys playing squash, travelling, hiking, and swimming.]]></description>
										<content:encoded><![CDATA[
<p>Amy Tai is a PhD student in the Vision and Image Processing Lab at the University of Waterloo. She is in the Computer Science program and supervised by Alexander Wong and Lukasz Golab. Her research focuses on the cancer domain with focus on medical imaging and computer vision. Previously, she completed her Master of Applied Sciences in the Systems Design Engineering program and her Bachelor of Applied Science in Management Engineering at the University of Waterloo. Outside of research, she enjoys playing squash, travelling, hiking, and swimming. </p>



<p><strong>LinkedIn</strong>: <a href="https://ca.linkedin.com/in/amy-tai">https://ca.linkedin.com/in/amy-tai</a></p>


<div class="lazyblock-supervisors-ZQ9ais 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/a-wong/>Alexander Wong</a></div>

<div class="lazyblock-research-interests-Z1DkGKe 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>Amy&#8217;s research areas include medical image analysis, personalized nutrition intervention for the aging population, and improved rendering of 3D models. As a lead on the Cancer-Net initiatives, she is focused on providing open-sourced datasets and pre-trained models for the task of cancer diagnosis and prognosis, and nutritional intake estimation, respectively. In general, Amy is interested in medical research that leverages technological advancements to improve healthcare for all.</div>

<div class="lazyblock-research-Z9pAcq 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><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/correlated-diffusion-imaging/>Correlated Diffusion Imaging</a><br><a href=https://vip.uwaterloo.ca/skin-cancer-detection/>Skin Cancer Detection</a><br></div>

<div class="lazyblock-publications-Z1kc07U 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(57223424149);

    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>Chi-en (Amy) Tai</title>
		<link>https://vip.uwaterloo.ca/c-tai/</link>
		
		<dc:creator><![CDATA[Amy Tai]]></dc:creator>
		<pubDate>Sun, 07 May 2023 17:28:05 +0000</pubDate>
				<category><![CDATA[Alexander Wong]]></category>
		<category><![CDATA[Alumni]]></category>
		<category><![CDATA[Biomedical Imaging]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[Correlated Diffusion Imaging]]></category>
		<category><![CDATA[Image Segmentation/Classification]]></category>
		<category><![CDATA[M.A.Sc.]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://vip.uwaterloo.ca/?p=3325</guid>

					<description><![CDATA[Chi-en (Amy) Tai is a Master of Applied Science student in Systems Design Engineering, supervised by Professor Alexander Wong. She is part of the Cancer-Net initiative focused on cancer diagnosis and prognosis using medical imaging and computer vision. She is also part of the NutritionVerse initiative centered around personalized nutrition intervention and intake estimation.]]></description>
										<content:encoded><![CDATA[
<p>Amy Tai is a Master of Applied Science student in the Vision and Image Processing Lab at the University of Waterloo. She is in the Systems Design Engineering program and supervised by Professor Alexander Wong. Her research focuses on cancer diagnosis and prognosis using medical imaging and computer vision. Previously, she completed her Bachelor of Applied Science in Management Engineering at the University of Waterloo. Outside of research, she enjoys hiking, travelling, rock climbing, playing squash, and swimming.</p>



<p><strong>LinkedIn</strong>: <a href="https://ca.linkedin.com/in/amy-tai">https://ca.linkedin.com/in/amy-tai</a></p>


<div class="lazyblock-supervisors-ZQ9ais 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/a-wong/>Alexander Wong</a></div>

<div class="lazyblock-research-interests-Z1BScXV 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>Amy&#8217;s research areas include medical image analysis, personalized nutrition intervention for the aging population, and improved rendering of 3D models. As a collaborator on the Cancer-Net and NutritionVerse initiatives, she is focused on providing open-sourced datasets and pre-trained models for the task of cancer diagnosis and prognosis, and nutritional intake estimation, respectively. In general, Amy is interested in medical research that leverages technological advancements to improve healthcare for all.</div>

<div class="lazyblock-research-ZIvO2I 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><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/correlated-diffusion-imaging/>Correlated Diffusion Imaging</a><br><a href=https://vip.uwaterloo.ca/skin-cancer-detection/>Skin Cancer Detection</a><br></div>

<div class="lazyblock-publications-bHspv 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(57223424149);

    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>Robert Amelard</title>
		<link>https://vip.uwaterloo.ca/r-amelard/</link>
		
		<dc:creator><![CDATA[vipadmin]]></dc:creator>
		<pubDate>Fri, 28 Apr 2023 16:37:22 +0000</pubDate>
				<category><![CDATA[Alexander Wong]]></category>
		<category><![CDATA[Alumni]]></category>
		<category><![CDATA[Biomedical Imaging]]></category>
		<category><![CDATA[Coded Hemodynamic Imaging]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[David Clausi]]></category>
		<category><![CDATA[Image Segmentation/Classification]]></category>
		<category><![CDATA[Ph.D.]]></category>
		<category><![CDATA[Remote Sensing]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<category><![CDATA[Stereo Vision for Dimension Estimation]]></category>
		<category><![CDATA[Ph.D. Grad Date: 2017]]></category>
		<guid isPermaLink="false">https://vip.uwaterloo.ca/?p=3219</guid>

					<description><![CDATA[My research passions lie broadly in the realm of computer vision with a HCI/human factors twist. I am focusing my PhD thesis work on extracting hemodynamic information from videos. For my Master's, I designed intuitive image features to help doctors make more accurate diagnoses of melanoma. Apart from medical image processing, I have also dappled with remote sensing (hyper- &#038; multi-spectral) and photogrammetry (3D stereo vision).]]></description>
										<content:encoded><![CDATA[
<p>I completed my Ph.D. with professors <a href="https://vip.uwaterloo.ca/a-wong/" data-type="post" data-id="491">Alex Wong</a> and <a href="https://vip.uwaterloo.ca/d-clausi/" data-type="post" data-id="52">David Clausi</a>. Please see my new website for updated activities:</p>



<p>Website: <a href="http://www.robertamelard.com/">http://www.robertamelard.com/</a></p>


<div class="lazyblock-supervisors-1sQFg0 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/a-wong/>Alexander Wong</a>, <a href=https://vip.uwaterloo.ca/d-clausi/>David Clausi</a></div>

<div class="lazyblock-research-interests-2jtCXK 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 passions lie broadly in the realm of computer vision with a HCI/human factors twist. I am focusing my PhD thesis work on extracting hemodynamic information from videos. For my Master&#8217;s, I designed intuitive image features to help doctors make more accurate diagnoses of melanoma. Apart from medical image processing, I have also dappled with remote sensing (hyper- &#038; multi-spectral) and photogrammetry (3D stereo vision). 

Wherever I find myself, I aim to devote my skills to create socially responsible technology to help make people&#8217;s lives more meaningful.</div>

<div class="lazyblock-research-ZDFIlK 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/remote-sensing/>Remote Sensing</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/coded-hemodynamic-imaging/>Coded Hemodynamic Imaging</a><br><a href=https://vip.uwaterloo.ca/skin-cancer-detection/>Skin Cancer Detection</a><br><a href=https://vip.uwaterloo.ca/stereo-vision-for-dimension-estimation/>Stereo Vision for Dimension Estimation</a><br></div>

<div class="lazyblock-publications-UJtXl 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(55516685100);

    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>Robert Amelard</title>
		<link>https://vip.uwaterloo.ca/r-amelard-2/</link>
		
		<dc:creator><![CDATA[vipadmin]]></dc:creator>
		<pubDate>Fri, 28 Apr 2023 16:34:42 +0000</pubDate>
				<category><![CDATA[Alexander Wong]]></category>
		<category><![CDATA[Alumni]]></category>
		<category><![CDATA[Biomedical Imaging]]></category>
		<category><![CDATA[Coded Hemodynamic Imaging]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[David Clausi]]></category>
		<category><![CDATA[Image Segmentation/Classification]]></category>
		<category><![CDATA[M.A.Sc.]]></category>
		<category><![CDATA[Remote Sensing]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<category><![CDATA[Stereo Vision for Dimension Estimation]]></category>
		<category><![CDATA[M.A.Sc. Grad Date: 2013]]></category>
		<guid isPermaLink="false">https://vip.uwaterloo.ca/?p=3216</guid>

					<description><![CDATA[My research passions lie broadly in the realm of computer vision with a HCI/human factors twist. I am focusing my PhD thesis work on extracting hemodynamic information from videos. For my Master's, I designed intuitive image features to help doctors make more accurate diagnoses of melanoma. Apart from medical image processing, I have also dappled with remote sensing (hyper- &#038; multi-spectral) and photogrammetry (3D stereo vision).]]></description>
										<content:encoded><![CDATA[
<p>I completed my M.A.Sc. with professors <a href="https://vip.uwaterloo.ca/a-wong/" data-type="post" data-id="491">Alex Wong</a> and <a href="https://vip.uwaterloo.ca/d-clausi/" data-type="post" data-id="52">David Clausi</a>. Please see my new website for updated activities:</p>



<p>Website: <a href="http://www.robertamelard.com/">http://www.robertamelard.com/</a></p>


<div class="lazyblock-supervisors-1R1nc4 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/a-wong/>Alexander Wong</a>, <a href=https://vip.uwaterloo.ca/d-clausi/>David Clausi</a></div>

<div class="lazyblock-research-interests-e6Iyz 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 passions lie broadly in the realm of computer vision with a HCI/human factors twist. I am focusing my PhD thesis work on extracting hemodynamic information from videos. For my Master&#8217;s, I designed intuitive image features to help doctors make more accurate diagnoses of melanoma. Apart from medical image processing, I have also dappled with remote sensing (hyper- &#038; multi-spectral) and photogrammetry (3D stereo vision). 

Wherever I find myself, I aim to devote my skills to create socially responsible technology to help make people&#8217;s lives more meaningful.</div>

<div class="lazyblock-research-Z2dN8zF 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/remote-sensing/>Remote Sensing</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/coded-hemodynamic-imaging/>Coded Hemodynamic Imaging</a><br><a href=https://vip.uwaterloo.ca/skin-cancer-detection/>Skin Cancer Detection</a><br><a href=https://vip.uwaterloo.ca/stereo-vision-for-dimension-estimation/>Stereo Vision for Dimension Estimation</a><br></div>

<div class="lazyblock-publications-ZfvVxz 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(55516685100);

    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>Shahid Haider</title>
		<link>https://vip.uwaterloo.ca/s-haider/</link>
		
		<dc:creator><![CDATA[Shahid Haider]]></dc:creator>
		<pubDate>Wed, 19 Apr 2023 19:02:53 +0000</pubDate>
				<category><![CDATA[Alexander Wong]]></category>
		<category><![CDATA[Alumni]]></category>
		<category><![CDATA[Biomedical Imaging]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[Computer Vision for Autonomous Robots]]></category>
		<category><![CDATA[David Clausi]]></category>
		<category><![CDATA[M.A.Sc.]]></category>
		<category><![CDATA[Ph.D.]]></category>
		<category><![CDATA[Scientific Imaging]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<category><![CDATA[Stochastic Models]]></category>
		<category><![CDATA[Video Analysis]]></category>
		<category><![CDATA[M.A.Sc. Grad Date: 2015]]></category>
		<guid isPermaLink="false">https://wwwvip.uwaterloo.ca/?p=2203</guid>

					<description><![CDATA[I am very interested in spectropolarimetric optical imaging techniques and utilizing them for medical purposes. I have extended interests as well in medical image processing and analysis, in particular with prostate MRI.]]></description>
										<content:encoded><![CDATA[
<div style="height:14px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="lazyblock-supervisors-xptaE 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/a-wong/>Alexander Wong</a>, <a href=https://vip.uwaterloo.ca/d-clausi/>David Clausi</a></div>

<div class="lazyblock-research-interests-Z1LuMBG 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>I am very interested in spectropolarimetric optical imaging techniques and utilizing them for medical purposes. I have extended interests as well in medical image processing and analysis, in particular with prostate MRI.</div>

<div class="lazyblock-research-1riFBY 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/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/computer-vision-for-autonomous-robots/>Computer Vision for Autonomous Robots</a><br><a href=https://vip.uwaterloo.ca/skin-cancer-detection/>Skin Cancer Detection</a><br></div>

<div class="lazyblock-publications-Z1inIlg 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(56076551000);

    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>Andre Carrington</title>
		<link>https://vip.uwaterloo.ca/a-carrington/</link>
		
		<dc:creator><![CDATA[Andre Carrington]]></dc:creator>
		<pubDate>Fri, 31 Mar 2023 17:45:37 +0000</pubDate>
				<category><![CDATA[Alumni]]></category>
		<category><![CDATA[Biomedical Imaging]]></category>
		<category><![CDATA[Image Segmentation/Classification]]></category>
		<category><![CDATA[Paul Fieguth]]></category>
		<category><![CDATA[Ph.D.]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<category><![CDATA[Stochastic Models]]></category>
		<category><![CDATA[Ph.D. Grad Date: 2018]]></category>
		<guid isPermaLink="false">https://wwwvip.uwaterloo.ca/?p=1438</guid>

					<description><![CDATA[My research applies computers to analysis and optimization problems in healthcare, with a focus on cancer. This involves pattern recognition, statistical machine learning, health informatics, signal &#038; image processing and other disciplines.]]></description>
										<content:encoded><![CDATA[
<p>My research applies artificial intelligence to prediction and pattern recognition in&nbsp;healthcare, with heterogeneous data consisting of numeric, categorical, image or&nbsp;waveform data.&nbsp;&nbsp;I have a B.A.Sc. in&nbsp;Systems Design Engineering&nbsp;and an M.Math in&nbsp;Computer Science&nbsp;from the University of Waterloo.&nbsp; I have given lectures at UW and at U of T&#8217;s School of Continuing Studies; and I helped develop and teach a worldwide course at IBM.</p>



<p>I have 18 years of IT leadership experience in industry.&nbsp; Most recently I led IT strategy work for the University Health Network&#8217;s Multi Organ Transplant group in collaboration with UW; and I was the Director of Privacy &amp; Security at Canada Health Infoway with oversight on federally funded Electronic Health Record projects in each province.&nbsp; I have my own company, Bedrock Security Services Inc, whose clients included Canada Health Infoway, Telus, IBM and the Center for Internet Security; and I have also worked at Sobeys, Scotiabank, IBM&nbsp;and other organizations.</p>



<p>My non-academic publications include:</p>



<p>Sasha Bojicic, David Pare, Robert Caron, André Carrington, Lloyd MacKenzie, et al. Transport Layer Interoperability Specification v3.1, Canadian Draft for Use, Canada Health Infoway, Toronto, Canada, July 2011.</p>



<p>Ingrid J. Petersen, André Carrington, et al. Wireless Security benchmark v1.0, Center for Internet Security, U.S.A., 2005.</p>


<div class="lazyblock-supervisors-Z2qmSd6 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/p-fieguth/>Paul Fieguth</a></div>

<div class="lazyblock-research-interests-ZjRc8D 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 applies computers to analysis and optimization problems in healthcare, with a focus on cancer. This involves pattern recognition, statistical machine learning, health informatics, signal &#038; image processing and other disciplines.  I am supervised by Prof. Paul Fieguth and Prof. Helen Chen.</div>

<div class="lazyblock-research-ZKXR1N 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/image-segmentation-classification/>Image Segmentation/Classification</a><br><a href=https://vip.uwaterloo.ca/stochastic-models/>Stochastic Models</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/skin-cancer-detection/>Skin Cancer Detection</a><br></div>

<div class="lazyblock-publications-2nF0zj 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(56647796600);

    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>Elnaz Barshan</title>
		<link>https://vip.uwaterloo.ca/e-barshan/</link>
		
		<dc:creator><![CDATA[Elnaz Barshan]]></dc:creator>
		<pubDate>Fri, 31 Mar 2023 17:09:19 +0000</pubDate>
				<category><![CDATA[Alumni]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[Image Segmentation/Classification]]></category>
		<category><![CDATA[Paul Fieguth]]></category>
		<category><![CDATA[Ph.D.]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<category><![CDATA[Ph.D. Grad Date: 2016]]></category>
		<guid isPermaLink="false">https://wwwvip.uwaterloo.ca/?p=1431</guid>

					<description><![CDATA[My research interests lie in the area of Machine Learning, Computer Vision and Cognitive Science. I am especially interested in developing new Machine Learning algorithms for analyzing structures in massive data sources as well as learning predictive models based on those structures. Besides this, I am researching about the functionality of human visual system and learning how to model impressive properties of this mysterious system.]]></description>
										<content:encoded><![CDATA[
<p>I am a Ph.D. student researching scale-space methods in deep belief networks. I am working to model properties of the human visual system.</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="lazyblock-supervisors-ZSsf6f 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/p-fieguth/>Paul Fieguth</a></div>

<div class="lazyblock-research-interests-1uic2L 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 in the area of Machine Learning, Computer Vision and Cognitive Science. I am especially interested in developing new Machine Learning algorithms for analyzing structures in massive data sources as well as learning about predictive models based on those structures. Additionally, I am researching about the functionality of human visual system and learn how to model impressive properties of this mysterious system.</div>

<div class="lazyblock-research-21edXz 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/image-segmentation-classification/>Image Segmentation/Classification</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/skin-cancer-detection/>Skin Cancer Detection</a><br></div>

<div class="lazyblock-publications-VW0NA 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(36760369800);

    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>Jeffrey Glaister</title>
		<link>https://vip.uwaterloo.ca/j-glaister/</link>
		
		<dc:creator><![CDATA[vipadmin]]></dc:creator>
		<pubDate>Thu, 23 Mar 2023 19:33:19 +0000</pubDate>
				<category><![CDATA[Alexander Wong]]></category>
		<category><![CDATA[Alumni]]></category>
		<category><![CDATA[Bias Field Correction in Endorectal Diffusion Imaging]]></category>
		<category><![CDATA[Biomedical Imaging]]></category>
		<category><![CDATA[Correlated Diffusion Imaging]]></category>
		<category><![CDATA[David Clausi]]></category>
		<category><![CDATA[M.A.Sc.]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<category><![CDATA[M.A.Sc. Grad Date: 2013]]></category>
		<guid isPermaLink="false">https://wwwvip.uwaterloo.ca/?p=1194</guid>

					<description><![CDATA[My research interests are in the fields of pattern recognition and image processing, applied to biomedical imaging.  I am interested in developing image processing algorithms to automate the analysis of medical images, such as those captured using MRI, X-ray or other modalities. Other work is in the area of novel video compression algorithms.  ]]></description>
										<content:encoded><![CDATA[
<p>I received my BASc in Systems Design Engineering from the University of Waterloo in 2011. &nbsp;Through my co-op terms, I gained experience in medical imaging by working for Sunnybrook Health Sciences Centre. As part of my 3rd year design project, I developed a signature recognition system for point-of-sale authentication. For my 4th year design project, I worked on a novel video compression algorithm.</p>



<p>Email: <a href="mailto:jeffrey.glaister%40uwaterloo.ca">jeffrey.glaister@uwaterloo.ca</a></p>


<div class="lazyblock-supervisors-Z1pdDmA 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/a-wong/>Alexander Wong</a>, <a href=https://vip.uwaterloo.ca/d-clausi/>David Clausi</a></div>

<div class="lazyblock-research-interests-Z10zNfW 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 are in the fields of pattern recognition and image processing, applied to biomedical imaging. I am interested in developing image processing algorithms to automate the analysis of medical images, such as those captured using MRI, X-ray or other modalities. Other work is in the area of novel video compression algorithms.</div>

<div class="lazyblock-research-hPUJA 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><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/bias-field-correction-in-endorectal-diffusion-imaging/>Bias Field Correction in Endorectal Diffusion Imaging</a><br><a href=https://vip.uwaterloo.ca/correlated-diffusion-imaging/>Correlated Diffusion Imaging</a><br><a href=https://vip.uwaterloo.ca/skin-cancer-detection/>Skin Cancer Detection</a><br></div>

<div class="lazyblock-publications-1BtaRA 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(54931227500);

    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>Edward Li</title>
		<link>https://vip.uwaterloo.ca/e-li/</link>
		
		<dc:creator><![CDATA[vipadmin]]></dc:creator>
		<pubDate>Thu, 23 Mar 2023 19:27:05 +0000</pubDate>
				<category><![CDATA[Alexander Wong]]></category>
		<category><![CDATA[Alumni]]></category>
		<category><![CDATA[Biomedical Imaging]]></category>
		<category><![CDATA[Compressed Sensing]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[David Clausi]]></category>
		<category><![CDATA[Image Denoising]]></category>
		<category><![CDATA[M.A.Sc.]]></category>
		<category><![CDATA[Remote Sensing]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<category><![CDATA[M.A.Sc. Grad Date: 2016]]></category>
		<guid isPermaLink="false">https://wwwvip.uwaterloo.ca/?p=1185</guid>

					<description><![CDATA[My research interests are in the fields of computer vision, image processing, and pattern recognition with an emphasis on sparse reconstruction, conditional random fields, Hyperspectral imaging, MRI, OCT and other medical imaging techniques and applications. ]]></description>
										<content:encoded><![CDATA[
<p>I am originally from Beijing, China. I moved to Canada in 2005. I am currently a MASc student in the VIP lab working on biomedical imaging applications, hyperspectral imaging technologies and image sparse reconstruction. </p>


<div class="lazyblock-supervisors-Z1WmwCW 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/a-wong/>Alexander Wong</a>, <a href=https://vip.uwaterloo.ca/d-clausi/>David Clausi</a></div>

<div class="lazyblock-research-interests-ZlWEVa 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 are in the fields of computer vision, image processing, and pattern recognition with an emphasis on sparse reconstruction, conditional random fields, Hyperspectral imaging, MRI, Optical Coherence Tomography (OCT) and other medical imaging techniques and applications. </div>

<div class="lazyblock-research-Tg2uD 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/remote-sensing/>Remote Sensing</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/compressed-sensing/>Compressed Sensing</a><br><a href=https://vip.uwaterloo.ca/image-denoising/>Image Denoising</a><br><a href=https://vip.uwaterloo.ca/skin-cancer-detection/>Skin Cancer Detection</a><br></div>

<div class="lazyblock-publications-ZI30w 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(55994084500);

    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>Farnoud Kazemzadeh</title>
		<link>https://vip.uwaterloo.ca/f-kazemzadeh/</link>
		
		<dc:creator><![CDATA[Farnoud Kazemzadeh]]></dc:creator>
		<pubDate>Thu, 23 Mar 2023 19:18:40 +0000</pubDate>
				<category><![CDATA[Alexander Wong]]></category>
		<category><![CDATA[Alumni]]></category>
		<category><![CDATA[Biomedical Imaging]]></category>
		<category><![CDATA[Compressed Sensing]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[David Clausi]]></category>
		<category><![CDATA[Multiplexed Optical High-coherence Interferometry]]></category>
		<category><![CDATA[Ph.D.]]></category>
		<category><![CDATA[Remote Sensing]]></category>
		<category><![CDATA[Scientific Imaging]]></category>
		<category><![CDATA[Skin Cancer Detection]]></category>
		<category><![CDATA[Stereo Vision for Dimension Estimation]]></category>
		<category><![CDATA[Ph.D. Grad Date: 2016]]></category>
		<guid isPermaLink="false">https://wwwvip.uwaterloo.ca/?p=1173</guid>

					<description><![CDATA[Design, build, and application of scientific multispectroscopic, hyperspectroscopic, and interferometric imaging systems for various sensing applications: up-looking (astronomy) and down-looking (space instrumentation, Earth sciences, biomedicine, security, military).]]></description>
										<content:encoded><![CDATA[
<p>I am a Ph.D. student researching various imaging systems for different sensing applications.</p>


<div class="lazyblock-supervisors-Z1eTUkp 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/a-wong/>Alexander Wong</a>, <a href=https://vip.uwaterloo.ca/d-clausi/>David Clausi</a></div>

<div class="lazyblock-research-interests-Z24Jcki 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>Design, build, and application of scientific multispectroscopic, hyperspectroscopic, and interferometric imaging systems for various sensing applications: up-looking (astronomy) and down-looking (space instrumentation, Earth sciences, biomedicine, security, military).</div>

<div class="lazyblock-research-Z27X7jU 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/remote-sensing/>Remote Sensing</a><br><a href=https://vip.uwaterloo.ca/scientific-imaging/>Scientific Imaging</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/compressed-sensing/>Compressed Sensing</a><br><a href=https://vip.uwaterloo.ca/multiplexed-optical-high-coherence-interferometry/>Multiplexed Optical High-coherence Interferometry</a><br><a href=https://vip.uwaterloo.ca/skin-cancer-detection/>Skin Cancer Detection</a><br><a href=https://vip.uwaterloo.ca/stereo-vision-for-dimension-estimation/>Stereo Vision for Dimension Estimation</a><br></div>

<div class="lazyblock-publications-Z1YFGxo 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(26642478300);

    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>
	</channel>
</rss>
