User Tools

Site Tools


projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projects [2010/04/21 19:09] bilprojects [2010/12/10 14:54] (current) bil
Line 1: Line 1:
 ====== Available projects ====== ====== Available projects ======
 +
 +The following projects are presented in alphabetical order on the supervisor's last name:
 +
 +====== Simulation for Forest Fire Detection ======
 +
 +**Supervisor**: Rob Allison
 +
 +**Required Background**: General CSE408x prerequisites
 +
 +**Recommended Background**: CSE3431 or CSE4471 or equivalent
 +
 +__Description__
 +
 +Detection of forest fires is a challenging activity that requires considerable training. The objective of this project is to implement a virtual reality simulation to incorporate key aspects of this task and then to perform an evaluation with a small user study.
 +
 +
 +====== Study of self-motion perception in microgravity ======
 +
 +**Supervisor**: Rob Allison
 +
 +**Required Background**: General CSE408x prerequisites
 +
 +**Recommended Background**: CSE3431 or CSE4471 or equivalent
 +
 +__Description__
 +
 +This is a computer graphics project to present visual motion stimuli to an observer. The software will experimentally control scene content, collect user responses and control the camera trajectory to simulate the desired self-motion profile.
 +
 +
 +====== Stereoscopic cinema calculator ======
 +
 +**Supervisor**: Rob Allison
 +
 +**Required Background**: General CSE408x prerequisites
 +
 +**Recommended Background**: CSE3431 or CSE4471 or equivalent
 +
 +__Description__
 +
 +Directors of three-dimensional movies sometimes use 'stereo calculators' to compute the simulated depth of objects in the film show to the viewer in order to maximize the stereoscopic effects and maintain comfortable viewing. However current calculators have limited ability to visualize the results of the calculations. This project will combine stereo calculations with visualization software to assist the director in artistic and technical decisions. 
 +
 +
 +
  
 ====== Three-Dimensional Context from Linear Perspective for Video Surveillance Systems ====== ====== Three-Dimensional Context from Linear Perspective for Video Surveillance Systems ======
Line 44: Line 87:
    
  
-====== Low-Cost Three-Dimensional Face Scanning System ====== 
  
-**Supervisor**:  James Elder 
  
-**Requirements**:  Interest in both hardware and software design at the systems level.  
  
-__Description__ 
  
-Low-cost three-dimensional face-scanning systems have a large range of potential applications in security and retail markets.  Our laboratory at York University has recently developed a prototype face-scanning system that has the potential for very low-cost mass production.  This project involves the development of a second-stage prototype that is one-step closer to commercialization.+====== Computer pointing devices and the speed-accuracy tradeoff ======
  
-The project will involve systems design and development of a specialized real-time 3D face scanner.  A combination of hardware and software design will be required.  The student will work closely with graduate students and postdoctoral fellows at York University, as well as researchers at other institutions involved in the project.  The student will develop skills in both hardware and software design, as well as computer-vision techniques. 
  
-For more information on the laboratory[[http://www.elderlab.yorku.ca]]+**Supervisor**Scott MacKenzie
  
-    +**Required Background**: General 4080 prerequisites, CSE3461, and (preferably) CSE4441
  
-====== Programming Multi-Core GPUs with CUDA ======+**Recommended Background**: Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design.  Experience in doing user studies.
  
-**Supervisor**Franck van Breugel+Please click [[http://www.cse.yorku.ca/~mack/4080/ComputerPointingDevices.pdf|here]] for full description.
  
-**Required background**: General prerequisites 
  
-**Recommended background**: N/A+====== One key text entry ======
  
-__Description__ 
  
-CUDA stands for "compute unified device architecture."  It is an architecture to program multicore graphical processing units (GPUs for short).  In the past, these GPUs were only used for graphics. However, CUDA allows us to use these GPUs for other types of computation. Since today's GPUs have hundreds of cores, algorithms can be parallelized and, hence, run often much faster.+**Supervisor**: Scott MacKenzie
  
-The aim of this project is to get familiar with GPUs and to study how to program them.+**Required Background**: General 4080 prerequisites, CSE3461, and (preferably) CSE4441
  
-More details can be found at[[http://www.cse.yorku.ca/~franck/projects/cuda.html]] +**Recommended Background**Interest in user interfaces and human-computer interaction (HCI)Understanding of experiment design Experience in doing user studies.
-(this link is only accessible from machines within the domain yorku.ca.) +
  
 +Please click [[http://www.cse.yorku.ca/~mack/4080/OneKeyTextEntry.pdf|here]] for full description.
  
  
Line 93: Line 129:
  
  
 +====== Selenium/Eiffel Web Test Driven Development ======
  
-====== Web-based digital signage ====== 
  
-**Supervisor**: John Amanatides+**Supervisor**: Jonathan Ostroff
  
-**Required background**: General prerequisites+**Required background**: General prerequisites, at least a B+ in CSE 3311
  
-**Recommended background**: CSE 3221, CSE 3214+**Recommended background**: Knowledge of Javascript a plus
  
 __Description__ __Description__
  
-Digital signs are increasingly used in many modern buildings to direct people to appropriate rooms for meetings, services, etcUnfortunately, "programming" them is non-trivial, especially for non-technical people such as administrative staff. The goal of this project is to make using digital signs much easier for such people.+The Selenium IDE is an integrated development environment for Selenium scriptsIt is implemented as a Firefox extension, and allows you to record, edit, and debug tests of web applications. The Selenium IDE is a recording tool, or you may edit your scripts by hand. With autocomplete support and the ability to move commands around quickly, Selenium IDE is the nice environment for creating webtests no matter what style of tests you prefer.
  
-One way to do this is to utilize what administrative staff are really good atdealing with calendarsBy assigning calendars to individual rooms/organizations/events, and having the digital signage software interpret this calendar data to display the day's events, an easier-to-use signage system can be developed.+Tests can be translated to Java (JUnit), C#, Python etc. It can be extended to [[http://seleniumhq.org/about/platforms.html|any language]] that can make HTTP calls.
  
-More specifically, the deliverables of this project include a digital signage system for Bethune College. Some of the technologies that you will be expected to learn/use include Javascript, JQuery, HTML, CSS, and ical/CalDAV. We expect to go open source with this software so that others can use it as well. The deliverables will also include an analysis of what it takes to scale this type of signage campus wide, including provisions for campus alerts/emergency announcements.+The goal of this project is (1) to translate Selenium tests into tests that can be run under Eiffel (e.g. via ESpec or AutoTest), and (2) to provide a complete Eiffel web application creation template (with embedded database such as sqlite) for creating and testing web applications.
  
 +====== Automated Reasoning System for Quantified Propositional Logic ======
  
  
-====== Computer pointing devices and the speed-accuracy tradeoff ======+**Supervisor**: Zbigniew Stachniak
  
 +**Required background**: General prerequisites
  
-**Supervisor**: Scott MacKenzie+**Recommended background**: Passion for programming and experimentation; Some knowledge of propositional and predicate logic 
  
-**Required Background**: General 4080 prerequisites, CSE3461, and (preferably) CSE4441+__Description__
  
-**Recommended Background**: Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design.  Experience in doing user studies.+Quantified Propositional Logics (QPL) plays an important role in a number of computer science disciplines from the theoretical computer science to knowledge representation and verification. There are also a number of open problems concerning this logic, and formulated more than 70 years ago, that can be finally solved (or at least approachedusing automated reasoning techniquesThe first step in such investigations has to be the design and implementation of a theorem prover, or automated reasoning system, for QPLSuch a system should, in principle, be able to determine whether or not a given formula of QPL is a theorem (or a tautology) in this logic.
  
-Please click [[http://www.cse.yorku.ca/~mack/4080/ComputerPointingDevices.pdf|here]] for full description.+The theorem prover for QPL is to be designed, implemented, and fully tested.
  
 +Background: Various variants of QPL have been formally formulated for the first time in the 1920s by a number of logicians and mathematicians. In modern computer science, QPL plays a significant role in theoretical computer science (proof complexity, satisfiability) as well as in verification and AI. 
  
-====== One key text entry ====== 
  
 +====== NABU Network Emulator ======
  
-**Supervisor**: Scott MacKenzie 
  
-**Required Background**: General 4080 prerequisites, CSE3461, and (preferably) CSE4441+**Supervisor**: Zbigniew Stachniak
  
-**Recommended Background**: Interest in user interfaces and human-computer interaction (HCI). Understanding of experiment design.  Experience in doing user studies.+**Required background**: General prerequisites
  
-Please click [[http://www.cse.yorku.ca/~mack/4080/OneKeyTextEntry.pdf|here]] for full description.+**Recommended background**Java (including 2D graphics); Some knowledge of PC hardware architecture; Some knowledge of (any) assembler language is an asset.
  
 +__Description__
  
  
-====== Estimating Registration Error ======+Have you ever considered writing your own emulator of an interesting system? 
 +There has been a substantial activity in building software emulators of historically significant computers, game consoles, and, recently, smart communication devices. As a result, there is at least one emulator of almost every significant system. This activity contributes, in the first place, to the preservation and dissemination of significant hardware and software technologies. It also allows for cost-effective development of contemporary software and hardware. The project's objective is to design and implement an emulator of the NABU Network -- one of the earliest "proto-Internet" networks. The emulator is to be implemented in Java.
  
 +Background : The NABU Network was designed and implemented by a Canadian company NABU Manufacturing between 1981 and 1983. The underlying idea behind the network was to link home personal computers to cable television networks which would supply a continuous, high speed stream of computer programs and information (at the rate of 6.5 Mbits per second) to almost an unlimited number of users. Cable television was a uniquely ideal technology for NABU to deliver software and data to home computers because of its high bandwidth and networking capabilities.
 +After the official launch on Ottawa Cablevision in October of 1983, the NABU Network was introduced by Ottawa's Skyline Cablevision in 1984 and a year later in Sowa, Japan, via a collaboration between NABU and ASCII Corp. NABU Network subscribers could rent or buy a NABU PC and dedicated network adaptor, and use an ordinary television set as a display monitor. Once connected to the network, a user could choose from various application programs and services in categories including entertainment, information and guides, education, and professional programs. Dedicated NABU magazines, newsletters, programming guides, and user groups provided subscribers with supplementary information and support. To learn more, visit [[http://www.cse.yorku.ca/museum/research/NABU.htm|here]] . 
  
-**Supervisor**: Burton Ma+====== CPS/1 Emulator ====== 
 + 
 + 
 +**Supervisor**: Zbigniew Stachniak
  
 **Required background**: General prerequisites **Required background**: General prerequisites
  
-**Recommended background**: N/A+**Recommended background**: Java (including 2D graphics); Some knowledge of PC hardware architecture; Some knowledge of (any) assembler language is an asset.
  
 __Description__ __Description__
  
-A fundamental step in computer-assisted surgery is registration where the anatomy of the patient is matched to an image or model of the anatomy. For some types of orthopaedic proceduresregistration is performed by digitizing the locations of points on the surface of a bone and matching the point locations to the surface of model of the bone. Herea surgeon uses a pointer that is tracked using an optical tracking system to measure registration point locations on a patientA registration algorithm is used to compute the transformation that best matches the points to a model of the anatomy. +There has been a substantial activity in building software emulators of historically significant computers, game consoles, and, recently, smart communication devices. As resultthere is at least one emulator of almost every significant system. This activity contributes, in the first place, to the preservation and dissemination of significant hardware and software technologiesIt also allows for cost-effective development of contemporary software and hardwareThe project's objective is to design and implement an emulator of the CPS/1 computer -- one of the earliest commercially available microprocessor-powered computers
- +
- +
-Virtual navigational information (such as where to drill or cut the bone) can be provided to the surgeon after the registration transformation has been established. Herea surgeon is using a tracked surgical drill to drill a hole along a pre-operatively defined path. Notice that the surgeon looks at the virtual navigational information instead of the patient when performing this task. +
- +
- +
-Computer-assisted surgical navigation depends on having an accurate registrationIf the estimated registration is inaccurate then the navigational information will also be inaccurate, which may lead to errors in the surgical procedure. It is of great interest to know the accuracy of the estimated registration. +
- +
-Further details on the project can be found [[http://www.cse.yorku.ca/~burton/4080/4080.html|here]].+
  
- +BACKGROUND: The CPS/1 computer was designed and built by a Canadian company Microsystems International Ltd between 1972 and 73. The computer was built around the first Canadian microprocessor--the MF7114--one of world's earliest microprocessors. Although none of the CPS/1 computers have survived, technical information about the CPS/1 has been preserved. This makes the design and implementation of an emulator possible. More information [[http://www.cse.yorku.ca/museum/collections/MIL/MIL.htm|here]]. 
- +
  
 ====== Robotic tangible user interface for large tabletops ====== ====== Robotic tangible user interface for large tabletops ======
Line 180: Line 216:
  
  
-====== Different "snapping" techniques in drawing systems ======+====== Better Layout Mechanisms for User Interfaces Toolkits ======
  
  
 **Supervisor**: Wolfgang Stuerzlinger **Supervisor**: Wolfgang Stuerzlinger
- 
  
 **Required Background**: General CSE4080 prerequisites **Required Background**: General CSE4080 prerequisites
- 
-**Recommended Background**: CSE3461 
  
 __Description__ __Description__
  
-Many graphics programs implement snapping to facilitate drawingSnapping ensures that end-points of lines meetthat the endpoint of one line correctly "touches" another, that objects align side-to-side, etc. One problem of simple snapping techniques is that one cannot position objects arbitrarily close together - otherwise the snapping technique interferes. A novel snapping technique "Snap-and-Go" circumvents this problem by slowing the cursor over the line, instead of snapping it close to the line. The objective of this project is to implement several snapping techniques for two-dimensional drawing systems and then to perform an evaluation with small user study.+The layout mechanisms for many GUI toolkits are hard to understand and often difficult to useThis project investigates neweasy-to-understand layout mechanisms and evaluates an implementation of one of them in comparative user study. Platform: any modern GUI toolkit.
  
  
 +====== Predicting Visibility Obstructions for a 6DOF Tracker ======
  
-====== Simulation of a 6dof virtual reality tracker ====== 
  
 **Supervisor**: Wolfgang Stuerzlinger **Supervisor**: Wolfgang Stuerzlinger
  
-**Required Background**:  General CSE4080 prerequisites +**Required Background**: General CSE4080 prerequisites
- +
-**Recommended Background**: CSE3431 or equivalent+
  
 __Description__ __Description__
  
-Previous work by the supervisor resulted in a novel and highly accurate Virtual Reality tracking system that matches or exceeds the specifications of all competing systems. However, this system works only in 5 or 6-sided immersive display environment.+Previous work of the supervisor generated a novel and highly accurate Virtual Reality tracking system based on (eye-safe) laser diodes. The speed and accuracy of this system matches or exceeds the specification of all competing commercial systems. However, this system works only in 5 or 6-sided immersive display environment
 +Recent work has adapted the system to track successfully with as little as one large display wall and has also characterized the accuracy more comprehensively. 
 +The next step is to generalize the system to work in normal rooms, which may have lamps, shelves, etc. Here, visibility obstructions play a significant role and predicting these obstructions can be used to increase the tracking accuracy. This project will simulate a new method for visibility obstruction prediction to detect how big an increase in accuracy can be expected.
  
-This project is the first step towards an adaptation of the technology for more general environments. In particular we target normal rooms and immersive displays with less than 5 screens. The technical work involves adapting the simulation software for the previous device to simulate a new design, and iteratively optimizing that design based on the results obtained. 
  
  
 +====== Extensions to a 3D Modeling System ======
 +
 +
 +**Supervisor**: Wolfgang Stuerzlinger
 +
 +**Required Background**: General CSE4080 prerequisites
 +
 +__Description__
 +
 +[[http://www.k-3d.org|K-3D]] is a successful, open-source, 3D modeling system, that can even deal with million-polygon models in real-time. This project aims to improve the user interface for K-3D by adding several novel 3D manipulation techniques. While all the mentioned operations already exist in in K-3D, the user interfaces are typically fairly inefficient and/or require significant learning. Depending on the outcome, the results of each project may even be merged back into the K-3D distribution.
 +Each of the following two items can be considered a separate project:
 +
 +  * Integration of an existing implementation of a 3D sliding technique, which greatly facilitates 3D object movement.
 +  * The ability to draw new "lines", rectangles, and other 2D constructs in a simple manner onto surfaces. This ability greatly simplifies many interesting operations, such as the creation of extrusions, holes, etc.
  
  
  
projects.1271876967.txt.gz · Last modified: 2010/04/21 19:09 by bil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki