<?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>John Zelek &#8211; VISION AND IMAGE PROCESSING (VIP) RESEARCH GROUP</title>
	<atom:link href="https://vip.uwaterloo.ca/author/johnzelek/feed/" rel="self" type="application/rss+xml" />
	<link>https://vip.uwaterloo.ca</link>
	<description>The University of Waterloo&#039;s Vision and Image Processing Lab</description>
	<lastBuildDate>Fri, 12 Jan 2024 17:34:21 +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>John Zelek &#8211; VISION AND IMAGE PROCESSING (VIP) RESEARCH GROUP</title>
	<link>https://vip.uwaterloo.ca</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>John Zelek</title>
		<link>https://vip.uwaterloo.ca/j-zelek/</link>
					<comments>https://vip.uwaterloo.ca/j-zelek/#comments</comments>
		
		<dc:creator><![CDATA[John Zelek]]></dc:creator>
		<pubDate>Fri, 24 Feb 2023 18:41:49 +0000</pubDate>
				<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[Directors]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[Sports Analytics]]></category>
		<guid isPermaLink="false">https://wwwvip.uwaterloo.ca/?p=519</guid>

					<description><![CDATA[My current research focus is on producing 3D maps from cameras and depth sensors.  These 3D maps can be used by robots (vehicles, UAVs) to navigate and localize or by people for various augmented applications.  Other current interests include IOT (Internet of Things) within the context of artificial perception, wearables and augmented spaces.]]></description>
										<content:encoded><![CDATA[
<p>Professor Zelek is an Associate Professor and co-director of the VIP (Vision Image Processing) lab. He is formerly the Associate Graduate Chair of Systems Design Engineering, serving from 2013 to 2017.<br>Professor Zelek’s current main research interests include autonomous robotic mapping and localization, 3D scene understanding, man made infrastructure assessment (e.g., roads, buildings, bridges), eye (fundus, OCT) image understanding for disease, learning 3D models from single-views, athletic sport tracking &amp; biomechanical understanding of play &amp; ability from video feeds, to name a few. Some of these projects make use of AI &amp; deep learning techniques.<br>Prof. Zelek’s interests in the past have included assistive devices, social engineering, haptics, robot navigation to name a few.</p>



<p>Professor Zelek has been the co-founder of two startup companies: Tactile Sight and Sweep3D. Tactile Sight commercialized a haptic navigation device for people who are cognitively (e.g., dementia) or perceptually (e.g., blind) disabled. Sweep3D commercialized technology that produces 3D models by sweeping a camera around objects or spaces for various applications including clothes fitting, orthotics as well as well as exploring real estate premises remotely. Professor Zelek also sits on the advisory boards for Intelligent Health Solutions Inc. and EyeCheck.</p>



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



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



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


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


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


<div class="lazyblock-related-people-Z2vQEjB wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/kseniia-ksusha-buzko/>Kseniia (Ksusha) Buzko</a>, <a href=https://vip.uwaterloo.ca/jerrin-bright/>Jerrin Bright</a></p></div>


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


<div class="lazyblock-related-people-N4xlt wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/kevin-li/>Kevin Li</a> (), <a href=https://vip.uwaterloo.ca/liam-salass/>Liam Salass</a> ()</p></div>


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



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


<div class="lazyblock-related-people-Z1XXJPz wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/m-fani/>Mehrnaz Fani</a> (2019-2022)</p></div>


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


<div class="lazyblock-related-people-Z2plEFS wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/k-vats/>Kanav Vats</a> (2022), <a href=https://vip.uwaterloo.ca/a-shabani/>Amir H. Shabani</a> (2011), <a href=https://vip.uwaterloo.ca/ken-m-nsiempba/>Ken M. Nsiempba</a> (), <a href=https://vip.uwaterloo.ca/peter-q-lee-2/>Peter Q. Lee</a> ()</p></div>


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


<div class="lazyblock-related-people-Z2sdprk wp-block-lazyblock-related-people"><p>
  <a href=https://vip.uwaterloo.ca/dheeraj-khanna/>Dheeraj Khanna</a> (2025), <a href=https://vip.uwaterloo.ca/ryan-schmalenberg/>Ryan Schmalenberg</a> (2024), <a href=https://vip.uwaterloo.ca/yan-song-hu/>Yan Song Hu</a> (2024), <a href=https://vip.uwaterloo.ca/m-bradley/>Matthew Bradley</a> (2024), <a href=https://vip.uwaterloo.ca/yuxiang-huang/>Yuxiang Huang</a> (), <a href=https://vip.uwaterloo.ca/chun-cheng-kris-feng/>Chun-Cheng (Kris) Feng</a> (2024), <a href=https://vip.uwaterloo.ca/harish-prakash/>Harish Prakash</a> (2024), <a href=https://vip.uwaterloo.ca/jerrin-bright-alumni/>Jerrin Bright</a> (2024), <a href=https://vip.uwaterloo.ca/f-li-2/>Francis Li</a> (2016), <a href=https://vip.uwaterloo.ca/f-tung/>Fred Tung</a> (2010), <a href=https://vip.uwaterloo.ca/w-zhang/>Wen Zhang</a> (2009), <a href=https://vip.uwaterloo.ca/n-el-nabbout/>Natalie El-Nabbout</a> (2008)</p></div>

<div class="lazyblock-research-2iJcUP 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/sports-analytics/>Sports Analytics</a><br></div>


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

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

<style>

#peoplePublications {
    font-weight: bold;
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    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 {
    font-family: "Source Serif Pro", "Georgia", "Times New Roman", "serif";
    text-align: start;
    margin-bottom: 0.5em;
    margin-left: 0;
    padding-left: 0;
}

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

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

#mainContent {
    max-width: 100%;
}

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

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

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

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

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

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

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

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

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

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